4 votes

Pourquoi "sudo apt-get install yum*" a-t-il installé 500 Mo de paquets ?

J'ai essayé d'installer yum avec la commande suivante

sudo apt-get install yum*

qui a pris environ plus de 500 mb de paquets et un espace disque de plus de 1gb. Que fait cette commande ? et si elle est erronée, comment revenir en arrière ?

13voto

Fabiano Soriani Points 543

La commande

sudo apt-get install yum*

installe tous les paquets dont le nom contient "yu" (en supposant que vous n'avez pas de fichiers correspondant à "yu"). yum* dans le dossier où vous exécutez la commande). Il est fort probable que vous ne vouliez pas de cela.

Techniquement yum* est interprété comme une expression régulière signifiant " yu suivi de zéro ou plusieurs instances de m ", qui est utilisé pour faire correspondre les sous-chaînes.

Pour annuler les modifications, voir /var/log/apt/history.log qui vous paquets avec la commande installée et les supprimer.

C'est généralement une très mauvaise idée d'exécuter des commandes que vous ne comprenez pas.

1voto

Sergiy Kolodyazhnyy Points 97292

Florian Diesch a déjà expliqué ce qui s'est passé lorsque vous avez exécuté la commande - elle installe tous les paquets qui correspondent à la commande yum* regex. Je vais vous expliquer comment vous pouvez l'annuler.

apt a un fichier journal /var/log/apt/history.log où vous avez date et les paquets qui ont été installés. Jetez un coup d'œil à un exemple d'entrée que j'ai :

Start-Date: 2015-09-29  13:10:47
Commandline: apt-get install fail2ban
Install: python-pyinotify:amd64 (0.9.4-1build1, automatic), fail2ban:amd64 (0.8.11-1)
End-Date: 2015-09-29  13:10:54

Il indique quand le téléchargement a commencé, quand il s'est terminé, entre les deux, il montre la commande exacte exécutée et Install: montre tous les paquets qui ont été installés dans le format package-name:architecture ( version ) .

Ainsi, pour annuler les effets de la commande que vous avez exécutée, vous devez sélectionner tous les paquets répertoriés et exécuter la commande suivante sudo apt-get remove sur eux.

Voici le petit awk script qui peut vous donner une liste de tous ces paquets.

awk '/Commandline: apt-get install yum/,/End-Date/ { for (i=1;i<=NF;i++){ if($i~/amd64/){  sub(/amd64/,""); gsub(/\:/,""); print $i} } }' /var/log/apt/history.log

Ce qu'il fait, c'est qu'il sélectionne tout le texte entre Commandline: apt-get install yum y End-Date trouve tous les champs qui ont :amd64 et les imprime sans cette partie. N'oubliez pas de remplacer amd64 par votre architecture que vous pouvez découvrir avec dpkg --print-architecture

Par exemple, voici une courte sortie de ma commande exécutée pour apt-get install yakuake

xieerqi:$ awk '/Commandline: apt-get install yakuake/,/End-Date/ { for (i=1;i<=NF;i++){ if($i~/amd64/){  sub(/amd64/,""); >
libkde3support4
ntrack-module-libnl-0
libkrosscore4
libqapt2
oxygen-icon-theme
libktexteditor4
kdelibs5-data
libnepomukcleaner4
libkdeui5
libkdeclarative5
libthreadweaver4
phonon-backend-gstreamer
konsole

0voto

David Grant Points 8477

Comme Florian l'a déjà expliqué, utiliser une regex sans la comprendre correctement a des conséquences négatives. Ce n'est pas parce qu'une étoile dans une commande a fait une fois ce que vous attendiez qu'elle soit toujours une syntaxe appropriée ou sûre. Un autre utilisateur a par exemple essayé d'installer des outils de développement Android avec android* qui a laissé son système dans un état non amorçable . Vous avez de la chance.

Le gestionnaire de paquets vous a averti. Voici un exemple tiré d'une fidèle VM :

$ sudo apt-get install yum*
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'yudit-common' for regex 'yum*'
Note, selecting 'libjs-yui3-min' for regex 'yum*'
Note, selecting 'libghc-tinyurl-prof-0.1.0-bf4c8' for regex 'yum*'
Note, selecting 'ibus-table-jyutping' for regex 'yum*'
Note, selecting 'zekr-quran-recitation-online-ayyub' for regex 'yum*'
Note, selecting 'python-yubico-tools' for regex 'yum*'
Note, selecting 'yhsm-yubikey-ksm' for regex 'yum*'
Note, selecting 'libghc-tinyurl-doc' for regex 'yum*'
Note, selecting 'libpam-yubico' for regex 'yum*'
Note, selecting 'yui-compressor' for regex 'yum*'
Note, selecting 'python-yubico' for regex 'yum*'
Note, selecting 'python3-pyudev' for regex 'yum*'
Note, selecting 'yubikey-ksm' for regex 'yum*'
Note, selecting 'fcitx-table-jyutping' for regex 'yum*'
Note, selecting 'yubikey-personalization-gui' for regex 'yum*'
Note, selecting 'compass-yui-plugin' for regex 'yum*'
Note, selecting 'yum-utils' for regex 'yum*'
Note, selecting 'yubiserver' for regex 'yum*'
Note, selecting 'yubikey-personalization' for regex 'yum*'
Note, selecting 'yum' for regex 'yum*'
Note, selecting 'fso-sounds-yue-base' for regex 'yum*'
Note, selecting 'librime-data-jyutping' for regex 'yum*'
Note, selecting 'iwyu' for regex 'yum*'
Note, selecting 'libjs-yui3-common' for regex 'yum*'
Note, selecting 'libjs-yui3-full' for regex 'yum*'
Note, selecting 'yubikey-server-c' for regex 'yum*'
Note, selecting 'libghc-tinyurl-prof' for regex 'yum*'
Note, selecting 'python-pyudev' for regex 'yum*'
Note, selecting 'libghc-tinyurl-dev-0.1.0-bf4c8' for regex 'yum*'
Note, selecting 'yorick-yutils' for regex 'yum*'
Note, selecting 'libkeyutils-dev' for regex 'yum*'
Note, selecting 'libkokyu-dev' for regex 'yum*'
Note, selecting 'quantum-plugin-ryu-agent' for regex 'yum*'
Note, selecting 'libyubikey-dev' for regex 'yum*'
Note, selecting 'keyutils' for regex 'yum*'
Note, selecting 'libjs-yui' for regex 'yum*'
Note, selecting 'keyutils-dbg' for regex 'yum*'
Note, selecting 'libjs-yui-doc' for regex 'yum*'
Note, selecting 'libjs-yui2' for regex 'yum*'
Note, selecting 'yubikey-val' for regex 'yum*'
Note, selecting 'quantum-plugin-ryu' for regex 'yum*'
Note, selecting 'python-myghtyutils' for regex 'yum*'
Note, selecting 'libauth-yubikey-decrypter-perl' for regex 'yum*'
Note, selecting 'neutron-plugin-ryu' for regex 'yum*'
Note, selecting 'xfonts-ayu' for regex 'yum*'
Note, selecting 'libapache2-mod-authn-yubikey' for regex 'yum*'
Note, selecting 'fso-sounds-yue-full' for regex 'yum*'
Note, selecting 'neutron-plugin-ryu-agent' for regex 'yum*'
Note, selecting 'yui-builder' for regex 'yum*'
Note, selecting 'yudit' for regex 'yum*'
Note, selecting 'libyubikey0' for regex 'yum*'
Note, selecting 'yudit-doc' for regex 'yum*'
Note, selecting 'python2.7-yubico' for regex 'yum*'
Note, selecting 'libkokyu-6.0.3' for regex 'yum*'
Note, selecting 'libjs-yui3-doc' for regex 'yum*'
Note, selecting 'libkeyutils1' for regex 'yum*'
Note, selecting 'libjs-yui3-debug' for regex 'yum*'
Note, selecting 'libghc-tinyurl-dev' for regex 'yum*'
Note, selecting 'libauth-yubikey-webclient-perl' for regex 'yum*'
Note, selecting 'fcitx-sayura' for regex 'yum*'
Note, selecting 'libghc-tinyurl-dev' instead of 'libghc-tinyurl-dev-0.1.0-bf4c8'
Note, selecting 'libghc-tinyurl-prof' instead of 'libghc-tinyurl-prof-0.1.0-bf4c8'
Note, selecting 'python-yubico' instead of 'python2.7-yubico'
Note, selecting 'zekr' instead of 'zekr-quran-recitation-online-ayyub'
libkeyutils1 is already the newest version.
libkeyutils1 set to manually installed.
The following extra packages will be installed:
  alembic ant ant-contrib ant-optional apache2 apache2-bin apache2-data
  binfmt-support ...

...

0 upgraded, 360 newly installed, 0 to remove and 0 not upgraded.
Need to get 291 MB of archives.
After this operation, 1.668 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Si vous ne voulez pas installer 1 Go de paquets, dites simplement non à ce stade et lisez toujours attentivement.

Il est intéressant de voir que yum et rpm sont dans les dépôts, mais je ne me souviens pas qu'un site recommande de gérer les logiciels sur les distributions basées sur Debian de cette façon et, bien sûr, il n'y a pas de dépôts configurés après l'installation de yum, donc il ne peut pas être utilisé comme un remplacement pour apt. Par ailleurs, Fedora a adopté un autre outil pour la gestion des paquets et l'installation de paquets étrangers peut conduire à un système instable, donc je ne vois pas pourquoi on voudrait installer yum.

0voto

saai Points 1

En d'autres termes, * signifie "tous" (zéro ou plus). apt-get signifie que vous êtes dans un environnement debian et que vous essayez d'installer yum . C'est-à-dire que vous essayez d'installer l'ensemble du paquet yum, ce qui, bien sûr, prendra beaucoup de mémoire.

0voto

user1033274 Points 1

apt-get est un gestionnaire de paquets pour Ubuntu et autres Distributions Debian
yum est un gestionnaire de paquets pour Red Hat, Oracle, Arch Linux et autres Distributeurs Fedora .
Par exemple :
MacOS Les gestionnaires de paquets sont Homebrew y Mac app store
iOS Le gestionnaire de paquets est App Store
Android Les gestionnaires de paquets sont Google Play Store , 1Mobile Market , ApkPure , Mobogénie , ect .
Lorsque vous exécutez cette commande, vous venez d'installer le deuxième gestionnaire de paquets dans votre système. Maintenant vous pouvez aussi installer "applications fedora formatées par rpm" aussi, il suffit de lancer la commande :

yum-config-manager --add-repo [repository_url]
yum install [fedora_app_name]

et oui, ça demande un peu de mémoire. C'est un gros paquet.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X