<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on Marcello Barnaba</title>
    <link>https://sindro.me/it/tags/linux/</link>
    <description>Recent content in Linux on Marcello Barnaba</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Fri, 30 Jan 2026 00:00:00 +0100</lastBuildDate>
    <atom:link href="https://sindro.me/it/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Docker vs. iptables: una storia di rabbia e la chain DOCKER-USER</title>
      <link>https://sindro.me/it/posts/2026-01-30-docker-vs-iptables-rage-and-docker-user-chain/</link>
      <pubDate>Fri, 30 Jan 2026 00:00:00 +0100</pubDate>
      <guid>https://sindro.me/it/posts/2026-01-30-docker-vs-iptables-rage-and-docker-user-chain/</guid>
      <description>&lt;p&gt;Siamo nel 2026, e stiamo ancora lottando con l&amp;rsquo;arroganza assoluta di Docker riguardo al networking Linux.&lt;/p&gt;&#xA;&lt;p&gt;Ecco lo scenario: faccio girare un host ibrido. Da un lato, ho una macchina virtuale KVM che fa girare &lt;strong&gt;Home Assistant&lt;/strong&gt; (perché ho bisogno del controllo completo del SO e della &lt;a href=&#34;https://sindro.me/posts/2026-01-20-raspberry-pi-luks-encrypted-root/&#34; target=&#34;_blank&#34;&gt;cifratura del disco&lt;/a&gt;).&#xA;Dall&amp;rsquo;altro, ho la solita lista di container Docker &amp;ndash; &lt;strong&gt;NUT&lt;/strong&gt; per monitorare il mio UPS Lakeview (Vultech) di merda e &lt;strong&gt;Technitium&lt;/strong&gt; per DNS e DHCP &amp;ndash; in esecuzione direttamente sull&amp;rsquo;host.&lt;/p&gt;&#xA;&lt;p&gt;Sembra semplice. Dovrebbe essere semplice.&lt;/p&gt;&#xA;&lt;p&gt;Ma nel momento in cui ho installato Docker, la comunicazione con la mia VM Home Assistant è morta. Semplicemente cessata di esistere.&lt;/p&gt;&#xA;&lt;h2 id=&#34;il-problema-docker-è-un-dittatore&#34;&gt;Il problema: Docker è un dittatore&lt;/h2&gt;&#xA;&lt;p&gt;Docker, per default, tratta le tue regole &lt;code&gt;iptables&lt;/code&gt; come se fossero semplici suggerimenti. Quando il demone si avvia, sostanzialmente sovrascrive la chain &lt;code&gt;FORWARD&lt;/code&gt;, inserisce la sua logica, e imposta policy che isolano efficacemente qualsiasi cosa non sia un container gestito da Docker stesso.&lt;/p&gt;&#xA;&lt;p&gt;Se hai un&amp;rsquo;interfaccia bridge per una VM (come &lt;code&gt;br0&lt;/code&gt; o &lt;code&gt;virbr0&lt;/code&gt;), le regole di Docker spesso finiscono per droppare i pacchetti destinati a quella VM perché non corrispondono alla sua logica interna per il traffico dei container.&lt;/p&gt;&#xA;&lt;h3 id=&#34;la-soluzione-ingenua-e-perché-fallisce&#34;&gt;La soluzione ingenua (e perché fallisce)&lt;/h3&gt;&#xA;&lt;p&gt;La mia prima reazione &amp;ndash; come qualsiasi sysadmin che fa questo lavoro dai primi anni 2000 &amp;ndash; è stata sistemare le regole a mano e poi eseguire:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iptables-save &amp;gt; /etc/iptables/rules.v4&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Questa è una trappola!&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExOHI5MzZoYzVwdGluYmNnMXBpYmJ2M2Y4cHB1OGVhaGlxdXRpZHpqOCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/3ornka9rAaKRA2Rkac/giphy.gif&#34; alt=&#34;Trap GIF&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Se usi &lt;code&gt;iptables-persistent&lt;/code&gt; (o &lt;code&gt;netfilter-persistent&lt;/code&gt;) con Docker, stai entrando in un mondo di dolore per due motivi:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Root cifrata con LUKS su Raspberry PI 5</title>
      <link>https://sindro.me/it/posts/2026-01-20-raspberry-pi-luks-encrypted-root/</link>
      <pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2026-01-20-raspberry-pi-luks-encrypted-root/</guid>
      <description>&lt;h2 id=&#34;premessa&#34;&gt;Premessa&lt;/h2&gt;&#xA;&lt;p&gt;Quindi ho cominciato a far girare &lt;a href=&#34;https://www.home-assistant.io/&#34; target=&#34;_blank&#34;&gt;Home Assistant&lt;/a&gt;&#xA;a casa su un Raspberry PI 5 e ho semplicemente installato HAOS su una SD. Poi ho&#xA;iniziato a sentirmi sempre più a disagio nel salvare credenziali nel filesystem&#xA;di HA in chiaro (qualsiasi offuscamento non è sufficiente).&lt;/p&gt;&#xA;&lt;p&gt;Considerando che configurare una root cifrata con HAOS è semplicemente&#xA;impossibile senza forkarlo, e considerando anche che dedicare un intero RPI5&#xA;a HAOS è uno spreco di risorse, ho deciso di aggiungere un SSD al Pi, avviarlo&#xA;con Raspbian e poi far girare HAOS dentro una VM.&lt;/p&gt;&#xA;&lt;p&gt;In questo modo, posso avere una root cifrata sull&amp;rsquo;host principale, cifrando&#xA;così l&amp;rsquo;intera VM HAOS.&lt;/p&gt;&#xA;&lt;p&gt;Inoltre posso ora fare snapshot dell&amp;rsquo;intera VM HAOS e ho molta più&#xA;flessibilità nella gestione. Ultimo ma non meno importante, posso anche usare&#xA;la CPU e la RAM rimanenti del RPI per qualcos&amp;rsquo;altro.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ringraziamenti&#34;&gt;Ringraziamenti&lt;/h2&gt;&#xA;&lt;p&gt;Prima di tutto, un grande grazie a &lt;a href=&#34;https://rr-developer.github.io/LUKS-on-Raspberry-Pi/&#34; target=&#34;_blank&#34;&gt;questo&#xA;post&lt;/a&gt; che mi ha dato&#xA;le indicazioni iniziali su come fare il setup. Ma quel post del 2021 è ora&#xA;leggermente datato, e molti passaggi non sono più necessari.&lt;/p&gt;&#xA;&lt;p&gt;Secondo, un grande grazie a &lt;a href=&#34;https://github.com/ericfjosne&#34; target=&#34;_blank&#34;&gt;Eric Fjøsne&lt;/a&gt; per&#xA;&lt;a href=&#34;https://github.com/vjt/sindro.me/pull/1&#34; target=&#34;_blank&#34;&gt;aver usato questa guida e averla corretta&lt;/a&gt;&#xA;dato che l&amp;rsquo;avevo scritta perlopiù a posteriori :-).&lt;/p&gt;&#xA;&lt;h2 id=&#34;requisiti&#34;&gt;Requisiti&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Un RPI5 con Debian 13 (trixie) o successivo&lt;/li&gt;&#xA;&lt;li&gt;Una chiavetta USB decente e affidabile che può essere completamente cancellata&lt;/li&gt;&#xA;&lt;li&gt;Una tastiera e un monitor collegati direttamente al RPI&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;panoramica&#34;&gt;Panoramica&lt;/h2&gt;&#xA;&lt;p&gt;L&amp;rsquo;idea di fondo è:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Prepariamo un initrd che contiene i seguenti strumenti:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;resize2fs&lt;/code&gt; per ridurre e ingrandire filesystem &lt;code&gt;ext4&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;cryptsetup&lt;/code&gt; per gestire la cifratura delle partizioni&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Configuriamo il sistema per avviarsi da una root cifrata che non esiste ancora,&#xA;forzando così il sistema a cadere nell&amp;rsquo;initrd.&lt;/li&gt;&#xA;&lt;li&gt;Nell&amp;rsquo;initrd, riduciamo il filesystem root alla dimensione minima possibile&lt;/li&gt;&#xA;&lt;li&gt;Copiamo il filesystem root dalla partizione in chiaro sulla chiavetta USB&lt;/li&gt;&#xA;&lt;li&gt;Creiamo la partizione cifrata usando LUKS&lt;/li&gt;&#xA;&lt;li&gt;Copiamo il filesystem root dalla chiavetta USB sulla partizione cifrata&lt;/li&gt;&#xA;&lt;li&gt;Estendiamo il filesystem root alla dimensione massima&lt;/li&gt;&#xA;&lt;li&gt;Configuriamo SSH nell&amp;rsquo;initrd così da poterlo sbloccare anche dopo aver&#xA;piazzato il Raspberry Pi in un posto senza tastiera o schermo.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Pronti? Via!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk su MetalOS ad All Systems Go! 2025</title>
      <link>https://sindro.me/it/posts/2025-10-09-all-systems-go/</link>
      <pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2025-10-09-all-systems-go/</guid>
      <description>&lt;p&gt;Ho presentato un talk ad &lt;a href=&#34;https://all-systems-go.io/&#34; target=&#34;_blank&#34;&gt;All Systems Go 2025&lt;/a&gt;, la conferenza fondamentale sullo userspace Linux. La conferenza è organizzata principalmente dal team di systemd, ed è un punto d&amp;rsquo;incontro annuale per tutti quelli che lavorano su software di sistema Linux.&lt;/p&gt;&#xA;&lt;p&gt;Il tema di quest&amp;rsquo;anno è stato prevalentemente &amp;ldquo;container, container, container&amp;rdquo;, con molte nuove funzionalità in systemd per supportare la containerizzazione e anche esperienze pratiche da persone che lavorano sul campo su come usano systemd e software collaterali per costruire infrastrutture a container.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2025-10-09-all-systems-go/vjt-dubros-on-stage.jpg&#34; alt=&#34;Io e Serge sul palco&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ho presentato insieme al mio collega &lt;a href=&#34;https://www.linkedin.com/in/serge-dubrouski-2902638/&#34; target=&#34;_blank&#34;&gt;Serge Dubrouski&lt;/a&gt; il nostro lavoro nella costruzione di un sistema operativo alla scala di Meta. Gestiamo un sistema operativo basato su immagini, ma l&amp;rsquo;azienda viene da due decenni di aggiornamenti del SO online, quindi abbiamo dovuto progettare una strategia di migrazione adeguata e gettare le fondamenta per il futuro.&lt;/p&gt;&#xA;&lt;p&gt;Descriviamo come prepariamo le release CentOS dall&amp;rsquo;upstream, gli &lt;a href=&#34;https://github.com/facebookincubator/antlir&#34; target=&#34;_blank&#34;&gt;strumenti OSS&lt;/a&gt; che abbiamo costruito per creare le immagini del SO, e la tecnologia interna (MetalOS) che abbiamo ideato per costruire un SO che gira su milioni di server Linux.&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/PpDDdLMiPCs?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Puoi anche &lt;a href=&#34;https://sindro.me/posts/2025-10-09-all-systems-go/asg2025-332-eng-OS_as_a_Service_at_Meta_Platforms_hd.mp4&#34;&gt;scaricare il video per la visione offline&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Domande? Commenti? Sfogate qui sotto! 🤣&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fare il bind della porta 80/TCP come non-root sul server di sviluppo</title>
      <link>https://sindro.me/it/posts/2011-07-07-binding-port-80-for-your-development-application-server/</link>
      <pubDate>Thu, 07 Jul 2011 14:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2011-07-07-binding-port-80-for-your-development-application-server/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2011-07-07-binding-port-80-for-your-development-application-server/neo-tux.png&#34; alt=&#34;Neo Tux&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Quindi hai una VM Linux che usi per lo sviluppo, perché vuoi replicare&#xA;l&amp;rsquo;ambiente di produzione il più fedelmente possibile. Hai molte applicazioni da&#xA;gestire, devono girare tutte contemporaneamente perché sono dei bei web service&#xA;REST JSON.&lt;/p&gt;&#xA;&lt;p&gt;Sei stanchissimo di ricordarti quale hai messo sulla porta &lt;code&gt;8081&lt;/code&gt;, e i tuoi file&#xA;di configurazione stanno diventando un vero casino. Quindi configuri degli alias&#xA;per gli indirizzi IP sull&amp;rsquo;interfaccia di rete e decidi di assegnare persino dei&#xA;nomi host — &lt;code&gt;/etc/hosts&lt;/code&gt; va benissimo — per ogni applicazione.&lt;/p&gt;&#xA;&lt;p&gt;Poi, in una configurazione del genere, perché dovresti ancora farle girare su&#xA;porte superiori a &lt;code&gt;1024&lt;/code&gt;? Non sarebbe fantastico digitare il nome&#xA;dell&amp;rsquo;applicazione nella barra degli indirizzi del browser? Sì che lo sarebbe, ma&#xA;è meglio non farle girare come &lt;code&gt;root&lt;/code&gt;, comunque.&lt;/p&gt;&#xA;&lt;p&gt;La soluzione sono le &lt;a href=&#34;http://www.kernel.org/doc/man-pages/online/pages/man7/capabilities.7.html&#34; target=&#34;_blank&#34;&gt;Linux&#xA;capabilities&lt;/a&gt;&#xA;(vedi anche &lt;a href=&#34;http://www.friedhoff.org/posixfilecaps.html&#34; target=&#34;_blank&#34;&gt;qui&lt;/a&gt;). Quella che ci&#xA;interessa è &lt;code&gt;cap_net_bind_service&lt;/code&gt;: dà a un processo il diritto di fare il bind&#xA;su porte well-known (&amp;lt; 1024). Se usi un linguaggio interpretato, ovviamente&#xA;dovrai aggiungere la capability all&amp;rsquo;interprete stesso. Ecco perché c&amp;rsquo;è&#xA;&lt;strong&gt;sviluppo&lt;/strong&gt; nel titolo di questo articolo — non dovresti configurare questo su&#xA;un server di produzione, se non sai cosa stai facendo.&lt;/p&gt;&#xA;&lt;p&gt;Un&amp;rsquo;ultima stranezza: se ti capita di fare &lt;code&gt;dlopen()&lt;/code&gt; su shared object che&#xA;linkano dinamicamente verso librerie fuori dai path canonici, non puoi caricarli&#xA;tramite &lt;code&gt;LD_LIBRARY_PATH&lt;/code&gt; (ad es. il &lt;code&gt;SYBASE.sh&lt;/code&gt;) perché viene ignorato per i&#xA;processi con &lt;code&gt;setcap&lt;/code&gt;. Meglio spostare i path delle librerie in uno snippet&#xA;dentro &lt;code&gt;/etc/ld.so.conf.d&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;tl;dr&lt;/h2&gt;&#xA;&lt;p&gt;Assumendo che tu sia l&amp;rsquo;ultimo e più grande sviluppatore Rails, dovresti&#xA;diventare root — o usare sudo, come preferisci — e&lt;/p&gt;</description>
    </item>
    <item>
      <title>Il modo migliore per iniziare una nuova giornata</title>
      <link>https://sindro.me/it/posts/2009-05-26-the-best-way-to-begin-a-new-day/</link>
      <pubDate>Tue, 26 May 2009 10:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2009-05-26-the-best-way-to-begin-a-new-day/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;XFS internal error XFS_WANT_CORRUPTED_RETURN at line 295 of file fs/xfs/xfs_alloc.c.  Caller 0xc018066c&#xA; [&amp;lt;c017fed0&amp;gt;] xfs_alloc_fixup_trees+0x1b0/0x2e0&#xA; [&amp;lt;c018066c&amp;gt;] xfs_alloc_ag_vextent_near+0x31c/0x9c0&#xA; [&amp;lt;c018066c&amp;gt;] xfs_alloc_ag_vextent_near+0x31c/0x9c0&#xA; [&amp;lt;c0180187&amp;gt;] xfs_alloc_ag_vextent+0xf7/0x100&#xA; [&amp;lt;c01824fe&amp;gt;] xfs_alloc_vextent+0x35e/0x420&#xA; [&amp;lt;c019015d&amp;gt;] xfs_bmap_alloc+0x80d/0x12b0&#xA; [&amp;lt;c0111254&amp;gt;] try_to_wake_up+0xa4/0xc0&#xA; [&amp;lt;c02cf248&amp;gt;] schedule+0x308/0x5c0&#xA; [&amp;lt;c01939c4&amp;gt;] xfs_bmapi+0x514/0x1470&#xA; [&amp;lt;c0130069&amp;gt;] find_lock_page+0x29/0xe0&#xA; [&amp;lt;c013013c&amp;gt;] find_or_create_page+0x1c/0xb0&#xA; [&amp;lt;c01d9116&amp;gt;] kmem_zone_zalloc+0x26/0x50&#xA; [&amp;lt;c01a2296&amp;gt;] xfs_dir2_grow_inode+0xf6/0x3c0&#xA; [&amp;lt;c01b57a6&amp;gt;] xfs_iget_core+0x326/0x5a0&#xA; [&amp;lt;c0163315&amp;gt;] alloc_inode+0xd5/0x170&#xA; [&amp;lt;c01b978b&amp;gt;] xfs_idata_realloc+0x3b/0x160&#xA; [&amp;lt;c01a3e2d&amp;gt;] xfs_dir2_sf_to_block+0xad/0x680&#xA; [&amp;lt;c0137882&amp;gt;] cache_grow+0xe2/0x150&#xA; [&amp;lt;c01aa27b&amp;gt;] xfs_dir2_sf_addname+0x9b/0x110&#xA; [&amp;lt;c01a1c51&amp;gt;] xfs_dir2_createname+0x131/0x140&#xA; [&amp;lt;c01d9116&amp;gt;] kmem_zone_zalloc+0x26/0x50&#xA; [&amp;lt;c01cebcb&amp;gt;] xfs_trans_ijoin+0x2b/0x80&#xA; [&amp;lt;c01d4967&amp;gt;] xfs_create+0x407/0x6c0&#xA; [&amp;lt;c017e766&amp;gt;] xfs_acl_vhasacl_default+0x36/0x50&#xA; [&amp;lt;c01df8f4&amp;gt;] linvfs_mknod+0x2c4/0x390&#xA; [&amp;lt;c01a1d62&amp;gt;] xfs_dir2_lookup+0x102/0x110&#xA; [&amp;lt;c01228b8&amp;gt;] in_group_p+0x38/0x70&#xA; [&amp;lt;c01ba9a6&amp;gt;] xfs_iaccess+0xc6/0x1a0&#xA; [&amp;lt;c0157cb7&amp;gt;] permission+0x97/0xd0&#xA; [&amp;lt;c0158f94&amp;gt;] __link_path_walk+0xda4/0xe90&#xA; [&amp;lt;c0157cb7&amp;gt;] permission+0x97/0xd0&#xA; [&amp;lt;c015984c&amp;gt;] vfs_create+0x9c/0x120&#xA; [&amp;lt;c015a00b&amp;gt;] open_namei+0x58b/0x5e0&#xA; [&amp;lt;c014aa9d&amp;gt;] filp_open+0x2d/0x50&#xA; [&amp;lt;c014ac70&amp;gt;] get_unused_fd+0x50/0xc0&#xA; [&amp;lt;c0157ae7&amp;gt;] getname+0x67/0xb0&#xA; [&amp;lt;c014ad9c&amp;gt;] sys_open+0x3c/0x80&#xA; [&amp;lt;c0102867&amp;gt;] sysenter_past_esp+0x54/0x75&#xA;&#xA;xfs_force_shutdown(hda8,0x8) called from line 1091 of file fs/xfs/xfs_trans.c.  Return address = 0xc01e2c5c&#xA;Filesystem &amp;#34;hda8&amp;#34;: Corruption of in-memory data detected.  Shutting down filesystem: hda8&#xA;Please umount the filesystem, and rectify the problem(s)&#xA;xfs_force_shutdown(hda8,0x1) called from line 353 of file fs/xfs/xfs_rw.c.  Return address = 0xc01e2c5c&#xA;printk: 12 messages suppressed.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gia&amp;rsquo;, farei l&amp;rsquo;umount di &lt;code&gt;/var&lt;/code&gt;, se questa macchina non facesse da &lt;code&gt;act_as_router&lt;/code&gt; e non avesse &lt;code&gt;pppd&lt;/code&gt; che non molla il lock su &lt;code&gt;/var/run/pppd2.tdb&lt;/code&gt;&amp;hellip;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pppd   222 root  mem   REG    3,8    88080525 /var/run/pppd2.tdb (path dev=0,0 inode=34)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ovviamente &lt;code&gt;kill 222 ; pppd call dsl-provider&lt;/code&gt; non funziona. &lt;strong&gt;BLEAH&lt;/strong&gt;. Mettiamoci un router davanti&amp;hellip; configura, port forward, e si ricomincia&amp;hellip; poi &lt;code&gt;fdisk /dev/hdc&lt;/code&gt; per ricreare la struttura delle partizioni sul nuovo hard disk, &lt;code&gt;mkfs.xfs&lt;/code&gt; su tutte le nuove partizioni, &lt;code&gt;mount /dev/hdcX /target&lt;/code&gt;, &lt;code&gt;pax -r -w -p e /{bin,boot,dev,etc,home,initrd,lib,media,root,sbin,srv,tmp,usr,var} /target&lt;/code&gt;&amp;hellip; aspetta un sacco per la copia perche&amp;rsquo; ci sono settori danneggiati sul disco sorgente, &lt;code&gt;chroot /target&lt;/code&gt;, &lt;code&gt;vi /etc/lilo.conf&lt;/code&gt; e sostituisci &lt;code&gt;boot=/dev/hda&lt;/code&gt; con &lt;code&gt;boot=/dev/hdc&lt;/code&gt;, lancia &lt;code&gt;lilo -v&lt;/code&gt; mentre sei nel chroot, verifica &lt;code&gt;/etc/fstab&lt;/code&gt;, e finalmente &lt;code&gt;shutdown&lt;/code&gt; per rimuovere il disco guasto e riavviare&amp;hellip; ripristinando &lt;code&gt;lilo.conf&lt;/code&gt;. evvai!&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
