Monday, November 5, 2012

Drush, un apt-get pour drupal

Je viens de faire la découverte de Drush, un utilitaire en ligne de commandes qui permet de mettre à jour un site Drupal d'une manière  efficace en ligne de commandes. (Dans le cas où Drupal est installé à partir des sources de drupal.org, et non le paquet d'une distribution)

L'usage en est le suivant:

cd my_drupal_site/

Objectif Debian Drush
Liste les paquets installés dpkg -l drush pm-list
Mets à jour la liste des paquets disponibles apt-get update drush pm-refresh
Montre les mises à jour possibles apt-get --simulate upgrade drush --simulate pm-update
Installe les dernières mises à jour via le réseau apt-get upgrade drush pm-update

Un outil tellement puissant qu'on en vient à souhaiter son existence pour wordpress.

Tuesday, September 18, 2012

Linux, ZFS et disque SATA: remplacement de disque sans faute en 5 commandes


Le serveur en question tourne sur Debian 6 avec zfs-fuse comme système de fichier sur un volume stripped mirror, équivalent d'un RAID 10.

zpool get version tank
NAME  PROPERTY  VALUE    SOURCE
tank  version   23       default


Alors que je regardais l'espace disponible sur un volume ZFS dédié à des backups, je m'apercois du message d'erreur suivant:

zpool status | head
  pool: tank
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://www.sun.com/msg/ZFS-8000-9P
 scrub: none requested
config:

Effectivement le noyau a du mal à communiquer avec un disque dur
dmesg | grep sd 
[87538.049395] sd 1:0:1:0: [sdd] Unhandled sense code
[87538.049399] sd 1:0:1:0: [sdd]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[87538.049404] sd 1:0:1:0: [sdd]  Sense Key : Medium Error [current] [descriptor]
[87538.049430] sd 1:0:1:0: [sdd]  Add. Sense: Unrecovered read error - auto reallocate failed
[87538.049437] sd 1:0:1:0: [sdd] CDB: Read(10): 28 00 48 06 54 00 00 00 80 00
[87538.049448] end_request: I/O error, dev sdd, sector 1208374353

Cecu est confirmé par le status SMART du disque en question: un disque dur vieux de 1541 jours, on peut le changer !
smartctl --all /dev/sdd | grep ^Error
Error logging capability: (0x01) Error logging supported.
Error 7453 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hours)
Error 7452 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hours)
Error 7451 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hours)
Error 7450 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hours)
Error 7449 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hour
Notons tout d'abord son numéro de série:
hdparm -I /dev/sdd | grep "Serial Number"
Serial Number:      WD-WCASJ0402738

Un petit tour sur le site du constructeur permet d'ailleurs de constater que la date de garantie est déja dépassée:


Et retirons le disque dur du pool zfs:
zpool offline tank /dev/sdd

Notre pool "tank" apparait alors en statut "dégradé" mais heureusement pas d'erreurs sur les données.
zpool status
  pool: tank
 state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
 scrub: none requested
config:

NAME        STATE     READ WRITE CKSUM
tank        DEGRADED     0     0     0
 mirror-0  ONLINE       0     0     0
   sda     ONLINE       0     0     0
   sdb     ONLINE       0     0     0
 mirror-1  DEGRADED     0     0     0
   sdc     ONLINE       0     0     0
   sdd     OFFLINE      0     0     0

errors: No known data errors

Une fois le serveur arrêté il s'agit de remplacer le disque dur comme le noyau l'avait reconnu comme /dev/sdd, il est sans doute sur la troisième nappe SATA (la numérotation commençant à partir de 0)
Un coup d’œil au disque permet de vérifier le numéro de série:



Après avoir recablé le disque, rajoutons le dans le pool zfs:
zpool replace tank /dev/sdd

Si vous utilisez les numeros de series des disques comme identifiant:
zpool replace tank ata-WDC_WD2003FYYS-02W0B0_WD-WMAY02196811 ata-Hitachi_HDS721010KLA330_GTE002PBGTNYME

