Linux : supprimer les vieux kernels et libérer de la place sur la partition /boot photo

Ubuntu : supprimer les vieux kernels et libérer de la place sur la partition /boot

Voici un tutoriel qui vous permet de supprimer les kernels linux installés sur votre serveur qui ne sont pas actuellement utilisés.

Cela est utile pour faire un peu de ménage sur la partition /boot, idéalement avant qu’elle ne soit complètement saturée. Sinon, je vous donne aussi l’astuce pour faire le ménage manuellement et retrouver APT complètement opérationnel.

Ce tutoriel a été testé sous Ubuntu Server 18.04 LTS, il est complètement transférable sous Ubuntu et Debian.

Cas de figure 1: /boot n’est pas plein à 100% et apt est opérationnel

1. On vérifie la version actuelle du kernel

uname -r

Cela nous donne la version du noyau sous laquelle tourne notre machine:

4.15.0-46-genericCode language: CSS (css)

2. On supprime les vieux kernels

2.a. On liste les vieux kernels

sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`Code language: JavaScript (javascript)

You will get the list of images something like below:

linux-image-4.15.0-45-genericCode language: CSS (css)

2.b. On supprime les vieux kernels (un par un)

sudo apt purge linux-image-4.15.0-45-genericCode language: CSS (css)

Une fois que les vieux kernels sont supprimés, on supprime également les paquets qui seront maintenant obsolètes:

sudo apt autoremove

Et on finit par la mise à jour de la liste des noyaux de GRUB:

sudo update-grub

Voilà, il ne vous reste plus qu’à rebooter votre machine ou votre serveur. Il ne reste que le dernier kernel.

Cas de figure 2 : apt est indisponible car /boot est plein à 100%

NOTE: cette partie du tutoriel n’est valable que si et seulement si vous ne pouvez utiliser APT parce que la partition /boot est pleine à 100%.

1. Listez les images de kernel

Obtenez la liste des images de kernels et faites la liste des kernels que vous pouvez supprimer car ils ne sont plus utilisés. Cette commande vous montre les kernels installés à l’exception de celui qui est en cours d’utilisation:

sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`Code language: JavaScript (javascript)

Voici le résultat de la commande, la liste des kernels installés mais inutilisés:

linux-image-3.19.0-59-generic
linux-image-3.19.0-61-generic
linux-image-3.19.0-65-generic
linux-image-extra-3.19.0-59-generic
linux-image-extra-3.19.0-61-generic
linux-image-extra-3.19.0-65-genericCode language: CSS (css)

2. Préparez la suppression

Vous devez préparer la commande qui va supprimer tous les kernels inutilisés en utilisant la brace expansion pour vous simplifier la vie. Je vous conseille d’écrire la commande dans un éditeur de texte et de bien la vérifier avant de la lancer dans le terminal.

N’oubliez pas d’exclure le kernel actuel ainsi que les deux kernels les plus récents pour pallier tout problème:

sudo rm -rf /boot/*-3.19.0-{59,61,65}-*

3. Nettoyez APT et ses messages d’avertissement à propos d’une installation partielle

sudo apt-get -f installCode language: JavaScript (javascript)

4. Autoremove

Enfin, on lance la commande autoremove pour supprimer les paquets relatifs aux vieilles images de kernel qui ont été rendues orphelines par le nettoyage manuel de /boot :

sudo apt autoremove

5. Mise à jour de GRUB

sudo update-grub

6. APT est opérationnel

Vous pouvez de nouveau utiliser APT et mettre à jour, installer et supprimer les paquets de votre distribution:

sudo apt update
Passion Pit - Moth's Wings photo

Passion Pit – Moth’s Wings

Passion Pit se forme à la fin de l’année 2007. En 2008, après avoir joué seulement dans quelques concerts, ils sont élus meilleur début selon un sondage du journal The Boston Phoenix.

Le groupe signe alors avec les labels Frenchkiss Records de New York et Columbia au Royaume-Uni.

Leur succès rapide est dû en partie à une anecdote, un cadeau de Michael Angelakos à sa petite amie pour la Saint Valentin. Il avait en effet décidé de lui faire différentes chansons.

Sa petite amie, complètement éprise de sa musique, en a parlé à tous les gens de son entourage, et de fil en aiguille, le groupe parvint à trouver un label. Ayad Al Adhamy compare le groupe à MGMT.

Paroles

Dear friend as you know
Your flowers are withering
Your mother’s gone missing
Your leaves have drifted away

But the clouds are clearing up
And I’ve come reveling
Burning incandescently
Like a bastard on the burning sea

You’re just like your father
Buried deep under the water
Your resting on your laurels
Is stepping on my toes
Whose side are you on?
What side is this anyway?
Put down your sword and crown
Come lay with me on the ground

You come beating like moth’s wings
Spastic and violently
Whipping me into a storm
Shaking me down to the core
But you run away from me
And you left me shimmering
Like diamond wedding rings
Spinning dizzily down on the floor

You’re drifting like a fire
Buried deep under the water
You’re pressing on your laurel
Is stepping on my toes
Whose side are you on?
What side is this anyway?
Put down your sword and crown
Come lay with me on the ground.
Come lay with me on the ground.

Songwriters: Michael Angelakos
Johnny Cash - Hurt  photo

Johnny Cash – Hurt

Hurt est une chanson écrite par Trent Reznor qui constitue le premier single extrait de l’album The Downward Spiral. Elle a reçu une nomination pour le Grammy Awards de la meilleure chanson rock en 1996.

En 2002, la reprise de Hurt par Johnny Cash est acclamée par la critique. Il s’agit de l’une des dernières chansons interprétées par l’artiste avant sa mort.

Paroles

I hurt myself today
To see if I still feel
I focus on the pain
The only thing that’s real

The needle tears a hole
The old familiar sting
Try to kill it all away
But I remember everything

What have I become
My sweetest friend
Everyone I know
Goes away in the end

And you could have it all
My empire of dirt
I will let you down
I will make you hurt

I wear this crown of thorns
Upon my liars chair
Full of broken thoughts
I cannot repair

Beneath the stains of time
The feelings disappear
You are someone else
I am still right here

What have I become
My sweetest friend
Everyone I know
Goes away in the end

And you could have it all
My empire of dirt
I will let you down
I will make you hurt

If I could start again
A million miles away
I will keep myself
I would find a way

Enregistrée à l’origine par Nine Inch Nails, Hurt comporte clairement des références à l’automutilation et à la dépendance à l’héroïne, bien que le sens global de la chanson soit contesté.

Certains affirment que la chanson agit comme une lettre de suicide écrite par le protagoniste de l’album en raison de sa dépression, tandis que d’autres prétendent qu’il décrit le processus difficile de trouver une raison de vivre en dépit de la dépression et de la douleur.

Le clip vidéo a été tourné par Mark Romanek, gratuitement, dans la maison et musée de Johnny Cash, The House of Cash, alors que la santé de Johnny Cash est sur le déclin, à 71 ans.

Le panneau «fermé au public» sur le musée. Les disques de platine fissurés. Le banquet caviar et homard sans invités. Les clips de plus tôt dans la carrière de Johnny. Sa femme June regarde. Le couvercle du piano fermé.

June meurt trois mois après le tournage, son mari Johnny, sept mois, en 2003.

La maison de Cash, dans laquelle il a vécu pendant près de 30 ans et qui est le décor du clip, brûle en 2007.

Téléchargez automatiquement les sous-titres de vos vidéos avec FlexGet et Subliminal photo

Téléchargez automatiquement les sous-titres de vos vidéos avec FlexGet et Subliminal

Si vous avez suivi le tutoriel sur Flexget pour télécharger vos torrents automatiquement avec Transmission, voici un petit complément qui vous permettra de récupérer les sous-titres automatiquement, de manière périodique.

Je considère ici que l’installation de Flexget est déjà opérationnelle.

Installation de subliminal

S’il n’est déjà présent sur votre serveur/poste de travail, installez subliminal:

pipx install subliminal
pipx inject flexget subliminal

Configuration des sous-titres

Editez le fichier de configuration de FlexGet, config.yml et ajoutez-y cette nouvelle tâche:

tasks:
  get-subtitles:
    filesystem:
      path: 
        - d:\media\incoming         # on Windows
        - /home/incoming          # unix
      regexp: '.*\.(avi|mkv|mp4)$'  # only include filenames with these extensions
      recursive: yes
    accept_all: yes
    seen: local                     # seen shouldn't interfer with anything outside this subtitles task
    subliminal:
      languages:
        - eng
      alternatives:
        - fra
      exact_match: yes
      #only use the following providers
      providers: [addic7ed, opensubtitles, tvsubtitles]
      single: no
      hearing_impaired: yes
      authentication:               #consider using the variables plugin
        addic7ed:
          username: my_user
          password: my_password
        opensubtitles:
          username: other_user
          password: other_passswordCode language: PHP (php)

Pensez à éditer le chemin du répertoire qui contient vos fichiers vidéo (lignes 5-6), suivant que vous êtes sous Windows ou Unix. N’oubliez pas de mettre les identifiants de compte addic7ed et opensubtitles.

Il ne vous reste plus qu’à lancer FlexGet et celui-ci se chargera de récupérer les sous-titres de tous les fichiers vidéos contenus dans le répertoire que vous avez défini dans la configuration:

flexget execute

Enjoy!

Honeywagon - Billie Jean photo

Honeywagon – Billie Jean

Honeywagon est un groupe de bluegrass qui vient des collines d’Hollywood.

Le groupe est né en 2010 grâce à l’impulsion de Bryan Clark (aka “BC”), et Ben Levine (aka “Mo Levone”, “Benwell”) qui voulaient créer du bluegrass à la fois joyeux et subversif.

Voici une reprise de Mickael Jackson par Honeywagon, Billie Jean :

Pour la petite histoire, le mot honeywagon en américain est un mot argotique qui fait référence au camion d’épandage (qui projette le contenu des fosses septiques dans les champs comme engrais).

Au Royaume-Uni, cela désigne la petite caravane qui contient toilettes et vestiaires sur les sets de tournage des films et séries.

Python : résoudre l'erreur "ImportError: cannot import name main" photo

Python : résoudre l’erreur “ImportError: cannot import name main”

Pip écrasé par une nouvelle version

Suite à une mauvaise manipulation, j’ai malencontreusement écrasé ma version de pip installée par APT en faisant un pip install pip.

Après cela, toute commande lancée par pip donne cette erreur:

Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name mainCode language: JavaScript (javascript)

Pas glop! Si cela vous arrive un jour, voici comment retrouver la version pip initiale, installée par votre gestionnaire de paquet APT.

Retrouver la version pip initiale (apt)

On marque python2.7 comme binaire Python par défault en le sélectionnant dans cette liste (si besoin):

update-alternatives --config python

On désinstalle pip, dans APT et dans PIP :

python -m pip uninstall pip
sudo apt purge --autoremove python3-pip

On réinstalle pip avec APT:

apt install python3-pip

Et on vérifie la version de pip :

pip3 --version

qui nous donne:

pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)Code language: JavaScript (javascript)

Et voilà, nous venons de retrouver une version de pip utilisable sur notre système.

Note : ne pas tenter de mettre à jour pip manuellement, il vaut mieux laisser le gestionnaire de paquet gérer les mises à jour de ce paquet lorsque cela est nécessaire, au fil des mises à jour.

NginX : résoudre "upstream sent too big header while reading response header from upstream" photo

NginX : résoudre “upstream sent too big header while reading response header from upstream”

Nginx: des entêtes trop larges

Lors de la mise en ligne d’un nouveau site, je suis tombé sur une page qui ne fonctionnait pas et donnait une erreur 502 avec ce message dans les logs:

upstream sent too big header while reading response header from upstreamCode language: JavaScript (javascript)

Solution: augmenter la taille des entêtes

Si votre serveur utilise NginX, il suffit d’ajouter ces deux lignes à votre server block pour que tout rentre dans l’ordre:

fastcgi_buffers 16 16k; 
fastcgi_buffer_size 32k;

L’augmentation de la taille des buffers permet d’envoyer toutes les données d’un coup d’un seul, ce qui résout l’erreur.

Il ne reste plus ensuite qu’à relancer le serveur NginX:

service nginx restart

Hop, problème réglé.

MySQL : résoudre le message "Warning: Using a password on the command line interface can be insecure." photo

MySQL : résoudre “Warning: Using a password on the command line interface can be insecure.”

J’ai récemment écrit un petit script bash qui me permet de sauvegarder rapidement toutes les bases de données d’un serveur. Le script est lancé par une tâche cron automatiquement, tous les jours.

Si l’on passe l’utilisateur et le mot de passe SQL dans la requête, avec mysql ou mysqldump, vous obtiendrez très certainement le message d’avertissement suivant:

Warning: Using a password on the command line interface can be insecure.Code language: PHP (php)

Et pour cause : cela veut dire que n’importe qui ayant accès au serveur pourra voir, dans les logs ou avec un simple ps, vos informations de connexion à vos bases de données. Ce n’est pas ce qui se fait de mieux en matière de sécurité !

Une solution est de passer en argument un fichier qui contiendra vos données de connexion à la base de données.

Donc, au lieu d’écrire :

mysqldump -u $USER -p$PASSWORD --databases $db > $BACKUP_PATH/$date-$db.sqlCode language: PHP (php)

Il vaut mieux écrire:

mysqldump --defaults-extra-file=/etc/mysql/mysql-backup-script.cnf --databases $db > $BACKUP_PATH/$date-$db.sqlCode language: PHP (php)

Note: L’argument --defaults-extra-file doit venir en premier, sinon il ne sera pas interprété.

Le fichier /etc/mysql/mysql-backup-script.cnf contient les identifiants de votre utilisateur SQL qui aura les droits sur chacune des bases de données à sauvegarder. Voici à quoi il ressemble:

[client]
user = 'backup'
password = 'GIGANTIC_SECURE_PASSWORD'Code language: JavaScript (javascript)

Par sécurité, on restreint les droits d’accès au fichier pour qu’il ne soit pas lisible par tout le monde:

chmod 400 /etc/mysql/mysql-backup-script.cnf

Il ne vous reste qu’à créer votre cron avec votre nouvelle commande, sans montrer les identifiants SQL en clair.

BRADAFRAMANADAMADA - Légalité photo

BRADAFRAMANADAMADA – Légalité

Vincent Kucholl et Vincent Veillon sont deux humoristes suisses qui oeuvrent dans l’émission 120 minutes, diffusée sur RTS Un (Radio télévision suisse).

En plus de leurs sketchs, ils sont également à l’origine d’un groupe de reggae parodique, BRADAFRAMANADAMADA (“brother from another mother“), que je trouve très drôle.

Voici par exemple la chanson Légalité, qui demande au ministre de la santé suisse de légaliser le cannabis:

La musique est excellente, les paroles toutes autant, avec une bonne dose d’humour. C’est super sympa à écouter et on regrette que ce ne soit pas un “vrai” groupe parce qu’on irait bien le voir en concert !

Postfix : résoudre l'avertissement "Untrusted TLS connection established" photo

Postfix : résoudre l’avertissement “Untrusted TLS connection established”

Si vous possédez votre propre serveur email, géré avec Postfix, vous pouvez parfois obtenir l’avertissement suivant, lorsque vous utilisez un certificat SSL/TLS :

postfix/smtp[13461]: Untrusted TLS connection established to gmail-smtp-in.l.google.com[64.233.166.27]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)Code language: JavaScript (javascript)

La solution est très simple, il suffit d’éditer le fichier main.cf de Postfix :

nano /etc/postfix/main.cf

Et on y ajoute:

smtp_tls_CApath = /etc/ssl/certs
smtpd_tls_CApath = /etc/ssl/certsCode language: JavaScript (javascript)

Sauvegardez le fichier puis relancez Postfix :

service postfix restart

Envoyez un mail depuis le serveur, vous devriez maintenant obtenir le graal :

postfix/smtp[7243]: Trusted TLS connection established to gmail-smtp-in.l.google.com[2a00:1450:400c:c08::1a]:25: TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)Code language: JavaScript (javascript)

Et voilà, authentifié en TLS pour l’envoi de mail avec Postfix.

PHP : ajouter les directives "HttpOnly" et "Secure" aux cookies de session photo

PHP : ajouter les directives “HttpOnly” et “Secure” aux cookies de session

Les directives “HttpOnly” et “Secure”

A l’heure où la grande majorité des sites internet sont passés à HTTPS, il n’est pas rare de constater que PHP ne sert toujours pas les cookies de session avec les directives “HttpOnly” et “Secure”.

Pourtant, les directives sont bien disponibles dans le fichier php.ini, il suffit donc de les activer.

Edition de php.ini

On édite donc notre fichier php.ini:

nano /etc/php/7.2/fpm/php.ini

Et on modifie ces valeurs :

session.cookie_httponly 1
session.cookie_secure 1
session.use_only_cookies 1Code language: CSS (css)

Enregistrez le fichier et relancez PHP:

service php7.2-fpm restartCode language: CSS (css)

Testez votre site de nouveau : les cookies de session contiennent maintenant les deux nouvelles directives :

set-cookie: PHPSESSID=7d5h81tfiuna3p2p00o1v7b13q; path=/; secure; HttpOnlyCode language: JavaScript (javascript)

Cela ne s’applique pas à tous les cookies créés par les plugins ou applications du site.

Il faudrait pour cela que le serveur, nginx, possède nativement le module nginx_cookie_flag_module.

Silverchair - Anthem For The Year 2000  photo

Silverchair – Anthem For The Year 2000

The early years

Silverchair est un groupe de rock australien, formé en 1992 en tant que Innocent Criminals à Merewether, à Newcastle, avec Ben Gillies à la batterie, Daniel Johns au chant et à la guitare, et Chris Joannou à la guitare basse – alors qu’ils n’ont que 12 ans.

Le groupe obtient son grand succès au milieu de 1994 en remportant un concours de démonstration national dirigé par la chaîne de télévision SBS Nomad et la station de radio ABC Triple J. Le groupe signe chez Murmur et collectionne succès sur les scènes australiennes et internationales.

Dans une interview accordée au magazine Melbourne Buzz en 1994, le groupe affirmait le nom du groupe était tiré de “Sliver” de Nirvana et de “Berlin Chair” de You Am I, qui avait donné “Silver Chair”.

Il a ensuite été révélé qu’ils avaient été nommés d’après le roman The Silver Chair de la série The Chronicles of Narnia, écrit par C. Lewis.

Frogstomp (1995)

Le premier album de Silverchair, Frogstomp, est enregistré en neuf jours avec une production de Kevin Shirley (Lime Spiders, Peter Wells) et est sorti en mars 1995. Au moment de l’enregistrement, les membres du groupe ont 15 ans et fréquentent toujours le lycée.

Frogstomp devient album numéro un en Australie et en Nouvelle-Zélande et atteint le Top 10 du Billboard 200, faisant de Silverchair le premier groupe australien à le faire depuis INXS.

Alors que Frogstomp et “Tomorrow” continuent de gagner en popularité en 1995, le groupe effectue une tournée aux États-Unis où il assurent la première partie des Red Hot Chili Peppers en juin, The Ramones en septembre et jouent sur le toit du Radio City Music Hall aux MTV Music Awards.

Freak Show (1996)

Silverchair commence à enregistrer son deuxième album studio, Freak Show, en mai 1996, alors qu’il connait le succès de Frogstomp en Australie et aux États-Unis. Il est produit par Nick Launay (Birthday Party, Models, Midnight Oil) et sort en février 1997.

Neon Ballroom (1999)

À la fin de 1997, le trio termine ses études secondaires et, à partir de mai 1998, il travaille sur son troisième album, Neon Ballroom, à nouveau produit par Launay.

L’album sort en mars 1999 et culmine au premier rang en Australie, avec trois singles du top 20 australien: “Anthem for the Year 2000”, “Ana’s Song (Open Fire)” et “Miss You Love”.

Diorama (2002)

En juin 2001, Silverchair entre en studio à Sydney avec le producteur David Bottrill (Tool, Peter Gabriel, King Crimson) pour commencer à travailler sur leur quatrième album, Diorama. Le nom de l’album signifie “un monde dans un monde”.

À la suite des ARIA Awards 2002, le groupe annonce un hiatus indéterminé. Johns a déclaré que c’était nécessaire “étant donné que le groupe était ensemble depuis plus de dix ans et n’avait que 23 ans en moyenne”.

Young Modern (2007)

Young Modern sort en mars 2007 et ils deviennent les premiers artistes à posséder cinq albums numéro un. En juin, Silverchair et le groupe de rock Powderfinger annoncent la tournée Across the Great Divide.

La tournée permet de promouvoir les efforts de Reconciliation Australia visant à combler l’écart de 17 ans d’espérance de vie entre enfants autochtones et non autochtones. Les acteurs de la tournée sont John Butler, Missy Higgins, Kev Carmody, Troy Cassar-Daley, Clare Bowditch et Deborah Conway.

Le 25 mai 2011, Silverchair announce un hiatus indéterminé:

We formed Silverchair nearly 20 years ago when we were just 12 years old. Today we stand by the same rules now as we did back then … if the band stops being fun and if it’s no longer fulfilling creatively, then we need to stop. […] Despite our best efforts over the last year or so, it’s become increasingly clear that the spark simply isn’t there between the three of us at the moment. Therefore after much soul searching we wanted to let you know that we’re putting Silverchair into “indefinite hibernation” and we’ve decided to each do our own thing for the foreseeable future.

— Daniel, Ben and Chris, chairpage.com (Silverchair Official Website), 25 May 2011.