Sıkıştırma ile btrfs kökü kullanmak için hile yükleyici


9

Maverick'i bir BTRFS kök bölümüne yüklemek istiyorum. Eğlence veya test için değil, çünkü küçük bir flash disk (4GB) nedeniyle sıkıştırmaya ihtiyacım olduğu için.

Şimdi 10.10 yükleyicisi nihayet btrfs'yi destekliyor, ancak içindeki compressbayrağı etkinleştirmenin bir yolu yok . Yükleyiciyi bir şekilde kandırabilir miyim? Eski sürümler ve LUKS almak için bölümleri önceden monte edebilirsiniz. Yoksa btrfs + sıkıştırmayı ön yüklemeyi etkinleştirmek için kolay bir maymun turu mümkün mü?


Alternatif (metin modu yükleyici) diski denediniz mi?
Oli

@Oli: Şimdi denedim. -Alternate Debian yükleyicisi daha ayrıntılıdır. Ancak yalnızca standart dosya sistemi bayraklarını listeler (noatime, nodev, noexec). compressVeya gibi btrfs'ye özgü seçeneklerin ayarlanmasını önler ssd. Şanssız.
mario

Yanıtlar:


2

Linux Mint Debian Edition'ı bir flash sürücüye kurmak ve sıkıştırılmış btrfs'lere get-go'dan yüklemek istiyormuşum gibi bu konuya rastladım. Bu çözümler sonuçlarıma ulaşmak için doğrudan geçerli olmasa da, hedefime ulaşmak için bu bilgilerin bir kısmını kullandım.

Sorun, yükleyici bölümü biçimlendirme ve montaj ve dosyaları kopyalamaya başlama noktasının hemen yan yana olmasıydı, bu yüzden yukarıda başkaları tarafından belirtilen "yeniden" seçeneğini gerçekleştiremedim.

Yükleyici komut dosyasının LMDE sürümü python'daydı (usr / lib / live-installer / installer.py). Ubuntu ile aynı olup olmadığından emin değilim, ancak eğer doğrudan uygulanabilir. Bu, komut dosyasını düzenlememe ve bu satırı "/" için bölümü orijinal olarak bağlayan satırın altına eklememe izin verdi

os.system("mount -o remount,compress /dev/sda3 /target -t btrfs")

"/ dev / sda3" cihazınıza bağlı olarak değişir.

Bunun bir Ubuntu forumu olduğunu anlıyorum, ancak dediğim gibi arama ile geldi ve yükleyici python tabanlıysa bu çözüm doğrudan alakalı olacaktır. Hepimiz yine de burada Debian'ız, değil mi?


10

Bunu yapmanın daha kolay bir yolu mount, canlı ortamın komutunu değiştirmektir .

  1. Canlı oturumda her zamanki gibi önyükleme yapın.
  2. mountYürütülebilir dosyayı başka bir konuma taşıyın :

    sudo mv /bin/mount /bin/mount.bin
    
  3. sudoedit /bin/mountAşağıdaki komut dosyasını kullanarak yeni bir dosyayı düzenleyin ve içine kaydedin (seçenekleri istediğiniz gibi değiştirin; burada ekledik compress):

    #!/bin/sh
    if echo "$@" | grep -q -- "-t btrfs"; then
        /bin/mount.bin "$@" -o compress
    else
        /bin/mount.bin "$@"
    fi
    

    Ayrıca farklı cihazlar ve dosya sistemleri için farklı bağlama seçenekleri kullanmak için ve s /dev/sda1yerine blok cihazlarını eşleştirebilirsiniz .-t btrfselif

  4. Orijinal izinleri yeni komut dosyasına kopyalayın:

    sudo chmod --reference=/bin/mount.bin /bin/mount
    
  5. Her zamanki gibi yükleyin, btrfs bölümünüz belirtilen seçeneklerle (burada, compress) monte edilecektir .

  6. Kurulum tamamlandıktan sonra, canlı ortamdan çıkmadan önce /etc/fstab, yeni kurulan sistemi belirtilen seçeneklerle eşleşecek şekilde değiştirin , böylece yeni botlarda aynı seçenekleri kullanacaktır.

Ben kullandım: defaults,noatime,compress-force=lzo,space_cachemontaj seçenekleri olarak.

Bu günlük quantal (30/6/12) ile çalışır.

Btrfs bölümünü /ve takas bölümünü kullandım.

Kredi gitmek bu yazı (içinde bu iş parçacığı sırayla değinir), bu blog yazısı .


