VirtualBox on Debian 11 Bullseye

 

VirtualBox on Debian 11 Bullseye

 

VirtualBox on Debian 11 Bullseye

Attualmente non esistono repository per Debian 11 bullseye per installare VirtualBox, ma solamente quelli per Debian 10. Ma sul sito Oracle esiste una versione “all distributions” che funziona su Debian 11. Si tratta di uno script che installerà VirtualBox 6.1 senza problemi:

Scaricare e salvare lo script, oppure:

$ sudo apt install build-essential linux-headers-amd64
$ wget https://download.virtualbox.org/virtualbox/6.1.22/VirtualBox-6.1.22-144080-Linux_amd64.run
$ chmod +x VirtualBox*
$ sudo ./VirtualBox*

esiste anche VirtualBox Extension Pack 6.1.22.

VirtualBox on Debian 11 Bullseye

enjoy 😉

 

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 😉

 

Come ascoltare la musica nel telefono tramite le casse del pc Debian Gnu Linux

 

Guida su come ascoltare la musica presente nel telefono, tramite bluetooth, direttamente da un pc/notebook. Con i nuovi dispositivi cellulari, e le ottime proposte di musica, dei vari Itunes, Musica, Spotify, Amazon Music,  ecc ecc, ci si trova ad avere tutta la musica a disposizione sul cellulare e non sul pc, fermo restando che la si potrebbe ascoltare direttamente dal web. Questo trucchetto è molto utile per ascoltare ad un volume più alto la musica, tutto questo sfruttando le casse più potenti del pc. Gli unici requisiti sono: il bluetooth, ed una installazione di un OS Linux, nel mio caso Debian 10, e molto probabilmente tutto funzionerà out of the box. Nel caso non fossero presenti, installare i pacchetti necessari:

sudo apt install bluez
sudo apt install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth

Io utilizzo Mate come desktop environment, come si vede nel video, quindi i passi successivi saranno:

  1. Avviare il bluetooth
  2. Lanciare Bluetooth Manager
  3. Scansione e pairing tramite codice col cellulare
  4. Avviare la musica sul cellulare
Come ascoltare la musica nel telefono tramite le casse del pc Debian Gnu LinuxCome ascoltare la musica nel telefono tramite le casse del pc Debian Gnu Linux

 

enjoy 😉

ps: al minuto 1:24 inizierà uno spezzone di musica acquistata tramite app Musica da iphone: Copyright

 

AnyDesk su Debian 11

AnyDesk su Debian 11AnyDesk su Debian 11

Guida su come installare AnyDesk, su Debian 10 e Debian 11. AnyDesk è un alternativa a Teamviewer, ed è uno strumento veloce ed affidabile per il controllo remoto. Su Debian 10 Buster e Debian 11 Bullseye, può essere installato via repository:

Installazione:

$ sudo su
# apt install wget
# wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | apt-key add -
# echo "deb http://deb.anydesk.com/ all main" > /etc/apt/sources.list.d/anydesk-stable.list
# apt update
# apt install anydesk -y

AnyDesk su 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 😉

 

Huawei ME936 modulo LTE Debian 10

 

Huawei ME936 modulo LTE Debian 10
Huawei ME936 modulo LTE Debian 10

 

Per uno dei miei notebook workstation, Schenker XMG P507, ho comprato un modulo LTE Huawei ME936, che per farlo funzionare, su Debian 10, c’è bisogno di qualche trick. Dopo aver creato una connessione Mobile Broadband, tramite Network-Manager, non si riesce a navigare, e come si può vedere sotto con i due comandi, la scheda viene riconosciuta:

$ lsusb
$ usb-devices

output:

edmond@debianbox:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 04f2:b5a7 Chicony Electronics Co., Ltd
Bus 001 Device 004: ID 8087:0a2b Intel Corp.
Bus 001 Device 003: ID 1c7a:0603 LighTuning Technology Inc.
Bus 001 Device 002: ID 12d1:15bb Huawei Technologies Co., Ltd. ME936 LTE/HSDPA+ 4G modem
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
edmond@debianbox:~$ usb-devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh=16
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=05.10
S: Manufacturer=Linux 5.10.0-0.bpo.4-amd64 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=01 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 3
P: Vendor=12d1 ProdID=15bb Rev=00.01
S: Manufacturer=Huawei Technologies Co., Ltd.
S: Product=HUAWEI Mobile Broadband Module
C: #Ifs= 3 Cfg#= 3 Atr=a0 MxPwr=500mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
I: If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I: If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=05 Prot=14 Driver=option

T: Bus=01 Lev=01 Prnt=01 Port=06 Cnt=02 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1c7a ProdID=0603 Rev=02.00
S: Manufacturer=EgisTec
S: Product=EgisTec_ES603
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

T: Bus=01 Lev=01 Prnt=01 Port=07 Cnt=03 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=8087 ProdID=0a2b Rev=00.10
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#=0x0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#=0x1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

T: Bus=01 Lev=01 Prnt=01 Port=08 Cnt=04 Dev#= 5 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04f2 ProdID=b5a7 Rev=36.01
S: Manufacturer=SunplusIT Inc
S: Product=Chicony USB 2.0 Camera
C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I: If#=0x1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 8
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=05.10
S: Manufacturer=Linux 5.10.0-0.bpo.4-amd64 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
edmond@debianbox:~$

La soluzione è quella di creare un file “udev-rule”, dove inserire in maniera specifica i parametri necessari:

$ sudo nano /etc/udev/rules.d/71-huawei-me936conf.rules

ed incollare dentro:

ACTION=="add|change", SUBSYSTEM=="usb", \
ENV{DEVTYPE}=="usb_device", \
ATTR{idVendor}=="12d1", ATTR{idProduct}=="15bb", \
ATTR{bNumConfigurations}=="3",
ATTR{bConfigurationValue}!="3" \
ATTR{bConfigurationValue}="3"

dopo aver riavviato, si potrà utilizzare la connessione LTE.

Huawei ME936 modulo LTE Debian 10

enjoy 😉

 

Fast-cli speedtest da terminale Debian 10

 

Fast-cli speedtest da terminale Debian 10

Fast-cli speedtest da terminale Debian 10

Il sito Fast.com per misurare la connessione internet, è un servizo a cui provvede Netflix per far verificare se si è in grado di visualizzare i loro contenuti. Anche in questo caso, con fast-cli, come per speedtest-cli, la misurazione si può fare anche da terminale. Quello che serve è una installazione aggiornata di nodejs, poichè la versione nei repository, la v10.24.0, non va bene.

Rimozione ed Installazione nodejs:

$ sudo apt purge npm
$ sudo apt-get install curl software-properties-common
$ curl -sL https://deb.nodesource.com/setup_15.x | sudo bash -
$ sudo apt-get install nodejs

Installazione fast-cli:

$ sudo npm install --global fast-cli

Utilizzo:

$ fast -u
Fast-cli speedtest da terminale Debian 10

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 😉

 

Speedtest-cli failed su Debian 10

Speedtest-cli failed su Debian 10

Speedtest-cli failed su Debian 10

Nell’ultimo periodo lo strumento di speedtest da riga di comando, speedtest-cli, installato direttamente dai repository, sembra non funzionare più. L’errore che si ha, se non ricordo male, riporta ad errori “php ed altri”  Io ho risolto rimuovendo la vecchia installazione, ed installando il tutto manualmente:

Rimozione:

sudo apt remove --purge speedtest-cli

oppure:

sudo pip uninstall speedtest-cli

Installazione:

sudo apt-get install python3-pip
wget https://raw.github.com/sivel/speedtest-cli/master/speedtest.py
chmod a+rx speedtest.py
sudo mv speedtest.py /usr/local/bin/speedtest-cli
sudo chown root:root /usr/local/bin/speedtest-cli
sudo speedtest-cli
Speedtest-cli failed su Debian 10

enjoy 😉