Juste par curiosité, parfois lors de l’installation du logiciel via apt-get install software_name
le terminal Me demander une confirmation "taper Oui ou Non", mais pas toujours.
Je ne parle pas de l'invite de mot de passe Sudo, mais le message "Sera téléchargé et configuré XXX Kb, continue?" (ou quelque chose de similaire)
Pourquoi?
Il vous demandera généralement s'il existe des packages suggérés ou recommandés qui dépendent du logiciel que vous tentez d'installer. Cela peut également dépendre de la taille du programme ou de la sécurité du référentiel à partir duquel vous téléchargez.
apt-get install new-package
ne demandera de confirmation que s'il installe également des dépendances du paquet donné.
Si seul le package que vous avez spécifié va être installé sans aucun élément supplémentaire, il reste silencieux, car vous avez déjà "confirmé" que vous souhaitez l'avoir en le saisissant.
Mais s’il existe des packages de dépendance, vous pouvez changer d’avis et vouloir arrêter l’installation (par exemple, parce que l’un d’eux a déjà causé des problèmes), vous êtes invité à entrer le y/n.
Maintenant, si vous voulez voir ce qu’il va faire, vous pouvez faire une simulation/simulation de la commande d’installation. Vous définissez ce commutateur en ajoutant un -s
aux arguments. Exemple: Installation du package unique sudoku
bytecommander@AlkaliMetal:~$ Sudo apt-get install sudoku -s
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
sudoku
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst sudoku (1.0.1-5 Ubuntu:14.10/utopic [i386])
Conf sudoku (1.0.1-5 Ubuntu:14.10/utopic [i386])
Cela vous montre ce qui va arriver, mais pas l'ampleur des téléchargements, comme le ferait l'invite de confirmation.
Par conséquent, un autre commutateur peut être utilisé, --print-uris
. Le même exemple:
bytecommander@AlkaliMetal:~$ Sudo apt-get install sudoku --print-uris
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
sudoku
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 28.4 kB of archives.
After this operation, 106 kB of additional disk space will be used.
'http://ftp.uni-stuttgart.de/ubuntu/pool/universe/s/sudoku/sudoku_1.0.1-5_i386.deb' sudoku_1.0.1-5_i386.deb 28426 MD5Sum:ecd0e3cd4fc1e4e4edfe6c59d1c54847
Le commutateur --print-uris
non seulement bloque l'installation réelle, mais affiche également les tailles téléchargées et installées ainsi que des informations supplémentaires sur le paquet (adresse Web et MD5Sum).
Attention: N'utilisez pas --print-uris
et -s
ensemble. Cela ressemblera à -s
seulement.
Notez également que vous devez ajouter le commutateur -y
(= supposons que chaque question est oui) si vous souhaitez traiter la sortie, car celle-ci vous demandera de confirmer en suivant les mêmes règles que l'installation normale sans commutateurs.
Maintenant, si vous souhaitez filtrer uniquement les informations de taille de fichier téléchargées et installées sans avoir à lire toutes les autres choses, vous pouvez utiliser la commande suivante pour y parvenir (grâce à @terdon pour l’assistance). Encore avec l'exemple sudoku
:
bytecommander@AlkaliMetal:~$ LANG=C Sudo apt-get -y --print-uris install sudoku | grep -Po '^(Need to|After this).*?\K[0-9.]+[ a-zA-Z]+? '
28.4 kB
106 kB
Vous voyez que la première ligne de la sortie est la taille du téléchargement et la deuxième ligne décrit l’espace requis pour l’installation.
Comme cette commande est difficile à saisir et encore plus difficile à mémoriser, copiez ce qui suit dans un fichier de script, par exemple. appelé apt-get-install-checker.sh
:
#! /bin/bash
LANG=C Sudo apt-get install -y --print-uris $* |
grep -Po '^(Need to|After this).*?\K[0-9.]+[ a-zA-Z]+? ' |
sed '1,1s/^/Download size: /;2,2s/^/Installed size: /'
N'oubliez pas de chmod +x apt-install-checker.sh
avant de l'exécuter!
Exemple de sortie:
bytecommander@AlkaliMetal:~/bin$ ./apt-install-checker.sh sudoku
Download size: 28.4 kB
Installed size: 106 kB
Script encore en développement! Fonctionnalités prévues: le système vous demandera si vous souhaitez effectuer l'installation, puis continuez et exécutez-le. Peut-être que d'autres gadgets de Nice me viendront à l'esprit demain ...
D'après ce que j'ai compris, apt-get ne demande de confirmation que lorsqu'il existe des dépendances supplémentaires à installer. Il n'y a aucun moyen de forcer la confirmation par défaut pour tous les packages.
Cependant, il est possible de forcer la confirmation de n’importe quelle commande d’installation lorsqu’on utilise aptitude.
echo 'Aptitude::CmdLine::Always-Prompt "true";' | Sudo tee -a /etc/apt/apt.conf.d/05aptitude