Zfs va maintenant resynchroniser les blocs de données:
(Dans le jargon de ZFS, resilvering signifie copier les blocs d'un disque à un autre pour regagner un état initial)
zpool status
  pool: tank
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h33m, 34.92% done, 1h1m to go
config:

NAME             STATE     READ WRITE CKSUM
tank             DEGRADED     0     0     0
 mirror-0       ONLINE       0     0     0
   sda          ONLINE       0     0     0
   sdb          ONLINE       0     0     0
 mirror-1       DEGRADED     0     0     0
   sdc          ONLINE       0     0     0
   replacing-1  DEGRADED     0     0     0
     sdd/old    OFFLINE      0     0     0
     sdd        ONLINE       0     0     0  67.0G resilvered


On peut aussi suivre l'état de la synchronisation, qui s'effectue environ à  47MB/s sur ce système:
iostat -d 1 -m
Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.00         0.00         0.00          0          0
sdd             137.00         0.00        48.13          0         48
sdc             138.00        48.69         0.00         48          0
sdb               0.00         0.00         0.00          0          0
sde               0.00         0.00         0.00          0          0

Environ deux heures plus tard la synchronisation des blocs de données est terminée, et le pool zfs est de nouveau en statut normal:
zpool status
  pool: tank
 state: ONLINE
 scrub: resilver completed after 1h38m with 0 errors on Tue Sep 18 17:04:25 2012
config:

    NAME        STATE     READ WRITE CKSUM
    tank        ONLINE       0     0     0
      mirror-0  ONLINE       0     0     0
        sda     ONLINE       0     0     0
        sdb     ONLINE       0     0     0
      mirror-1  ONLINE       0     0     0
        sdc     ONLINE       0     0     0
        sdd     ONLINE       0     0     0  192G resilvered

errors: No known data errors


Saturday, September 8, 2012

Installation sur un Imac 24'': comment je suis devenu intégrateur OEM sans le vouloir

Une histoire d'upgrade

Un Imac 24'', c'est sans doute un ordinateur assez répandu, si on juge par les succès de la maison mère, et bien pourtant l'installation de Debian 7 (Beta)  s'est révélé loin d'être une partie de plaisir. Évidemment avec 10 d'expérience de Linux, et le fait que je sois Debian Maintainer, j'avais pas mal d'atouts dans les mains et en quelques heures tout fonctionnait nickel. Cependant.

Carte graphique: tout le monde descend du bus
Pour installer le driver nvidia propriétaire, un petit coup de
apt-get install nvidia-kernel-dkms linux-headers-amd64
est suffisant.

On reboot, on se connecte tranquille, et après deux minutes le système se bloque complètement. Après deux heures d'Essais infructueux je remarque dans le /var/log/syslog:

Sep  7 21:50:58 leonard kernel: [  257.212660] NVRM: GPU at 0000:01:00.0 has fallen off the bus.

Finalement je supprime  nvidia-kernel-dkms et linux-headers-amd64, je reboote le système, et là miraculeusement Xorg se utilise le driver nouveau avec accélération 3D Gallium, et plus de plantage.
 (NB: Restreint signifie ici que j'utilise Gnome Classic et n'a rien à voir avec le fonctionnement de la carte)

Carte Son: mbp3 pour jouer des mp3
En branchant mes baffles sur la sortie, je me rend compte tout d'un coup que le système utilise le haut parleur interne pour au lieu de ma luxueuse HiFi Sony. Après avoir incriminé à tort PulseAudio pendant une bonne demi heure, je me rends compte que le coupable est le module snd-hda-intel.

Celui ci a besoin de l'entrée
options snd-hda-intel model=mbp3

dans /etc/modprobe.d/alsa-base.conf
pour fonctionner correctement (source)  

Clavier: Une carte pourrie pour nous sortir de là
Pas au bout de mes peines je me rends compte que les touches ^ (accent circonflexe) et '<' '>'  sont inversées sur mon clavier mac allemand. Apparemment il s'agit d'un bug sur les claviers apple, qui n'affichent pas les codes qu'ils prétendent envoyer.
Il faut donc corriger le problème en ajoutant:

XKBMODEL="pc105"
XKBLAYOUT="de"
XKBVARIANT="mac"
XKBOPTIONS="lv3:rwin_switch,apple:badmap"

dans /etc/default/keyboard

Conclusion: je fais le boulot d'Apple, Dell, et Toshiba
Les trois bugs mentionnés plus hauts ne me seraient jamais arrivés sur un portable acheté à la Fnac au rayon PC ou Apple.
Pourquoi ? Tout simplement pour n'importe quel PC de marque, le constructeur se charge de préinstaller Windows avec les meilleurs drivers, et se charge à cette occasion de masquer les défauts de ses propres produits via une couche de plâtre logiciel.
En installant vous même Linux ou un autre OS non préinstallé c'est vous qui effectuez ce travail.

Sur un serveur le problème est quasi inexistant car vous avez seulement besoin d'un driver pour votre contrôleur de disque et pour la carte réseau, le plus souvent maintenu directement par le constructeur (Intel, Broadcom) pour Linux et FreeBSD dans les sources du noyau.
Pour un portable vous avez en plus besoin de suspend to disk, suspend to RAM, bluetooth, wifi, accélération 3D, carte son, lecteur de carte Smart Media, touches de fonction Volume/Luminosité et maintenant écran tactile, carte graphiques hybride.

Update: ajout de liens vers les contributions  Intel/Broadcom à Linux & FreeBSD

Thursday, August 23, 2012

Gnome3: parfait pour un netbook


Voici un petit retour d'expérience sur Gnome3, installé sur un netbook depuis une semaine. Le Netbook en question est un modèle assez peu courant (un Intel Classmate, destiné au marché de l'éducation) mais utilise des composants très standards ( proc Atom N450, Chipset graphique Intel, Wifi Realtek .. )

