Je souhaite installer Maverick sur une partition racine BTRFS. Pas pour le plaisir ou les tests, mais parce que j'ai besoin de compression à cause d'un petit disque flash (4 Go).
Maintenant, le programme d’installation 10.10 supporte enfin btrfs, mais il n’ya aucun moyen d’activer le drapeau compress
. Puis-je tromper l'installateur en quelque sorte? Pour les anciennes versions et pour obtenir LUKS, vous pouvez pré-monter des partitions. Ou bien existe-t-il un monkeypatch simple pour activer btrfs + compress pre install?
Je suis tombé sur ce fil parce que je cherchais à installer Linux Mint Debian Edition sur un lecteur flash et à l’installer sur btrfs compressé dès le début. Bien que ces solutions ne soient pas directement applicables pour atteindre mes résultats, j'ai utilisé certaines de ces informations pour atteindre ma cible.
Le problème était que l’intérêt du programme d’installation de formater et de monter la partition et de commencer à copier les fichiers était juste à côté, de sorte que je n’étais pas en mesure d’effectuer l’option de "remontage" mentionnée par d’autres ci-dessus.
La version LMDE du script du programme d’installation se trouvait dans python (usr/lib/live-installer/installer.py). Je ne sais pas si c'est la même chose avec Ubuntu, mais si c'est le cas, ce sera directement applicable. Cela m'a permis d'éditer le script et d'ajouter cette ligne juste sous la ligne qui montait la partition à l'origine de "/"
os.system("mount -o remount,compress /dev/sda3 /target -t btrfs")
"/ dev/sda3" varie en fonction de votre appareil.
Je comprends que c’est un forum Ubuntu, mais comme je l’ai dit, la recherche a été effectuée et cette solution serait directement pertinente si le programme d’installation est basé sur python. Nous sommes tous Debian ici de toute façon, non!?
Une méthode plus simple consiste à modifier la commande mount
de l’environnement réel.
Déplacez l'exécutable mount
vers un autre emplacement:
Sudo mv /bin/mount /bin/mount.bin
Editez un nouveau fichier en utilisant sudoedit /bin/mount
et sauvegardez-y le script suivant (modifiez les options à votre guise; ici nous avons ajouté compress
):
#!/bin/sh
if echo "$@" | grep -q -- "-t btrfs"; then
/bin/mount.bin "$@" -o compress
else
/bin/mount.bin "$@"
fi
Vous pouvez également faire correspondre des périphériques de bloc tels que /dev/sda1
au lieu de -t btrfs
et une chaîne Elif
s pour utiliser différentes options de montage pour différents périphériques et systèmes de fichiers.
Copiez les autorisations d'origine sur le nouveau script:
Sudo chmod --reference=/bin/mount.bin /bin/mount
Installez comme d'habitude et votre partition btrfs sera montée avec les options spécifiées (ici, compress
).
/etc/fstab
du système nouvellement installé pour qu'il corresponde aux options spécifiées afin qu'il utilise les mêmes options lors de nouveaux démarrages.J'ai utilisé: defaults,noatime,compress-force=lzo,space_cache
comme options de montage.
Cela fonctionne avec quantal daily (30/6/12).
J'ai utilisé la partition btrfs comme /
et une partition de swap.
Les crédits vont à cet article (dans ce fil ), qui cite à son tour cet article de blog .
Juste après que le programme d'installation monte votre partition, vous pouvez essayer de passer à un shell et faire un mount -o remount,compress /target
, cela pourrait fonctionner.
À compter de la version 13.04 (Raring Ringtail), vous devriez pouvoir installer sur un volume btrfs sans compression, puis compresser tous les fichiers du volume entier une fois que vous avez démarré la nouvelle installation.
Selon la documentation d'Oracle, vous pouvez compresser des fichiers existants sur un système de fichiers existant en le défragmentant à l'aide de l'option -clzo.
Sudo btrfs filesystem defragment -clzo /
Le passage de la barre oblique unique indique à btrfs de défragmenter tous les fichiers et répertoires de votre volume racine.
Voir: http://docs.Oracle.com/cd/E37670_01/E37355/html/ol_use_case1_btrfs.html
Une fois que vous avez terminé, ajoutez le paramètre compress = lzo (ou compress = zlib si vous préférez, mais lzo est recommandé pour la rapidité) à la ligne de votre volume dans/etc/fstab et redémarrez-le pour que tous les fichiers écrits sur le disque soient compressés.
Les distributions plus récentes utilisent busybox
pour la plupart des commandes, y compris mount
. Dans ces versions, /bin/mount
est un lien symbolique vers /bin/busybox
et le lien symbolique doit s'appelle "mount" et non "mount.bin" afin de fonctionner correctement. En tant que tel, la réponse ci-dessus de Mskje peut être modifiée comme suit:
Sudo rm /bin/mount
Sudo mkdir /bin/orig
Sudo ln -s /bin/busybox /bin/orig/mount
Sudo nano /bin/mount
- cela créera un nouveau script.Copiez ceci dans le script et sauvegardez (modifiez les options comme vous le souhaitez, ici compresser):
#!/bin/sh
if echo $@ | grep "btrfs" >/dev/null; then
/bin/orig/mount $@ -o compress
else
/bin/orig/mount $@
fi
Sudo chmod 755 /bin/mount
pour le rendre exécutable.
fstab
du système nouvellement installé pour qu'elle corresponde aux options spécifiées, afin qu'il utilise les mêmes options pour les nouveaux démarrages.Sélection manuelle:/dev/sda1 en tant que btrfs pour/some ext?/boot des échanges
Dans un terminal: Sudo bash
Presse installer
Appuyez sur enter sur la ligne de terminal: (Sudo done) mount -t btrfs -o remount, compressez/dev/sda1/target
Je l'ai obtenu en remplaçant la partition ext4 sur le stick par une partition compressée btrfs. Cela peut être fait en utilisant un autre ordinateur.
Tout copier via
Sudo cp -ar/ext4Partition/*/backupspace /
Remplacer la partition en utilisant gparted avec btrfs one
Tout recopier
Sudo cp -ar/backupspace/*/btrfsPartition /
Remarque: les répertoires /btrfsParition
, /ext4Partition
et /backupspace
peuvent être définis à votre guise.
Vous pouvez obtenir tout ou partie des nouvelles fonctionnalités intéressantes de Btrfs en exécuter manuellement la commande mkfs.btrfs. le installateur alternatif a la possibilité à tout moment de revenir à une étape précédente de votre choix. vous pouvez l'utiliser pour, après que l'installateur ait créé les btrfs, créer vos propres btrfs, puis démarrer l'installateur à l'étape précédente pour que votre fs soit utilisé.
laissez-le installer le système de base.
alt-F2 aller au terminal et lancer mkfs.btrfs -/dev/sdXY
appuyez sur le bouton "Revenir" puis choisissez à nouveau l'option de partition. les valeurs par défaut seront de ne pas reformater afin que vous puissiez simplement cliquer sur Continuer. il va réinstaller le système de base. dire oui à l'avertissement de ne pas reformater.
prendre plaisir.
Vous pouvez simplement ajouter une compression plus tard. Ouvrez /etc/fstab
et modifiez la ligne de votre système de fichiers racine. Ajoutez compress
aux options de montage comme ceci:
UUID=0c8e6d48-e6b3-425a-ab33-24205a9cb586 / btrfs defaults,compress 0 1
Maintenant, remontez ou redémarrez et n'oubliez pas que/boot ne peut pas vivre sur btrfs, car GRUB2 ne le supporte pas.
Vous pouvez toujours suivre l'ancien proverbe chinois:
Si vous n'aimez pas le rôle du partitionneur du programme d'installation, partitionnez-le vous-même et dites au programme d'installation de l'installer sur ces partitions.