User Tools

Site Tools


doc:appunti:linux:sa:debian_upgrade_12_13

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:debian_upgrade_12_13 [2025/12/09 15:02] – [Syslog] niccolodoc:appunti:linux:sa:debian_upgrade_12_13 [2026/04/16 11:51] (current) – [PHP] niccolo
Line 46: Line 46:
 </file> </file>
  
-Al restart del servizio systemd-journald viene creato un opportuno punto di montaggio in **tmpfs**.+Al restart del servizio systemd-journald viene creato la directory **/run/log/journal/** in **tmpfs**.
  
-Per limitare lo spazio utilizzato su memoria permanente (filesystem su disco) si possono usare diverse opzioni **%%System*%%**:+Per limitare lo spazio utilizzato su memoria permanente (filesystem su disco) si possono usare diverse opzioni **%%System*%%**, per gestire lo spazio in memoria volatile si usano le omologhe **%%Runtime*%%**:
  
-^ SystemMaxUse       | How much disk space the journal may use up at most. Default to **10%** of the partition where ''/var/log/journal/'' resides. +^  For persistent file system  ^^ 
-^ SystemKeepFree     | How much disk space systemd-journald shall leave free for other uses. | +^ SystemMaxUse        | How much disk space the journal may use up at most. Default to **10%** of the partition where ''/var/log/journal/'' resides. 
-^ SystemMaxFileSize  | How large individual journal files may grow at most before rotating. +^ SystemKeepFree      | How much disk space systemd-journald shall leave free for other uses. | 
-^ SystemMaxFiles     | How many individual journal files to keep at most in rotation.  |+^ SystemMaxFileSize   | How large individual journal files may grow at most before rotating. 
 +^ SystemMaxFiles      | How many individual journal files to keep at most in rotation.  | 
 +^  For volatile in-memory file system  ^^ 
 +^ RuntimeMaxUse       | In Debian, the default ''/run/log/journal/'', resides into the ''/run'' tempfs. 
 +^ RuntimeKeepFree     
 +^ RuntimeMaxFileSize  |  | 
 +^ RuntimeMaxFiles     
 +^  Rotation  ^^ 
 +^ MaxFileSec          | The maximum time to store entries in a single journal file before rotating to the next one. Use it to ensure that not too much data is lost at once when old journal files are deleted. 
 +^ MaxRetentionSec     | The maximum time to store journal entries. If you need a retention shorter than the one imposed by SystemMaxUse.  |
  
-^ MaxFileSec         +This is an example on how to limit the disk space used and to determine rotaton policy (rotate once a day, keep 366 files i.e. one year):
- +
-This is an example on how to limit the disk space used:+
  
 <file> <file>
Line 63: Line 70:
 SystemMaxUse=7G SystemMaxUse=7G
 SystemKeepFree=2G SystemKeepFree=2G
 +SystemMaxFileSize=256M
 +SystemMaxFiles=366
 +MaxFileSec=1day
 </file> </file>
  
Line 123: Line 133:
 lrwxrwxrwx 1 root root 6 Oct 20 20:32 /usr/bin/last -> wtmpdb lrwxrwxrwx 1 root root 6 Oct 20 20:32 /usr/bin/last -> wtmpdb
 </code> </code>
 +
 +===== Problema ping =====
 +
 +Dopo l'aggiornamento l'utente non privilegiato non riesce a fare un ping:
 +
 +<code>
 +:~$ ping 8.8.8.8
 +ping: socktype: SOCK_RAW
 +ping: socket: Operation not permitted
 +ping: => missing cap_net_raw+p capability or setuid?
 +</code>
 +
 +Questo ha diverse conseguenze nefaste, ad esempio Icinga2 fallisce tutti i test sugli host attivi, con il messaggio di errore:
 +
 +<code>
 +/bin/ping -6 -n -U -w 30 -c 5 samos.rigacci.org
 +CRITICAL - Could not interpret output from ping command
 +</code>
 +
 +In Debian 13 i permessi di ping non dipendono più dalla capability **CAP_NET_RAW** di Linux, ma utilizza un socket **ICMP_PROTO** il cui accesso viene controllato dal GID e da **sysctl net.ipv4.ping_group_range**. In una installazione normale il pacchetto **linux-sysctl-defaults** imposta questo valore in modo tale che il ping funzioni come ci si aspetta.
 +
 +Può essere necessario reinstallare il pacchetto per sistemare i permessi:
 +
 +<code>
 +apt install linux-sysctl-defaults
 +</code>
 +
 +===== PostgreSQL =====
 +
 +La procedura di aggiornamento lascia due cluster PostgreSQL in funzione, la versione 15 e la versione 17. Per verificare anzitutto si cambia utente in postgres:
 +
 +<code>
 +su - postgres
 +</code>
 +
 +quindi si verifica i cluster esistenti:
 +
 +<code>
 +pg_lsclusters 
 +Ver Cluster Port Status Owner    Data directory              Log file
 +15  main    5433 online postgres /var/lib/postgresql/15/main /var/log/postgresql/postgresql-15-main.log
 +17  main    5432 online postgres /var/lib/postgresql/17/main /var/log/postgresql/postgresql-17-main.log
 +</code>
 +
 +Come si vede il **nuovo cluster è già stato spostato sulla porta predefinita 5432** e i database sono stati copiati automaticamente nel cluster nuovo. Verificare con:
 +
 +<code>
 +psql --cluster 17/main
 +postgres=# \l
 +</code>
 +
 +In pratica la procedura di aggiornamento ha provveduto ad eseguire il comando **pg_upgradecluster**.
 +
 +Dopo aver verificato che il nuovo cluster stia funzionando correttamente è possibile rimuovere del tutto il vecchio:
 +
 +<code>
 +pg_dropcluster --stop 15 main
 +pg_dropcluster 15 main
 +</code>
 +
 +Infine si possono disinstallare i vecchi pacchetti:
 +
 +<code>
 +dpkg --purge postgresql-15 postgresql-client-15
 +</code>
 +
 +===== PHP 8.2 => 8.4 =====
 +
 +Si passa dalla versione 8.2 alla versione 8.4. Verificare se ci sono delle impostazioni da riportare ad esempio da **/etc/php/8.2/apache2/php.ini** a **/etc/php/8.4/apache2/php.ini**.
  
 ===== gamin ===== ===== gamin =====