Keşke bunu üç katına çıkarabilsem, çünkü bu şimdi bunu düzgün bir şekilde nasıl yapacağımı üçüncü kez unuttum ve bu hala yoğun bir şekilde googling yaptığım yer. Çoğu noktada sudo kullanmanız gerekmesine rağmen, elbette, daha az deneyimli kullanıcılar için açık olmayabilir. Çok havalı!
DanielSmedegaardBuus

4

Yükleyici bölümünüzü bağladıktan hemen sonra, bir kabuğa geçmeyi ve bir işlem yapmayı deneyebilirsiniz mount -o remount,compress /target, bu işe yarayabilir.


İşe yaramış gibiydi! (Yine de başka bir şeyi berbat ettim ..) Ama mount -o remount,compress,ssd /dev/mapper/target /target -t btrfskaynak cihazla tam komut gerektiriyordu .
mario

En mükemmel. Bazı testlerden sonra, yeniden numaralandırma hilesi kusursuz çalıştı. Kullanılan 2.6G yerine 1.2G, fark edilir hız kazancı.
mario

2

13.04'ten (Raring Ringtail), btrfs birimine sıkıştırmadan yükleyebilmeniz ve ardından yeni yüklemeye önyükleme yaptıktan sonra tüm dosyaları tüm birimde sıkıştırabilmeniz gerekir.

Oracle'ın belgelerine göre, varolan bir dosya sistemindeki mevcut dosyaları -clzo seçeneğiyle birleştirerek sıkıştırabilirsiniz.

sudo btrfs filesystem defragment -clzo /

Bunu geçtikten sonra tek eğik çizgi, btrfs'ye kök biriminizdeki tüm dosyaları ve dizinleri birleştirmesini söyler.

Bkz. Http://docs.oracle.com/cd/E37670_01/E37355/html/ol_use_case1_btrfs.html

İşiniz bittiğinde, / etc / fstab içindeki biriminizin satırına dvd = lzo (veya dvd = zlib varsa, ancak lzo önerilir) ekleyin ve diske yazılan diğer dosyaların sıkıştırılması için yeniden başlatın.


2

Daha yeni dağıtımlar da busyboxdahil olmak üzere çoğu komut için kullanılır mount. Bu sürümlerde, /bin/mountbir sembolik bağlantıdır /bin/busyboxve doğru çalışması için sembolik bağın "mount" olarak değil "mount" olarak adlandırılması gerekir . Bu nedenle, Mskje'nin yukarıdaki cevabı aşağıdaki şekilde değiştirilebilir:

  1. Canlı oturuma normal şekilde önyükleme yapın.
  2. sudo rm /bin/mount
  3. sudo mkdir /bin/orig
  4. sudo ln -s /bin/busybox /bin/orig/mount
  5. sudo nano /bin/mount - bu yeni bir komut dosyası oluşturur.
  6. Bunu betiğe kopyalayın ve kaydedin (seçenekleri istediğiniz gibi değiştirin, burada sıkıştırın):

    #!/bin/sh  
    if echo $@ | grep "btrfs" >/dev/null; then  
        /bin/orig/mount $@ -o compress  
    else  
        /bin/orig/mount $@  
    fi
    
  7. sudo chmod 755 /bin/mount çalıştırılabilir yapmak için.

  8. Normal olarak kurun, btrfs bölümünüz belirtilen seçeneklerle (burada sıkıştırın) monte edilecektir.
  9. Kurulum tamamlandıktan sonra, canlı ortamdan çıkmadan önce fstab, yeni kurulan sistemi belirtilen seçeneklerle eşleşecek şekilde değiştirin , böylece yeni botlarda aynı seçenekleri kullanacaktır.

1

Manuel olarak seçme: / dev / sda1 / btr için btrfs olarak? / bazı takas önyükleme

Bir terminalde: sudo bash

Basın kurulumu

Terminal hattında enter tuşuna basın: (sudo bitti) mount -t btrfs -o remount, sıkıştır / dev / sda1 / target


1

