How to compile kernel 5.11 on Debian 11

How to compile kernel 5.11 on Debian 11

How to compile kernel 5.11 on Debian 11

Nei giorni scorsi ho più volte ricompilato il kernel poichè volevo risolvere il problema del lettore “Alcor Micro AU6625”, che su un notebook HP Pavillion 15-dk000nl, non viene riconosciuto, sia su Debian che su tutte le altre distro. Da quello che ho visto e letto, fin dal kernel 5.6, è stato inserito questo driver, ma per quanto mi riguarda non sembra funzionare. Io stesso ho fatto dei cambiamenti, ma senza nessun risultato al momento. Ad ogni modo questa è una altra storia.

Il kernel si può compilare direttamente, come moduli, oppure attraverso la creazione di un pacchetto in formato .deb, installabile.

Prerequisiti:

$ sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev dwarves bc rsync wget

Metodo 1

Scaricare il kernel direttamente dalla pagina ufficiale, oppure con wget:

$ mkdir kernel; cd kernel
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.18.tar.xz
$ tar -xvf linux*
$ cd linux-5.11.18/

a questo punto utilizzare, “localmodconfig“, per un kernel minimale/leggero, che provvederà a caricare ed utilizzare solo i driver strettamente necessari per il funzionamento del computer, oppure “menuconfig“, per abilitare nuove funzionalità.

$ make localmodconfig
$ make -j $(nproc)
$ make -j $(nproc) modules
$ sudo make modules_install

il processo prenderà un pò di tempo, tutto dipende dalla potenza dei processori, il mio è un 12 core, quindi ha fatto relativamente presto. Per utilizzare al massimo i processori ho utilizzato “make -j $(nproc)“, che sfrutta tutti i processori esistenti. In fine riavviare.

Metodo 2

$ mkdir kernel; cd kernel
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.18.tar.xz
$ tar -xvf linux*
$ cd linux-5.11.18/

per non avere l’errore seguente:

make[4]: *** No rule to make target 'debian/certs/test-signing-certs.pem', needed by 'certs/x509_certificate_list'.  Stop.
make[4]: *** Waiting for unfinished jobs...

modificare CONFIG_SYSTEM_TRUSTED_KEYS utilizzando sed:

$ sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' .config

costruzione linux-image e linux-headers:

$ make localmodconfig
$ time nice make -j`nproc` bindeb-pkg
$ cd ..
$ sudo dpkg -i linux-image-* linux-headers-*

How to compile kernel 5.11 on Debian 11

enjoy 😉

 

How to enable Wireshark like user

Wireshark should non-superusers be able to capture packets
How to enable Wireshark like user

Nel momento in cui si installa wireshark, viene mostrato la possibilità di scegliere, tra l’utilizzo come normale utente , oppure come consigliato, da root. Purtroppo la scelta di avviare wireshark come semplice user, non funziona, almeno in Debian 10/11, per un problema di permessi “Wireshark should non-superusers be able to capture packets”.

Soluzione:

sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 755 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

enjy 😉

 

(Solved) Certbot error could not bind to IPv4

(Solved) Certbot error could not bind to IPv4
(Solved) Certbot error could not bind to IPv4

 

Su un mio server ho avuto un problema con il rinnovo del certificato Let’s Encrypt, tramite certbot. L’errore è il seguente:

Attempting to renew cert (mio_server.com) from /etc/letsencrypt/renewal/mio_server.com.conf produced an unexpected error: Problem binding to port 80: Could not bind to IPv4 or IPv6.. Skipping.
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/mio_server.com/fullchain.pem (failure)

come si evince da questo tipo di errore, il tutto mi ha portato a verificare le regole di nat, non trovando però nulla di anomalo. Per aggiornare manualmente Lets’Encrypt, i passi che mi ricordo di avere sempre fatto, sono i seguenti:

# systemctl stop nginx
# certbot renew --dry-run #(come test)

quindi:

# certbot renew

ma l’errore era sempre lo stesso, quindi sono andato a verificare quale programma andava ad utilizzare la porta 80:

# sudo ss -tlpn | grep -E ":(80|443)"

e con mia sorpresa ho notato che nginx, che io avevo stoppato, la utilizzava ancora:

LISTEN 0 511 0.0.0.0:8080 0.0.0.0:* users:(("nginx",pid=21906,fd=12),("nginx",pid=21905,fd=12),("nginx",pid=21904,fd=12),("nginx",pid=21903,fd=12),("nginx",pid=21902,fd=12))
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=21906,fd=8),("nginx",pid=21905,fd=8),("nginx",pid=21904,fd=8),("nginx",pid=21903,fd=8),("nginx",pid=21902,fd=8))
LISTEN 0 511 [::]:8001 [::]:* users:(("nginx",pid=21906,fd=9),("nginx",pid=21905,fd=9),("nginx",pid=21904,fd=9),("nginx",pid=21903,fd=9),("nginx",pid=21902,fd=9))

non so per quale motivo e nemmeno ho indagato a fondo, ma dopo aver stoppato nginx, se davo 2 comandi “certbot” di seguito, automaticamente nginx ripartiva automaticamente. Quindi per risolvere basta:

# systemctl stop nginx
# certbot renew
# systemctl start nginx
(Solved) Certbot error could not bind to IPv4

enjoy 😉

 

(Solved) Failed to start load apparmor profiles Debian 10

 

(Solved) Failed to start load apparmor profiles debian 10
(Solved) Failed to start load apparmor profiles Debian 10

L’errore “Failed to start load apparmor profiles” appare al boot su Debian 10, dopo aver fatto gli aggiornamenti, con conseguente avanzamento di versione. La prima cosa da fare è trovare l’errore con il comando sotto:

sudo systemctl status apparmor.service

output:

root@debianbox:/home/edmond# systemctl status apparmor.service
● apparmor.service - Load AppArmor profiles
Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2021-04-11 11:02:19 CEST; 2min 22s ago
Docs: man:apparmor(7)
https://gitlab.com/apparmor/apparmor/wikis/home/
Main PID: 618 (code=exited, status=1/FAILURE)

Apr 11 11:02:19 debianbox systemd[1]: Starting Load AppArmor profiles...
Apr 11 11:02:19 debianbox apparmor.systemd[618]: Restarting AppArmor
Apr 11 11:02:19 debianbox apparmor.systemd[618]: Reloading AppArmor profiles
Apr 11 11:02:19 debianbox apparmor.systemd[618]: Skipping profile in /etc/apparmor.d/disable: usr.bin.thunderbird
Apr 11 11:02:19 debianbox apparmor.systemd[618]: Error: No profiles found in /var/lib/snapd/apparmor/profiles
Apr 11 11:02:19 debianbox systemd[1]: apparmor.service: Main process exited, code=exited, status=1/FAILURE
Apr 11 11:02:19 debianbox systemd[1]: apparmor.service: Failed with result 'exit-code'.
Apr 11 11:02:19 debianbox systemd[1]: Failed to start Load AppArmor profiles

come si vede, nel mio caso, il profilo incriminato riguarda snapd, e siccome snap non mi serve, ho proceduto alla rimozione:

sudo apt purge snapd

dopodichè basterà riavviare Apparmor:

sudo systemctl restart apparmor.service

e verificare il funzionamento:

sudo systemctl status apparmor.service
sudo aa-status
(Solved) Failed to start load apparmor profiles Debian 10

 

enjoy 😉

 

Debian 10 freeze random

 

Debian 10 freeze random

Debian 10 freeze random

Su Debian 10 si verificano dei freeze randomici, dove praticamente l’unica cosa che funziona è il mouse, e questo mi è capitato sia con scheda grafica Nvidia, sia con la solo Intel, di conseguenza ho escluso che fosse un problema grafico. La mia attenzione successivamente è andata al kernel installato, e mi sono ricordato che con il kernel di default Debian, il 4.19, non avevo questi problemi. Aggiornando alla versione 5.8 e 5.9, si presenta randomicamente questo freeze. Praticamente puoi accedere solo in tty ed eseguire il reboot. Ho anche eseguito l’accesso via ssh, ma nei log non ho notato nulla di strano. Verificando la versione dei firmware ho notato che sono tutti alla versione 2019, compresi i firmware-nonfree. Quindi, con kernel aggiornato, servono per forza gli ultimi driver. Si risolve con i repository buster-backports:

$ sudo su
# echo 'deb http://deb.debian.org/debian/ buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list.list
# apt update
# apt install -t buster-backports firmware-linux-nonfree firmware-misc-nonfree amd64-microcode firmware-intel-sound firmware-iwlwifi
Debian 10 freeze random

 

enjoy 😉

 

(Solved) FreePBX Unable to install module pm2

Unable to install module pm2 Failed to run installation scripts. Questo è l’errore che si presenta in alcuni casi quandi si tenta di aggiornare il modulo pm2 in FreePBX 13. Si risolve con:

# curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
# apt install -y nodejs
# fwconsole ma remove pm2 --force
# rm -rf /home/asterisk/.package_cache/npm/
# rm -rf /home/asterisk/.npm
# fwconsole ma downloadinstall pm2

enjoy 😉

TorBrowser su Debian 10

TorBrowser su Debian 10TorBrowser su Debian 10

Tor (acronimo di The Onion Router) è un sistema di comunicazione anonima per Internet basato sulla seconda generazione del protocollo di rete di onion routing. Tramite l’utilizzo di Tor è molto più difficile tracciare l’attività Internet dell’utente; difatti l’uso di Tor è finalizzato a proteggere la privacy degli utenti, la loro libertà e la possibilità di condurre delle comunicazioni confidenziali senza che vengano monitorate.  Per installare TorBrowser su Debian 10 Buster:

Aggiungere i repository backport:

# printf "deb http://deb.debian.org/debian buster-backports main contrib" > /etc/apt/sources.list.d/buster-backports.list
# apt update

Installazione:

# apt -t buster-backports install torbrowser-launcher tor tor-geoipdb torsocks

Workaround errore black screen all’avvio:

# nano /etc/apparmor.d/local/torbrowser.Browser.firefox

ed aggiungere:

owner /{dev,run}/shm/org.mozilla.*.* rw,
# reboot

poi lanciare tor:

$ torbrowser-launcher

TorBrowser su Debian 10

enjoy 😉

 

(Solved) Fdisk command not found Debian 10

(Solved) Fdisk command not found Debian 10

In Debian Buster si presenta un errore quando si danno alcuni comandi con privilegi root, uno di questi è il comando fdisk-l, che risponde con: command not found. Questo problema si risolve in 2 modi:

1) eseguire il comando con:

# /sbin/fdisk -l

2) con un link simbolico:

# ln -s /sbin/fdisk /bin/fdisk

(Solved) Fdisk command not found Debian 10

enjoy 😉

(Solved) warning ldconfig not found in PATH Debian Buster

Passando da Debian Stretch a Debian Buster modificando i sources-list, alla fine dell’upgrade molto probabilmente non si potrà più installare un nuovo pacchetto poichè si presenterà l’errore seguente:

Preconfiguring packages …
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
dpkg: error: 2 expected programs not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)

questo errore si risolve con:

su
nano /root/.bashrc

aggiungere in fondo:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

riavviare:

reboot

enjoy 😉

(Solved) Samba Computer in rete non visualizzati

(Solved) Samba Computer in rete non visualizzati

(Solved) Samba Computer in rete non visualizzati

In realtà il titolo doveva essere: (Solved) Samba e Computer in rete non visualizzati problema di accesso con password ed errori vari. Tutto questo perchè ho riscontrato problemi simili, su distribuzioni diverse, Debian Stretch, Ubuntu 18-10, Parrot OS. Ad ogni modo il tutto si risolve con piccoli ritocchi al file smb.conf.

sudo apt-get install samba samba-common python-glade2 smbclient
sudo nano /etc/samba/smb.conf

ed incollare nel menu [global]

workgroup = WORKGROUP
client use spnego = no
client ntlmv2 auth = no
client max protocol = NT1

dove le stringhe 2 e 3, evitano l'errore sotto indicato:

edmond@debianbox:~$ smbclient -L 192.168.1.1
WARNING: The "syslog" option is deprecated
Enter edmond's password:
Server does not support EXTENDED_SECURITY but 'client use spnego = yes and 'client ntlmv2 auth = yes'

mentre con la stringa 4 si potranno vedere i pc della nostra rete nel menu Network>Windows Network>Workgroup, ed in più dopo aver digitato la password finalmente si riesce ad accedere.

sudo reboot

(Solved) Samba Computer in rete non visualizzati

enjoy 😉