Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 16 novembre 2017

upgrade-from-grub-legacy: la commande (assez) mal nommé du paquet grub-pc

Le paquet grub-pc du bootloader de Linux contient 3 commandes placées dans les répertoires /bin et /sbin.

Une d'entre elles se nomme upgrade-from-grub-legacy et permet de migrer de Grub à Grub 2. Contrairement aux deux autres commandes du paquet grub-pc, son nom ne commence pas par grub.

Ce choix peut poser problème si vous utilisez la complétion avec Bash car c'est la seule commande Linux qui commence par 'upg'.

Si vous avez défini un alias pour mettre à jour votre système comme suit:

alias update='apt-get update && apt-get upgrade && apt-get autoremove'

Et que, par erreur, vous saisissez dans votre terminal:

upg <TAB> <ENTER>

Vous aller lancer la commande upgrade-from-grub-legacy, ce qui n'était absolument pas votre volonté.

Dommage, vous vous souveniez que votre alias se nommait upgrade !

Si par mégarde, vous faites cette erreur (je l'ai faites ...), ne faites par CTRL C après avoir lançé la commande, parce que si tous les fichiers de /boot/grub/i386-pc/ n'ont pas eu le temps d'être recréés au moment du CTRL C, votre système Linux ne redémarrera pas !!!!

Si par contre, vous laissez la commande se terminer, pas de problème. Néanmoins, le nom de cette commande est mal choisi et devrait commencer par grub pour éviter d'être utilisée à mauvais escient, surtout que de passer de Grub à Grub2 n'arrive maintenant quasiment plus jamais.

jeudi 17 novembre 2016

Installer les paquets Debian téléchargés avec gdebi

Quand on installe un paquet Debian en dehors des dépôts officiels, c'est à dire qu'on l'a téléchargé sur un site tiers comme celui de Remarkable ou Sublime Text, et qu'on l'installe avec la commande dpkg, on a souvent la désagréable erreur suivante:

root@debian-jessie:/home/debian# dpkg -i Téléchargements/remarkable_1.87_all.deb 
Sélection du paquet remarkable précédemment désélectionné.
(Lecture de la base de données... 117748 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../remarkable_1.87_all.deb ...
Dépaquetage de remarkable (1.87) ...
dpkg: des problèmes de dépendances empêchent la configuration de remarkable :
 remarkable dépend de gir1.2-gtksource-3.0 ; cependant :
  Le paquet gir1.2-gtksource-3.0 n'est pas installé.
 remarkable dépend de python3-markdown ; cependant :
  Le paquet python3-markdown n'est pas installé.
 remarkable dépend de python3-bs4 ; cependant :
  Le paquet python3-bs4 n'est pas installé.
 remarkable dépend de gir1.2-webkit-3.0 ; cependant :
  Le paquet gir1.2-webkit-3.0 n'est pas installé.
 remarkable dépend de yelp ; cependant :
  Le paquet yelp n'est pas installé.
 remarkable dépend de wkhtmltopdf ; cependant :
  Le paquet wkhtmltopdf n'est pas installé.

dpkg: erreur de traitement du paquet remarkable (--install) :
 problèmes de dépendances - laissé non configuré
Traitement des actions différées (« triggers ») pour mime-support (3.58) ...
Traitement des actions différées (« triggers ») pour desktop-file-utils (0.22-1) ...
Traitement des actions différées (« triggers ») pour libglib2.0-0:amd64 (2.42.1-1+b1) ...
Traitement des actions différées (« triggers ») pour hicolor-icon-theme (0.13-1) ...
Des erreurs ont été rencontrées pendant l'exécution :
 remarkable

C'est à dire qu'on se retrouve avec un paquet installé, mais non configuré parce que de nombreuses dépendances ne sont pas satisfaites.

Dans ce cas, la plupart des débutants recourent à une ou plusieurs commandes apt-get install pour installer les paquets manquants. Et rapidement on tourne en rond parce qu'il faut évidemment les installer dans l'ordre !!!

Heureusement il existe deux méthodes à ce problème récurrent.

La première solution consiste à demander à apt-get de réparer les paquets cassés du système. Cela se fait simplement comme suit:

root@debian-jessie:/home/debian# apt-get --fix-broken install
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Correction des dépendances... Fait
Les paquets supplémentaires suivants seront installés : 
  gir1.2-gtksource-3.0 gir1.2-javascriptcoregtk-3.0 gir1.2-soup-2.4 gir1.2-webkit-3.0 gnome-user-guide libgtksourceview-3.0-1
  libgtksourceview-3.0-common libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5printsupport5 libqt5qml5
  libqt5quick5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5webkit5 libqt5widgets5 libqt5xmlpatterns5 libxcb-icccm4 libxcb-image0
  libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xkb1 libxkbcommon-x11-0 libyaml-0-2 libyelp0 python3-bs4 python3-chardet
  python3-lxml python3-markdown python3-pkg-resources python3-pygments python3-yaml qttranslations5-l10n wkhtmltopdf yelp yelp-xsl
Paquets suggérés :
  python3-lxml-dbg python-markdown-doc python3-setuptools ttf-bitstream-vera
Les NOUVEAUX paquets suivants seront installés :
  gir1.2-gtksource-3.0 gir1.2-javascriptcoregtk-3.0 gir1.2-soup-2.4 gir1.2-webkit-3.0 gnome-user-guide libgtksourceview-3.0-1
  libgtksourceview-3.0-common libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5printsupport5 libqt5qml5
  libqt5quick5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5webkit5 libqt5widgets5 libqt5xmlpatterns5 libxcb-icccm4 libxcb-image0
  libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xkb1 libxkbcommon-x11-0 libyaml-0-2 libyelp0 python3-bs4 python3-chardet
  python3-lxml python3-markdown python3-pkg-resources python3-pygments python3-yaml qttranslations5-l10n wkhtmltopdf yelp yelp-xsl
0 mis à jour, 41 nouvellement installés, 0 à enlever et 0 non mis à jour.
1 partiellement installés ou enlevés.
Il est nécessaire de prendre 38,4 Mo dans les archives.
Après cette opération, 150 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 

Comme vous le voyez, la commande apt-get va installer dans l'ordre les paquets dont Remarkable dépend sans que vous ayez besoin d'en faire la liste un à un dans l'ordre.

La deuxième solution est d'installer le paquet Debian non pas avec dpkg mais avec gdebi qui installera en une seule commande le paquet que l'on souhaite installer ainsi que ses dépendances, et ce de manière graphique ou en commande ligne.

En commande ligne, l'installation avec gdebi se passe comme suit:

root@debian-jessie:/home/debian# gdebi Téléchargements/remarkable_1.87_all.deb 
Reading package lists... Done
Building dependency tree        
Reading state information... Done
Building data structures... Done 
Building data structures... Done 
Nécessite l'installation des paquets suivants : gir1.2-gtksource-3.0 gir1.2-javascriptcoregtk-3.0 gir1.2-soup-2.4 gir1.2-webkit-3.0 gnome-user-guide libgtksourceview-3.0-1 libgtksourceview-3.0-common libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5webkit5 libqt5widgets5 libqt5xmlpatterns5 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xkb1 libxkbcommon-x11-0 libyaml-0-2 libyelp0 python3-bs4 python3-lxml python3-markdown python3-pygments python3-yaml qttranslations5-l10n wkhtmltopdf yelp yelp-xsl 

A free fully featured markdown editor.
 Remarkable is a free fully featured markdown editor. It has a syntax
 like Github flavoured markdown. With it you can write markdown and view
 the changes as you make them in the live preview window. You can export
 your files to a variety of formats. There are multiple styles available
 along with extensive configuration options so you can set it up exactly
 how you like.
Voulez-vous installer le paquet logiciel ? [o/N] :