Ridurre la dimensione dei file di log di Journal


Systemd, il gestore di tutto in Linux, è uno dei servizi fondamentali dei sistemi operativi del piguino usciti negli ultimi 6-7 anni.
Ha gradualmente soppiantato SysVinit, il tradizionale gestore di avvio/spegnimento dei deamon, e ha anche preso posto di altri tool integrandosi nel sistema in maniera alquanto invasiva.

Journal è un componente di systemd che si occupa principalmente del logging raccogliendo messaggi dal kernel, boot, syslog e altri servizi. Il deamon che governa journal è systemd-journald, il quale raccoglie i messaggi e li memorizza nei suoi “registri” (/run/log/journal, non persistente al riavvio) e in alcuni file di log.

Questi ultimi file di log si trovano nella cartella journal della classica /var/log. La cosa particolare è che questi file di log non dovrebbero essere riciclati dal classico logrotate ma dovrebbero essere mantenuti dal deamon systemd-journald che si dovrebbe occupare della cancellazione dei dati più vecchi.

La mancanza della cartella /var/log/journal implica che non vengono manutenuti file di log persistenti, a meno che nel file di configurazione venga indicato un percorso alternativo.

Il file di configurazione principale è /etc/systemd/journald.conf ed eventuali altri in /etc/systemd/journald.conf.d/, in questi file si possono modificare alcuni parametri tra cui compressione e tempo di conservazione.

La mancanza del file di configurazione implica l’uso delle opzioni di default, tra cui l’attivazione della compressione, un file per utente, l’occupazione del massimo del 10% dello spazio disponibile nel filesystem dove i dati sono mantenuti persistenti e il 15% dello spazio del filesystem dove i dati non persistenti.

Quest’ultimo aspetto è interessante, in quanto se abbiamo una partizione /var/log molto piccola es. 5 GB, journal manterrà al massimo 500MB. Tuttavia se sia /run sia /var/log sono sullo stesso filesystem è possibile che l’uso del disco da parte di journal arrivi a raggiungere il 25% (10% + 15%), prima di essere recuperato.

Per vedere quanto spazio su disco occupa il file di log si può usare il comando:

journalctl --disk-usage

Per ridurre rapidamente le dimensioni su disco ci sono due vie la prima quella di decidere di mantenere soltanto un dato numero di file di journal, per cui verranno cancellati i file più vecchi ad eccezione dei tot più recenti.
Lanciando per esempio il comando:

journalctl --vacuum-files=4

Conserveremo esclusivamente gli ultimi 4 file.

Se il comando sopra non fosse disponibile, per ridurre le dimensioni del file di log si può usare anche il comando:

journalctl --vacuum-size=100M

dove 100M sono le dimensioni in cui il file di log deve stare ossia verranno scartiti tutti i log più vecchi finchè non si raggiunge uno spazio di disco usato da Jorunal di 100M (o meno).

Installare NextCloud e abilitare la videoconferenza open source

NextCloud mette a disposizione una piattaforma per la videoconferenza, chiamata NextCloud Talk, molto utile in questi giorni. Dunque vediamo come installare NextCloud su un virtual private server e come configurare NextCloud Talk.

Il nostro VPS ha un disco di 10 GB e come sistema operativo Debian 10 Buster.

La prima cosa da fare è installare un ambiente LAMP (Linux, Apache, MySQL e PHP). Partiamo con MySQL.

Scarichiamo il pacchetto ufficiale che contiene i repository community di MySQL.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb

Installiamo il pacchetto

dpkg -i mysql-apt-config_0.8.15-1_all.deb

Durante la configurazione viene chiesto di scegliere quale versione di MySQL usare, scegliamo la 5.7 (non la 8)

Aggiorniamo la cache dei pacchetti e poi il server e client MySQL.

apt update
apt install mysql-server mysql-client

Durante l’installazione viene chiesto di inserire una password quella che sarà assegnata all’utente root. Inseriamone una e annotiamocela.

Lanciamo poi la riga di comando di gestione di mysql, inserendo poi la password di root

mysql -u root -p

Digitiamo questo codice, avendo cura di scegliere una password difficile da indovinare al posto di tNl2wcZRgcl, infatti questa è la password dell’utente usernextcloud che viene usato da nextcloud per collegarsi al database dbnextcloud.

CREATE DATABASE dbnextcloud;
GRANT ALL PRIVILEGES ON dbnextcloud.* TO 'usernextcloud'@'localhost' IDENTIFIED BY 'tNl2wcZRgcl';
flush privileges;
exit;

Ora possiamo installare i componenti di PHP.

apt install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

Dopo aver installato i componenti di PHP, si possono installare quelli di Apache.

apt install libapache2-mod-php apache2 apache2-utils

Bene. Possiamo scaricare l’archivio nextcloud-18.0.3.tar.bz2 dal sito di nextcloud contenente l’ultima versione, poi scompattare l’archivio e assegnare i permessi sui file.

