Linux



pierre-paul
28 octobre 2008

Une promesse tenue!

La compagnie Codeweavers avait fait un pari vis-à-vis le dernier terme du président Bush. Si celui-ci réussissait à remettre le prix de l’essence à un niveau raisonnable, la compagnie Codeweavers donnerait pour une période de 24 heures, leur application CrossOver gratuitement.

L’application CrossOver permet aux utilisateurs de Linux ou de Mac OS de rouler des applications Windows. CrossOver se sert de Wine et ajoute le support d’une multitude d’applications et de jeux qu’on ne retrouve pas normalement sur Wine.

À noter par contre que les serveurs de Codeweavers sont présentement en surcharge et le site est inaccessible pour donner des clefs d’activation mais toujours disponible pour le téléchargement d’application.





pierre-paul
22 octobre 2008

Flash 10 sur ubuntu

Depuis déjà un petit bout de temps une version de Flash 10 est disponible pour Ubuntu. Il est disponible sur ce lien pour les versions 32 bits mais aucun support n’est officiellement fait pour les versions 64 bits. Sur certains de nos ordinateurs nous avons dû modifier légèrement le fichier d’installation de la version 32 bits afin de pouvoir l’installer sur un Ubuntu 64 bits. Quoique fonctionnelle, cette méthode n’est pas l’idéale. Une méthode simple est maintenant disponible sur HowToForge. La méthode utilise le nspluginwarper qui permet de rouler des plugins qui ne sont pas fait pour votre architecture. La sécurité est meilleure et il y a beaucoup moins de chance de tomber sur des bugs étranges.





yan
8 octobre 2008

Gentoo-Québec

La dernière parution de la Gentoo Monthly Newsletter du 30 septembre dernier mentionne Gentoo-Québec, une organisation bien de chez nous qui offre désormais des séances d’apprentissage d’administration Linux sur Gentoo. J’imagine que ce mouvement est aussi à surveiller autant que la Semaine Québécoise de l’Informatique Libre mentionnée sur notre blog où Linux Québec organise des journées d’installation GNU / Linux: Gentoo-Québec .

Administrateurs systèmes actuels et wannabe, vous en serez ravis, Gentoo ayant l’habitude de documenter d’avantage l’administration Linux plus essentielle à son installation qu’Ubuntu, notamment grace à son wiki, où j’ai pu trouver pour monter les systèmes de fichiers NTFS et BSD ainsi que pour enchaîner Grub depuis Microsoft Windows. Go Portage!





yan
3 octobre 2008

Démarrage enchaîné (chainloading)

J’ai mentionné plus tôt comment Windows pouvait enchaîné son démarrage vers un autre système d’exploitation à l’aide de logiciels tirés d’Internet. Mais absolument aucun de ceux-ci n’est nécessaire à la condition de savoir installer et configurer les gestionnaires d’amorçage natifs des systèmes d’exploitation libres, ce que j’aurai chercher tout l’été dernier.

Linux Loader (Lilo)

Lilo est plus simple à prime abord puisque son fichier de configuration mentionne où lilo sera installé, information qui se retrouvera dans le secteur de démarrage. Par contre il est plus limité que son successeur Grub notamment pour gérer le boot flag qui signale la partition démarrée.

Le fichier lilo.conf:

#(Indiquer où installer Lilo, où XY sont les numéros de disque et de partition, h pour disques IDE, s pour SATA ou SCSI)
boot=/dev/hdXY ou boot=/dev/sdXY

#(Délai avant exécution par défaut)
timeout=99

#(Pour GNU / Linux)
image=/chemin/vers/noyau
label=Titre #(Titre à afficher dans le menu)
root=/dev/hdXY ou root=/dev/sdXY
read-only

#(Enchaînement des autres systèmes d’exploitation)
other=/dev/hdXY ou other=/dev/sdXY
label=Titre
#(Plusieurs exemples mentionnent ces deux lignes mais j’ai réussi sans elles)
loader=/boot/chain.b #(enchaînement)
table=/dev/hdXY ou table=/dev/sdXY #(table des partitions à utiliser)

Exécutez /sbin/lilo ou /sbin/dolilo pour installer Lilo là où vous l’avez mentionné dans lilo.conf.

Le GNU GRand Unified Bootloader (GRUB)

Grub est plus utilisé et plus versatile que Lilo. Il supporte notamment la gestion du boot flag et les partitions UFS de BSD. Grub utilise une syntaxe universelle pour numérotter les disques et les partitions à partir de zéro: hd(Disque,Partition) ou hd(Disque,Partition,Lettre) pour une partition BSD où Lettre est sa sous-partition racine.

Le fichier menu.lst (ou grub.conf):

#(Délai avant exécution par défaut)
timeout 99
#(Sélection par défaut)
default 9