Prise en main et support du hardware

J'ai installé Debian 7.0 (Wheezy) en version Beta, en bootant à partir du réseau. Les images iso fournies par Debian sont aussi utilisables comme image USB, il suffit de les copier bit a bit sur une clé USB
Après le premier boot, tout fonctionne (Suspend to Ram, Ethernet, Webcam, son, accélération 3D) sauf la carte wifi.

La carte réseau du netbook est le modèle suivant ( sortie de la commande lspci)

07:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
Subsystem: Device 1a32:0308

Il suffit d'installer le firmware depuis le catalogue non-free:

apt-get install firmware-realtek

et la carte réseau est reconnue.

Gnome3 est l’environnement par défaut de bureau de Debian, et donc relativement bien intégré au reste du système.

 Gnome 3 et Netbook: un mariage réussi

Tout d'abord pour ceux qui s'inquiéteraient des performance d'un environnement de bureau complet par rapport à un simple gestionnaire de fenêtre, je trouve le temps de boot du netbook tout a fait raisonnable environ 35 secondes jusqu'à l'affichage du navigateur web. NetBSD avec XFCE installé sur une autre partition mets quand à lui plus de 45 secondes à démarrer (et ne supporte ni wifi, ni suspend to RAM, ni accélération 3D)

La première fois que j'avais installé Gnome3 dans une machine virtuelle, je n'avais pour ainsi dire rien compris au paradigme de Gnome3 et j'avais plutôt été dérouté. Maintenant que j'ai compris le Paradigme "Laissons plus de place aux applications", et après avoir adoré WebOS l'OS de Palm qui ressemble en de nombreux points à Gnome3, je trouve Gnome3 très pratique.

Ce qui m'a tout d'abord marqué dans l'utilisation de Gnome3 c'est l'utilisation judicieuse de la place dans un écran réduit. 1024x600 cela vous laisse en effet pas grand chose et autant bien en tirer parti.
Tout d'abord Gnome3 se contente d'une fine barre de statut par défaut: pas de barre des taches remplies d’icônes illisibles, ni de menu démarrer rempli de programmes mal catégorisés comme dans Gnome2 ou Windows XP.
Ceci plus laisse de place pour les applications en verticale, encore plus quand on utilise Web, le navigateur livré avec Gnome3.

Regardons la même page Youtube avec Firefox et avec Web.

Contrairement À Firefox, Web affiche la barre de contrôle video sans avoir à scroller.

Gnome3 ne dispose pas de bouton réduire, ou maximiser pour la bonne raison que tout est en plein écran par défaut. Encore un choix judicieux pour un Netbook.

Dans le cas ou deux fenêtres auraient besoin d’être ouvertes simultanément, Gnome3, comme Unity, dispose d'un mode comparaison. Il suffit de "tirer" la barre de titre d'une fenêtre via un drag and drop sur le côté pour que cette fenêtre se réduise de moitié et se colle au bord de l'écran. Plus besoin de manipulations pesantes du coin inférieur droit de la fenêtre comme sous Gnome2, Mac ou Windows pour maximiser la place disponible.

Pour lancer un programme, changer de programme, rechercher un fichier ou sur le web, tout se fait à partir de la vue Activité, qu'on active en appuyant sur la touche Windows, ou Alt F1, ou en pointant le bord supérieur gauche de l'écran.

