Por que “sudo apt-get install yum *” instalou 500MB de pacotes?

1

Eu tentei instalar o yum com o seguinte comando

sudo apt-get install yum*

que demorou mais de 500 mb pacotes e um espaço em disco de mais de 1GB. O que esse comando faz? e se é errado como reverter essas mudanças?

    
por Krishn Anand 01.10.2015 / 02:03

4 respostas

10

O comando

sudo apt-get install yum*

instala todos os pacotes com um nome contendo "yu" (supondo que você não tenha arquivos correspondentes a yum* na pasta em que você executa o comando). Muito provavelmente você não quer isso.

Tecnicamente, yum* é interpretado como expressão regular, significando " yu seguido por zero ou mais instâncias de m ", e isso é usado para fazer correspondência de substring.

Para reverter as alterações, consulte /var/log/apt/history.log , que contém o comando com o comando instalado e remova-as.

Geralmente é uma péssima ideia executar comandos que você não entende.

    
por Florian Diesch 01.10.2015 / 02:22
1

Florian Diesch já explicou o que aconteceu quando você executou o comando - ele instala todos os pacotes que correspondem a yum* regex. Eu vou explicar como você pode desfazer isso.

apt tem um arquivo de log /var/log/apt/history.log , onde você tem a data e os pacotes que foram instalados. Dê uma olhada em um exemplo de entrada que eu tenho:

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

Ele informa quando o download foi iniciado, quando finalizado, mostra o comando exato executado e Install: mostra todos os pacotes que foram instalados no formato package-name:architecture ( version ) .

Portanto, para desfazer os efeitos do comando que você executou, você precisa selecionar todos os pacotes listados e executar sudo apt-get remove neles.

Aqui está o pequeno script awk que pode fornecer uma lista de todos os pacotes.

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

O que ele faz, seleciona todo o texto entre Commandline: apt-get install yum e End-Date , localiza todos os campos que possuem :amd64 string e os imprime sem essa parte. Lembre-se de substituir o amd64 pela sua arquitetura , que você pode descobrir com dpkg --print-architecture

Por exemplo, aqui está uma pequena saída do meu comando executada por 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
    
por Sergiy Kolodyazhnyy 01.10.2015 / 05:28
0

Como Florian já explicou usando um regex sem entendimento adequado tem consequências negativas. Só porque uma estrela em um comando fez o que você esperava, não significa que seja uma sintaxe sempre apropriada ou segura. Outro usuário, por exemplo, tentou instalar ferramentas de desenvolvimento do Android com android* , o que deixou seu sistema em um estado não inicializável . Sorte sua.

O gerenciador de pacotes avisou você. Veja um exemplo de uma VM confiável:

$ 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]

Se você não quiser instalar + 1GB de pacotes, apenas diga não neste ponto e sempre leia com atenção.

É interessante ver que o yum e o rpm estão nos repositórios, mas não me lembro de nenhum site recomendando o gerenciamento de software em distribuições baseadas no Debian e, é claro, não há repositórios configurados após a instalação do yum, então ele não pode ser usado como um substituto para o apt. Em outra nota, o Fedora mudou para outra ferramenta para gerenciamento de pacotes e instalar pacotes externos pode levar a um sistema instável, então não vejo por que alguém iria querer instalar o yum.

    
por LiveWireBT 01.10.2015 / 04:52
0

Em palavras simples, * significa todos (zero ou mais). apt-get significa que você está em um ambiente debian e está tentando instalar yum . Ou seja, você está tentando instalar todo o pacote yum, é claro que vai ter muita memória.

    
por saai 13.06.2016 / 06:15