Stille Installation für apt-get

Stille Installation für apt-get

Für die Arbeit muss ich viele PCs vorbereiten. Ich muss eine Menge sudo apt-get installBefehle in das Terminal eingeben – das ist ziemlich mühsam. Ich könnte sie wahrscheinlich alle in ein sh-Skript einfügen (vielleicht), aber für einige der Befehle muss sudo add-apt-repositoryper Befehl ein neues Repository () oder ein neuer Schlüssel (??) hinzugefügt werden gpg– und der Benutzer muss die Eingabetaste drücken.

Gibt es eine Möglichkeit, zu allem „Ja“ zu sagen oder so? Dazu müsste man wahrscheinlich den apt-get- und gpg-Befehlen einige Optionen hinzufügen?

Antwort1

Sie können die Flags --assume-yesund --force-yesanhängen, um automatisch zu allen „Ja“ zu sagen.

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

Um diese Änderungen dauerhaft zu machen, bearbeiten /etc/apt/apt.confund fügen Sie die Zeilen hinzu

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

Dies ist die Manpage vonapt-getsagt -

   -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.

Antwort2

Sofern es sich nicht um eine benutzerdefinierte Installation eines vorkonfigurierten Systems handelt, würde ich wahrscheinlich ein Installationsskript verwenden, das auf jedem System ausgeführt wird.

Bei welchen Befehlen muss die Eingabetaste gedrückt werden? add-apt-repositoryDie Hilfe von gibt die entsprechende -yOption an:

$ 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

Der Hilfe-Link unten besagt, dass beim Hinzufügen von PPAs „Wenn ein öffentlicher Schlüssel erforderlich und verfügbar ist, wird er automatisch heruntergeladen und registriert.“ Es gibt auch Pakete wie ubuntu-keyring, ubuntu-extras-keyringusw. linuxmint-keyring, die die Schlüssel für verschiedene Repositories enthalten. Und man gpges sollte erklärt werden, wie man einen Schlüssel automatisch installieren kann, wenn man nicht weiterkommt.

Und/oder Sie können die sources.listDateien direkt mit sed/ bearbeiten awk, oder wenn die Systeme identisch sind, kopieren Sie einfach die "fertigen" Dateien.
Auf dieser Ubuntu-Hilfeseite finden Sie weitere Informationen zuSo verwalten Sie Software-Repositorys über die Befehlszeile.

Und wenn Sie viele Systeme vorbereiten, kann ich dann davon ausgehen, dass Sie die .deb-Pakete nur einmal herunterladen und sie alle auf jedem Rechner installieren, anstatt sie zu aktualisieren und dann alle für jedes System herunterzuladen? Wenn Sie alle .deb-Pakete in einem Ordner haben, würde dieser Befehl sie alle installieren:

  • sudo dpkg -iR [deb-directory]

Zu Ihrer Information: Ich habe früher ein seltsames Paket gesehen, das auf ein wartete, enterbevor die Installation abgeschlossen war. Offenbar befand es sich in einem seiner eigenen Konfigurationsskripte, und selbst apt-get's --force-yesfunktionierten nicht damit. Sie haben keins dieser Art, oder?


Oder, wenn Sie nureine Reihe von Tastenanschlägen erzwingenin ein Telnet-Terminal (sollte auch für andere Methoden funktionieren) können Sie ein Bash-Skript wie dieses verwenden:

{
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

Die Verwendung unterschiedlicher Ruhezeiten für Verzögerungen zwischen dem „Eintippen“, dem Echo eines Leerzeichens " "oder sogar nur Echo sollte eine neue Zeilenumbruch-„Return“ senden.

verwandte Informationen