
Para trabajar tengo que preparar muchas PC. Tengo que introducir un montón de sudo apt-get install
comandos 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 gpg
un 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-yes
y --force-yes
para 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.conf
y agregue las líneas
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Esto es lo que la página de manual deapt-get
dice -
-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-repository
La ayuda anuncia su -y
opció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-keyring
etc. linuxmint-keyring
que contienen las claves de varios repositorios. Y man gpg
debería indicarle cómo hacer que instale automáticamente una clave, si no puede usarla.
Y/o puede editar los sources.list
archivos 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-get
no --force-yes
funcionaba 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.