Tag

Ubuntu

Browsing

Ce soir, on lance la mise à jour du serveur: nous passons notre version d’Ubuntu Server de Bionic Beaver (18.04 LTS) à Focal Fossa (20.04 LTS).

On commence par les précautions d’usage: faire ses sauvegardes et vérifier qu’elles sont bien intègres avant de commencer la mise à jour. C’est votre bouée en cas de soucis!

Étape 1: avoir l’installation d’Ubuntu actuelle à jour

Assurez-vous d’avoir une installation à jour avant de commencer:

apt update && apt dist-upgrade

On reboot ensuite pour appliquer les changements:

shutdown -r now

Étape 2: installation de screen et ouverture du port 1022 pour SSH

Comme nous allons lancer la mise à jour via un terminal SSH, il est possible que pour une raison ou un autre la connexion soit coupée. Cela arrive et cela peut être vraiment tendu à certaines étapes de la mise à jour (kernel anyone?).

Pour prévenir cela, on vérifie que screen est bien installé:

apt install screen

On peut lancer une session screen avec:

screen

et si la connexion SSH est interrompue lors de la mise à jour, on peut se raccrocher à la session de mise à jour avec la commande:

screen -Dr

Ensuite, au niveau du pare-feu, on ouvre le port 1022. C’est via ce port que l’on pourra reprendre la MAJ en cas de pépin. Suivant la configuration du serveur, on peut utiliser iptables:

iptables -I INPUT -p tcp --dport 1022 -j ACCEPT

ou alors ufw:

ufw allow 1022

Récemment, j’ai installé un serveur en Chine, derrière le Great Firewall of China (GFW) pour un des mes clients. Le code n’a pas de frontières mais la langue peut parfois poser problème – même pour un système d’exploitation, au niveau de la locale.

Linux : résoudre Cannot set LC_ALL to default locale

Les locales sont un ensemble de paramètres qui définissent la langue de l’utilisateur, sa région et les préférences régionales que l’utilisateur souhaire voir dans son interface.

Typiquement, une locale est identifiée par un code langue suivi d’un identifiant de région. Nous avons par exemple “en_US.UTF-8” pour l’anglais américain (en pour l’anglais, US pour les USA) ou “fr_FR.UTF-8” pour le français de France.

Dans le cas de mon serveur chinois, qui tourne sous Debian, les paramètres de la locale n’étaient pas uniformément remplis avec le même code langue et certains paramètres étaient manquants.

On obtenait donc ces messages lors d’un apt update :

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "fr_FR.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

ou encore ces messages avec apt upgrade, après chaque installation ou mise à jour de paquets :

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Pas de panique, j’ai quelques solutions pour régler le problème si vous aussi y êtes confronté.

Dans ce tutoriel, j’utilise “en_US.UTF-8” parce que j’aime tout avoir en anglais. Si vous préférez le français, remplacez tout par “fr_FR.UTF-8”.

Etape 1 : éditez le fichier locale

Editez votre fichier /etc/default/locale :

nano /etc/default/locale

et ajoutez ces lignes:

LC_ALL=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8

Enregistrez le fichier, quittez votre session SSH puis reconnectez-vous pour avoir une nouvelle session avec le changement de locale.

Etape 2 : reconfigurer les locales

On commence par générer la locale de notre choix :

locale-gen "en_US.UTF-8"

Et on la reconfigure :

dpkg-reconfigure locales

Il ne reste plus qu’à tester les locales du système:

locale

Résultat:

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

Et voilà, plus de messages d’avertissement ou d’erreur concernant les locales de votre système. Problème réglé.

De temps en temps, on me demande de configurer des serveurs dédiés ou des VPS. Dernièrement, j’ai travaillé sur un VPS qui n’avait pas de fichier swap et qui finissait par consommer toute la RAM disponible.

Linux : créer un fichier d'échange (swap) pour optimiser un VPS photo

Ce tutoriel vous permet de mettre en place un fichier swap sous Ubuntu 16.04 Server.

Le fichier swap

Le moyen le plus simple d’avoir un serveur réactif et de le prémunir contre les erreurs out-of-memory des services est d’allouer un fichier swap.

Le swap est une zone du disque dur spécialement créée pour que le système d’exploitation y garde des données temporaires qu’il ne peut plus stocker dans la RAM.

Cet espace permet donc aux services du serveur de continuer de tourner même lorsque la RAM est épuisée et ne sera utilisé que dans ce cas de figure.

