Van-e valamilyen módja a BTRFS-ben a tömörítés végleges beállításának?

Van USB HDD-m.

Engedélyezni akarom a tömörítést. Megtehetem a rendszerem fstab-jában, vagy akár udev-szabályokat is használhatok. A probléma az, hogy nem csatlakoztattam az USB HDD-t csak a számítógépemre. Eddig minden egyes telepítéskor egy terminált indítottam.

Ezután felfedeztem a chattr +c. Ez nagyon jól működik , de az LZO-t akarom használni a ZLIB helyett. Van-e rá mód hogy konkrétabbak legyünk és egyszer s mindenkorra meghatározzuk a tömörítési algoritmust?

Válasz

A btrfs minden tömörített fájlt tömörít ha használja:

mount -o compress-force=lzo /dev/btrfsdev /mnt/btrfsmnt 

Ha azt szeretné, hogy MINDEN fájl tömörüljön így, van egy kis szkriptem, amit írtam …

du -ht +$((1024*1024)) "$HOME" |\ sed -rn "s/^[^/]*(.*)/btrfs fi defrag -fvclzo "\1"/p" |\ sudo sh -n 

A fentiek csak a $HOME könyvtáramon működnek, de tetszés szerint bármire vagy mindenre felhasználhatja. A -n operandumot a sh be is táplálta maga láthatja, hogy mi sh jelenleg not eltávolítás előtt, hogy szóljon rá.

Mindenesetre először du human-readable formátumú fájlokhoz (valószínűleg felesleges itt, mivel ezt a következő lépésben levonjuk egyébként) amelyek nagyobbak, mint a 1MB vagy a $((1024*1024)).

|pipes az információit sed hez csatolja mindent elöl a vezető /, "quotes" fájlnév előtt, felépíti a btrfs filesystem defragment -verbose -flush-to-disk -compress-lzo \filename parancsot és átadja egy |pipe t a sudo sh számára a végrehajtáshoz.

Ismét nem csinál semmit, amíg a sh --no-execute van érvényben.

Szerintem néhány nagyon legutóbbi btrfs userspace eszközépítés a teljes könyvtárakat töredezettségmentesíti rekurzív módon, de ha igen, akkor ez egy nagyon új dolog, tehát én mindig ilyen dolgokat kellett csinálnia.

Megjegyzések

  • Ez ' nagyon szép válasz. Ezt azonban már tettem is (erre utaltam " -ig. Mostanáig minden egyes telepítéskor egy terminált indítottam. "). ' Szeretném tudni, hogy lehet-e valamilyen módon társítani az alapértelmezett rögzítési jelzőket az FS-hez. Ha nem rendelkezik ' gyökérzettel, ezek egyike sem működik.
  • Alapértelmezett rögzítési jelzők? Nos, biztosan használhatja az fstab-ot. És a btrfs-sel almennyiségen keresztül is csatlakoztathat, így társíthatja, mint mondja, egy almennyiséget meghatározott csatlakoztatási opciókkal és a user = mount opcióval, megadhatja a felhasználónak. Kíváncsi lehet, de hogyan készítsek részkötetet a már meglévő fájlokból? Ha üres részmennyiséget hoz létre, akkor cp – áttekinti mindazt, amire vágyik, aminek el kell végeznie a munkát.
  • A fenti defrag-feladat szintén lehet cron-feladat …
  • compress=lzo elegendő, nem ' nem kell újból tömörítenie a tömörített bináris fájlokat, például a PNG-t.

Válasz

Az olvasottak alapján beállíthatja a compression tulajdonságot az almennyiség gyökerébe érje el ezt [0, 1]:

sudo btrfs property set /mnt/your-subvolume compression lzo 

Miután megragadta a Btrfs almennyiségű UUID azonosítóját az sudo btrfs filesystem show /mnt/your-subvolume paranccsal, akkor ellenőrizze, hogy az LZO tömörítési szolgáltatás jelenleg engedélyezve van-e:

cat /sys/fs/btrfs/<UUID>/features/compress_lzo 

Ha engedélyezve van, akkor 1-et kell adnia.

[0] https://btrfs.wiki.kernel.org/index.php/Compression

[1] https://www.berthon.eu/2016/setting-shared-folder-compression-on-synology-nas-btrfs/

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük