Da quanto tempo hai installato Linux ?

Vorresti sapere da quando tempo hai installato Linux sulla tua macchina?
Eccoti un utile comando per controllare ūüôā
Ho utilizzato tune2fs su Arch linux, di seguito il comando:
sudo tune2fs -l /dev/TUAPARTIZIONE | grep ‘Filesystem created:’
in pratica eseguendolo ci dara’ la data di creazione del filesystem e di conseguenza, la data di installazione del¬† sistema operativo, (a meno che tu stia provando a controllare una partizione vuota ūüôā
Nel mio caso la partizione e’ /dev/sda6 , dove ho installato Arch quasi un anno fa.

Se non ricordi la tua partizione puoi eseguire sudo fdisk-l , la partizione sara’ ovviamente quella di tipo “Linux filesystem”

Pubblicato in Gnu-Linux | Lascia un commento

Spectre – Meltdown checker (linux)

Ho appena provato sul mio pc questo interessante script,  Specter-Meltdown-Checker
Come specificato anche nelle istruzioni, non è da considerarsi una Bibbia, ma sicuramente è qualcosa che puo darti molte utili informazioni.
Questo script ti da la possibilità di controllare la tua vulnerabilità a Spectre (2 varianti) e Meltdown

Caratteristiche del Pc:
Intel I5-3470 (ivy bridge) 3.20 GHz
Kernel: 4.14.13-1-ARCH
8 GB ram
Arch Linux
Nvidia Geforce Gt-630
i dettagli Hardware li trovi qui , (ho usato il comando lshw )

Ho scaricato ed estratto il file zip,
quindi ho dato i permessi di esecuzione al file .sh tramite il comando chmod +x

Ho quindi eseguito lo script (è raccomandato avere i permessi di root)
Dopo aver inserito la password, lo script parteecco i risultati:

Spectre Variante 1 (CVE-2017-5753 bounds check bypass)
il risultato finale è:
 

Spectre Variante 2 (CVE-2017-5715 branch target injection)
come si può vedere, lo script verifica se sono presenti  una serie di mitigazioni a Spectre 

risultato finale:
 
 

Meltdown (CVE-2017-5754 rogue data cache load)
In questo caso il risultato √® positivo,grazie kernel ūüôā

¬†Solo per curiosit√† ho eseguito nuovamente lo script senza avere i permessi di root (lo so, non ha senso ma volevo vedere le differenze ūüôā )

Lo script genera un messaggio di avviso, quindi parte regolarmente


Spectre (Variante 1)
Le uniche differenze sono le B^B^B^ aggiuntive mentre vengono contati i LFENCE, mentre il risultato (UNKNOWN),è lo stesso 

Anche il risultato finale è il medesimo (VULNERABLE)

Spectre (Variante 2)
Durante la fase del controllo di mitigazione 1 c’√® stato un errore (prevedibile non avendo i permessi di root) di permessi su /dev/cpu/0/msr

ri restanti altri controlli (IBRS kernel support,kernel space,user space etc) hanno dato gli stessi risultati, incluso quello finale(VULNERABLE)

Meltdown
Anche qui il risultato è stato lo stesso, anche senza permessi di root (NOT VULNERABLE)

Pubblicato in Gnu-Linux, Tech news - tutorials | Lascia un commento

installare Debian 9 su Macbook 13″ (fine 2009) in dual boot

Ecco come ho installato Debian 9 sul mio vecchio Macbook 6,1 (mid 2009) in dual boot.
Premessa:¬†Quando davanti ad un comando c’e #, si intende che debba essere eseguito da root o con sudo

Hardware:
scheda video NVIDIA  GeForce 9400M with 256 MB of SDRAM condivisa
Schermo 13″
Scheda Wireless  Broadcom BCM4360
Disco 256 Gb Serial ATA (5400 RPM)  
Ram 8 gb SODIMM 1600MHz
Controller Wi-fi  Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01)
Controller Ethernet NVIDIA Corporation MCP79 Ethernet (rev b1)
porte USB 2.0 (2x)
Audio in/out  NVIDIA Corporation MCP79 High Definition Audio (rev b1)
Mini DisplayPort con supporto a monitor esterno ¬†2560×1600

Procedura
1) In Mac Osx Da utility disco ho ridotto la partizione e lasciato dello spazio libero
2) Ho scaricato un immagine ¬†debian (netinst) e l’ho copiata in una usb pen (ho usato unebootin)
3) ho collegato il cavo di rete (il wifi non funzionerà da subito)
4)Ho inserito la usb pen e ho fatto avviato il mac premendo il tasto Opzione (ALT)
5) Ho installato Debian Рho formattato lo spazio libero in ext4 , ho scelto Mate come display manager perchè è leggero (kde sarebbe stato improponibile) Р, come login manager viene selezionato automaticamente LightDM
Al riavvio, grub sovrascriver√† l’MBR quindi partir√† solo Debian (per ora)

Sistemazione del reboot
Lo Spegnimento, la sospensione e l’ibernazione funzionano senza problemi, ma per poter fare il reboot occorre effettuare una modifica al grub
# /nano/etc/default/grub
e aggiungere ¬†la voce “reboot=pci
se ad esempio abbiamo
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”, diventer√†
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash reboot=pci“, quindi ,salviamo ,digitiamo il comando update-grub, spegniamo e riaccendiamo il mac.
A questo punto il reboot dovrebbe funzionare.

Installazione di Refind 
Dato che ho ancora Mac Osx nell’altra partizione, ho¬†bisogno di installare il boot managerRefind, che consentir√† di scegliere all’avvio tra Mac e Debian; il pacchetto si trova nel repository di Debian, quindi:
# apt-get install refind
Dopo l’installazione, all’avvio appariranno, oltre all’icona Mac Osx, 2 (?) icone Debian, che caricheranno rispettivamente initrd(initial ramdisk) ¬†e vmlinuz (il kernel)
Tralasciando la spiegazione di initrd e vmlinux (non √® lo scopo dell’articolo), la cosa importante da sapere √® che se avviamo con initrd utilizzeremo grub, mentre se avviamo con il kernel, grub non verr√† utilizzato.
/boot/initrd.img-4.9.0.3-amd64 –> usa grub
/boot/vmlinuz-4.9.03-amd64 –> parte senza usare grub
Dato che, come spiegato sopra, il sistema riesce a riavviare grazie alla modifica fatta su grub (reboot=pci), √® evidente che dobbiamo avviare l’immagine che utilizza grub, initrd (a meno che vogliate riavviare il macbook spegnendo e riaccendendolo con il pulsante ūüôā
La sola opzione è utilizzare initrd.img, quindi modifichiamo la configurazione di refind per NON fare apparire vmlinuz nel menu di avvio:
# nano /boot/efi/EFI/refind/refind.conf
e aggiungiamo
dont_scan_files vmlinuz-4.9.0-3-amd64
scan_all_linux_kernels false
Salva ed esci.

Video drivers
Non amo i driver noveau, a mio parere gli Nvidia funzionano meglio quindi non vedo perché non utilizzarli; inoltre avevo bisogno del supporto per monitor esterni, che con i driver Nvidia funziona perfettamente: Ho quindi installato gli nvidia-drivers (340) e anche gli nvidia-settings (opzionale ma fortemente raccomandato)
# apt-get install nvidia-legacy-340xx-driver nvidia-settings-legacy-340xx
Nvidia-settings-legacy consente di avere una GUI con tutti i settaggi, utile sopratutto se usiamo un monitor esterno (ma non solo, come vedremo dopo).
Al riavvio apparirà il logo nvidia poco prima del login-manager (si puo ovviamente togliere).
Nb: ho provato ad installare drivers successivi alla versione 340, ma non hanno funzionato, quindi non perdete tempo :-).

Wi-fi
al primo avvio la scheda Wi-fi non viene riconosciuta
installiamo i driver broadcom
# apt-get install linux-image-$(uname -r|sed ‘s,[^-]*-[^-]*-,,’) linux-headers-$(uname -r|sed ‘s,[^-]*-[^-]*-,,’) broadcom-sta-dkms
poi evitiamo che vengano caricati i moduli di altre schede wifi che andrebbero in conflitto con il broadcom
# modprobe -r b44 b43 b43legacy ssb brcmsmac bcma
Viceversa facciamo in modo che il modulo wl venga caricato all’avvio
# modprobe wl
Adesso la Scheda wifi viene riconosciuta

Audio
Funziona senza nessun problema dall’inizio,consiglio di installare alsamixer
La scheda audio Nvidia viene riconosciuta; controllando nelle impostazioni di alsamixer ho notato che era presente anche pulseaudio,
definita come scheda audio (oltre alla nvidia); ho quindi rimosso pulseaudio
# apt-get remove pulseaudio
Dopo il riavvio la scheda predefinita sarà HDA Nvidia

Le cuffie di default sono a volume zero, con alsamixer le potete ovviamente attivare ed alzare il volume(voce headphone)

Isight (webcam)
Funziona dall’inizio senza alcun problema.
Consiglio di fare un primo check eseguendo dmesg | grep ISight da root o con sudo

Per vedere se funziona puoi anche installare cheese, e guvcview per cambiare i settaggi:
# apt-get install cheese guvcview

