Sommaire
La première question que tu te poses est probablement "Mais pourquoi donc voudrais-je d'une libellule dans mon ordinateur ?". Eh bien, je ne peux pas t'aider. Je m'apprête simplement à t'expliquer comment. Avant tout, et pour que les choses soient claires dès le début, voici une liste de ce qui ne fonctionnera probablement pas :
- l'hibernation
- les cartes graphiques NVIDIA
- chromium, KDE4, gnome3.
- ton casque bluetooth dernière génération
Les cartes graphiques Intel et ATI devraient fonctionner avec le pilote DRM. Si tu es encore là, nous pouvons nous lancer dans la quête d'un système DragonFlyBSD fonctionnel pour ton ordinateur de bureau.
Obtenir une libellule
Installation
Avant tout il te faut télécharger une nimage de libellule, depuis un nid de libellule. Tu peux parcourir la liste des nids de libellule et choisir le plus proche de chez toi. Ensuite, il te faut convaincre la libellule de venir s'installer sur ton disque dur. Je ne vais pas décrire cette étape en détail, car la procédure est relativement habituelle (non, l'installateur ne ressemble pas à Windows XP), et elle est expliquée dans la langue internationale (pas celle du mec à perruque qui rédigeait des pièces de théâtre).
Si tu crains que la maison de ta libellule soit cambriolée, tu peux activer le chiffrement de la partition racine lors de l'installation. Le chiffrement utilise une implémentation compatible avec TrueCrypt. À cause de l'utilisation du système de fichier HAMMER, tu vas avoir besoin de beaucoup de place. Au minimum 50Go (pour /home et /), mais tabler sur 100Go n'est pas une mauvaise idée. j'expliquerai plus loin pour quelle raison. À des fins de tests, 20Go peuvent être suffisants, mais je te déconseille d'utiliser un tel système à moins que tu ne sois adepte de l'arrachage de cheveux permanent ou que tu ne veuilles finir en pleurs, le visage plein de cendres demandant à genoux à l'univers pour quelle raison il est si cruel avec toi. Tu es prévenu.
Cela étant dit, si la chance t'a souri, tu as désormais redémarré sur ta machine, prête à traverser les cieux propulsée par un odonatoptère à 4 ailes. Magnifique. Toutefois, un détail cloche, tu te retrouves devant une magnifique ligne de commande en 80x40, muni d'une police de caractères ne supportant pas UTF-8, te demandant si tu n'as pas été propulsé 40 ans dans le passé. Don't panic. Il est temps d'y remédier.
Note sur les éditeurs de texte
L'éditeur par défaut est vi. Si cela ne convient pas, tu peux changer la valeur de la variable d'environnement $EDITOR. Note que pour l'instant, avant que tu ne puisses installer des paquets et par la même occasion ton éditeur favori, ton seul autre choix (si l'on exclu ed) est edit :
setenv EDITOR edit
Il est relativement simple à utiliser, tous les raccourcis sont indiqués en haut. Note le "C-C cmd" qui te permettra de quitter/sauver/etc.
Connexion réseau
Dans un premier temps il faut pouvoir se connecter au nain ternet.
Connexion filaire
Peut-être as-tu déjà configuré ta connexion dans l'installateur, dans ce cas tu peux faire un grand bond vers la suite des explications.
La plupart des drivers sont compilés directement dans le noyau GENERIC. Tu peux vérifier que ta carte est reconnue en utilisant
ifconfig -a
La carte aura un nom constitué du nom du driver et d'un chiffre, par exemple "em0". Si elle n'est pas reconnue, tu peux chercher s'il y a un driver disponible et le charger avec la commande (en root bien évidement) :
kldload <driver>
Je suppose que tu utilises DHCP, dans ce cas il te suffit d'ajouter la ligne
ifconfig_em0="DHCP"
au fichier /etc/rc.conf, puis de redémarrer le service de configuration réseau :
rcrestart netif
Hop Hop Hop, adieu la solitude, ta libellule est prête à s'envoler sur le réseau !
Wifi
Bon, si tu es moderne et que les câbles ça t'ennuie, tu veux peut-être te connecter en wifi. Je vais supposer que tu es quelqu'un de prudent et que ta connexion est chiffrée, il te faut donc utiliser wpa_supplicant. J'expliquerai plus loin comment utiliser une interface graphique pour gérer son wifi, mais pour l'instant il faut faire ça à la main.
Commençons par vérifier si ta carte est reconnue :
ifconfig | grep -B3 -i wireless
Contrairement aux pilotes Ethernets, les pilotes wifi ne sont pas tous compilés dans le noyau GENERIC. Tu dois donc chercher un driver pour ta carte wifi, en lisant le manuel. Les pilotes s'appellent en général comme le début du fabriquant, par exemple ath (man 4 ath) pour atheros, iwn (man 4 iwn) pour intel wireless network. Certaines cartes USB sont aussi reconnues, comme urtwn (realtek usb). Si aucun pilote n'est disponible, je suis désolé pour toi. Tu peux toujours essayer l'émulation de pilotes windows, pour plus d'informations consulte man ndis, ndisgen.
Une fois le pilote trouvé, tu peux le charger avec la commande
kldload if_<pilote>
Puis ajouter la ligne
if_<pilote>_load="YES"
au fichier /boot/loader.conf de sorte que le pilote soit chargé au démarrage par le noyau.
Tu dois maintenant créer un fichier de configuration qui correspond à ton réseau wifi sous le nom /etc/wpa_supplicant.conf. Un fichier d'exemple est distribué dans /usr/share/examples/etc/wpa_supplicant.conf, mais dans le cas de base d'un réseau WPA-PSK, la configuration se résume à
network={
ssid="simple"
psk="very secret passphrase"
}
Ensuite, il faut notifier le système d'init de la présence de ta carte wifi en ajoutant au fichier /etc/rc.conf
wlans_<pilote>0="wlan0"
ifconfig_wlan0="WPA DHCP"
Puis relancer le service réseau pour se connecter :
rcrestart netif
Bravo, te voilà connecté au réseau.
Configuration de l'environnement
Xorg
Ouf ! Tu vas pouvoir enfin installer une interface graphique digne de ce nom.
Commençons par installer xorg.
pkg install xorg-minimal
Si tu as une carte graphique NVIDIA, je suis désolé pour toi, mais il n'y a pas de pilote DRM disponible et je ne sais pas trop quelles solutions s'offrent à toi. Sinon, tu dois installer le driver intel ou ati, en fonction : xf86-video-ati ou xf86-video-intel. (prend soin de prendre la dernière version disponible pour le pilote intel, les performances sont bien meilleures, actuellement deux versions sont disponibles que tu peux lister avec :
pkg search xf86-video-intel
Si tu es l'heureux, (si l'on peut dire !) possesseur d'un touchpad, n'oublie pas d'installer le driver xf86-input-synaptics. Tu peux aussi installer tout les pilotes avec xorg-drivers (on est jamais sûr de rien).
Ensuite, si tu veux avoir à ta disposition un dispositif de pointage quelconque (il parait que ça sert parfois) tu dois démarrer et activer le service moused
rcenable moused
xfce4, firefox
Non, Chromium ne fonctionne pas. De même que KDE4 ou gnome3. Mate est disponible tout comme e17, ou ton gestionnaire de fenêtre tiling favori.
Installons donc xfce4 et firefox :
pkg ins xfce firefox
Activons DBus :
rcenable dbus
puis il est temps de démarrer X :
xinit /usr/local/bin/startxfce4
Et voilà ! Il ne te reste plus qu'a mettre en place ta méthode préférée pour lancer automatiquement une session graphique (xdm, autosart dans le .profile, ce que tu veux).
Un peu de configuration
Économie d'énergie
Si ta libellule est portable, tu veux surement économiser un peu ta batterie. Pour cela, plusieurs choses à faire. Tout d'abord, active powerd, qui va automatiquement réduire la fréquence de ton cpu quand il est peu utilisé :
rcenable powerd
Ensuite tu peux dire au noyau d'utiliser les CStates pour mettre ton CPU en sommeil quand il n'a rien d'autre à faire.
sysctl machdep.mwait.CX.idle=AUTODEEP
à défaut, si cela n'est pas supporté, tu peux te rabattre sur
sysctl machdep.mwait.CX.idle=AUTO
Gestion du wifi avec une interface graphique
wpa_supplicant est très flexible. Tu peux t'en servir pour qu'il se connecte automatiquement aux réseaux que tu veux, avec des priorités selon ceux qui sont disponibles. Mais si tu n'as pas envie de jouer le barbu, tu peux utiliser le logicel wifimgr, présent dans les ports. C'est en réalité une interface au dessus de wpa_supplicant, et il peut s'avérer pratique.
HAMMER
HAMMER est un système de fichier particulier, que je ne décrirai pas en détail ici. Toutefois, il y a une chose que tu devrais savoir, c'est que quand tu supprimes un fichier, le noyau ne le supprime pas vraiment. C'est pour ça que je disais plus tôt qu'une taille raisonnable est nécessaire si tu ne veux pas que ton disque soit continuellement rempli.
Un système de fichier hammer est divisé en sous volumes appelés Pseudo FileSystem (ou PFS de leur petit nom). Tu peux voir la liste de tes pfs actuels comme ceci :
ls /pfs
Tu peux te rendre compte que certains dossiers courants, comme /usr ou /var sont en fait sur des PFS séparés, et qu'ils sont montés sur leur destination. (regarde donc dans /etc/fstab).
Il est possible de créer des snaphsots (en lecture seule) de chacun de ces pfs, en utilisant la commande
hammer snapshot /pfs/usr /my/snapshot/name
Petit conseil, ne commence pas à créer des snapshots à tort et à travers dans pleins de dossiers, sinon tu vas te retrouver avec un système de fichier plein sans savoir d'où viennent les données.
Le système prend un snapshot anonyme automatiquement toutes les secondes environ. Ce qui fait que tu peux parcourir l'historique de tes fichiers ou dossiers, et voir les modifications successives qui y ont été apportées avec la commande :
undo -i /mon/fichier/ou/dossier
Si dans un élan d'égarement éthylique tu as supprimé par mégarde 3h de travail, ne te désespère pas ! Les fichiers sont toujours là. Il te suffit de les récupérer en utilisant le numéro de transaction trouvé avec undo :
cp /mon/fichier@@0x000000016cd60eb0 /recupération/ouf
ou pour un dossier :
cpdup -i0 -j0 -VV /mon/dossier@@@@0x000000016cd60eb0 /recupération/pfiu
En outre, le système prend explicitement un snapshot à intervalle régulier donné, et les conserve pour une période que tu peux définir en utilisant la commande
hammer viconfig /pfs/<PFS>
Il te suffit d'éditer la ligne
snapshots 1d 60d
1d signifie qu'un snapshot sera gardé chaque jour pour 60 jour. Je te conseille de réduire cette durée si tu as un disque limité. Chaque jour, le système supprime aussi l'historique plus ancien que le dernier snapshot explicite (c'est le boulot de la commande prune que tu peux voir dans viconfig). Ces snapshots sont accessibles dans le dossier /var/hammer/.
Ce qui nous amène à un problème. En effet, ces tâches de maintenances sont lancées par cron(8) chaque jour grâce au système /etc/periodic/. Mais, si tu n'es pas du genre à laisser ta machine allumée 24h sur 24, ces tâches ne seront probablement pas exécutées, car la tâche cron s'éxécute à 3h01 temps local.
Je te conseille donc d'ajouter une tâche cron root qui lance la commande
hammer cleanup
toutes les 30 minutes. La commande lance toutes les opérations de maintenance de hammer, mais si les périodes définies dans hammer viconfig ne sont pas écoulées depuis le dernier appel, elle ne fera rien, il est donc peu coûteux de la lancer si fréquemment. Pour ajouter une tache cron :
crontab -e
Puis ajoute la ligne :
*/30 * * * * hammer-cleanup
Hammer fournit d'autres fonctionnalités assez pratiques, comme la déduplication ou la réplication automatique, que je te laisse découvrir en consultant le manuel.
Bzzz Bzzz, ta libellule a des choses à te dire
Sur une machine de bureau, il arrive que l'on veuille se servir de la sortie son ou des hauts-parleurs. Sisi, ça arrive, je t'assure. Tu as peut-être remarqué que pour l'instant ta libellule est définitivement muette. Mais tu peux y remédier. Commence par trouver le pilote de ta carte son, qui s'appelle snd_quelquechose. La plupart des cartes son pour ordinateur portable sont supportées par le pilote snd_hda. Il existe aussi un pilote uaudio que tu peux utiliser si tu es l'heureux possesseur d'une carte son USB.
Il te faut donc charger le pilote et informer le noyau qu'il doit le charger automatiquement :
kldload snd_hda
echo 'snd_hda_load="YES"' >> /boot/loader.conf
Et le son devrait fonctionner. À des fins de tests, tu peux écouter les extra-terrestres :
dd if=/dev/urandom count=100 of=/dev/dsp0
Au passage, si tu as opté pour xfce4, tu peux installer le paquet
pkg install xfce4-mixer
et ajouter le greffon "contrôle du volume" à ta barre des tâches.
Et voilà ! tu as désormais une libellule dans ton ordinateur ! Si tu as des questions ou que tu trouves un bugWW une fonctionnalité cachée, n'hésite pas à te rendre sur IRC #dragonflybsd@efnet ou sur la liste de diffusion.
# BSD
Posté par AgentSteel (site web personnel) . Évalué à 5.
Sympa la libellule. La commande pkg, c'est du pkg-ng comme sur FreeBSD?
[^] # Re: BSD
Posté par Enj0lras . Évalué à 5.
Oui, le même. De même que les ports sont quasiment les mêmes, avec les modifications requises quand c'est nécessaire pour compiler sur dragonfly.
# Une libellule
Posté par Dr BG . Évalué à 10.
C'est sans doute moins lourd qu'un ornithorynque.
[^] # Re: Une libellule
Posté par BAud (site web personnel) . Évalué à 4.
mais, c'est l'éléphant ou le rhinocéros le plus fort ?
[^] # Re: Une libellule
Posté par alouali (site web personnel) . Évalué à 2.
Y dit qu'il voit pas le rapport.
# dramaturge
Posté par ɹǝıʌıʃO . Évalué à 10.
Je m'étonne de cette décision d'écrire le programme d'installation en Java, et non en Shakespeare.
[^] # Re: dramaturge
Posté par gUI (Mastodon) . Évalué à 4.
Comment ai-je pu vivre jusqu'à maintenant sans connaître l'existence d'un tel langage ? C'est purement génial (et bien sûr parfaitement inutile, mais ça, on sait depuis belle lurette que c'est dé-corrélé)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# cron ou pas cron...
Posté par freem . Évalué à 7.
Et sinon, y'a anacron pour contrebalancer ce type de problème, justement (anachronique, facile à retenir :)).
[^] # Re: cron ou pas cron...
Posté par Enj0lras . Évalué à 3.
Oui, j'hésite vraiment à l'installer. Le cron fourni par défaut est un bon vieux vixie cron. Mais j'ai pas encore franchi le pas parce que j'ai un peu la flemme de voir comment remplacer le cron de l'OS simplement.
[^] # Partage tes jouets
Posté par Ignatz Ledebur . Évalué à 2.
Ne connaissant pas anachron, je m'étais fait un petit programme AWK pour gérer ce genre de choses (ménage dans le système, remise à l'heure, sauvegardes, etc.), baptisé revolution.
C'est une approche plus basique qu'anachron, mais peut-être plus souple dans la mesure où il n'y a pas de fichier de configuration central.
L'idée est que tu crées un fichier de cycle où tu veux :
Puis que tu l'évalues depuis un script de démarrage ou de login (la commande re-initialise le cycle et renvoie 0 si celui-ci est complet) :
Je ne dis pas que c'est révolutionnaire, mais chez moi ça fait son boulot depuis plus de 3 ans… :)
[^] # Évidemment…
Posté par Ignatz Ledebur . Évalué à 5.
Présentez un truc qui marche fièrement depuis des années, il se ratatine en pleine lumière. Le résultat attendu est bien sûr :
La date indiquée étant celle (optionnelle) du début du cycle. Corrigé.
[^] # Re: cron ou pas cron...
Posté par Marotte ⛧ . Évalué à 4.
Note qu'anacron (sans "h") ne remplace pas cron mais est complémentaire de celui-ci.
Le fonctionnement est très simple, quand tu lances anacron il regarde les tâches à faire une par une, ainsi que le jour de leur dernière exécution, exécute celles qui doivent l'être et se termine (ce n'est pas un daemon).
Les tâches à effectuée sont stockées dans un fichier "anacrontab" et à chaque exécution il écrit un fichier nommé avec le nom de la tâche qui contient la date d'exécution.
La doc d'anacron suggère de le lancer au login mais on peut aussi le lancer à intervalles réguliers avec… cron…
Ce qui est dommage c'est que la granularité c'est à la journée, donc ce n'est pas possible de lui dire d'effectuer une tâche toute les 5 heures, par exemple.
[^] # Re: cron ou pas cron...
Posté par Patrick Lamaizière (site web personnel) . Évalué à 4.
oui c'est complémentaire (et ça marchait très bien sous FreeBSD, enfin la dernière fois que j'ai essayé)
les pixels au peuple !
[^] # Re: cron ou pas cron...
Posté par freem . Évalué à 2.
Mea culpa pour la typo.
# Coquilles
Posté par Enj0lras . Évalué à 4.
Bon, en relisant une 3éme fois, je remarque quelques erreurs :
devrait être :
devrait être
En outre, on me signale que :
ne fonctionne qu'avec les CPU intels, et si on veut que cela soit pris en compte au reboot, il faut ajouter ça dans /etc/sysctl.conf (sans la commande sysctl au début).
Pour les processeurs AMD, je cite :
[^] # Re: Coquilles
Posté par BAud (site web personnel) . Évalué à 7.
il y a sans doute aussi le
ifconfig -a
qui est obsolète et a son équivalent avec ip ?et il manque un \ devant le ^ de ^W^W vers la fin ;-)
merci de ton journal, super bien écrit et fluide d'un bout à l'autre.
[^] # Re: Coquilles
Posté par Enj0lras . Évalué à 6.
Merci, j'ai tendance à faire beaucoup de fautes :/
Par contre pour ce qui est d'ip, ce n'est pas le cas. ip est un outil linux, les ifconfig de chacun des BSD restent présents la tête haute !
# La dernière tentation du slackeux
Posté par Ignatz Ledebur . Évalué à 4.
Merci pour ce journal, car ça fait un bout de temps que me mettre (je veux dire vraiment, pas en touriste) aux BSD me titille, avec je dois bien le dire une forte envie de bouffer de la libellule.
En faisant des recherches (quand je dis que ça me titille), j'ai vu à ce sujet qu'il y avait le projet vt chez freebsd pour moderniser la console, ça en dit quoi du côté de la libellule ? Bon de toute façon j'imagine qu'il ne faut pas escompter avoir un framebuffer à la Linux (avec possibilité d'y faire tourner MPlayer ou un équivalent fbida, par exemple), d'où in fine la nécessité de travailler sous X.
Il me semble avoir lu qu'on peut aussi utiliser UFS, quel est vraiment l'intérêt de HAMMER sur un ordinateur de bureau ? Par exemple, j'ai toujours employé EXT (3 puis 4) sans jamais ressentir le besoin de passer à autre chose (je fais régulièrement des sauvegardes, du reste pas énormes, principalement du texte), est-ce qu'UFS ne serait pas suffisant pour avoir l'équivalent (j'ai l'impression qu'HAMMER a plus à voir avec btrfs, alors que je privilégie le terre-à-terre de la fiabilité aux fonctionnalités « magiques » ) ?
[^] # Re: La dernière tentation du slackeux
Posté par Michaël (site web personnel) . Évalué à 6.
Sous FreeBSD il y a une sorte de SVGALIB (LIBVGL) que reconnaît SDL et qui permet d'utiliser mplayer en ligne de commande, dans les vieilles consoles:
Cela fait plusieurs années que je n'ai pas essayé, mais ça a eu marché.
[^] # Re: La dernière tentation du slackeux
Posté par Enj0lras . Évalué à 7.
Du côté de la libellule, il y a des patchs qui trainent, que j'ai utilisé pendant un moment, mais qui ne sont pas encore finis. je sais pas trop où ça en est mais il y a quelqu'un qui travaille là dessus. Contrairement à vt, je crois que c'est juste une adaptation de la console actulle pour dessiner dans un framebuffer. C'est vrai que c'est un peu embettant dans l'état actuel des choses parce qu'une fois que tu as lancé Xorg avec le pilote DRM, tu ne peux plus voir tes consoles TTY (même si elles sont toujours là et que tu peux taper dedans à l'aveugle). Peut être dans la prochaine version :).
Je ne sais pas vraiment, si tu n'es pas attiré par les fonctionnalités tels que l'historique (crois moi, c'est plus utile qu'on ne le pense, plus la peine d'avoir des alias pour demander de comfirmer avec cp ou rm ou mv, plus la peine de faire attention, si tu fais une erreur tu peux la corriger après coup), évidemment c'est pas très utile. Je ne sais pas quelles sont les performances, j'aurais dit que hammer était un poil au dessus quand même, mais pas sûr, ça doit dépendre des workload.
Par contre du point de vu de la fiabilité, rien ne dit qu'UFS est plus fiable. Déjà, 90% des gens sous dfly utilisent HAMMER (sauf pour des petites VM), donc plus d'utilisateurs pour rapporter des éventuels bugs. Et surtout, c'est pas parce que HAMMER a pleins de fonctionnalités qu'il est énormément plus gros : hammer doit faire dans les 30k lignes, et UFS dans les 20K lignes, la différence n'est pas énorme.
[^] # Re: La dernière tentation du slackeux
Posté par Ignatz Ledebur . Évalué à 3.
Merci pour les précisions et pour le tuyau sur LIBVGL. Je pense que ma prochaine machine que j'espère prochaine (l'actuelle est une vieille 32bits avec trop peu de disque pour l'aventure) commencera son service par un tour de libellule, et plus si affinités. :)
[^] # Re: La dernière tentation du slackeux
Posté par wolowizard . Évalué à 4.
Prends conscience de ceci si tu as une babasse 32-bit…
release 3.8:
Last 32-bit release
A 32-bit address space is now a significant limitation in the high-performance world where DragonFly lives.
This is the last DragonFly release planned to work on i386. Please plan to upgrade to 64-bit when possible. Note that prebuilt packages for this release will only exist for 64-bit systems; 32-bit users will have to build by hand.
http://www.dragonflybsd.org/release38/
[^] # Re: La dernière tentation du slackeux
Posté par Ignatz Ledebur . Évalué à 2.
Oui, j'ai vu, et c'est entre autres pour ça que ça attendra le changement de machine (sur celle-ci, il m'arrive de « perdre » le disque, ça ne devrait donc pas trop tarder :).
[^] # Re: La dernière tentation du slackeux
Posté par François Tigeot . Évalué à 7.
[^] # Re: La dernière tentation du slackeux
Posté par Thierry Thomas (site web personnel, Mastodon) . Évalué à 3.
UFS n’est pas journalisé sur DFB ?
[^] # Re: La dernière tentation du slackeux
Posté par François Tigeot . Évalué à 3.
Non, il est resté essentiellement non modifié depuis FreeBSD 4.
[^] # Re: La dernière tentation du slackeux
Posté par Enj0lras . Évalué à 3.
Non, il n'y a que les soft-updates
[^] # Re: La dernière tentation du slackeux
Posté par Ignatz Ledebur . Évalué à 1.
D'accord. En fait, je ne pensais pas qu'UFS était quasiment comme à l'origine. Donc, oui, il vaut mieux partir du principe que si on veut un dragonfly, on utilise HAMMER.
# xdm
Posté par Naha (site web personnel) . Évalué à 6.
À noter que l'activation de xdm est un peu différente de ce qu'on voit la plupart du temps sous GNU/Linux : il s'agit d'activer la ligne correspondante dans
/etc/ttys
puis de recharger la config en lançantinit q
.Ensuite il faut se faire un
~/.xsession
qui va bien, sans quoi c'est xsm qui sera lancé par défaut, et comme il n'est sans doute pas installé sur votre machine vous risquez de ne pas comprendre pourquoi vous ne pouvez pas vous connecter (je m'y suis moi-même cassé les dents).Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.