Les informations seront cependant écrites sur le disque beaucoup moins rapidement que via la RAM.

Vérification du swap sur le système

Commençons par vérifier si un fichier de swap est déjà en place :

swapon --show

Aucun résultat : le système n’a pas d’espace réservé pour le fichier d’échange.

On vérifie une nouvelle fois s’il existe un fichier de swap actif:

free -h

Résultat:

                        total        used        free      shared  buff/cache   available
Mem:           3.9G        517M        2.5G         76M        895M        3.0G
Swap:            0B          0B          0B

Pas de swap actif sur notre système, nous allons donc pouvoir en ajouter une.

Vérification de l’espace disponible

Il est très commun de créer une nouvelle partition qui contient le fichier d’échange mais comme il n’est pas toujours possible de changer le schéma de partition, nous allons créer un fichier d’échange qui résidera sur notre partition existante.

Vérifions l’espace disponible :

df -h

Résultat:

Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           396M  3.2M  393M   1% /run
/dev/vda1        59G   13G   45G  22% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           396M     0  396M   0% /run/user/0

Le disque dur se trouve sous /dev dans notre cas.

En ce qui concerne la taille de la partition swap : elle ne doit pas dépasser 4 Go (parce qu’au-delà, c’est inutile) et doit correspondre à peu près à la taille de votre RAM (ou le double de votre RAM suivant votre serveur).

Création du fichier d’échange

Nous allons donc créer un fichier d’échange nommé swapfile, d’une taille de 4 Go, à la racine du système (/).

sudo fallocate -l 4G /swapfile

Par souci de sécurité, ce fichier sera uniquement lisible par l’utilisateur root :

sudo chmod 600 /swapfile

Vérifions les permissions et l’espace réservé :

ls -lh /swapfile

Résultat:

-rw------- 1 root root 4.0G Jan 17 16:31 /swapfile

Hier, petite surprise sur ma machine à la maison : au démarrage, Ubuntu se charge puis finit dans les limbes avec un écran noir. Je redémarre la machine et là, patatras, une erreur GRUB laconique :

Grub loading 1.5. 
Grub loading, please wait...

ERROR 15

Un redémarrage plus tard, je m’aperçois que même certains réglages du BIOS sont même revenus aux réglages d’usine… Étrange, c’est la première fois que je vois ça sur ma machine.

GRUB, l’erreur 15

L’erreur 15 de GRUB correspond à un fichier de démarrage non trouvé. Cela signifieque GRUB n’est pas installé sur le disque de démarrage et qu’il ne peut donc lancer le menu de démarrage.

Ma machine comprend quatre disques dur, et mes deux disques durs principaux (Linux et Windows) sont du même type et de la même marque, ce qui n’est pas vraiment idéal pour les identifier puisque dans les réglages du BIOS, la référence est la même. Le BIOS ne m’indique qu’un seul disque dur de démarrage, sans autre indication que le numéro de série.

Vérification des options du BIOS

On commence par vérifier les options du BIOS et la séquence initiale de boot : DVD, disque dur. Cela nous sera utile pour la suite lorsque nous utiliserons le live CD.

Utilisation de Boot-Repair

J’ai commencé par utiliser le live CD d’Ubuntu avant de me rendre rapidement compte des limitations dues au montage des points critiques du système.

Le plus simple est d’utiliser Boot-Repair-Disk, le disque ultime de réparation du démarrage qui vous permettra de redémarrer votre machine comme avant.

GRUB : résoudre l'erreur "Grub loading 1.5. Grub loading, please wait... ERROR 15" photo

Le Réparateur de Démarrage (Boot-Repair en anglais) est un petit outil qui propose :

  • un bouton Réparation recommandée permettant de réparer la plupart des problèmes de démarrage (par exemple lorsque Ubuntu ne démarre plus suite à l’installation de Windows, lorsque le menu GRUB n’apparaît plus1) ou lorsque vous avez une erreur GRUB rescue> ou out-of-disk) ;
  • un deuxième bouton permettant de créer un rapport Boot-Info en un clic (pour obtenir de l’aide via email ou forum) ;
  • les options avancées permettant, entre autres, de :
    • mettre à jour le menu de démarrage GRUB ;
    • reconfigurer GRUB (ajouter des options de kernel, etc.) ;
    • purger et réinstaller GRUB2 ;
    • restaurer un secteur d’amorçage compatible Windows (XP, Vista, Seven) ;
    • restaurer un MBR permettant de démarrer Windows en mode Legacy.

