เคล็ดลับเครื่องมือติดตั้งเพื่อใช้รูท btrfs พร้อมการบีบอัด


9

ฉันต้องการติดตั้งไม่ฝักใฝ่ฝ่ายใดบนพาร์ติชันรูท BTRFS ไม่ใช่เพื่อความสนุกหรือการทดสอบ แต่เป็นเพราะฉันต้องการการบีบอัดเนื่องจากดิสก์แฟลชขนาดเล็ก (4GB)

ตอนนี้ตัวติดตั้ง 10.10 รองรับ btrfs ในที่สุด แต่ก็ไม่มีวิธีเปิดใช้งานการcompressตั้งค่าสถานะ ฉันจะหลอกผู้ติดตั้งได้ไหม? สำหรับเวอร์ชันเก่าและรับ LUKS คุณสามารถติดตั้งพาร์ติชันล่วงหน้าได้ หรือมี monkeypatch ง่าย ๆ เพื่อเปิดใช้งานการบีบอัด btrfs + ก่อนติดตั้ง?


คุณลองใช้ดิสก์ (ตัวติดตั้งโหมดข้อความ) หรือไม่
Oli

@Oli: ลองตอนนี้เลย ตัวติดตั้ง -alternate Debian นั้นซับซ้อนกว่า แต่จะแสดงรายการแฟล็กระบบไฟล์มาตรฐานเท่านั้น (noatime, nodev, noexec) จะช่วยป้องกันการตั้งค่าตัวเลือก btrfs เฉพาะเหมือนหรือcompress ssdไม่มีโชค.
มาริโอ

คำตอบ:


2

ฉันเจอกระทู้นี้เพราะฉันต้องการติดตั้ง Linux Mint Debian Edition บนแฟลชไดรฟ์และติดตั้งบน btrfs ที่บีบอัดจาก get-go แม้ว่าการแก้ปัญหาเหล่านี้จะไม่สามารถนำไปใช้โดยตรงกับการเข้าถึงผลลัพธ์ของฉันฉันใช้ข้อมูลนี้เพื่อบรรลุเป้าหมายของฉัน

ปัญหาก็คือจุดของการจัดรูปแบบการติดตั้งและการติดตั้งพาร์ทิชันและเริ่มต้นการคัดลอกไฟล์อยู่ติดกันเพราะฉันไม่สามารถดำเนินการ "remount" ตัวเลือกอื่น ๆ ที่กล่าวถึงข้างต้น

สคริปต์ตัวติดตั้งเวอร์ชัน LMDE อยู่ในหลาม (usr / lib / live-installer / installer.py) ฉันไม่แน่ใจว่ามันจะเหมือนกันกับอูบุนตูหรือไม่ แต่ถ้าเป็นเช่นนี้มันจะใช้ได้โดยตรง สิ่งนี้ทำให้ฉันสามารถแก้ไขสคริปต์และเพิ่มบรรทัดนี้ภายใต้บรรทัดที่เมาท์พาร์ติชันดั้งเดิมสำหรับ "/"

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

ของ coures "/ dev / sda3" จะแตกต่างกันไปขึ้นอยู่กับอุปกรณ์ของคุณ

ฉันเข้าใจว่านี่เป็นฟอรัม Ubuntu แต่เหมือนฉันบอกว่ามันมาพร้อมกับการค้นหาและการแก้ปัญหานี้จะเกี่ยวข้องโดยตรงหากตัวติดตั้งเป็นแบบหลาม พวกเราเป็นเดเบียนทุกคนที่นี่ใช่มั้ย!


10

วิธีที่ง่ายกว่าในการทำเช่นนี้คือการเปลี่ยนmountคำสั่งของสภาพแวดล้อมแบบสด

  1. บูตตามปกติไปยังเซสชันสด
  2. ย้ายmountไฟล์ปฏิบัติการไปยังตำแหน่งอื่น:

    sudo mv /bin/mount /bin/mount.bin
    
  3. แก้ไขไฟล์ใหม่โดยใช้sudoedit /bin/mountและบันทึกสคริปต์ต่อไปนี้ลงในมัน (เปลี่ยนตัวเลือกตามที่คุณต้องการ; ที่นี่เราได้เพิ่มcompress):

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

    นอกจากนี้คุณยังสามารถจับคู่อุปกรณ์บล็อกเช่น/dev/sda1แทน-t btrfsและเชนelifs เพื่อใช้ตัวเลือกการเมาท์ที่แตกต่างกันสำหรับอุปกรณ์และระบบไฟล์ต่าง ๆ

  4. คัดลอกการอนุญาตดั้งเดิมไปยังสคริปต์ใหม่:

    sudo chmod --reference=/bin/mount.bin /bin/mount
    
  5. ติดตั้งตามปกติและพาร์ติชัน btrfs ของคุณจะถูกเมาท์ด้วยตัวเลือกที่ระบุ (ที่นี่compress)

  6. หลังจากการติดตั้งเสร็จสิ้นก่อนที่จะออกจาก envirement สดให้เปลี่ยน/etc/fstabระบบที่ติดตั้งใหม่เพื่อให้ตรงกับตัวเลือกที่ระบุดังนั้นมันจะใช้ตัวเลือกเดียวกันกับรองเท้าใหม่

ฉันใช้: defaults,noatime,compress-force=lzo,space_cacheเป็นตัวเลือกเมานท์

สิ่งนี้ใช้ได้กับควอนตัมรายวัน (30/6/12)

ฉันใช้พาร์ทิชัน btrfs เป็น/และพาร์ทิชันสลับ

เครดิตไปที่โพสต์นี้ (ในกระทู้นี้ ) ซึ่งจะอ้างอิงโพสต์บล็อกนี้


ฉันหวังว่าฉันจะสามารถโหวตได้สามครั้งเพราะตอนนี้เป็นครั้งที่สามแล้วที่ฉันลืมวิธีการทำอย่างถูกต้องและนี่ก็เป็นจุดที่ฉันจะจบลงด้วยการเข่นฆ่าอย่างหนัก แม้ว่าคุณจะต้องใช้ sudo ในจุดส่วนใหญ่แน่นอนซึ่งอาจไม่ชัดเจนสำหรับผู้ใช้ที่มีประสบการณ์น้อย เจ๋ง!
DanielSmedegaardBuus

4

หลังจากที่ตัวติดตั้งติดตั้งพาร์ติชันของคุณคุณสามารถลองเปลี่ยนเป็นเชลล์และทำสิ่งmount -o remount,compress /targetนี้ได้ผล


ดูเหมือนว่าจะทำงาน! (แม้ว่าฉันจะเมาอย่างอื่น .. ) แต่มันต้องการคำสั่งแบบเต็มmount -o remount,compress,ssd /dev/mapper/target /target -t btrfsกับอุปกรณ์ต้นทาง
มาริโอ

ยอดเยี่ยมที่สุด หลังจากการทดสอบบางอย่างเคล็ดลับการทำงานใหม่ก็ไม่มีที่ติ 1.2G แทนการใช้ 2.6G และเพิ่มความเร็วได้อย่างน่าทึ่ง
มาริโอ

2

ตั้งแต่ 13.04 (Raring Ringtail) คุณควรจะสามารถติดตั้งบนไดรฟ์ btrfs ได้โดยไม่ต้องบีบอัดจากนั้นบีบอัดไฟล์ทุกไฟล์ในไดรฟ์ข้อมูลทั้งหมดเมื่อคุณบูตเครื่องจนถึงการติดตั้งใหม่

ตามเอกสารของ Oracle คุณสามารถบีบอัดไฟล์ที่มีอยู่ในระบบไฟล์ที่มีอยู่โดยจัดเรียงข้อมูลด้วยตัวเลือก -clzo

sudo btrfs filesystem defragment -clzo /

เมื่อผ่านเครื่องหมายทับเดียวจะบอกให้ btrfs ทำการจัดเรียงข้อมูลไฟล์และไดเรกทอรีทั้งหมดบนไดรฟ์ข้อมูลรูทของคุณ

ดู: http://docs.oracle.com/cd/E37670_01/E37355/html/ol_use_case1_btrfs.html

เมื่อเสร็จแล้วให้เพิ่มการบีบอัด = lzo (หรือการบีบอัด = zlib หากคุณต้องการ แต่แนะนำให้ใช้ความเร็ว lzo) ในบรรทัดของโวลุ่มใน / etc / fstab และรีบูตเพื่อให้ไฟล์อื่น ๆ ที่เขียนลงดิสก์ถูกบีบอัด


2

การกระจายมากขึ้นเมื่อเร็ว ๆ นี้ใช้สำหรับคำสั่งมากที่สุดรวมทั้งbusybox mountในรุ่นเหล่านี้/bin/mountคือ symlink ไป/bin/busyboxและ symlink จะต้องมีชื่อว่า "mount" และไม่ใช่ "mount.bin" เพื่อให้ทำงานได้อย่างถูกต้อง ดังนั้นคำตอบข้างต้นโดย Mskje สามารถเปลี่ยนเป็นดังต่อไปนี้:

  1. บูตตามปกติไปยังเซสชันสด
  2. sudo rm /bin/mount
  3. sudo mkdir /bin/orig
  4. sudo ln -s /bin/busybox /bin/orig/mount
  5. sudo nano /bin/mount - สิ่งนี้จะสร้างสคริปต์ใหม่
  6. คัดลอกไปยังสคริปต์และบันทึก (แก้ไขตัวเลือกตามที่คุณต้องการบีบอัดที่นี่):

    #!/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 เพื่อให้สามารถเรียกใช้งานได้

  8. ติดตั้งตามปกติและพาร์ติชัน btrfs ของคุณจะถูกเมาท์ด้วยตัวเลือกที่ระบุ (ที่นี่บีบอัด)
  9. หลังจากการติดตั้งเสร็จสิ้นก่อนที่จะออกจาก envirement สดให้เปลี่ยนfstabระบบที่ติดตั้งใหม่เพื่อให้ตรงกับตัวเลือกที่ระบุดังนั้นมันจะใช้ตัวเลือกเดียวกันกับรองเท้าใหม่

1

การเลือกด้วยตนเอง: / dev / sda1 เป็น btrfs สำหรับ / some ext? / boot swap บางอย่าง

ในเทอร์มินัล: sudo bash

กดติดตั้ง

กด Enter ที่บรรทัดของเทอร์มินัล: (ทำ sudo) mount -t btrfs -o remount บีบอัด / dev / sda1 / target


1

คุณจะได้รับใดหรือทั้งหมดของเย็น Btrfs ใหม่ที่มีคุณสมบัติโดยทำงาน mkfs.btrfs คำสั่งด้วยตนเอง ตัวติดตั้งสำรองมีตัวเลือก ณ จุดใดก็ได้เพื่อย้อนกลับไปยังขั้นตอนก่อนหน้าที่คุณเลือก คุณสามารถใช้สิ่งนี้เพื่อหลังจากตัวติดตั้งสร้าง btrfs สร้าง btrfs ของคุณเองแล้วเริ่มตัวติดตั้งในขั้นตอนก่อนหน้าเพื่อให้ fs ของคุณถูกใช้

  1. รันตัวติดตั้งจนกระทั่งหลังจากเฟสพาร์ติชัน
  2. ปล่อยให้มันติดตั้งระบบฐาน

  3. alt-F2 ไปที่เทอร์มินัลและเรียกใช้ mkfs.btrfs - / dev / sdXY

  4. กลับไปที่โปรแกรมติดตั้ง alt-F1
  5. กดปุ่ม "ย้อนกลับ" จากนั้นเลือกตัวเลือกพาร์ติชันอีกครั้ง ค่าเริ่มต้นจะไม่ใช่การฟอร์แมตใหม่ดังนั้นคุณสามารถกดต่อไป มันจะติดตั้งระบบฐานอีกครั้ง บอกว่าใช่เพื่อเตือนเกี่ยวกับการไม่ฟอร์แมตใหม่

  6. สนุก.


1

ฉันได้มันทำงานโดยการแทนที่พาร์ติชัน ext4 บนไม้ด้วยพาร์ติชัน btrfs ที่ถูกบีบอัด สามารถทำได้โดยใช้คอมพิวเตอร์เครื่องอื่น

  1. คัดลอกทุกอย่างผ่านทาง

    sudo cp -ar / ext4Partition / * / backupspace /
  2. แทนที่ partion โดยใช้ gparted ด้วย btrfs one

  3. เมานต์พาร์ติชั่นใหม่โดยใช้ sudo mount -o compress / dev / yourdevice / btrfsPartition
  4. คัดลอกทุกอย่างกลับมา

    sudo cp -ar / backupspace / * / btrfsPartition /
  5. อัปเดต / btrfsPartition / etc / fstab ไปยังอุปกรณ์ใหม่ uuids และเป็นประเภทพาร์ติชันใหม่ ลบตัวเลือกการ remount เนื่องจาก btrfs ไม่มีสิ่งนี้
  6. ติดตั้งบูตโหลดเดอร์ใหม่ (เช่นผ่านBootRepair )

