Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.
Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.
Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.
Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".
Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).
Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".
Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.
OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.
Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).
Asi systém přeinstaluji s ext4 které mě nikdy nezklamaloKdyby tu byl BTRFS guru Andrej, tak by ti napsal, že je lepší když ti BTRFS zahlásí ztrátu dat, což se ti možná stalo, než když přijdeš o data tiše s ext4. A měl by pravdu.
Tam jsem zjistil že oproti funkčnímu systému není žádná změna.Skutečně jsi zkontroloval celý disk bit po bitu? Jak ti psali ostatní, chtělo by to logy.
Je opravdu tak těžké pochopit, že čekáme až sem dá nějaký screenshot, nebo něco podobného, na základě čeho by se dalo říct kde je problém? Kdyby použil tag pre, taky by ho neubylo. U té Clonezilly taky není jasné jestli to obnovil komplet, nebo jenom nějakou patition. Spousta lidí se domnívá, že hovoří jasně, ale není tomu tak. Pro někoho je totiž "celý disk", jenom partition s linuxem a pro jiného zas celé blokové zařízení.
Jestliže se mu to normálně namountuje, bude nejspíš problém zcela banální. Nenapsal ani co používá za distribuci. Bohatě by stačilo, kdyby sem nakopíroval co mu vypíše ~$ sudo btrfs subvolume list /
. Hned bychom byli doma.
Osobně se domnívám, že žádné subvolume @home
co se snaží namountovat vytvořeno nemá. Proto mu to zahlásí chybu a data se zapisují do normálního adresáře /home
kořenového subvolume, kde má nainstalovaný celý systém. To je celé.
ID 256 gen 4279 top level 5 path @ ID 257 gen 4280 top level 5 path @home ID 258 gen 4251 top level 5 path @cache ID 259 gen 4280 top level 5 path @log ID 260 gen 24 top level 256 path var/lib/portables ID 261 gen 25 top level 256 path var/lib/machines
Ok. Díky. Vidím že subvolume vytvořeno máš. Víš co by ještě mohlo poskytnout víc informací? Zapnutí kvót. Zjistíš kolik dat každé volume obsahuje. Nejdřív ale na to vypusť scrub. Až dojede a zjistíš kolik máš v každém subvolume dat, můžeš ty kvóty klidně vypnout. Tady máš pro ilustraci jak to vypadá u mne. Jen pro info. Zabráno mám 86%, je to Btrfs v raid1, celkový objem dat 1,53TiB takže než dojede scrub, tak to chvíli bude trvat. Už to nechám dojet, není to na škodu ale kdybys to chtěl stopnout máš uvedeno jak. Doporučuji během toho co jede scrub sledovat dmesg. Pokud se během toho než to dojede objeví nějaké chyby, tak je uvidíš.
~$ sudo btrfs quota enable / ~$ sudo btrfs scrub start / ~$ sudo btrfs scrub status / ~$ sudo btrfs scrub status / UUID: 8d567f20-2ab3-436e-a52f-c7ed7e1c8879 Scrub started: Sat Dec 23 14:20:17 2023 Status: running Duration: 0:08:20 Time left: 2:37:04 ETA: Sat Dec 23 17:05:42 2023 Total to scrub: 1.53TiB Bytes scrubbed: 79.05GiB (5.04%) Rate: 161.90MiB/s Error summary: no errors found ~$ sudo btrfs fi df / Data, RAID1: total=836.00GiB, used=780.71GiB System, RAID1: total=32.00MiB, used=132.00KiB Metadata, RAID1: total=7.00GiB, used=3.86GiB GlobalReserve, single: total=512.00MiB, used=0.0 ~$ sudo btrfs device usage / /dev/sda1, ID: 10 Device size: 915.75GiB Device slack: 0.00B Data,RAID1: 836.00GiB Metadata,RAID1: 7.00GiB System,RAID1: 32.00MiB Unallocated: 72.72GiB /dev/sdb1, ID: 11 Device size: 915.75GiB Device slack: 0.00B Data,RAID1: 836.00GiB Metadata,RAID1: 7.00GiB System,RAID1: 32.00MiB Unallocated: 72.72GiB ~$ sudo dmesg -we ... ~$ sudo btrfs qgroup show / WARNING: rescan is running, qgroup data may be incorrect Qgroupid Referenced Exclusive Path -------- ---------- --------- ---- 0/5 0.00B 0.00B <toplevel> 0/256 129.54GiB 129.54GiB btrfs-root 0/585 7.86GiB 7.86GiB btrfs-root/home/user/.PlayOnLinux 0/586 0.00B 0.00B btrfs-root/var/lib/machines 0/1532 0.00B 0.00B btrfs-root/var/lib/portables ~$ sudo btrfs scrub cancel / ~$ sudo btrfs quota disable /
Jen na vysvětlenou. Ten údaj o tom množství dat v subvolume se ti bude postupně měnit, dokud nedojede ten scrub do konce. Tohle je kupř. můj aktuální stav:
~$ sudo btrfs scrub status / UUID: 8d567f20-2ab3-436e-a52f-c7ed7e1c8879 Scrub started: Sat Dec 23 14:20:17 2023 Status: running Duration: 0:55:34 Time left: 1:21:33 ETA: Sat Dec 23 16:37:27 2023 Total to scrub: 1.53TiB Bytes scrubbed: 635.84GiB (40.52%) Rate: 195.29MiB/s Error summary: no errors found ~$ sudo btrfs qgroup show / WARNING: rescan is running, qgroup data may be incorrect Qgroupid Referenced Exclusive Path -------- ---------- --------- ---- 0/5 4.00KiB 4.00KiB <toplevel> 0/256 168.63GiB 168.63GiB btrfs-root 0/585 18.07GiB 18.07GiB btrfs-root/home/user/.PlayOnLinux 0/586 4.00KiB 4.00KiB btrfs-root/var/lib/machines 0/1532 4.00KiB 4.00KiB btrfs-root/var/lib/portables
Jo a zapnuté kvóty mají něco do sebe. Umožňují předcházet situaci, kdy si zaplácneš celý disk. Btrfs sice má vždy skulinu kterou lze takovou situaci řešit, ale ten kdo to nezná z toho může být dost vydivočený.
Když máš totiž zaplácnutý disk, neuvolníš místo tím že něco smažeš. Je to COW systém, tzn. že i smazání souboru vyžaduje nějaké volné místo. Jednou možností je odpojení a nové přimountování, jelikož si Btrfs vždy nechává nějakou volnou rezervu, umožní ti pak něco menšího smazat. V případě velkých souborů to ale nemusí stačit a když zaplácneš subvolume, tak to snad ani nelze. A v takovém případě ti může vytrhnout paty příkaz truncate
. Smrskneš soubor na 1 bajt a pak už smazat půjde.
Je opravdu tak těžké pochopit, že čekáme až sem dá nějaký screenshot, nebo něco podobného, na základě čeho by se dalo říct kde je problém?Není to těžké pochopit. Všichni to chápeme. Právě proto jsem se mu snažil naznačit, že by bylo chybou kdyby místo detailnějšího popisu problému BTRFS utekl k ext4.
Jinak k tomu pojmenování tvých subvolume. Použití zavináče je zastaralá věc, kterou se svého času někteří snažili aplikovat jako konvenci k odlišení subvolumes od normálních adresářů, než se ukázalo, že je to spíš komplikace než přínos. Je totiž mnohem efektivnější použít btrfs subvolume show nějaká_cesta
a odchytit chybu, než parsovat cestu a spoléhat na to, že někdo dodržel tuhle pseudokonvenci.
Což mne přivedlo na pravděpodobnou chybu kterou máš v tom svém /etc/fstab
a dost mne překvapuje, že by ti ten mount vůbec někdy fungoval, protože název toho subvolume je @home
a ne /@home
.
Jo, a ještě mě napadla jedna věc, která by mohla dělat problém. Mountuješ to přes UUID. Mezi námi, mountovat přes LABEL je mnohem jednodušší a nemusíš v případě potřeby hledat nějaké UUID.
Což mne přivedlo na pravděpodobnou chybu kterou máš v tom svémV tomhle chyba není./etc/fstab
a dost mne překvapuje, že by ti ten mount vůbec někdy fungoval, protože název toho subvolume je@home
a ne/@home
.
@home
je vytvořený v nejvyšší btrfs úrovni. Když ho mountneš na /home
a dáš mount, tak se subvol takhle (/@home
) vypisuje.
# btrfs subvolume list / | grep @home ID 746 gen 1364277 top level 5 path @home # cat /etc/fstab | grep @home UUID=6ed846b8-423b-40e8-beef-74f5e6181c2b /home btrfs defaults,noatime,compress=lzo,subvol=@home 0 0 # mount -t btrfs | grep @home /dev/mapper/sda2_crypt on /home type btrfs (rw,noatime,compress=lzo,ssd,discard=async,space_cache=v2,subvolid=746,subvol=/@home)
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a device; this may # be used with UUID= as a more robust way to name devices that works even if # disks are added and removed. See fstab(5). # UUID=B3E0-51AD /efi vfat defaults,noatime 0 2 UUID=d9b300b2-3c17-42dc-8db7-aa9cc3125caa / btrfs subvol=/@,defaults,noatime,compress=zstd 0 0 UUID=d9b300b2-3c17-42dc-8db7-aa9cc3125caa /home btrfs subvol=/@home,defaults,noatime,compress=zstd 0 0 UUID=d9b300b2-3c17-42dc-8db7-aa9cc3125caa /var/cache btrfs subvol=/@cache,defaults,noatime,compress=zstd 0 0 UUID=d9b300b2-3c17-42dc-8db7-aa9cc3125caa /var/log btrfs subvol=/@log,defaults,noatime,compress=zstd 0 0 tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
cat /proc/mounts
?
/dev/sda2 / btrfs rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@ 0 0 devtmpfs /dev devtmpfs rw,nosuid,size=4096k,nr_inodes=4081492,mode=755,inode64 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev,inode64 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0 pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0 efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0 bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0 configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /run tmpfs rw,nosuid,nodev,size=6536804k,nr_inodes=819200,mode=755,inode64 0 0 systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=36,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=6279 0 0 hugetlbfs /dev/hugepages hugetlbfs rw,nosuid,nodev,relatime,pagesize=2M 0 0 mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0 debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0 tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0 fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0 /dev/sda2 /home btrfs rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home 0 0 tmpfs /tmp tmpfs rw,noatime,inode64 0 0 /dev/sda2 /var/cache btrfs rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=258,subvol=/@cache 0 0 /dev/sda2 /var/log btrfs rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=259,subvol=/@log 0 0 /dev/sda3 /mnt/statwine btrfs rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/ 0 0 /dev/sda1 /efi vfat rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0 /dev/sdb1 /mnt/sdb1 btrfs rw,noatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=3268400k,nr_inodes=817100,mode=700,uid=1000,gid=1001,inode64 0 0
No výborně. /home je namontovaný. Takže je buď všechno v pořádku nebo se musíš soustředit na to, co se píše v logu. Něco jako/dev/sda2 /home btrfs rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home 0 0
journalctl -b -p3Kromě toho si dostal radu, abys udělal scrub, což se při problémech jaksi hodí. Takže tím můžeš pokračovat.
Tiskni Sdílej: