{"id":297,"date":"2019-07-13T20:44:04","date_gmt":"2019-07-13T19:44:04","guid":{"rendered":"http:\/\/slackware.pt\/?p=297"},"modified":"2024-12-08T11:15:52","modified_gmt":"2024-12-08T10:15:52","slug":"slackware-current-atualizacoes","status":"publish","type":"post","link":"http:\/\/slackware.pt\/?p=297","title":{"rendered":"Slackware current &#8211; atualiza\u00e7\u00f5es"},"content":{"rendered":"<p>J\u00e1 h\u00e1 uns anos que uso a vers\u00e3o current do Slackware. Com alguma frequ\u00eancia, atualizo as minhas m\u00e1quinas todas para a \u00faltima vers\u00e3o dos v\u00e1rios pacotes. Algumas s\u00e3o m\u00e1quinas virtuais, outras s\u00e3o m\u00e1quinas f\u00edsicas, duas delas t\u00eam o VirtualBox.<\/p>\n<p>Durante as atualiza\u00e7\u00f5es, t\u00eam surgido v\u00e1rios problemas, e tenho escrito artigos soltos sobre as solu\u00e7\u00f5es encontradas para os resolver. Vou tentar copiar para esta cr\u00f3nica, toda a lista de problemas e solu\u00e7\u00f5es que est\u00e3o espalhadas por este blog.<\/p>\n<h4>slackpkg<\/h4>\n<p>Eis a lista de comandos que utilizo no <a href=\"http:\/\/www.slackware.com\/\">Slackware<\/a> para fazer update das minhas m\u00e1quinas, a partir de um <em>mirror<\/em> que tenho e que \u00e9 atualizado diariamente.<\/p>\n<pre>slackpkg update\nslackpkg update gpg\nslackpkg install-new\nslackpkg upgrade-all\nslackpkg clean-system\n\nlilo\nreboot;exit\n<\/pre>\n<p>Nota: se a instala\u00e7\u00e3o for interrompida por algum motivo, posso sempre atualizar os ficheiros de configura\u00e7\u00e3o correndo o comando abaixo.<\/p>\n<pre>slackpkg new-config\n<\/pre>\n<p>De vez em quando, e ainda n\u00e3o percebi porqu\u00ea, o <strong>slackpkg<\/strong> pendura. A m\u00e1quina que estava a ser atualizada deixa de responder. N\u00e3o sei se \u00e9 por fazer muitas atualiza\u00e7\u00f5es em simult\u00e2neo, todas a ler no mesmo <em>mirror<\/em>, se \u00e9 demasiado peso na rede a carregar os pacotes para as atualiza\u00e7\u00f5es&#8230; Duvido que a causa seja uma destas, mas ainda n\u00e3o consegui descobrir a origem dos problemas.<\/p>\n<p>Algumas vezes tenho que mandar a m\u00e1quina abaixo, embora nem sempre. Mas uma consequ\u00eancia chata destes penduran\u00e7os \u00e9 que os pacotes que estavam a ser atualizados s\u00e3o considerados instalados, apesar de n\u00e3o estarem. Ainda demorei algum tempo a encontrar solu\u00e7\u00e3o para este problema, por isso fica aqui para consulta futura.<\/p>\n<pre>cd \/var\/lib\/slackpkg\/\nrm ChangeLog.txt\n<\/pre>\n<p>E depois j\u00e1 posso recome\u00e7ar os updates.<\/p>\n<h4>LILO<\/h4>\n<p>H\u00e1 cerca de um ano (em 2018), o Slackware passou a avisar que instalou um novo kernel, mas j\u00e1 n\u00e3o corre o lilo; pede antes que sejamos n\u00f3s a faz\u00ea-lo.<\/p>\n<p>Se me esquecer de correr o <strong>lilo<\/strong> numa m\u00e1quina virtual, a solu\u00e7\u00e3o para voltar a arrancar com ela \u00e9 a seguinte:<\/p>\n<p>Nos settings da m\u00e1quina, no VirtualBox, pedir para arrancar com o ISO da vers\u00e3o mais recente do Slackware. Depois de entrar, correr os seguintes comandos:<\/p>\n<pre>mount \/dev\/sda2 \/mnt\nchroot \/mnt\nlilo\nreboot<\/pre>\n<p>Se me esquecer de correr o <strong>lilo<\/strong> num host das m\u00e1quinas virtuais (que t\u00eam o disco de <strong>boot <\/strong>em RAID 1), a solu\u00e7\u00e3o \u00e9 arrancar de DVD e correr os seguintes comandos:<\/p>\n<pre>mdadm --assemble --run \/dev\/md0 \/dev\/sda2 \/dev\/sdb2 \nmount \/dev\/md0 \/mnt\nchroot \/mnt\nlilo\nexit\nreboot<\/pre>\n<p>Se algum dos discos adicionais (\/disco2, p.ex.) n\u00e3o arrancar por causa de um problema do RAID1, fazer o seguinte:<\/p>\n<pre>cat \/proc\/mdstat\n    \n\tPersonalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]\n\tmd3 : active raid1 sdc1[2] sdd1[1]\n\t\t1953512400 blocks super 1.2 [2\/2] [UU]\n\n\tmd2 : inactive sde1[0](S)\n\t\t1953512536 blocks super 1.2\n\n\tmd0 : active raid1 sdb3[1] sda3[0]\n\t\t73939072 blocks [2\/2] [UU]\n\n\tunused devices: \n\nmount -a\n    \n\tmount: \/disco2: can't read superblock on \/dev\/md2.\n\t\tdmesg(1) may have more information after failed mount system call.\nmdadm -A \/dev\/md2\n    \n\tmdadm: Fail to create md2 when using \/sys\/module\/md_mod\/parameters\/new_array, fallback to creation via node\n\tmdadm: \/dev\/md2 is already in use.\nmdadm --stop \/dev\/md2\nmdadm --assemble --force \/dev\/md2 \/dev\/sde1 \/dev\/sdf1\n<\/pre>\n<h4>Pacotes duplicados<\/h4>\n<p>Depois de recuperar a <a href=\"http:\/\/slackware.pt\/?p=88\">m\u00e1quina que pendurou<\/a> nas atualiza\u00e7\u00f5es, retomei o processo de atualiza\u00e7\u00e3o e recebi uma mensagem \u00e0 qual nunca soube responder:<\/p>\n<pre>Checking local integrity... DONE\nYou have a broken \/var\/log\/packages - with two versions of the same package.\nThe list of packages duplicated in your machine are shown below, but don't worry about this list - when you select your action, slackpkg will show a better list:\n\nllvm-3.8.0-x86_64-1\nllvm-3.8.0-x86_64-2\n\nYou can (B)lacklist, (R)emove, or (I)gnore these packages.\nSelect your action (B\/R\/I):<\/pre>\n<p>Premi ENTER, sem escolher op\u00e7\u00e3o nenhuma e fui \u00e0 net@ ver o que deveria fazer. Descobri que devia remover o pacote <strong>llvm-3.8.0-x86_64-1<\/strong> que n\u00e3o tinha sido removido na instala\u00e7\u00e3o anterior, que pendurou. Removi-o com o comando:<\/p>\n<p><strong>removepkg llvm-3.8.0-x86_64-1<\/strong><\/p>\n<p>e depois continuei a atualiza\u00e7\u00e3o com:<\/p>\n<p><strong>slackpkg upgrade-all<\/strong><\/p>\n<h4>VirtualBox<\/h4>\n<p>Para atualizar a vers\u00e3o do VirtualBox nos hosts das m\u00e1quinas virtuais, uso os comandos seguintes:<\/p>\n<pre>cd \/root\nbat\/vboxes stop\ncd \/usr\/local\/\nVBoxManage extpack uninstall \"Oracle VM VirtualBox Extension Pack\"\nreboot\nexit\ncd \/usr\/local\/\nchmod +x .\/VirtualBox-X.X.X-XXXXXX-Linux_amd64.run\n.\/VirtualBox-X.X.X-XXXXXX-Linux_amd64.run\nVBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-X.X.X-XXXXXX.vbox-extpack\ncd \/root\nbat\/vboxes start<\/pre>\n<p>O ficheiro <strong>bat\/vboxes<\/strong> \u00e9 um ficheiro de comandos que criei para gerir as m\u00e1quinas virtuais do VirtualBox. [<a href=\"http:\/\/slackware.pt\/?p=301\">ver aqui<\/a>]<\/p>\n<p>Entretanto, se alguma das m\u00e1quinas falhar, posso recuper\u00e1-la da forma seguinte (para casos em que h\u00e1 problemas com o kernel):<\/p>\n<p>Reiniciar a m\u00e1quina virtual, ligando ao leitor de CD um ISO com a <strong>\u00faltima vers\u00e3o do sistema operativo<\/strong>. Depois de arrancar e escolher o layout do teclado, executar os comandos seguintes.<\/p>\n<pre>mount \/dev\/sda2 \/mnt\nmount -t proc proc \/mnt\/proc (this was the magic step)\nchroot \/mnt\ncd \/boot\nmkinitrd -c -k 4.14.2 -m ext3\n# No ficheiro \/etc\/lilo.conf colocar a linha\ninitrd = \/boot\/initrd.gz\n# no fim do ficheiro, logo ap\u00f3s a linha\nroot = \/dev\/sda2\n# depois, executar os comandos:\nlilo\nreboot<\/pre>\n<h4>VirtualBox e KVM<\/h4>\n<p>O VirtualBox deixou de arrancar quando instalei o kernel 6.12.3 no Slackware. A mensagem \u00e9: <strong>VBoxManage: error: VirtualBox can&#8217;t operate in VMX root mode.<\/strong><\/p>\n<p>Encontrei uma solu\u00e7\u00e3o na <a href=\"https:\/\/superuser.com\/questions\/64118\/how-to-permanently-disable-kvm-modules-in-linux\">net<\/a> e, para j\u00e1, estou a desativar o KVM com os comandos seguintes:<\/p>\n<pre>modprobe -r kvm_intel<br \/>modprobe -r kvm<\/pre>\n<p>Na p\u00e1gina de onde tirei isto, mencionam que pode haver solu\u00e7\u00f5es mais definitivas para o problema, mas vou esperar para perceber melhor.<\/p>\n<h4>SSHD<\/h4>\n<p>A nova configura\u00e7\u00e3o do SSHD, no Slackware, n\u00e3o permite o acesso de clientes \u00e0 conta &#8220;root&#8221;. Para permitir, \u00e9 necess\u00e1rio, antes do \u00faltimo reboot, colocar a linha seguinte no ficheiro \/etc\/ssh\/sshd_config: <strong>PermitRootLogin yes<\/strong><br \/>Ou ent\u00e3o apagar o ficheiro <strong>\/etc\/ssh\/sshd_config.new<\/strong> antes de fazer o upgrade.<br \/>Ou, sempre que o SSHD \u00e9 atualizado, n\u00e3o fazer o <em>overwrite<\/em> desse ficheiro.<\/p>\n<h4>input\/output error<\/h4>\n<p>Durante a atualiza\u00e7\u00e3o das m\u00e1quinas, uma das m\u00e1quinas virtuais deu um erro de input\/output, enquanto estava a remover um pacote. E a atualiza\u00e7\u00e3o ficou por ali.<\/p>\n<p>Tive que reiniciar a m\u00e1quina, mas s\u00f3 o consegui fazer dentro do VirtualBox, e n\u00e3o em modo <em>headless<\/em> atrav\u00e9s de um ficheiro <em>batch<\/em> que uso para lan\u00e7ar as m\u00e1quinas. Qualquer acesso ao sistema de ficheiros dava um erro de input\/output (o <strong>df<\/strong>, o <strong>mount<\/strong>). Tentei retomar a atualiza\u00e7\u00e3o, mas a diretoria remota &#8211; onde est\u00e3o os pacotes do Slackware &#8211; n\u00e3o estava montada. Descobri, ent\u00e3o, que n\u00e3o tinha rede e o sistema n\u00e3o permitia fazer o <strong>modprobe<\/strong> da placa de rede: dizia que o dispositivo n\u00e3o existia na diretoria \/lib\/modules\/4.4.13.<\/p>\n<p>Fui \u00e0 pasta \/lib\/modules\/4.4.13 ver que dispositivos de rede estavam dispon\u00edveis, mas a pasta \/lib\/modules\/4.4.13 n\u00e3o existia. No entanto, havia uma mais recente: \/lib\/modules\/4.4.14.<\/p>\n<p>Ah! Durante a atualiza\u00e7\u00e3o, o kernel 4.4.14 j\u00e1 tinha sido instalado, mas como n\u00e3o cheguei a correr o <strong>lilo<\/strong>, devido \u00e0 interrup\u00e7\u00e3o da instala\u00e7\u00e3o, o sistema ainda estava a arrancar com o 4.4.13. Contudo, as bibliotecas do 4.4.13 j\u00e1 tinham sido removidas. Corri o <strong>lilo<\/strong> e reiniciei a m\u00e1quina. Depois j\u00e1 pude mandar verificar o sistema de ficheiros, com um comando que desliga a m\u00e1quina e <a href=\"http:\/\/superuser.com\/questions\/401217\/how-to-check-root-partition-with-fsck\">for\u00e7a a verifica\u00e7\u00e3o<\/a> no pr\u00f3ximo arranque:<\/p>\n<p>shutdown -rF now<\/p>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>J\u00e1 h\u00e1 uns anos que uso a vers\u00e3o current do Slackware. Com alguma frequ\u00eancia, atualizo as minhas m\u00e1quinas todas para a \u00faltima vers\u00e3o dos v\u00e1rios pacotes. Algumas s\u00e3o m\u00e1quinas virtuais, outras s\u00e3o m\u00e1quinas f\u00edsicas, duas delas t\u00eam o VirtualBox. Durante as atualiza\u00e7\u00f5es, t\u00eam surgido v\u00e1rios problemas, e tenho escrito artigos soltos sobre as solu\u00e7\u00f5es encontradas &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/slackware.pt\/?p=297\" class=\"more-link\">Continuar a ler <span class=\"screen-reader-text\">&#8220;Slackware current &#8211; atualiza\u00e7\u00f5es&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/297"}],"collection":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=297"}],"version-history":[{"count":12,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/297\/revisions"}],"predecessor-version":[{"id":480,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/297\/revisions\/480"}],"wp:attachment":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=297"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}