หมายเหตุ: ไดเรกทอรี/btrfsParition, /ext4Partitionและ/backupspaceสามารถตั้งค่าได้ตามที่คุณต้องการ


0

คุณสามารถเพิ่มการบีบอัดในภายหลัง เปิด/etc/fstabและแก้ไขบรรทัดสำหรับระบบไฟล์รูทของคุณ เพิ่มcompressไปที่ตัวเลือกเมานต์เช่นนี้:

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

ตอนนี้ทั้งเมาหรือรีบูตและอย่าลืมว่า / boot ไม่สามารถอยู่บน btrfs ได้เนื่องจาก GRUB2 ไม่รองรับ


2
เท่าที่ฉันรู้การเพิ่มการบีบอัดใน fstab ไม่มีผลกับไฟล์ที่มีอยู่ (ซึ่งจะเป็นส่วนใหญ่ของ 4 GB SSD นั้นเมื่อคุณเพิ่มหลังจากการติดตั้ง!) ฉันคิดว่าการสร้างและติดตั้งพาร์ติชั่นการติดตั้งล่วงหน้าเป็นตัวเลือกที่ดีที่สุดเมื่อใช้ live-CD
JanC

ใช่การเพิ่มตัวเลือกในภายหลังจะไม่บีบอัดไฟล์ ครั้งสุดท้ายที่ฉันสำรองข้อมูลไฟล์ทั้งหมดจากนั้นเปลี่ยนสถานะระบบแฟ้มและเขียนทับทุกสิ่งหลังจากนั้น ยุ่งยากมาก และtarบางครั้งก็ลืมคุณสมบัติไฟล์บางอย่างไม่แน่ใจว่าฉันใช้ pax หรือ rsync แทน
มาริโอ

ถ้าคุณเพิ่งติดตั้ง ubuntu-minimal และติดตั้งทีหลัง
mniess

0

คุณสามารถติดตามสุภาษิตจีนโบราณได้เสมอ:

หากคุณไม่ชอบสิ่งที่ตัวติดตั้งของตัวติดตั้งทำได้ให้แบ่งพาร์ติชันด้วยตัวเองแล้วบอกให้ตัวติดตั้งทำการติดตั้งลงบนพาร์ติชั่นเหล่านั้น


ฉันเป็นใครถามคำถามสุภาษิตจีนโบราณ แต่ตัวติดตั้ง 10.10 ใหม่ให้เกียรติกับการติดตั้ง / เป้าหมายหรือไม่? หากยืนยันในการติดตั้งใหม่การแบ่งพาร์ติชันด้วยตนเองที่มีค่าทั้งหมดของฉันจะไม่มีประโยชน์
มาริโอ

ผ่าน ถ้าฉันยังมี ISO อยู่ฉันจะทดสอบมันใน VirtualBox แต่อีกครั้งฉันคิดว่าคุณน่าจะโชคดีกว่าด้วยตัวติดตั้งสำรอง (มันมีแนวโน้มที่จะตอบสนองต่อการรบกวนของผู้ใช้ได้ดีกว่า)
Oli

เพิ่งให้มันหมุนวนอีก โปรแกรมติดตั้งทั้งสองแบบนั้นไม่ได้เมานต์แฮปปี้ การแบ่งพาร์ติชันด้วยตนเองยังคงเป็นโซลูชันสำหรับ LUKS แต่ตัวเลือกการเมาท์ด้วยตนเองจะไม่คงอยู่สำหรับ btrfs ตัวช่วยสร้างการติดตั้งสำรองดูเหมือนจะไม่ค่อยพอใจกับตัวเลือกที่ไม่ได้มาตรฐาน แต่อย่างน้อยคุณก็สามารถเห็นสิ่งที่เกิดขึ้นได้ โปรแกรมติดตั้งเดสก์ท็อปจะยกเลิกการต่อเชื่อมเป้าหมายสองหรือสามครั้ง
มาริโอ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.