Esquisitos, nerds e falastrões do Viva o
Linux, aqui começa mais uma
Dica do Dino® trazendo para vocês informações tão confiáveis quanto a Saga de Gilgamesh.
No cardápio de hoje, temos o
Fedora 22. Lançado em 26/05/2015, o Fedora 22 é a mais nova versão da distribuição de testes da Red Hat Enterprise Linux (RHEL), uma distro comercial e uma das distros-mãe (ao lado do Debian e do Slackware).
Para melhor entender a relação entre essas figuras, pense no Fedora como o Debian Testing, o RHEL como o Debian Stable e no CentOS como o Debian Old-Stable. Das três, só o RHEL é pago, enquanto as outras duas tem foco na comunidade mesmo.
Existem várias formas de atualizar o Fedora de uma versão para outra, mas a maioria envolve o uso das ferramentas
FedUp, Yumex e
Fedy. Porém, sempre existirá o usuário à moda antiga que não vê a necessidade de instalá-las no seu dia-a-dia e gosta de fazer as coisas na unha.
Para estes usuários, o Dino aqui compartilha seus conhecimentos sobre como fazer o upgrade usando apenas o
yum.
Gostou? Então chame os go-go boys, abra o uísque e vamos aos trabalhos!
* Aviso importante: faça backup de todos os dados sensíveis antes de começar este procedimento. O autor desta dica se exime totalmente da responsabilidade por qualquer perda que seja provocada por estes procedimentos. "Better safe than sorry", como se aprende com o Slackware.
1. Remover arquivos de configuração não usados:
# yum install rpmconf
# rpmconf -a
# find /etc /var /usr -name "*?.rpmsave" -execdir rm {} \;
# find /etc /var /usr -name "*?.rpmnew" -execdir rm {} \;
2. Remover pacotes órfãos e/ou instalados como dependências de algum outro pacote, mas não mais usados pra nada porque o pacote dependente foi removido:
# yum install yum-utils
# package-cleanup --leaves
Isso vai listar os pacotes não requeridos por outros pacotes. Remova-os manualmente:
# package-cleanup --orphans
Isso vai listar os pacotes órfãos. Remova-os manualmente. Se preferir realizar uma remoção assistida, instale o
rpmreaver
:
# yum install rpmreaver
# rpmreaver
Ele é um programa com menu NCurses, que permite verificar o que vai acontecer com os outros pacotes, caso um pacote seja desinstalado. Muito útil na hora de limpar o sistema de pacotes desnecessários.
Os passos 1 e 2 permitem remover pacotes e arquivos de configuração desnecessários no sistema. Por se tratar de um procedimento administrativo pouco conhecido, foram incluídos aqui.
3. Realizando o upgrade:
a) Modo automático: instale e execute o script provido pela comunidade:
# yum install fedora-upgrade
# yum clean all
# fedora-upgrade
Vale lembrar que, embora o
fedora-upgrade seja a maneira Dobbsiana de fazer as coisas, ele não é uma ferramenta oficial do Fedora (que recomenda, por "ubuntisse" pura, o uso do FedUp).
O script emitirá um alerta, que pode ser ignorado com segurança pressionando
Enter
. Acompanhe as ações do script, revisando-as sempre antes de avançar para o próximo passo.
Caso você tenha algum repositório que não tenha sido atualizado para o Fedora 22 ainda (no meu caso, eu tinha o VirtualBox), o script falhará. Remova o repositório complicado e tente novamente.
Se tudo der certo (e vai dar, em nome de "Bob" Dobbs três vezes root todo poderoso), você vai ser agraciado com uma pequena lista de pacotes a serem atualizados. Olha o resumo dela aqui:
Instalar 27 Packages (+197 Dependent packages)
Upgrade 2513 Packages (+ 1 Dependent package)
Remove 4 Packages
Desatualizar 1 Package
2,0 GB de downloads. Após atualizar, ele vai perguntar se sua instalação é Server, Cloud, Workstation, ou se é NonProduct. Escolha Workstation, já que estamos trabalhando com um desktop e siga em frente.
b) Modo manual:
Não testei, porque o modo automático funcionou pra mim, mas fica como registro para quem quiser fazer a coisa bem à moda slacker:
Vá para o modo texto puro: com
Ctrl+Alt+F2, e então rode os comandos:
# yum update yum
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-22-$(uname -i)
# yum clean all
# yum --releasever=22 distro-sync
4. Adeus, yum! Bem-vindo, dnf!
Após realizar todos os procedimentos descritos aqui, você já estará usando o Fedora 22. Para verificar isso, rode o comando:
# dnf repolist
O retorno do comando deverá ser algo parecido com:
Google - x86_64 7.6 kB/s | 3.6 kB 00:00
google-earth 12 kB/s | 4.8 kB 00:00
Fedora 22 - x86_64 886 kB/s | 41 MB 00:47
RPM Fusion for Fedora 22 - Free - Updates 920 B/s | 399 B 00:00
RPM Fusion for Fedora 22 - Nonfree - Updates 885 B/s | 399 B 00:00
RPM Fusion for Fedora 22 - Free 240 kB/s | 551 kB 00:02
Fedora 22 - x86_64 - Updates 2.1 MB/s | 3.4 MB 00:01
google-chrome 10 kB/s | 3.6 kB 00:00
RPM Fusion for Fedora 22 - Nonfree 116 kB/s | 148 kB 00:01
Last metadata expiration check performed 0:00:00 ago on Wed May 27 21:36:54 2015.
id do repo nome do repo status
*fedora Fedora 22 - x86_64 44.762
google Google - x86_64 3
google-chrome google-chrome 3
google-earth google-earth 1
rpmfusion-free RPM Fusion for Fedora 22 - Free 493
rpmfusion-free-updates RPM Fusion for Fedora 22 - Free - Updates 0
rpmfusion-nonfree RPM Fusion for Fedora 22 - Nonfree 163
rpmfusion-nonfree-updates RPM Fusion for Fedora 22 - Nonfree - Updates 0
*updates Fedora 22 - x86_64 - Updates 2.073
Se a saída indicar que os repositórios foram atualizados para o Fedora 22, parabéns. Você já realizou o upgrade. Com isso diga adeus ao
yum, o gerenciador de dependências da distro até o F21, e diga oi para seu filho mais novo, o
dnf.
Sinceramente, a diferença se resume a: o
yum usa Python 2 e o
dnf, o Python 3. Com isso, o
dnf consegue ganho de velocidade e otimização de processamento. Finalize o upgrade com o comando:
# dnf --best group install "Minimal Install"
Para atualizar os pacotes centrais da distro e marcá-los como instalados. Faça o mesmo para todos os grupos de aplicativos que você tenha instalado. Infelizmente, o
yum não listará quais grupos você havia instalado e
dnf não os reconhecerá como tal automaticamente. Tentativa e erro, garotões!
Após todas as checagens, atualize o sistema (novamente, mas ei, esse é Fedora-way):
# dnf upgrade
5. Atualizar o GRUB
Hora de preparar o computador para as próximas reinicializações. Em primeiro lugar, atualize a ordem dos scripts usados na inicialização:
# cd /etc/rc.d/init.d; for f in *; do [ -x $f ] && /sbin/chkconfig $f resetpriorities; done
# grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-install /dev/sda
Substitua "/dev/sda" pelo disco a ser usado para gravação do GRUB. Salve todos os seus trabalhos e reinicie o computador.
Conclusão
Meus parabéns. Com isso, você acabou de atualizar seu F21 para o F22 sem usar o FedUp ou o Yumex pra isso!
E agora, o Dino® se despede de todos vocês, desejando meses de compilação longa e próspera!