Depuis la vue Activité je peux ainsi lancer par exemple Virtualbox ou Audacity simplement en tapant "Auda" voire "Au" même sans avoir le focus. Ceci se révèle à l'usage bien plus pratique que de chercher si VirtualBox est dans le menu "Système" ou "Accessoires" comme dans Gnome2. Au fait pourquoi dans Accessoires ? Aucune idée.

Trois caractères à taper + Entrée et voila notre application démarrée

Depuis la vue activité on peut aussi insérer du texte, qui sera directement recherché sur Google ou Wikipedia. Car après tout qu'est ce qu'un Netbook si ce n'est une fine couche de software et une fine couche de hardware permettant de lancer le vrai OS: le navigateur Web ?

Gnome3 ne convient peut être pas à tous les cas d'usage, sur mon PC de bureau je suis resté à Gnome2, étant donné que j'ai deux écrans de 22 pouces, le besoin de place se fait pour l'instant moins ressentir, et que j'utilise sur ce dernier un workflow professionel spécifique avec 4 bureaux virtuels, 4 Terminaux ouverts en permanence, Firefox et une multitude d'extensions.

Tuesday, August 14, 2012

Copier la partition système d'une machine à une autre en préservant les id/gid

De façon générale pour copier la partition racine d'un disque à un autre, par exemple depuis un live CD, on peut utiliser la commande suivante:

cd /OLD
tar --numeric-owner -cpf - . | (cd /NEW && tar -xpf - )

L'option de tar --numeric-owner est ici capitale pour que chaque utilisateur retrouve bien ses fichiers à l'arrivée. Si votre système de fichier /OLD contient un fichier /OLD/postgresql (uid 1000) et que votre live CD contient l'utilisateur demo aussi avec un uid de 1000, sans cette option, tar recréera /NEW/postgresql en l'affectant à l'utilisateur demo ...

GNU Tar et le  tar de libarchive (utilisé par exemple sur FreeBSD) possèdent cette option.


Saturday, July 28, 2012

Convertir un fichier video pour l'utiliser dans un logiciel VJ (Resolume,Veejay)

Il semble que le format MJPEG soit le format préféré des logiciels de VJ'ing. FFmpeg, le couteau suisse de la video sous Unix, supporte naturellement ce format.

Pour convertir une video dans un format supporté en entrée par ffmpeg (c'est à dire: tous) en un mjpeg il suffira d'utiliser la commande suivante:
ffmpeg -i input.nimp -vcodec mjpeg -qscale 1 -an output.avi

ici -an signifie d'ignorer l'audio, et -qscale 1 signifie qualité à l'identique


ffmpeg -i output.avi 2>&1 | tail -5
  Metadata:
    encoder         : Lavf52.111.0
  Duration: 00:00:10.28, start: 0.000000, bitrate: 9263 kb/s
    Stream #0.0: Video: mjpeg, yuvj420p, 720x576 [PAR 16:15 DAR 4:3], 25 tbr, 25 tbn, 25 tbc

On a bien un fichier mjpeg.

Thursday, July 26, 2012

HP Pre3: un smartphone sous Linux non bridé

En 2010, j'avais fait le choix d'un palm pre comme smartphone, et j' avais dit le bien que j'en pensais a plusieurs reprises. Après avoir perdu le smartphone en question, je l'ai racheté en version 3, maintenant sous marque HP.
Encore une fois je me félicite de la facon avec laquelle on obtient un accès complet (compte root sur la plateforme) en installant deux paquets debian, et en activant le mode développeur, tout ceci indiqué la documentation officielle de HP.

Les seuls autres téléphones que je connaisse qui offre ce niveau de liberté sont la défunte plateforme Maemo de Nokia, et la série Nexus de Google.
A quoi sert un accès root ? Par exemple pour moi à ajouter le point d'accès de son obscur opérateur téléphonique (yesss, Austria, HP Pre 3 , carrierdb.json, bonjour moteur de recherche)  en suivant cette documentation.

Le fichier de conf en question à ajouter à carrierdb.json se trouve sur pastebin.

Monday, July 16, 2012

Copie à l'identique d'un DVD video sous Linux

La video que ce soit sous Unix, Windows ou Mac, c'est une jungle de formats différents. Alors qu'un fichier .odt ou .jpeg correspond a un type de données bien précis, un fichier .mpeg, .mov ou .avi ne vous renseigne pas beaucoup sur les données du fichier. L'extension ne désigne en effet que le type de container, à l'intérieur duquel vous pouvez avoir de la video au format h264, mpeg1, de l'audio au format aac, mp3 ...

Voyons maintenant le cas d'une copie à l'identique d'un DVD video. Je souhaite copier l'intégralité d'un petit film, afin de l'éditer dans le logiciel de montage video openshot, sans perte de qualité.
Si je suis prêt à perdre de la qualité pour un fichier six fois plus petit, je conseille d'utiliser l'excellent Thoggen qui encodera les fichiers en ogv (Ogg Theora),  avec une interface graphique ultra simple.

Une fois le DVD inséré, ffmpeg nous renseigne sur les codecs utilisés dans la video (les fichiers video de DVD sont des .vob):
ffmpeg -i /media/cdrom0/VIDEO_TS/VTS_01_1.VOB 2>&1| tail -5
Input #0, mpeg, from '/media/cdrom0/VIDEO_TS/VTS_01_1.VOB':
  Duration: 00:27:47.84, start: 0.060000, bitrate: 5150 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 16:15 DAR 4:3], 7000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Dans ce jargon on distingue que le film est encodé avec le codec video mpeg2 et le codec audio ac3