Mkfs.btrfs komutunu el ile çalıştırarak yeni Btrfs özelliklerinden herhangi birini veya tümünü alabilirsiniz . Alternatif yükleyici seçeceğiniz bir önceki adıma geri dönmek için herhangi bir noktada bir seçeneğe sahiptir. bunu yükleyici btrfs oluşturduktan sonra kendi btrf'lerinizi oluşturmak ve daha sonra fs'nizin kullanılması için önceki adımda yükleyiciyi başlatmak için kullanabilirsiniz.

  1. bölümleme aşamasından sonraya kadar yükleyiciyi çalıştırın.
  2. temel sistemi kurmasına izin verin.

  3. alt-F2 terminale gidin ve mkfs.btrfs - / dev / sdXY komutunu çalıştırın

  4. kurucu alt-F1'e geri dön
  5. "geri dön" düğmesine basın ve bölüm seçeneğini tekrar seçin. varsayılanlar yeniden biçimlendirilmemelidir, böylece devam düğmesine basabilirsiniz. temel sistemi yeniden kuracaktır. yeniden biçimlendirmeme uyarısına evet deyin.

  6. zevk almak.


1

Sopa üzerindeki ext4 bölümünü sıkıştırılmış bir btrfs bölümü ile değiştirerek çalıştım. Bu başka bir bilgisayar kullanılarak yapılabilir.

  1. Her şeyi üzerinden kopyalama

    sudo cp -ar / ext4Partition / * / backupspace /
  2. Parçayı btrfs one ile gparted kullanarak değiştirin

  3. Sudo mount mount -o sıkıştır / dev / yourdevice / btrfs kullanarak yeni bölüm bağlama
  4. Her şeyi kopyala

    sudo cp -ar / backupspace / * / btrfsPartition /
  5. / BtrfsPartition / etc / fstab dosyasını yeni aygıt kullanıcı aygıtlarına ve yeni bölüm türüne güncelleyin. Btrfs buna sahip olmadığından remount seçeneğini kaldırın.
  6. önyükleme yükleyiciyi yeniden yükle (örneğin BootRepair aracılığıyla )

Not: dizinleri /btrfsParition, /ext4Partitionve /backupspaceistediğiniz gibi ayarlanabilir.


0

Daha sonra sıkıştırma ekleyebilirsiniz. /etc/fstabKök dosya sisteminizin satırını açın ve düzenleyin. Bunun compressgibi montaj seçeneklerine ekleyin :

UUID=0c8e6d48-e6b3-425a-ab33-24205a9cb586 / btrfs defaults,compress 0 1

Şimdi ya yeniden monte edin ya da yeniden başlatın ve GRUB2 bunu desteklemediğinden, / boot'ın btrfs'de yaşayamayacağını unutmayın.


2
Bildiğim kadarıyla, fstab içine sıkıştırmanın mevcut dosyalar üzerinde hiçbir etkisi yoktur (bu sadece 4 GB SSD'nin büyük bir kısmı zaten yükledikten sonra eklediğinizde!). Canlı CD'yi kullanırken ön kurulum bölümlerinin oluşturulması ve montajının en iyi seçenek olduğunu düşünüyorum.
JanC

Evet, seçeneği daha sonra eklemek dosyaları sıkıştırmaz. Son kez tam bir dosya yedekleme yaptım, sonra dosya sistemi bayraklarını değiştirdim ve daha sonra her şeyin üzerine yazdım. Çok hantal. Ve tarbazen birkaç dosya özniteliğini unutuyor, pax veya rsync'i yerine kullandığımdan emin değilim.
mario

Ubuntu-minimal'i yükleyip geri kalanını daha sonra yüklerseniz ne olur?
mniess

0

Antik Çin atasözünü her zaman takip edebilirsiniz:

Yükleyici bölümleyicinin yaptıklarından hoşlanmıyorsanız, kendiniz bölümleyin ve yükleyiciye bu bölümlere yüklemesini söyleyin.


Kim eski Çin atasözlerini sorgulayacağım? Ancak yeni 10.10 yükleyici, monte edilmiş bir hedefi / hedefi onurlandırıyor mu? Yeniden montajda ısrar ederse, tüm değerli manuel bölümleme boşuna olur.
mario

Geçmek. Eğer ISO hala olsaydı, VirtualBox'ta test ederdim ama yine, muhtemelen alternatif yükleyici ile daha iyi şansınız olacağını düşünüyorum (kullanıcı müdahalesine daha iyi tepki verme eğilimindedir)
Oli

Sadece başka bir koşuşturma verdi. Her iki montajcı da oldukça mutlu. Manuel bölümleme yine de LUKS için bir çözümdür, ancak manuel bağlama seçenekleri btrfs için geçerli değildir. Alternatif kurulum sihirbazı standart olmayan seçeneklerden genellikle daha az memnun görünür, ancak en azından neler olup bittiğini görebilirsiniz. Masaüstü yükleyici hedefi iki veya üç kez kaldırır.
mario
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.