Opzionale ( isight-firmware-tools)
Questa parte è opzionale (se la webcam funziona, saltate questa parte)
Avendo a disposizione il driver Apple (nell’altra partizione), ho voluto provare ad installare il firmware della webcam con il tool isight-firmware-tools:
# apt-get install isight-firmware-tools
Invece di  indicare il percorso direttamente nel tool  ho prima copiato il file AppleUSBVideoSupport sulla Scrivania, (per evitare noiosi problemi di permission e anche perche così ha funzionato) , quindi ho eseguito il comando:
root@MacDebian:/home/fafa/Scrivania#
ift-extract -a /home/fafa/Scrivania/AppleUSBVideoSupport
risultato:
** Message: Found firmware signature at offset 0x1998.
** Message: Firmware extracted successfully in /lib/firmware/isight.fw
………………………………………….
** Message: Firmware patched successfully

A questo punto nella cartella /lib/firmware avremo il firmware isight.fw
Devo dire che non ho notato alcuna differenza , per cui , se la webcam funziona dall’inizio, evitate pure di installare isight-firmware-tools

pulsanti f1-f2 (regolazione luminosità)
Inizialmente non funzionavano, dopo vari tentativi ho risolto con inserimento in /etc/X11/xorg.conf della riga seguente, nella sezione Device:
Option “RegistryDwords” “EnableBrightnessControl=1”

se xorg.conf non √® presente, puoi facilmente modificarlo/salvarlo attraverso il tool nvidia-settings : vai in X serves Display Configuration, in basso a destra clicca il pulsante “save to X configuration file”, ma prima di salvare clicca “show preview” , ¬†vai nella sezione Device, aggiungi¬†Option “RegistryDwords” “EnableBrightnessControl=1”
Dopo il riavvio i pulsanti funzioneranno senza problemi , tuttavia al riavvio il livello di illuminazione non verrà salvato Рper mantenerlo bisogna aggiungere una stringa in grub
# /nano/etc/default/grub
poi, nella sezione GRUB_CMDLINE_LINUX_DEFAULT ho aggiunto
acpi_backlight=vendor 
se avete effettuato anche la modifica spiegata nella sezione “Sistemazione del reboot” dovreste avere una situazione come questa

ps. io ho tolto anche la voce quiet-splash perche mi interessa vedere il caricamento dei servizi, ovviamente potete decidere di lasciare questa voce.

Pulsanti f10-f12 (regolazione volume)
Funzionano dall’inizio senza problemi.

Bluetooth
sembra funzionare dall’inizio , Ho scritto “sembra” perche non ho fatto dei test con altre periferiche bluetooth.
Per Default è abilitato , per disabilitarlo
# nano /etc/bluetooth/main.conf
cerca una riga chiamata “Initially powered =true” e inserisci false al posto di true
spegni il laptop, ed al riavvio il bluetooth dovrebbe essere spento.

Risultato finale¬†(click sull’immagine per ingrandire)
Debian 9 stretch + Mate+Docky su macbook 6.1

Pubblicato in Gnu-Linux, Mac Os | Lascia un commento

Linux, un avvio piu veloce rimuovendo servizi lenti/inutili

Oggi, dopo l’aggiornamento a Debian Stretch ho dato un’occhiata ai servizi caricati e ai tempi di avvio, con il comando systemd-analyze*

Guardando il risultato, escludendo i tempi (4 secondi e mezzo) del kernel, il sistema ha impiegato 1 minuto e 42 secondi per il boot; Ok,  non ho un disco SSD, ci sono un sacco di servizi come Tor, virtualbox , Kde, etc; ma il tempo di avvio sembra davvero troppo lungo.
Meglio controllare se c’√® un servizio particolarmente lento o se semplicemente ce ne sono tanti/troppi,¬†eseguendo systemd-analyze blame*¬†

Come possiamo vedere, il risultato mostra che¬† racoon.service impiega ben 1 minuto e 32 secondi per avviarsi: questo servizio (ipsec) √®, per le mie esigenze, inutile, quindi decido di disabilitarla all’avvio con il comando: Systemctl disable racoon.service
A questo punto ho riavviato il sistema, e in seguito ho eseguito ancora il comando System-analyze, ottenendo il seguente risultato: 30 secondi

Bene, abbiamo tagliato 1 minuto 17 secondi passando da 1 minuto e 47 a.. 30 secondi..
Probabilmente questo non √® un caso standard, ma con questo esempio si puo facilmente capire l’impatto che anche un solo servizio puo avere sul tempo di avvio.
In generale, fare un controllo per verificare e identificare quali servizi impiegano tanto tempo (e¬† sopratutto se ci servono) e’ una cosa che come in questo caso risulta davvero utile.

*Nonostante i miei screenshot, i comandi systemd-analyze e systemd-analyze blame possono essere eseguiti senza privilegi di root.

Pubblicato in Gnu-Linux | Lascia un commento