On extrait tout d'abord l'ensemble des fichiers video du DVD dans un .vob unique dans le répertoire courant:
vobcopy -l

On convertit le .vob un fichier mpeg, sans changer ni la qualité de la vidéo, ni celle de l'audio
ffmpeg -i 23_1APRIL2.vob -vcodec copy -acodec copy 23_1APRIL2.mpg

On vérifie avec ffmpeg que l'encodage est resté le même:

ffmpeg -i 23_1APRIL2.mpg  2>&1 | tail -5
Input #0, mpeg, from '23_1APRIL2.mpg':
  Duration: 01:40:36.79, start: 1.000000, bitrate: 5223 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 16:15 DAR 4:3], 7000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/

Le fichier obtenu est volumineux, car nous avons gardé la qualité du DVD original
ls -sh 23_1APRIL2.mpg
3,7G 23_1APRIL2.mpg

Le résultat pourra directement être édité dans Openshot, ou lu avec la pluspart des lecteurs video sous Linux.

NB: Pour un ffmpeg capable de lire tous les codecs video, il vaudra mieux installer le paquet ffmpeg contenu dans les repositories Deb Multimedia (Debian) ou Medibuntu (Ubuntu)

Saturday, July 14, 2012

Copie de DVD sous Linux: enfin quelque chose de SIMPLE

Ayant besoin de copier un DVD video sous Linux (Debian Squeeze), je me voyais déjà, non pas en haut de l'affiche, mais avec des  -vo acc3_x264_mspte -vr 640*324:44 à taper dans mencoder.

Après avoir installé thoggen avec apt-get install thoggen, il a suffi de cliquer "valider" deux fois, et hop l'encodage était déja en cours, avec fenêtre de prévisualisation s'il vous plait ! Thoggen encode par défaut en Ogg/Theora, format libre; ce choix m'est par ailleurs indifférent, n'ayant aucune envie de rentrer dans la jungle des codes / containers.



Finalement après une expérience particulièrement réussie de montage vidéo avec OpenShot pour Tabor Live Dub, je dois reconnaître que la Video sous Linux, finalement ca marche, sans avoir besoin de passer des heures sur le teminal.

Tuesday, May 22, 2012

Documentation avant le changement: Desktop 2012

Pas grand chose à voir avec les dernières élections mais plutôt une photo d'un appartement virtuel, le bureau de ma station de travail principale, avant le passage à Gnome 3.