Line 229: Line 308:
 export LESS='-iR' export LESS='-iR'
 </code> </code>
 +
 +===== Impostazioni locale LANG =====
 +
 +Nelle versioni precedenti di Debian era possibile impostare una singola variabile **LC_** con il comando **localectl**. Ad esempio avendo impostato **LANG=en_US.UTF-8** (che prevede l'ora nel formato AM/PM) era comunque possibile impostare il formato a 24 ore con il comando:
 +
 +<code>
 +localectl set-locale LC_TIME=C.UTF-8
 +</code>
 +
 +Tale comando aggiungeva la variabile di ambiente al file **/etc/default/locale**. Con Debian Trixie lo stesso comando produce un errore:
 +
 +<code>
 +localectl set-locale LC_TIME=C.UTF-8
 +Failed to issue method call: Access denied
 +</code>
 +
 +Si tratta di una scelta intenzionale perché Debian ha il tool **update-locale**, che può essere usato ad esempio in questo modo:
 +
 +<code>
 +update-locale LANG=en_US.UTF-8 LC_TIME=C.UTF-8
 +</code>
 +
 +Le impostazioni vengono salvate in **/etc/locale.conf** e il vecchio ''/etc/default/locale'' è diventato un link simbolico ad esso.
 +
 +
  
doc/appunti/linux/sa/debian_upgrade_12_13.1765288936.txt.gz · Last modified: by niccolo