Restauration de GRUB

Voici la marche à suivre :

  1. téléchargez Boot Repair Disk
  2. gravez l’image sur un CD / DVD ou utilisez Rufus ou Unetbootin pour graver l’image sur une clé USB.
  3. Insérer votre CD/DVD/clé USB contenant Boo Repair puis redémarrez la machine.
  4. Choisissez la langue de l’interface et activez la connexion internet (recommandé)
  5. Choissisez “Réparation recommandée” dans la majeure partie des cas courants.
  6. Redémarrez la machine, cela solutionne la majorité des problèmes de boot liés à GRUB.

Curieusement, lorsque Boot Repair s’est lancé, il m’a demandé si mon disque sdb était un disque dur externe alors que c’est mon disque dur de démarrage principal sous Ubuntu. J’ai répondu “non” puis ai choisi le menu Options avancées afin d’installer de purger GRUB et d’installer la dernière version de GRUB sur tous mes disques durs. Ce n’est qu’avec cette option que j’ai vraiment pu retrouver un démarrage normal.

Je vous conseille Boot-Repair pour résoudre les problèmes liés au démarrage de GRUB. Cela m’a bien dépanné – en quelques clics et moins de dix minutes, je retrouvais mon bureau.

A garder dans la boite à outil, c’est extrêmement utile.

Aujourd’hui, ma machine desktop – The Reaper – vient d’avoir une jolie petite mise à jour et passe d’Ubuntu 14.04 à 16.04, codename Xenial Xerus.

The Reaper : mise à jour vers Ubuntu 16.04 Xenial Xerus photo

Mise à jour d’Ubuntu

La mise à jour se fait assez simplement :

sudo apt update && sudo apt upgrade
sudo apt autoremove
sudo apt dist-upgrade

Comme je n’installe que des versions LTS (Long-Time Support) sur cette machine, il y avait plus de 2.3 Go de paquets à télécharger soit un sacré paquet de mises à jour.

Plusieurs erreurs sont apparues pendant l’installation, qui a laissé à peu près une trentaine de paquets non configurés et non des moindres : GRUB, initramfs-tools etc.

En regardant les messages d’erreurs, j’ai vu que le problème se situait au niveau de DPKG.

Lorsqu’un paquet obsolète bloque DPKG

Si cela vous arrive, pas de panique. Il faut juste régler le problème *avant* de redémarrer la machine.

On commence par relancer la configuration des paquets non configurés:

dpkg --configure -a

En résultat, vous obtenez une (très) longue liste de tous les paquets non configurés avec tous les messages d’erreurs associés. Ce qui importe, ce sont les premières lignes du résultat : le paquet qui bloque est toujours mentionné en premier.

Dans mon cas, il s’agissait d’un paquet obsolète depuis Ubuntu 12.04 (donc depuis 4 ans), virtuoso-nepomuk. Je l’ai donc totalement supprimé :

sudo apt purge virtuoso-nepomuk

On relance ensuite la configuration des paquets :

dpkg --configure -a

Puis une petite vérification des nouveaux paquets au cas où et la suppression des paquets obsolètes :

sudo apt update && sudo apt upgrade && sudo apt autoremove

Un reboot plus tard, Ubuntu 16.04 boote tranquillement. Je conseille de régler le problème des paquets non configurés avant le reboot, c’est bien plus galère autrement.

Réactiver les dépôts désactivés pendant la mise à niveau

Enfin, il reste à réactiver les dépôts APT qui ont été désactivés pendant la mise à niveau.

Lorsque j’ai installé Ubuntu Mate sur mon nouvel Asus en lieu et place de Windows 10, j’ai vite fait de remarquer que le multi-touch du pavé tactile n’était absolument pas reconnu – seul un dispositif de pointage avec deux boutons est détecté.

Linux : activer le touchpad multi-touch sur un portable Asus photo 2

Nous allons donc voir comment pallier ce problème.

Ce tuto s’adresse aux ordinateurs portables Asus mais reste valable pour d’autres marques ou modèles.

Mise à jour du système

Commencez par mettre à jour les paquets du système :

sudo apt update && sudo apt upgrade

Puis nettoyez les paquets devenus inutiles:

sudo apt-get autoremove

Mise à jour du kernel

J’ai installé Ubuntu 16.04 deux mois avant la sortie officielle, quand le kernel linux était encore dans la branche 4.2.x et le pavé multitouch (Elan Pad) n’était absolument pas reconnu comme multi-touch mais comme simple souris.

