Instalación silenciosa para apt-get

Instalación silenciosa para apt-get

Para trabajar tengo que preparar muchas PC. Tengo que introducir un montón de sudo apt-get installcomandos en la terminal; eso es bastante tedioso. Probablemente podría ponerlos todos en el script sh (tal vez), pero algunos de los comandos requieren agregar un nuevo repositorio ( sudo add-apt-repository) o agregar una nueva clave (??) mediante gpgun comando, y requieren que el usuario presione ENTER.

¿Alguna forma de decir "sí" a todos o algo así? ¿Esto probablemente requeriría agregar algunas opciones a los comandos apt-get y gpg?

Respuesta1

Puede agregar las banderas --assume-yesy --force-yespara decir sí automáticamente a todos.

sudo apt-get --assume-yes --force-yes install <packagename(s)>

Para que estos cambios sean permanentes, edite /etc/apt/apt.confy agregue las líneas

APT::Get::Assume-Yes "true";    
APT::Get::force-yes "true";

Esto es lo que la página de manual deapt-getdice -

   -y, --yes, --assume-yes
       Automatic yes to prompts; assume "yes" as answer to all prompts and
       run non-interactively. If an undesirable situation, such as
       changing a held package, trying to install a unauthenticated
       package or removing an essential package occurs then apt-get will
       abort. Configuration Item: APT::Get::Assume-Yes.

   --force-yes
       Force yes; this is a dangerous option that will cause apt to
       continue without prompting if it is doing something potentially
       harmful. It should not be used except in very special situations.
       Using force-yes can potentially destroy your system! Configuration
       Item: APT::Get::force-yes.

Respuesta2

Salvo una instalación personalizada de un sistema preconfigurado, probablemente optaría por ejecutar un script de instalación en cada sistema.

¿Cuáles son los comandos que deben presionar enter? add-apt-repositoryLa ayuda anuncia su -yopción:

$ sudo add-apt-repository --help
Usage: add-apt-repository [options] repository

Options:
  -h, --help  show this help message and exit
  -y, --yes   force yes on all confirmation questions

El enlace de ayuda a continuación dice que para agregar PPA "si se requiere una clave pública y está disponible, se descarga y registra automáticamente". También hay paquetes como ubuntu-keyring, ubuntu-extras-keyringetc. linuxmint-keyringque contienen las claves de varios repositorios. Y man gpgdebería indicarle cómo hacer que instale automáticamente una clave, si no puede usarla.

Y/o puede editar los sources.listarchivos directamente con sed/ awk, o si los sistemas son idénticos simplemente copie los archivos "terminados".
Esta página de ayuda de Ubuntu tiene más información sobrecómo gestionar repositorios de software desde la línea de comandos.

Y si está preparando muchos sistemas, ¿puedo asumir que solo descargará los paquetes .deb una vez y los instalará todos en cada máquina, en lugar de actualizarlos y descargarlos todos para cada sistema? Si tiene todos los .deb en una carpeta, este comando los instalará todos:

  • sudo dpkg -iR [deb-directory]

Para su información, solía ver un paquete extraño que esperaba enterantes de terminar la instalación, aparentemente estaba dentro de uno de sus propios scripts de configuración, e incluso apt-getno --force-yesfuncionaba con él. No tienes ninguno de ese tipo, ¿verdad?


O, si tienes la intención de simplementeforzar un montón de pulsaciones de teclasen una terminal telnet (también debería funcionar para otros métodos), podría usar un script bash como este:

{
echo "open 192.168.55.55"
sleep 0.5
echo "$login"
sleep 0.5
echo "$password"
sleep 0.5
echo "command1"
sleep 2
echo " "
sleep 5
echo "exit"
} | telnet

Usar diferentes tiempos de suspensión para los retrasos entre "escribir", hacer eco de un espacio con " "o incluso simplemente hacer eco debería enviar un "retorno" de nueva línea.

información relacionada