cd /var/www/html
wget https://download.nextcloud.com/server/releases/nextcloud-18.0.3.tar.bz2
tar xjvf nextcloud-18.0.3.tar.bz2 --strip-component=1
rm -f nextcloud-18.0.3.tar.bz2
chown -R www-data:www-data /var/www/html

Per garantire una maggior sicurezza, è bene abilitare il protocollo HTTPS per l’accesso e l’uso di nextcloud. Per fare questo useremo i certificati generati gratuitamente da Letsencrypt. Per usare Letsencrypt è necessario che il nome del vostro dominio nextcloud punti all’indirizzo IP del vostro VPS.

Per esempio il nostro dominio è nextcloud.pyroplastic.stream il record A corrispondente è uguale all’IP del nostro VPS.

Dobbiamo abilitare il supporto HTTPS per Apache, perchè di default non lo è.

a2enmod ssl

Installiamo Letsencrypt.

apt install letsencrypt

Apriamo il file /etc/apache2/sites-available/default-ssl.conf e commentiamo (ossia anteponiamo un cancelletto) le righe con SSLCertificateFile e SSLCertificateKeyFile, sostituendole con quelle qui sotto.

SSLCertificateFile /etc/ssl/certs/tls.cert
SSLCertificateKeyFile /etc/ssl/private/tls.key
SSLCACertificateFile /etc/ssl/certs/tls-ca-bundle.crt

Ora generiamo il certificato con il tool letsencrypt dove nextcloud.pyroplastic.stream è il nome del vostro dominio.

letsencrypt certonly --webroot -w /var/www/html -d nextcloud.pyroplastic.stream

A questo punto sono stati generati dei file con chiave, certificato e chain. Creiamo dei link simbolici, avendo cura di sostituire nei seguenti comandi nextcloud.pyroplastic.stream con il vostro dominio.

ln -s /etc/letsencrypt/live/nextcloud.pyroplastic.stream/cert.pem /etc/ssl/certs/tls.cert
ln -s /etc/letsencrypt/live/nextcloud.pyroplastic.stream/privkey.pem /etc/ssl/private/tls.key
ln -s /etc/letsencrypt/live/nextcloud.pyroplastic.stream/chain.pem /etc/ssl/certs/tls-ca-bundle.crt

Abilitiamo la configurazione HTTPS appena modificata lanciando questo comando e riavviamo apache.

a2ensite default-ssl.conf
systemctl restart apache2

Siamo arrivati alla fine della configurazione via riga di comando. Ora puntando all’url https://nextcloud.pyroplastic.stream e configurare nextcloud.

Nella parte sotto della pagina, bisogna inserire i valori relativi al database MySQL che abbiamo configurato all’inizio.

Terminata la configurazione, parte lo scaricamento di alcune funzionalità. Talk è già installato ma non è attivo di default per cui è necessario abilitarlo. Per fare ciò andiamo nella sezione dell’aggiunta delle applicazioni e fra quelle sociali cerchiamo Talk.

Clicchiamo su abilita.

Dopo pochi secondi nel menù in alto a sinistra appare Parla. Cliccandoci su, e poi cliccando su un contatto es. Rosa, si aprirà la chat.

Per fare una call, è sufficiente premere sul pulsante Inizia Chiamata, verrà chiesto di poter accedere al microfono e alla webcam.

Sul sito di nextcloud è possibile scaricare il client Windows, Linux e Android per poter usare NextCloud (e anche Talk): https://nextcloud.com/install/

E’ possibile acquistare una VPS a 11,80 euro l’anno con 1536 MB di RAM e 10 GB di disco su AlexHost.com, scegliendo il piano PROMO KVM VDS 0.99/mo con pagamento annuale.

PMBOK vs PRINCE 2 vs AGILE

Rapida carrellata sui metodi di project management più diffusi.

PMBOK lo possiamo definire come uno standard, PRINCE2 come una serie di guide linea mentre AGILE come una metodologia snella.

La gestione di un progetto (project management) in qualsiasi ambito della nostra vita, lavorativo o privato, non è una questione da poco.
Gestire di un progetto non è facile specialmente se coloro che sono coinvolti non hanno un’attitudine per l’ordine, la precisione e il rispetto delle scadenze.
Alcuni si trovano con una dote innata per tenere tutto sotto controllo e portare le cose al termine ma spesso ci troviamo in situazioni in cui siamo insabbiati, anche chi è piuttosto bravo in questi aspetti.
Ecco che a partire dagli anni ottanta, sono nati degli standard e raccolta di guide linea (tipicamente dal gusto anglosassone) per regolare la gestione di un progetto.

La Project Management Body of Knowledge (PMBOK) è una guida pubblicata dal Project Management Institute (PMI) ossia uno standard, nato degli Stati Uniti, per tracciare un percorso per la realizzazione di un progetto attraverso una sequenza di processi avendo ben chiaro degli aspetti (aree di conoscenza) come il rispetto dei tempi, lo sviluppo delle risorse umane, la valutazione dei rischi, contenimento dei costi…

