Release upgrade to KUbuntu 13.10 Saucy


This time I got all errors you can have.

Before the upgrade I need to disable manually partners repository in /etc/apt/source.list.

Keep in mind to disable etc-keeper if you’re using it and if you choose btrfs to disable compression.

During the upgrade I got an error with updating initramfs. It was caused by initramfs-tools-ubuntu-touch so it’s safer to remove ubuntu-touch and initramfs-tools-ubuntu-touch before the upgrade if you don’t need them.

After i got to problems with grub :

Just after the kernel boot this message was displayed ten seconds :Error: environment block too small. It means that the file /boot/grub/grubenv is stucked to 1000 bytes instead of 1024 bytes.

Solution :

rm /boot/grub/grubenv
dpkg-reconfigure grub-pc

So, the kernel hangout during Btrfs scanning:

Still no solution. The scanning works in safe mode. Bugs reported in lauchpad suggests it’s an errors introduced in the kernel 3.11.0-12 and we should downgrade to 3.11.0-11 that is not available in generic flavour. I tried the lowlatency flavour without success. I tried too with the 3 last mainline kernels without success (https://wiki.ubuntu.com/Kernel/MainlineBuilds and http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-rc3-saucy/).

Using the safe mode the Btrfs scanning is performing well but at the end of the boot, lightdm doesn’t start. It freezes and you cannot kill it using Ctrl+c. There’s no log. I tried gdm and it fails too. I configured kdm as main display manager and now I can log in.

Then I launch KDE4/Plasma and kwin doesn’t like wayland :

kwin: error while loading shared libraries: libwayland-eg1.so.1: no such file or directory

This time I found no clue to fix that. It’s not really a succes.

Unity still works… in kernel safe mode. But I don’t have the menu to logout (‘unity –reset-icons’ doesn’t change anything but loosing my customizations).

Since 1996 I never got such a mess for an upgrade.

Publicités

Comment installer les Webfonts localement


Les webfonts sont de plus en plus utilisées dans les sites mais manquent souvent à l’appel lorsqu’il s’agit de préparer le travail avec Gimp ou d’écrire un document avec LibreOffice. Google propose une méthode d’installation qui n’est pas complète sur la page de  GoogleWebFonts. Nous allons faire en sorte qu’elles soient disponibles pour toutes les applications installées.

Prérequis

Il faut compter 1Go d’espace disque disponible pour l’installation et il faut installer le logiciel mercurial :

yum install -y mercurial

ou

apt-get install -y mercurial

Installation

mkdir -p ~/.fonts/truetype/google-fonts/
hg clone https://googlefontdirectory.googlecode.com/hg/ ~/.fonts/truetype/google-fonts

Après beaucoup d’attente un message comme celui-ci dessous s’affiche :

 6208 files updated, 0 files merged, 0 files removed, 0 files unresolved

Il est possible de mettre à jour le cache des fontes si vous êtes super-utilisateur :

sudo fc-cache -f -v

Mise-à-jour automatique

La mise-à-jour est assez simple :

hg pull -u ~/.fonts/truetype/google-fonts

Pour rendre le processus hebdomadaire il faut utiliser le système de cron en ajoutant une ligne après celles déjà existante :

crontab -l | (cat; echo "@weekly hg pull -u ~/.fonts/truetype/google-fonts") | crontab -

Pour vérifier que tout a fonctionné il suffit alors d’afficher la crontab avec la commande suivante :

crontab -l

Conclusion

Maintenant vous pouvez profiter des webfonts mais pas les personnes aves qui vous utilisez votre machine. Pour ce faire il faut avoir les droits super-utilisateur et utiliser /usr/share/fonts/truetype/google-fonts à la place de ~/.fonts/truetype/google-fonts.

Migrer votre système sur un nouveau disque dur


Vous vous sentez bien à l’étroit dans votre installation actuelle et un disque dur plus grand vous permettrai de respirer encore. Mais comment faire pour ne pas avoir à tout réinstaller et profiter tout de même de toute cet espace disque libre. Cette exemple est basée sur la migration d’un disque de 120Go vers un de 250Go dans un portable Dell Inspiron 9400.

Introduction

Le but est de migrer aussi bien les données sous Linux mais aussi un partition Windows XP et deux partitions Dell sans perdre de données. Ensuite il faudra redimensionner une partition étendue et les partitions quelle contient.

Configuration actuelle du disque dur :

 /dev/sda1   86Mo  Dell Utility
 /dev/sda2   15Go  HPFS/NTFS
 /dev/sda3   3Go CP/M / CTOS
 /dev/sda4   102Go  Extended
   /dev/sda5 3Go Linux swap
   /dev/sda6 19Go Linux
   /dev/sda7 50Go Linux
   /dev/sda8 30Go Linux

Configuration voulue :

 /dev/sda1   86Mo  Dell Utility
 /dev/sda2   15Go  HPFS/NTFS
 /dev/sda3   3Go CP/M / CTOS
 /dev/sda4   214Go  Extended
   /dev/sda5 3Go Linux swap
   /dev/sda6 19Go Linux
   /dev/sda7 93Go Linux
   /dev/sda8 100Go Linux

Pré-requis

Avant de se lancer il faut s’assurer d’avoir tout le matériel requis. Tout d’abord il faut un Live CD avec les logiciels dd et parted. Si gparted ou qtparted sont présents c’est un gros plus. Les Live CD Ubuntu ou Knoppix contiennent ces outils. Ensuite il faut un nouveau disque dur et un boitier externe pour ce disque dur. Que la connexion se fasse en USB 2.0, en FireWire ou en eSata importe peu. Toutes les étapes qui suivent sont très longues (plusieurs heures) et très consommatrices en énergie, si vous essayez de faire ceci sur un ordinateur sur batterie assurez-vous que la prise secteur est branchée.

Transfert des données

Pour effectuer ce transfert nous utiliserons le logiciel dd. Démarrez votre machine sur le Live CD et choisissez l’environnement graphique que vous voulez et la langue française pour le clavier. Désactivez tout système de mise en veille.

Vérifiez que toutes les partitions de votre disque dur interne soient démontées. Profitez-en pour noter quel device est utilisé pour ce disque (/dev/sda ou /dev/sdb normalement). Dans un terminal lancez la commande tail -f /var/log/syslog et branchez le boitier externe avec le nouveau disque dur à l’intérieur. S’il est monté automatiquement il faut le démonter. Il n’y a pas besoin de partitionner le nouveau disque dur. L’affichage du fichier syslog a dû vous donner le nom du device pour le disque dur externe (/dev/sdc ou /dev/sdd). Vérifiez deux fois avant de lancer la commande suivante :

 $ sudo dd if=device_disque_dur_interne of=device_disque_dur_externe

soit :

 $ sudo dd if=/dev/sda of=/dev/sdc

A partir de là vous pouvez aller regarder la Trilogie du seigneurs des anneaux en version longue. La vitesse d’achèvement de cette tâche dépendra uniquement de la connexion de votre disque dur externe. Pour 120Go cela a prit plus de 5h et moins de 10h.

Une fois cette opération finie vous pouvez placer votre nouveau disque dans votre ordinateur à la place de l’actuel ou continuer sur votre lancée.

Redimensionner les partitions

Le but est de redimensionner la partition Linux étendue (/dev/sda4) pour quelle occupe tout l’espace libre et d’augmenter la taille des partitions /dev/sda7 et /dev/sda8 pour quelle atteigne les 100Go. Vérifier à nouveau qu’aucune partition n’est montée, sinon parted refusera de travailler. Pour ma part j’ai choisi d’utiliser gparted pour son interface plus intuitive. J’ai aussi préféré effectuer les opérations une par une plutôt que d’enchainer tout en une fois. Chacune de ces étapes est longue, donc prenez un bon livre et surveillez l’avancement du travail.

GParted en action

GParted en action

Tout d’abord il m’a fallu déplacer /dev/sda3 en fin de disque car elle se trouvait après /dev/sda4. Ensuite j’ai pu redimensionner /dev/sda4 pour quelle occupe tout l’espace disque. Enfin j’ai déplacé /dev/sda8 en fin de partition étendue et j’ai augmenté sa taille à 102400Mo. Pour finir j’ai augmenté la taille de /dev/sda7 pour qu’elle prenne l’espace restant.

Et voilà, vous avez votre système sur un disque dur neuf.

Du bon usage de easy_install


Les distributions GNU/Linux usent et parfois abusent de python comme langage de script pour la configuration du système. En contrepartie il devient difficile d’utiliser easy_install sans casser le système. Il se peut aussi que certains logiciels python est une liste de dépendances tellement longue qu’il soit impossible de les installer tel quel dans le système avec easy_install. Pour éviter ces écueils, plusieurs parades ont été mises au point et la plus aboutis est sûrement virtualenv.

Les eggs des modules comme python-ldap ou Python Imaging Library sont très dépendants du systèmes et demandent des installations particulières selon les plateformes (PILwoTK ne fonctionne pas sous win32 par exemple). D’autres eggs comme gaphor ou i18ndude demandent quasiment une installation séparée. Pour ces derniers il est possible de sans toucher au Python du système.

Pour commencer il vous faudra choisir sur quelle version de python vous souhaitez travailler :

# easy_install-2.5 virtualenv

ou

# easy_install-2.4 virtualenv

Ensuite vous aller créer une boîte pour votre python :

$ virtualenv --no-site-packages monprojet cd monprojet$ ls

bin         lib

# voici une commande toute prête pour modifier le PATH

$ source ./bin/activate

(monprojet)$ which easy_install

/home/encolpe/monprojet/bin/easy_install

(monprojet)$ which easy_install-2.4

/home/encolpe/monprojet/bin/easy_install-2.4

(monprojet)$ which python2.4

/home/encolpe/monprojet/bin/python2.4

(monprojet)$ which python

/usr/bin/python
La dernière commande nous montre un beau piège dans lequel il nous faudra éviter de tomber : une fois une version de Python choisie l’exécutable python reste branché sur le système alors que python-x.y est une version locale. Pour vous en convaincre aller faire un tour dans le sous-répertoire lib/python.

À partir de maintenant vous pouvez utiliser easy_install dans votre répertoire sans craindre d’interaction avec le système.