Visualizzazione post con etichetta slackware. Mostra tutti i post
Visualizzazione post con etichetta slackware. Mostra tutti i post

2026-09-28

Creare una chiavetta USB avviabile con Ventoy su Slackware 15

Questa guida descrive come preparare, con Slackware Linux 15 e Ventoy, una chiavetta USB avviabile (contenente una o più immagini ISO).

Come esempio useremo una ISO di Windows Server ed eventuali driver aggiuntivi. Con Ventoy non è necessario scrivere ogni ISO sulla chiavetta con dd: Ventoy viene installato una sola volta e, successivamente, le immagini ISO vengono aggiunte direttamente sulla partizione dati della chiavetta.

Si possono copiare anche normali file, per esempio i driver da utilizzare durante l'installazione.

Preparare una chiavetta Ventoy su Slackware 15

  • Individuare la chiavetta con il comando:
    lsblk -o NAME,SIZE,MODEL,MOUNTPOINTS
    
    Supponiamo che questa sia /dev/sdb. Attenzione: Ventoy cancellerà il contenuto della chiavetta (può esser preventivamente necessario smontare la chiavetta: umount /dev/sdb1);
  • Scaricare Ventoy per Linux dal sito ufficiale ed estrarlo:
    tar xf ventoy-*-linux.tar.gz
    cd ventoy-*
    
    Come `root`:
    su
    sh Ventoy2Disk.sh -i /dev/sdb
    
    Usare il dispositivo completo (/dev/sdb), non la partizione (/dev/sdb1).
  • Dopo l'installazione Ventoy crea una grande partizione dati. Montarla:
    mkdir -p /mnt/ventoy
    mount /dev/sdb1 /mnt/ventoy
    
    Copiare la ISO:
    mkdir -p /mnt/ventoy/ISO
    cp Windows_Server_2019.iso /mnt/ventoy/ISO/
    
    Non è necessario estrarre o modificare la ISO.
  • È possibile tenere sulla stessa chiavetta anche i driver del server:
    ISO/
        Windows_Server_2019.iso
    
    Drivers/
        SmartArray/
        Network/
        Chipset/
    
    Per i driver necessari durante Windows Setup è preferibile avere direttamente i file:
    *.inf
    *.sys
    *.cat
    
    Se Windows non vede il disco RAID, scegliere: Load driver ed indicare la directory corrispondente sulla chiavetta.
  • Dopo la copia:
    sync
    umount /mnt/ventoy
    
  • Avviare il server dalla chiavetta USB, selezionare la ISO nel menu Ventoy e scegliere: Boot in normal mode. Usare wimboot mode solo se l'avvio normale non funziona. Per aggiungere altre ISO in futuro basta copiarle sulla partizione Ventoy: non occorre ricreare la chiavetta.

2026-01-12

Gestire la cache dei pacchetti su Slackware

Chi usa Slackware lo sa, mantenere DELALL=off in slackpkg.conf è fondamentale per avere sempre un paracadute e poter effettuare un rollback in caso di necessità. Tuttavia, col tempo, l'archivio locale dei pacchetti può diventare enorme.

Pubblichiamo uno script che risolve proprio questo problema, inserendosi perfettamente nel workflow di aggiornamento standard:

  1. slackpkg update
  2. slackpkg upgrade-all
  3. manage_updates

Cosa fa lo script? Agisce come un garbage collector intelligente per l'archivio locale. Invece di accumulare versioni obsolete all'infinito, lo script applica una policy di conservazione: mantiene solo le due versioni più recenti di ogni pacchetto.

✅ Sicurezza. Hai sempre a disposizione l'ultima versione stabile e quella precedente per un rollback immediato.

✅ Efficienza. Mantieni il controllo dello spazio su disco in modo automatico.

✅ Pulizia. Eviti la rimozione manuale dei vecchi pacchetti `.txz`.

Trovi la documentazione e lo script qui: https://github.com/morinim/documents/tree/master/sysadmin/slackware

2025-12-09

Slackware - Installare una versione aggiornata di GCC/CLANG

GCC e LLVM

Rendiamo disponibili, nel nostro repository su GitHub, gli script per utilizzare una versione aggiornata di GCC e/o CLANG su una Slackware stable (si tratta comunque di POSIX script, quindi ragionevolmente compatibili con altre distribuzioni).

L'installazione, conformemente al Filesystem Hierarchy Standard, avviene nella directory /opt. In genere questa è una buona scelta per i compilatori dal momento che permette:

  • di evitare interferenze con /usr/bin/gcc e /usr/bin/clang;
  • di non sovrascrivere librerie già installate con la distribuzione Linux;
  • di effettuare semplici scelte a livello di utente (export PATH=/opt/gcc-XX.Y.Z/bin:$PATH);
  • il supporto di versioni multiple;
  • una semplice rimozione (rm -rf /opt/gcc-XX.Y.Z).

I collegamenti diretti sono:


2025-07-31

Attenzione a fstrim su RAID 10: crash del kernel in alcune configurazioni Linux (5.15.181-stable / 5.15.188-stable)


Sintomo

Su alcune configurazioni Linux, eseguire il comando:

> fstrim -v /

può causare un crash del kernel immediato, accompagnato dal messaggio `Killed` e da una traccia nel log (`dmesg`) simile a questa:

RIP: 0010:0x0
Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
Call Trace:
  raid10_make_request+0xbf1/0xd20
  ...

Il problema si verifica anche su altri mount point e non è legato a mancanza di memoria o corruzione del filesystem.

Causa

Il problema è causato da un bug noto nel driver md/raid10 del kernel Linux: quando viene eseguito un comando TRIM (come `fstrim`) su un volume configurato in RAID 10 software, il kernel tenta di accedere ad un puntatore funzione nullo, provocando un kernel panic.

Questa anomalia è stata segnalata anche in altre distribuzioni (es. Ubuntu, bug #2117395) e si verifica su filesystem ext4 montati sopra array RAID 10.

Perché succede

Il supporto TRIM (discard) non è sempre correttamente implementato nel livello RAID 10 software. Il kernel presume l'esistenza di una funzione per gestire l'operazione `REQ_OP_DISCARD`, ma questa non è definita in alcune configurazioni. Il risultato è un accesso a indirizzo nullo (0x0) e il crash del sistema.

Soluzioni consigliate

Non usare, momentaneamente, `fstrim` su RAID 10.

Rimuovere l'opzione `discard` da `/etc/fstab` per evitare TRIM automatici:

diff
- /dev/md0 / ext4 defaults,discard 0 1
+ /dev/md0 / ext4 defaults 0 1
 

2025-06-26

Come ripristinare un sistema Slackware dopo un aggiornamento del kernel senza aver eseguito lilo

Se utilizzi Slackware e hai aggiornato il kernel, c'è un passaggio fondamentale da non dimenticare: eseguire `lilo`. Questo comando aggiorna il bootloader con le informazioni del nuovo kernel. Dimenticarlo significa molto probabilmente ritrovarsi con un sistema che non si avvia più correttamente.

Cosa succede se dimentichi lilo

Slackware, a differenza di altre distribuzioni, non aggiorna automaticamente il bootloader dopo l'installazione di un nuovo kernel. Se dimentichi di eseguire `lilo`, potresti riscontrare:

  • errori all'avvio, come "kernel not found";
  • sistema che continua a caricare il vecchio kernel (se ancora presente);
  • blocco totale all'avvio, con la necessità di intervenire manualmente.

Niente panico: è possibile ripristinare il sistema con pochi passaggi, utilizzando il disco di installazione di Slackware o una live USB.