A promessa que fiz ontem foi em vão, ao invés de atualizar para o Devuan (o que é fácil), resolvi atualizar diretamente para o Debian Jessie, as configurações utilizadas são as mesmas, exceto o sources.list e os ajustes pós-upgrade.
E assim ficou meu Debian Wheezy apos o dist-upgrade para o Debian Jessie:
* ver nota relativa a montagem de dispositivos no fim do artigo.
Informações do sistema.
edps@debian:~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 7.9 (wheezy) Release: 7.9 Codename: wheezy edps@debian:~$ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 7 (wheezy)" NAME="Debian GNU/Linux" VERSION_ID="7" VERSION="7 (wheezy)" ID=debian ANSI_COLOR="1;31" HOME_URL="http://www.debian.org/" SUPPORT_URL="http://www.debian.org/support/" BUG_REPORT_URL="http://bugs.debian.org/" edps@debian:~$ cat /etc/debian_version 7.9 edps@debian:~$ cat /etc/issue Debian GNU/Linux 7 \n \l
sources.list.
Apague tudo o que existe em seu/etc/apt/sources.list (ou deixe-os comentados) e cole os dois blocos a seguir:
sources.list Debian Jessie + Backports:
### Debian Jessie/Stable + Backports + LoadBalancer (http://httpredir.debian.org). ### GPGKey: apt-get update && apt-get install debian-archive-keyring deb http://httpredir.debian.org/debian/ jessie main contrib non-free deb http://httpredir.debian.org/debian-security/ jessie/updates main contrib non-free deb http://httpredir.debian.org/debian/ jessie-updates main contrib non-free deb http://httpredir.debian.org/debian/ jessie-proposed-updates main contrib non-free deb http://httpredir.debian.org/debian/ jessie-backports main contrib non-free
sources.list Devuan:
Ele será necessário para atualizar o polikit-1 e reinstalar o gvfs e seus pares.
### Devuan repository. ### GPGKey: apt-get update; apt-get install devuan-keyring devuan-baseconf deb http://packages.devuan.org/merged jessie main contrib non-free deb http://packages.devuan.org/merged jessie-updates main contrib non-free deb http://packages.devuan.org/merged jessie-proposed-updates main contrib non-free deb http://packages.devuan.org/merged jessie-backports main contrib non-free
Caso exista algo lá em /etc/apt/sources.list.d, convém movê-los de local afim de realizar uma instalação limpa. Eu não farei isto, realizarei a atualização com todos os repositórios habilitados e são esses os que uso (observem que já alterei a release para jessie nos repos deb-multimedia e Debian Mozilla Team):
### Repositório Local de Pacotes (ver referência). ### Ref: http://va.mu/0HP0 ### deb file:/home/edps/build/debs / ### deb-multimedia. ### Chave GPG: apt-get update && apt-get install deb-multimedia-keyring ### deb http://www.deb-multimedia.org wheezy main non-free ### deb http://www.deb-multimedia.org wheezy-backports main deb http://www.deb-multimedia.org jessie main non-free deb http://www.deb-multimedia.org jessie-backports main ### DropBox. ### deb [arch=i386,amd64] http://linux.dropbox.com/debian wheezy main ### Fish SHELL. ### Chave GPG: wget http://download.opensuse.org/repositories/shells:fish:release:2/Debian_7.0/Release.key; sudo apt-key add - < Release.key deb http://download.opensuse.org/repositories/shells:/fish:/release:/2/Debian_7.0/ / ### Google Chrome. ### deb http://dl.google.com/linux/chrome/deb/ stable main ### Iceweasel (Debian Mozilla Team). ### Chave GPG: apt-get update && apt-get install pkg-mozilla-archive-keyring ### deb http://mozilla.debian.net/ wheezy-backports iceweasel-release deb http://mozilla.debian.net/ jessie-backports iceweasel-release deb http://mozilla.debian.net/ jessie-backports iceweasel-beta deb http://mozilla.debian.net/ jessie-backports iceweasel-aurora ### Opera Web Browser. ### Chave GPG: wget -O - http://deb.opera.com/archive.key | sudo apt-key add - deb http://deb.opera.com/opera/ stable non-free ### Vivaldi Browser. deb http://repo.vivaldi.com/archive/deb/ stable main
Após modificar e salvar os arquivos, prossiga com:
# apt-get update # apt-get install devuan-keyring devuan-baseconf # apt-get update
apt-pinning.
Agora crie os arquivos que impediram a instalação do systemd (e se quiser, do pulseaudio e network-manager):
/etc/apt/preferences.d/no-systemd):
Package: systemd-sysv Pin: release o=Debian Pin-Priority: -1 Package: systemd-shim Pin: release o=Debian Pin-Priority: -1 Package: systemd Pin: release o=Debian Pin-Priority: -1
/etc/apt/preferences.d/no-pulseaudio):
Package: pulseaudio Pin: release o=Debian Pin-Priority: -1
/etc/apt/preferences.d/no-network-manager):
Package: network-manager Pin: release o=Debian Pin-Priority: -1 Package: network-manager-gnome Pin: release o=Debian Pin-Priority: -1
Atualização do sistema.
Nesse momento da atualização, desabilite todos os repositórios do Devuan, porque aqui queremos usar um Debian puro (o que não será possível, como poderá ser visto mais a frente).
E repetindo: nesse momento, desabilite todos os repositórios do Devuan!
Feito isto, proceda assim:
# apt-get update # apt-get dist-upgrade
* quando o terminal ficar parado, exibindo um log possivelmente do apt-list-bugs, apenas tecle q;
* quando houver pergundas sobre o reinício de serviços apenas tecle ENTER;
* quando houver pergundas acerca da substituição de arquivos de configuração, apenas tecle ENTER;
Ao final da atualização remova os pacotes obsoletos:
# apt-get autoremove --purge
Habilite os repositórios do Devuan no sources.list (desabilitando os do Jessie).
E reinstale o policykit-1 e os pacote que foram removidos durante a atualização:
$ sudo apt-get install policykit-1 $ sudo apt-get install gvfs gvfs-backends gvfs-daemons udisks2
Agora, habilite novamente os repos do Debian Jessie e (desabilite os do Devuan).
E proceda com sua vidinha normal, aqui aproveitei para reinstalar o K3B que também fora removido durante a atualização:
$ sudo apt-get install k3b k3b-i18n
Removi um pacote que não pode ser atualizado (e que não sei sua utilidade):
$ apt-cache search db5.1-util $ sudo apt-get --purge remove db5.1-util $ sudo apt-get autoremove --purge
Fiz um faxinão com o deborphan:
$ sudo deborphan | xargs sudo apt-get -y remove --purge $ sudo apt-get autoremove --purge
E por fim, rolei todo o sistema para o Jessie Backports, o que traz como benefício, o kernel 4.2.0, LibreOffice 5.0.2.2, Iceweasel 43.0a2 (2015-10-19), entre outros:
$ sudo apt-get -t jessie-backports dist-upgrade $ sudo apt-get autoremove --purge
E removi o velho kernel 3.2.0.4 do Debian Wheezy:
$ sudo apt-get --purge remove linux-image-3.2.0-4-686-pae linux-headers-3.2.0-4-common linux-headers-3.2.0-4-686-pae
Vídeos?
Os vídeos (na verdade gravações das sessoes de terminal) podem ser vistos nos links abaixo, graças a fantástica ferramenta asciinema:
Problemas?
Felizmente tive apenas um problema no pós-instalação e o mesmo refere-se a montagem de dispositivos USB (não o smartphone), mas o HD externo portátil:
A solução encontrada é uma variante para o Debian de uma dica que fiz para o Arch Linux:
Montando dispositivos USB no Arch Linux
No modo Debian faremos a mesma coisa, exceto que utilizaremos o grupo plugdev no lugar de storage, logo, os arquivos ficarão assim
/etc/polkit-1/localauthority/50-local.d/org.freedesktop.udisks2.pkla:
[Storage Permissions] Identity=unix-group:plugdev Action=org.freedesktop.udisks2.filesystem-mount;org.freedesktop.udisks2.modify-device ResultAny=yes ResultInactive=yes ResultActive=yes
/etc/polkit-1/rules.d/10-udisks2.rules:
// Allow udisks2 to mount devices without authentication // for users in the "plugdev" group. polkit.addRule(function(action, subject) { if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount") && subject.isInGroup("plugdev")) { return polkit.Result.YES; } }); polkit.addRule(function(action, subject) { if ((action.id == "org.freedesktop.udisks.filesystem-mount-system-internal") && subject.isInGroup("plugdev")) { return polkit.Result.YES; } });
Então, crie as pastas necessárias e adicione seu usuário ao grupo plugdev:
$ sudo mkdir -p /etc/polkit-1/{rules.d,localauthority/50-local.d} $ sudo adduser $USER plugdev
Salve os arquivos acima em suas respectivos pastas.
E por fim reinicie o PC (ou como eu, reinicie o DBUS e o UDEV):
$ sudo service udev restart $ sudo service dbus restart $ sudo udevadm control --reload
e pronto!
Uma outra coisa a ser observada é a extrema dependência pela libpulse0 por inúmeros pacotes de audio ou vídeo (mplayer, vlc, audacious-plugins, openjdk-jre e tantos outros), então, assim como no caso da libsystemd0, este pacote deverá ser mantido por causa da dependência dos programas citados.
A menos que você queira usar o player Parole, em meus testes o único que não depende do tal pacote (testei vlc, smplayer, mplayer, mplayer2, mpv, gnome-mplayer, gxine, xine-ui, totem, etc:
Caso você venha a remover a libpulse0, saiba que um tornado passará em seu PC (muitos pacotes serão removidos), mas até nisso vejo vantagem:
Após a remoção de tudo o que dependa da libpulsed0 você pode reinstalá-los de forma reduzida:
$ sudo apt-get --no-install-recommends install pkg1 pkg2 pkg3 freepats-
Conclusão.
Como já dito, diferentemente de atualizar para o Devuan, fazê-lo para o Jessie dará muito mais trabalho e por causa da dependência do systemd (pelo menos o policykit-1 e o gvfs terão que ser do Devuan), senão tixau usabilidade no desktop.
O pulseaudio e o network-manager novamente foram incluidos primeiro porque não gosto deles e segundo pois podem vir a chamar o systemd.
Seja qual for o método (do Jessie para o Devuan, do Wheezy para o Devuan ou este, não será possível instalar Gnome ou Cinnamon por causa da dependência dos 3 demônios citados anteriormente, se estes forem os seus DE’s preferidos, esqueça este how-to ou os demais.
A simulação de atualização do Debian Wheezy para o Devuan pode ser vista no link abaixo:
How-To :: Devuan a partir de uma instalação real do Debian Wheezy
IntÉ!