cardel

script

Aug 9th, 2024 (edited)
1,419
0
Never
11
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 5.92 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4.  
  5. my $usuario = 'univalle';
  6.  
  7. # Función para ejecutar comandos del sistema
  8. sub run_command {
  9.     my ($cmd) = @_;
  10.     print "Ejecutando: $cmd\n";
  11.     system($cmd) == 0 or die "Error al ejecutar el comando: $cmd\n";
  12. }
  13.  
  14. # Actualizar e instalar paquetes básicos
  15. run_command('apt update && apt upgrade -y');
  16. run_command('apt install -y net-tools wget gpg git openssh-server curl software-properties-common apt-transport-https ca-certificates gnupg lsb-release');
  17. run_command('apt install -y build-essential libncursesw5-dev libreadline-dev libssl-dev libsqlite3-dev tk-dev libc6-dev libbz2-dev libffi-dev');
  18. run_command('apt install -y python3 python3-pip python3-virtualenv libgl1-mesa-glx libegl1-mesa libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6');
  19. run_command('apt install -y libtbb-dev libboost-thread-dev');
  20.  
  21. # Instalar perf
  22. run_command('apt install  -y linux-perf');
  23.  
  24.  
  25. # Instalar Docker
  26. run_command('for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do apt-get remove $pkg; done');
  27. run_command('install -m 0755 -d /etc/apt/keyrings');
  28. run_command('curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc');
  29. run_command('chmod a+r /etc/apt/keyrings/docker.asc');
  30.  
  31. my $arch = qx(dpkg --print-architecture);
  32. chomp($arch);
  33. my $version_codename = qx(. /etc/os-release && echo \$VERSION_CODENAME);
  34. chomp($version_codename);
  35.  
  36. my $docker_repo = "deb [arch=$arch signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $version_codename stable";
  37. run_command("echo '$docker_repo' | tee /etc/apt/sources.list.d/docker.list > /dev/null");
  38. run_command('apt update');
  39. run_command('apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin');
  40. run_command("usermod -aG docker $usuario");
  41.  
  42. # Instalar Kubernetes (kubectl y Minikube)
  43. run_command('curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg');
  44. run_command('echo \'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /\' | tee /etc/apt/sources.list.d/kubernetes.list');
  45. run_command('apt-get update');
  46. run_command('apt-get install -y kubectl');
  47.  
  48. run_command('curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb');
  49. run_command('dpkg -i minikube_latest_amd64.deb');
  50.  
  51. run_command('curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64');
  52. run_command('install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64');
  53. print "Minikube instalado correctamente.\n";
  54.  
  55. # Instalar Visual Studio Code
  56. run_command('wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o packages.microsoft.gpg');
  57. run_command('install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg');
  58. my $vscode_repo = 'deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main';
  59. run_command("echo '$vscode_repo' | tee /etc/apt/sources.list.d/vscode.list > /dev/null");
  60. run_command('rm -f packages.microsoft.gpg');
  61. run_command('apt update');
  62. run_command('apt install -y code');
  63.  
  64. # Instalar Azure CLI
  65. run_command('curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg');
  66. run_command('chmod go+r /etc/apt/keyrings/microsoft.gpg');
  67.  
  68. my $az_dist = qx(lsb_release -cs);
  69. chomp($az_dist);
  70. my $azure_cli_repo = "Types: deb\nURIs: https://packages.microsoft.com/repos/azure-cli/\nSuites: $az_dist\nComponents: main\nArchitectures: $arch\nSigned-by: /etc/apt/keyrings/microsoft.gpg";
  71. run_command("echo '$azure_cli_repo' | tee /etc/apt/sources.list.d/azure-cli.sources");
  72. run_command('apt update');
  73. run_command('apt install -y azure-cli');
  74.  
  75. # Instalar AWS CLI
  76. run_command('apt install -y awscli');
  77.  
  78. # Instalar Google Cloud CLI
  79. run_command('curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg');
  80. run_command('echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list');
  81. run_command('apt update');
  82. run_command('apt install -y google-cloud-cli');
  83.  
  84. # Instalar Terraform
  85. run_command('curl -fsSL https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg');
  86. run_command("echo \"deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com \$(lsb_release -cs) main\" | tee /etc/apt/sources.list.d/hashicorp.list");
  87. run_command('apt update');
  88. run_command('apt install -y terraform');
  89.  
  90. # Instalar navegadores y utilidades
  91. run_command('apt update');
  92. run_command('apt install -y chromium chromium-l10n');
  93.  
  94. # Configurar Docker y iptables
  95. run_command('echo "export PATH=\$PATH:/usr/sbin" >> /etc/profile');
  96. run_command('systemctl enable docker --now');
  97. run_command('iptables -I INPUT -j ACCEPT');
  98.  
  99. # Añadir backports y fasttrack
  100. run_command('echo "deb http://deb.debian.org/debian $(lsb_release -cs)-backports main contrib" | tee /etc/apt/sources.list.d/backports.list');
  101. run_command('apt install -y fasttrack-archive-keyring');
  102. run_command('echo "deb http://fasttrack.debian.net/debian-fasttrack/ $(lsb_release -cs)-fasttrack main contrib" | tee /etc/apt/sources.list.d/fasttrack.list');
  103. run_command('echo "deb http://fasttrack.debian.net/debian-fasttrack/ $(lsb_release -cs)-backports-staging main contrib" | tee -a /etc/apt/sources.list.d/fasttrack.list');
  104. run_command('apt update');
  105.  
  106. # Instalar VirtualBox y minizinc
  107. run_command('apt install -y virtualbox virtualbox-guest-x11');
  108. run_command('apt install -y minizinc minizinc-ide');
  109.  
  110. print "Instalación completada correctamente.\n";
  111.  
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
Add Comment
Please, Sign In to add comment