Après de multiples installations de kernel, chacune ajoutant son lot de surprises comme perte de la carte vidéo après le démarrage, ronflement maximal du ventilateur du processeur, boot impossible après l’écran de démarrage GRUB… il faut se résoudre à l’évidence : mieux vaut attendre le kernel officiel, signé et testé.

Le premier kernel fonctionnel qui m’a permis de retrouver le multi-touch est le kernel 4.4.0-20, sans trop d’effets secondaires (changement du pilote graphique).

Pour mes 35 ans, j’ai reçu un super cadeau d’anniversaire : un nouvel ordinateur portable Asus N551VW-FW119T.

Asus N551VW

Voici la bête en images :

Mon nouveau laptop : Asus N551V photo

et le clavier :

Mon nouveau laptop : Asus N551V photo 1

Au programme : un écran 15,6″ mat et anti-reflets, un processeur i7-6700HQ (2,6 GHz), 8 Go de RAM en DDR4, une carte graphique GTX 960M, un disque SSD de 128 Go + 1 To en SATA, coque en aluminium brossé…

Premières impressions

On ne va pas se le cacher, il est très rapide! Démarrage éclair, aucun lag dans le lancement des applications, c’est vraiment du bonheur. Le clavier est vraiment bien, avec pavé numérique et rétro-éclairage.

Parmi les inconvénients, je noterai le poids/encombrement puisque avec ses 2.7 kg, on ne va pas le trimballer tous les jours et l’autonomie – qui tourne autour des 3h30-4h. Il est difficile d’allier performance et autonomie à l’heure actuelle.

ubuntu-update

J’ai récemment hérité d’un MacBook Pro, sur lequel j’ai installé Ubuntu.

Depuis quelques années maintenant, la société Canonical qui publie Ubuntu a fait le choix d’imposer un nouveau bureau, appelé Unity, qui s’adresse aux petits écrans des laptops et autres netbooks.

Personnellement, je ne suis pas fan du bureau Unity et préfère retrouver un bureau Gnome (à prononcer Génome) plus classique, avec des menus qui me permettent d’accéder aux applications.

Plusieurs solutions s’offrent à nous : on peut retrouver Gnome Classic (basé sur Gnome 2), ou alors installer des bureaux plus récents comme MATE ou Cinnamon, tout deux développés par l’équipe de Linux Mint.

Sur mon Ubuntu, j’ai opté pour Gnome Classic, certes vieillissant mais qui me convient bien. Voici donc comment l’installer.

Installer le bureau Gnome Classic

Pour installer Gnome Classic Desktop, il suffit de mettre à jour nos dépôts et d’installer le paquet gnome-session-flashback:

sudo apt update && sudo apt install gnome-session-flashback

Ensuite, il ne vous reste plus qu’à quitter votre session.

Au démarrage de la nouvelle session, cliquez sur le logo Ubuntu à droite de votre nom d’utilisateur et enfin sélectionnez Gnome Flashback (Metacity):

Ubuntu: installer un autre bureau qu'Unity et retrouver Gnome Classic photo

Entrez votre mot de passe de session: vous venez de retrouver Gnome Classic !

Ubuntu: installer un autre bureau qu'Unity et retrouver Gnome Classic photo 1

logo-vlcLors de mon précédent article à propos du téléchargement automatique des sous-titres avec VLC, j’ai essayé de mettre à jour – en vain – le paquet vlc sur mon installation Ubuntu et j’ai fini par prendre les captures d’écran avec une version portable.

Or, depuis, il m’est impossible de lire un dossier avec VLC !

Le problème : lecture impossible d’un dossier avec VLC

Les symptômes sont les suivants : un clic droit sur le dossier offre bien l’option Ouvrir avec > Lecteur multimédia VLC.

Le dossier arrive bien dans VLC mais il est impossible de lancer la lecture, que ce soit avec le bouton lecture ou en double-cliquant sur le nom du dossier dans la playlist. Le nom vibre comme s’il s’agissait d’un message d’erreur mais le dossier n’est pas ouvert et rien n’est lu.

La solution : éditer le fichier de configuration de VLC

La solution est d’éditer le fichier de configuration de VLC, qui s’appelle vlcrc.

Sous Windows, il se trouve à l’emplacement %appdata%\vlc\vlcrc.

Sous Ubuntu, il se trouve à l’emplacement /home/matt/.config/vlc/vlcrc donc on l’édite:

gedit /home/matt/.config/vlc/vlcrc