#(Pour GNU / Linux, où XY sont les numéros de disque et de partition et Titre le titre à afficher:)
title Titre
root (hdD,P)
#(Sans initrd)
kernel /chemin/vers/noyau root=/dev/hdXY
ou
kernel /chemin/vers/noyau root=/dev/sdXY
#(ou avec initrd, Taille étant la taille de ramdisk en Ko)
kernel /chemin/vers/noyau root=/dev/ram0 real_root=/dev/hdXY ramdisk=Taille init=/chemin/vers/initscript dans initrd
ou
kernel /chemin/vers/noyau root=/dev/ram0 real_root=/dev/sdXY ramdisk=Taille init=/chemin/vers/initscript dans initrd
initrd /chemin/vers/initrd
ou
initrd /chemin/vers/initramfs

#(FreeBSD)
title Titre
root (hdD,P,L)
#(Démarrer directement son noyau)
kernel /boot/loader
#(ou enchaîner son secteur de démarrage volume boot1)
rootnoverify (hdD,P,L)
makeactive
chainloader +1

#(Windows)
title Titre
rootnoverify (hdD,P)
#(Enchaîner NTLDR ou bootmgr)
makeactive
chainloader +1

Le fichier de configuration ne mentionne pas où sera installé Grub. Il faut l’installer soi-même avec la commande grub. Grub est généralement installé avec setup comme suit:

#(Mentionner la partition du noyau)
root (hdX,Y)
setup(hdX,Y)

Ceci va installer Grub dans un secteur de démarrage volume d’une partition principale non-étendue, et prière de ne pas utiliser la partition d’échange (swap). Vous pouvez aussi installer Grub dans un secteur de démarrage maître comme suit:

root (hdX,Y)
setup(hdX)
#(ou pour une disquette)
setup(fdX)

L’inconvénient de la méthode setup est qu’il ne spécifie pas dans le code du secteur de démarrage le disque où Grub est installé, ce qui empêche Windows de l’enchaîner sur un autre disque que celui de son propre gestionnaire d’amorçage (NTLDR ou bootmgr). La méthode explicite install corrige le problème en mentionnant TOUS les paramètres, surtout le paramètre d:

root (hdX,Y)
#(au besoin, remplacer menu.lst par grub.conf)
install /chemin/vers/stage1 d (hdX,Y) /chemin/vers/stage2 p /chemin/vers/menu.lst

Grub ne répondra rien, contrairement à la méthode setup, puisque tout a été dit déjà. Grub est maintenant enchaînable comme Lilo.

Berkeley Software Distribution (BSD)

BSD utilise boot0 comme secteur de démarrage maître au début du disque et boot1 comme secteur de démarrage volume au début d’une partition UFS pour appeler boot2 sur cette partition qui démarrera le programme loader chargé de démarrer le noyau kernel. Tous sont situés dans le dossier /boot.

Seul boot0 doit être installé manuellement par la commande boot0cfg. Celui-ci fonctionne suivant le principe d’une liste chaînée: les touches F1 à F4 démarrent une des partitions principales du disque en cours et F5 passe au suivant ou revient au premier.

boot0cfg -Bv -d DisqueHex -s Tranche -o setdrv,noupdate -f /chemin/vers/Backup -t Timeout /dev/adX

où DisqueHex est le disque pour lequel vous faites un secteur de démarrage maître numérotté à partir de 0×80, Tranche est la partition à démarrer par défaut, Backup un backup optionnel de l’ancien secteur de démarrage maître, Timeout le délai avant l’exécution automatique et X le disque où installer boot0.

À noter que Microsoft Windows peut être bousillé s’il ne distingue pas son secteur de démarrage maître de son secteur de démarrage volume. Pour ce faire, avant son installation, on recommande de démarrer avec un LiveCD de GNU/Linux pour lui préparer une partition NTFS qui peut quand même prendre tout le disque et activer son boot flag et désactiver ceux des autres partitions. S’il s’agit de Windows Vista, ne pas oublier de désactiver le contrôle des comptes utilisateurs pour exécuter ces trois commandes bcdedit pour que bootmgr retrouve toujours winload.exe pour charger le noyau ntoskrnl.exe:

BCDEDIT /set {bootmgr} device boot
BCDEDIT /set {default} device boot
BCDEDIT /set {default} osdevice boot

Sinon Windows Vista ne démarrera plus.

NT Loader (NTLDR)

Microsoft Windows NT/2k/XP/2k3 utilise NTLDR et le fichier boot.ini pour démarrer. Il faut ajouter la ligne C:cheminversfichiermbr= »Titre » à ce fichier pour enchaîner un autre gestionnaire d’amorçage sur une autre partition, où fichiermbr est une copie du secteur de démarrage de cette partition.

GUN / Linux produit cette copie avec la commande Data Définition (dd), blocksize (bs) de 512 octets une fois, count=1:

dd if=/dev/hdXY of=/chemin/vers/fichiermbr bs=512 count=1
ou
dd if=/dev/sdXY of=/chemin/vers/fichiermbr bs=512 count=1

C’est cette copie qui ne fonctionnera pas si Grub est installé avec la méthode setup sur un autre disque que celui où réside NTLDR, mais tous les forums sur Internet n’en sont pas au courant!

BSD fournira boot1 s’il est installé sur le même disque que NTLDR, sinon il faut créer une copie de boot0 pour Windows au secteur de démarrage maître de BSD qui passera instantanément au disque suivant dès l’enchaînement:

(Créer le secteur de démarrage maître pour Windows, ou X est le disque ou BSD est installé)
boot0cfg -Bv -d 0×80 -s 5 -o setdrv,noupdate -t 1 /dev/adX
(Faire un backup de celui-ci et restaurer le secteur de démarrage maître de BSD)
boot0cfg -Bv -d 0x8X -s 1 -o setdrv,noupdate -f /chemin/vers/fichiermbr /dev/adX

Windows Boot Manager (bootmgr)

Windows Vista utilise désormais bootmgr et le Boot Configuration Data à travers la commande bcdedit.exe pour prendre des copies de secteurs de démarrage et enchaîner.

bcdedit /create /d « Titre » /application BOOTSECTOR (cette commande retourne un identifiant ID)

bcdedit /set {ID} device boot (cette commande définit la partition à démarrer, en l’occurence la partition marquée active par le boot flag, visible sous fdisk)

bcdedit /set {ID} PATH cheminversfichiermbr (cette commande indique l’emplacement de votre copie de secteur d’amorçage à exécuter)

bcdedit /displayorder {ID} /addlast (cette commande dit d’ajouter la nouvelle entrée à la fin du menu, l’alternative étant /addfirst)

Plus besoin de bootpart.exe et d’EasyBCD!

Notez que le BIOS peut permuter deux disques durs si le boot flag se retrouve sur un autre disque que le premier, ce qui peut perturber vos gestionnaires d’amorçage. Démarrer une partition sur le premier disque généralement règle le problème: c’est un bogue!

Remarquez aussi que Microsoft Windows n’a pas de partition d’échange (swap), cette fonction étant assurée par le fichier d’échange pagefile.sys et le fichier hiberfil.sys pour l’hibernation, chacun d’une taille similaire à votre mémoire vive.





yan
25 août 2008

Systèmes de fichiers

Chaque système d’exploitation s’installe sur son propre système de fichiers, mais ceux-ci peuvent aussi monter des volumes d’autres systèmes d’exploitation installés sur la même machine.

Berkeley Software Distribution (BSD)

Le noyau de BSD supporte NTFS, NFS, SMBFS/CIFS et ext2/ext3 à travers ses propres options nativement. La commande « mount -t type /dev/partition endroit » fait le travail habituel.

GNU/Linux

Linux doit être configuré avec la commande « make menuconfig » et compilé avec les options nécessaires pour monter des volumes étrangers:

SMBFS / CIFS:
File systems —>
Network File Systems —>
<*> SMB file system support
OR
<*> CIFS support

FAT / NTFS:
File Systems —>
DOS/FAT/NT Filesystems —>
<*> MSDOS fs support
<*> VFAT (Windows-95) fs support
<*> NTFS file system support

UFS (BSD):
File Systems —>
Miscellaneous Filesystems —>
<*> UFS file system support
et:
File Systems —>
Partition Types —>
[*] Advanced partition selection
[*] PC BIOS (MSDOS partition tables) support
[*] BSD disklabel (FreeBSD partition tables) support

À noter que pour qu’une partition ext2/ext3 soit montable par d’autres systèmes d’exploitation sans problèmes, celle-ci doit être formatée par mke2fs avec des inodes à 128 octets. Ma partition Ubuntu sur mon poste est formattée avec des blocs de 4 Ko et des inodes de 128 octets, c’est parfait!

Microsoft Windows

Différents logiciels permettent à Windows de monter des volumes étrangers:

ufs2tools
Permet de lire des fichiers sur une partition UFS de BSD sur la ligne de commande. On trouve avec bsdlabel.exe la partition BSD à l’aide des indices du disque et de la tranche (slice) dessus et on fournit ces trois indices à ufs2tool.exe qui peut copier des fichiers de BSD à Windows.

UFS Explorer
Ce logiciel permet de lire autant des partitions UFS que ext2/ext3 en autant que les fichiers à copier ne dépassent pas 64 Ko, sinon il faut payer une license, doh…

IFS-Driver
Ce logiciel s’installe dans votre panneau de configuration et vous permet d’assigner des lettres de lecteurs à vos partitions ext2/ext3 à la volée.

Ext2fsd
Ce logiciel vous permet de créer des lecteurs permanents pour vos partitions ext2/ext3 en leur assignant une lettre, mais un redémarrage est nécessaire.