Dall’altra parte dell’Atlantico, nel Regno Unito è nato PRINCE (PRojects IN Controlled Environments) e la sua evoluzione PRINCE2. PRINCE2 è una raccolta di guide linea riguardanti il processo di nascita, sviluppo e conclusione di un progetto. A differenza di PMBOK che si focalizza molto sul “come” fare, PRINCE2 è orientato al “cosa” fare; non fornisce degli strumenti ma piuttosto indica un percorso da seguire con delle demarcazioni ben precise.

Sia PMBOK sia PRINCE2 sono raccolti in guide e libri i cui concetti sono ben codificati tanto da avere delle rispettive certificazioni: sì, ci si può certificare (in diversi gradi) come esperto in PMBOK e PRINCE2.

E poi c’è AGILE. Agile è un metodo di gestione dei progetti nato in occasione della pubblicazione del manifesto Agile (Manifesto for Agile Software Development) e raccoglie un piccolo elenco di aspetti che sono importanti:

Gli individui e le interazioni, più che i processi e gli strumenti
Il software funzionante, più che la documentazione esaustiva
La collaborazione col cliente, più che la negoziazione dei contratti
Rispondere al cambiamento, più che seguire un piano

Questi principi che negli anni si sono evoluti, ma non in maniera rigida e codificata, sono il riferimento per un project management molto snello fatto di rapide e ben cadenzate release, ottima metodologia per rilasciare software in ambienti molto dinamici ma forse non così adatta per l’organizzazione di un matrimonio!

Installare vncserver su Oracle Linux 7


VNC, o “Virtual Network Computing”, è un sistema di connessione che consente di utilizzare la tastiera e il mouse per interagire con un ambiente desktop grafico su un server remoto. VNC semplifica la gestione di file e del software su un server remoto agli utenti che non sono a loro agio con la linea di comando.

Su Oracle Linux 7, Centos o Red Hat, la funzionalità standard di share del desktop è facile da attivare ma è utilizzabile soltanto con pochi client VNC: collegarsi da Windows al server non è facile perchè la maggior parte dei client non supporta il protocollo di autenticazione di Vino Server, per cui è opportuno adottare un’alternativa installando vncserver.

Una volta completato il processo, sarai in grado di accedere facilmente al tuo server con l’aiuto di uno strumento di visualizzazione VNC, come vncviewer. Analizziamo i passaggi.

Continua a leggere

Debian 6 Squeeze


Dopo quasi due anni dalla pubblicazione di Debian 5 Lenny, è arrivata, sebbene in ritardo, anche quest’ultima versione della nota distribuzione GNU/Linux: Debian 6 Squeeze.
La principale novità è sicuramente il fatto che ora Debian non è più una sola distribuzione Linux ma è anche una distribuzione FreeBSD. In aggiunta al famoso kernel, troviamo infatti il kernel di FreeBSD. Continua a leggere

RoundCube Software per WebMail


Possedete una vps o un server dedicato? Vorreste poter inviare e ricevere messaggi di posta elettronica usando il vostro dominio senza dover configurare un client di posta come Thunderbird o Outlook Express?

RoundCube è un software scritto in PHP che permette la gestione della posta elettronica via web (la cosidetta WebMail). A differenza dei famosi SquirrelMail e Horde, RoundCube ha un’interfaccia web basata su ajax veramente molto curata. Continua a leggere

Installare i VMware Tools su Linux


tools I VMware Tools sono un insieme di strumenti che permettono di migliorare l’interazione tra una macchina virtuale e uno dei software di virtualizzazione VMware.

In particolare i VMware Tools contengono dei driver per la scheda video che permettono di ottenere maggiori prestazioni grafiche e consentono di usare le cartelle condivise (shared folders).

Continua a leggere

Installare Ubuntu 10.04 LTS in una virtual machine


logo-ubuntu-1004 Negli ultimi giorni di aprile 2010 è stata rilasciata con qualche giorno di ritardo la nuova versione long term support di Ubuntu: Ubuntu 10.04 LTS. Le novità sono tante: a partire dal look completamente ridisegnato che rende questa versione di Ubuntu molto diversa dalle precedenti. Le finestre, i pulsanti dell’ambiente desktop assomigliano molto a MAC OS X più che al vecchio GNOME

Continua a leggere

VirtualBox 3.2 in arrivo


Il 28 aprile è stata rilasciata la versione beta, adatta al testing, di VirtualBox 3.2.0

Oltre a u visivo restyling dovuto al cambiamento del proprietario del software: non si chiamerà più ufficialmente Sun VirtualBox ma Oracle VM VirtualBox,  nella nuova versione sono stati solo corretti degli errori ma sono state introdotte nuove funzioni tra cui la possibilità di aumentate o ridurre la quantità di memoria RAM attribuita ad un macchina virtuale mentre è in esecuzione (memory balloning), Continua a leggere