On recherche la ligne qui concerne le module Demux :

# Demux module (string)
demux=any

et on commente la ligne qui l’active :

# Demux module (string)
#demux=any

logo-vlcSi vous avez l’habitude de regarder des films ou des séries en version originale (VO) sur votre ordinateur avec VLC, voici une petite astuce qui devrait grandement vous faciliter la tâche…

En effet, qui n’a jamais rêvé de pouvoir récupérer les bons sous-titres avec le bon timing de la bonne langue qui correspond au bon fichier vidéo?

Et bien sachez que cela est possible en trois clics avec VLC. Suivez le guide !

Pré-requis : une version de VLC à jour

Tout d’abord, vous devez disposer d’une version de VLC récente, c’est-à-dire VLC 2.2.1+. Inutile d’essayer avec VLC 2.1.x qui est livrée avec Ubuntu 14.04 LTS, le module VLSub ne fonctionne pas avec cette version.

Pour les besoins de cet article et des captures d’écran, j’ai donc utilisé la version portable de VLC.

Mettez donc VLC à jour !

Charger à la volée les sous-titres d’une vidéo dans VLC

VLC permet maintenant de charger les sous-titres d’une vidéo en cours de lecture, sans les télécharger sur l’ordinateur. Fini le temps où vous deviez rechercher le fichier de sous-titre, le télécharger, le dézipper puis le renommer pour qu’il soit détecté automatiquement par le lecteur.

Maintenant, tout se fait en quelques clics :

  1. ouvrez votre fichier vidéo avec VLC et appuyez sur le bouton Lecture.

    vlc-sous-titres-sans

  2. ouvrez le menu View > Download Subtitles

    vlc-sous-titres-menu-vlsub

    Si vous avez un Mac, on trouve le menu dans VLC > Extensions > VLsub :
    Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo

  3. choisissez la langue des sous-titres voulue et cliquez sur le bouton “Search by hash”
  4. VLC donne une liste des résultats, il vous suffit de sélectionner un sous-titre et cliquer sur le bouton “Download selection”:

    vlc-sous-titres-vlsub-recherche

  5. VLC affiche le message “success : subtitles loaded” en vert en bas de la fenêtre
  6. fermez la fenêtre VLSub et regardez votre film ou épisode sous-titré!

    vlc-sous-titres-resultat

Notez que vous pouvez également rechercher par nom, numéro de saison ou numéro d’épisode.

Problème : plus d’icône du bureau

De temps à autre, l’icône ShowDesktopApplet ne se lance pas bien au démarrage d’Ubuntu et produit une fenêtre d’erreur avec le message suivant :

Le tableau de bord a rencontré un problème lors du chargement de “WnckletFactory::ShowDesktopApplet”. Voulez-vous supprimer l’applet de votre configuration?

Voici ce que cela donne en image :

ubuntu-desktop-applet

Commencez par cliquer sur le bouton Ne pas supprimer. Ensuite, deux manières de procéder vous permettent de retrouver l’icône du bureau.

Solution : forcer le chargement en ligne de commande

Ouvrez le terminal et lancez la commande:

gnome-panel --replace

Cela est généralement suffisant. Vous devriez obtenir une erreur de segmentation et la commande devrait vous rendre la main dans le terminal. Si ce n’est pas le cas, essayez la solution suivante.

Solution : ouvrir une nouvelle session

Si la solution précédente n’a pas fonctionné, il vous suffit de fermer la session et d’en ouvrir une nouvelle. Cela relance gnome-panel correctement.

Je n’utilise pas Unity mais Gnome Shell et l’icône du bureau est très pratique pour s’y retrouver.

logo-vlcAujourd’hui, sur ma machine tournant sous Ubuntu, je me suis aperçu qu’il m’était impossible de lire de la musique avec VLC : le son de mes fichiers était saccadé, coupant l’écoute toutes les deux secondes avant de s’éteindre complètement.

Le module de sortie audio de VLC

Si cela vous arrive, et avant d’appeler le marabout, voici une solution pour remédier ce problème:

  1. Ouvrez VLC > Outils > Préférences
  2. Sélectionnez ensuite Audio > Sortie
  3. Changez maintenant le module de sortie pour Automatique, Pseudo-sortie audio, désactivé.
  4. Validez et enregistrez les réglages de VLC.

En images

Voici une capture d’écran du réglage à modifier :

vlc-son-coupe

N’hésitez pas à essayer plusieurs modules de sortie – chez moi, cela a réglé le problème immédiatement.