Ceci est un bureau Gnome 2 avec Docky, Gnome Do, et Compiz, qui correspond aux features de Gnome 3  (Dock, Vue Application, Menu Applications) installées à partir d'éléments séparés.
Je pense qu'au niveau fonctionnalités, je n'ai donc pas trop de souci à me faire.
Les applications ici visibles sont Mame (émulateur de bornes d'arcade), son front end Gnome Video Arcade, l'émulateur Atari ST Hatari, et le navigateur Iceweasel/Firefox.



Wednesday, April 18, 2012

Des Unix libres partout: Minix 1.5 sur Atari ST

Linux ou NetBSD sur i386, amd64, powerpc ou ARM, d'accord on connaît.
Mais si on installait un Unix libre, avec micro noyau et license BSD sur notre bon vieil Atari ST ?
En suivant les instructions suivantes, j'ai donc installé Minix en version 1.5 sur un Atari 520 STE, doté de 4 Mo de Ram et d'un disque dur d'une taille faramineuse de 20 Mo. La documentation exhaustive rend l'installation relativement aisée, le plus long restant de préparer les images des six disquettes.

Une fois  Minix installé il est possible d'activer un terminal sur le port série pour pouvoir se connecter depuis une autre machine, et là attention votre monstre de 4Go de RAM / quad core devient un terminal passif pour votre Atari de 4Mo / 8Mhz.



L'environnement en lui même est assez semblable à BSD 4.3 comme le montre la présence de la commande machine, ou la syntaxe de la commande ps. Pas de TCP/IP, mais il est possible de transférer des fichiers via kermit, zmodem en utilisant le port série.

Que faire à partir de la ? Minix 1.5 est livré avec son code source et dispose de tous les outils Unix standards. On peut donc moyennant patches y installer de vieilles versions de GCC et Bash. Et en utilisant Minix 1.5 comme système de développement, on a déjà pu démarrer pas mal de choses.

Tuesday, March 6, 2012

Trois messages d'erreur parmi les plus confus sous Unix / Linux


Je conserve une collection de messages d'erreurs inattendus, en voici un florilège:

Le dossier qui n'était pas un dossier

# Création d'un répertoire de test
mkdir /tmp/my_dir
# On crée un lien symbolique vers ce répertoire
ln -s /tmp/my_dir /tmp/my_link# On efface le lien symbolique ( completion du nom en tapant deux fois Tab pour faire apparaître le slash / à la fin )
rm /tmp/my_link/
rm: impossible de supprimer « /tmp/my_link/ »: est un dossier
rmdir /tmp/my_link/
rmdir: échec de suppression de « /tmp/my_link/ »: N'est pas un dossier
# Faudrait savoir ...
#La solution 
rm /tmp/my_link 

Est-ce un bug des coreutils ( dont fait partie rm) sous Linux ?  Sous NetBSD la commande rm /tmp/my_link/ efface bien le lien symbolique.

Mount prétend que le disque dur n'existe pas

Depuis le CD d'install GNU/kFreeBSD, en exécutant un shell de secours.
#On monte la partition racine depuis le live CD
mount /dev/da4s1 /mnt
mount: mounting /dev/da4s1 on /mnt/failed: No such file or directory

Alors que /dev/da4s1 et /mnt existent bien ! La solution (discutée ici):
mount -t ufs /dev/da4s1 /mnt

Mount prétend que root n'est pas root

Depuis le CD d'install GNU/kFreeBSD, en exécutant un shell de secours.
#On monte la partition racine depuis le live CD
mount -t ufs /dev/da4s1 /mnt
mount:permission denied (are you root?)

La solution: rien à voir ici avec un problème de droits, /dev/da4s1 n'a pas été démontée proprement. Il faut tout d'abord effectuer
fsck.ufs /dev/da4s1
avant de monter la partition.

Tuesday, January 3, 2012

La complexité de Drupal: pourquoi tant de termes et de concept à maîtriser ?

Une bonne indication de la complexité d'un corpus de savoir ( logiciel à manipuler, contenu de livre à assimiler, partition de musique à interpréter ) est donné par la taille du lexique spécifique à celui ci.

Pour développer pour Debian il faudra connaitre upstream/downstream, unstable / testing / stable / oldstable, bikeshedding, sponsor, debian maintainer, debian developer, non-maintainer upload , FTBFS, override file, autobuild. A part bikeshedding et upstream, tous ces termes sont spécifiques à Debian.
Pour lire un livre ou un texte de Bourdieu, il sera bon de connaître habitus, champ, violence symbolique, déshistoricisation.
Pour créer un site avec le framework Drupal, il vous faudra connaitre la signification des termes suivant:
core module / contributed module, permission, roles, node, authenticated user, taxonomy, region, block, primary and secondary links.

Un lexique important demande bien sûr un temps d'apprentissage conséquent. Mais en même il reflète la qualité organisationnelle  de l'auteur du corpus. Nommer un objet, et plus encore créer un terme spécifique, c'est dissiper l’ambiguïté d'un terme trop générique. C'est aussi créer du "neuf", tellement neuf qu'une délimitation lexicologique s'impose avec "l'ancien". Ainsi le "node" de drupal, décrit une page html avec son contenu, unité de base d'un site drupal.
Utiliser "node" plutôt que page, permet de regrouper dans une meta catégorie tous les types de pages qu'un site drupal peut contenir ( article, post de blog, entrée de wiki, page d'accueil ) et permet à la communauté Drupal d'échanger en interne en connaissance de cause.