Search
1000 results for “archlinux”
-
People keep asking me how I knew to stock up on CPUs and RAM before the AI hardware choke. Anyway, I think I'm just about done configuring my optiplex #archlinux router. It's currently operating behind my modem, but it is responsible for the whole wireless network right now. And wow! Just using the hagezi configuration file for blocking is great. next, I think I'll recreate my "stream hole" configuration for the rest of the TVs in the house. #selfhosted
-
When two Hetzner servers died at the same time
On May 12, 2026, two of my Arch Linux + LUKS servers at Hetzner became unreachable at the same moment. Both had been running for 4+ months without issue. Both had received the same
pacman -Syyuthe day before, but had stayed on the old kernel until the morning the websites stopped responding. I rebooted — SSH never came back.nmap -Pn -p 22showedfilteredfrom anywhere. No ping. No banner. The Hetzner Robot panel insisted the hardware was fine.Several hours went into hypotheses that turned out to be wrong:
- The
encryptsshinitcpio hook referencing a/usr/lib/initcpio/udev/11-dm-initramfs.rulesfile that no longer exists. Real bug, no boot impact — the initramfs rebuilds anyway. PermitRootLogin noinsshd_config. Real misconfiguration, fixed it, didn’t help. A refusing sshd showsclosed, notfiltered.- Predictable interface-naming drift after the systemd 260 upgrade. Patched the
.networkconfig to match by MAC. Useful hardening; not the cause. - Stale GRUB stage1 +
core.imgin the MBR. Arch never re-runsgrub-installafter agrubpackage upgrade. Refreshed it. Still filtered. - Kernel 7.0.5 regression. Downgraded to 6.18.3, the kernel that had run for 4 months. Still filtered. So the kernel itself wasn’t it either.
The clue was in the persistent journal: a single recorded boot from December 31 to May 12 10:13 UTC, and absolutely nothing after. Every reboot since the upgrade was failing before
systemd-journaldcould flush to disk — so the failure had to be in the initramfs, before the root filesystem was even mounted.What it almost certainly was
Hetzner Dedicated servers configure the initramfs network with
ip=dhcpon the kernel command line. That depends on Hetzner’s DHCP server replying to whatever request format the current kernel sends. Somewhere between kernel 6.18 / iproute2 6.18 and kernel 7.0 / iproute2 7.0, the request format changed enough that Hetzner’s DHCP stopped responding. Effects:- Old kernel at runtime kept the interface already configured (Phase A — 32 hours of healthy operation after the package upgrade).
- New kernel cold-boots, hits DHCP, never gets an IP, dropbear cannot listen, port 22 stays
filtered.
Hetzner’s own documentation has been quietly moving away from
ip=dhcptoward static IPv4 in the kernel command line. The fix is exactly that:GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:cryptroot ip=A.B.C.D::GATEWAY:255.255.255.255:hostname:eth0:none"One line in
/etc/default/grub,grub-mkconfig, reboot. No more dependency on Hetzner’s DHCP responding to whatever your current kernel sends.Why it matters for anyone running this stack
If you run Arch on Hetzner Dedicated with full-disk encryption and remote unlock via dropbear, the
ip=dhcpshipped byinstallimageis a latent bug. It can keep working for years and then break overnight, on every machine you have, after a routinepacman -Syyu. The static-IP version is what Hetzner now recommends and removes the entire dependency.Tooling
While debugging, I turned the whole rescue / chroot / diagnose / fix workflow into a Python CLI (
hal) — includinghal fix static-ip, which derives the static cmdline directly from your existingsystemd-networkd.networkfile:→ github.com/kevinveenbirkenbach/hetzner-arch-luks
Single command, idempotent, reversible (the original
#ArchLinux #bootFailure #debugging #DevOps #DHCP #Dropbear #fullDiskEncryption #GRUB #Hetzner #initramfs #kernelUpgrade #Linux #LUKS #mkinitcpio #pacman #postmortem #PythonCLI #serverOutage #sysadmin #systemdNetworkd/etc/default/grubis backed up to.hal-backup). If you’re on this stack, switch to static IP before the next kernel upgrade catches you. - The
-
When two Hetzner servers died at the same time
On May 12, 2026, two of my Arch Linux + LUKS servers at Hetzner became unreachable at the same moment. Both had been running for 4+ months without issue. Both had received the same
pacman -Syyuthe day before, but had stayed on the old kernel until the morning the websites stopped responding. I rebooted — SSH never came back.nmap -Pn -p 22showedfilteredfrom anywhere. No ping. No banner. The Hetzner Robot panel insisted the hardware was fine.Several hours went into hypotheses that turned out to be wrong:
- The
encryptsshinitcpio hook referencing a/usr/lib/initcpio/udev/11-dm-initramfs.rulesfile that no longer exists. Real bug, no boot impact — the initramfs rebuilds anyway. PermitRootLogin noinsshd_config. Real misconfiguration, fixed it, didn’t help. A refusing sshd showsclosed, notfiltered.- Predictable interface-naming drift after the systemd 260 upgrade. Patched the
.networkconfig to match by MAC. Useful hardening; not the cause. - Stale GRUB stage1 +
core.imgin the MBR. Arch never re-runsgrub-installafter agrubpackage upgrade. Refreshed it. Still filtered. - Kernel 7.0.5 regression. Downgraded to 6.18.3, the kernel that had run for 4 months. Still filtered. So the kernel itself wasn’t it either.
The clue was in the persistent journal: a single recorded boot from December 31 to May 12 10:13 UTC, and absolutely nothing after. Every reboot since the upgrade was failing before
systemd-journaldcould flush to disk — so the failure had to be in the initramfs, before the root filesystem was even mounted.What it almost certainly was
Hetzner Dedicated servers configure the initramfs network with
ip=dhcpon the kernel command line. That depends on Hetzner’s DHCP server replying to whatever request format the current kernel sends. Somewhere between kernel 6.18 / iproute2 6.18 and kernel 7.0 / iproute2 7.0, the request format changed enough that Hetzner’s DHCP stopped responding. Effects:- Old kernel at runtime kept the interface already configured (Phase A — 32 hours of healthy operation after the package upgrade).
- New kernel cold-boots, hits DHCP, never gets an IP, dropbear cannot listen, port 22 stays
filtered.
Hetzner’s own documentation has been quietly moving away from
ip=dhcptoward static IPv4 in the kernel command line. The fix is exactly that:GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:cryptroot ip=A.B.C.D::GATEWAY:255.255.255.255:hostname:eth0:none"One line in
/etc/default/grub,grub-mkconfig, reboot. No more dependency on Hetzner’s DHCP responding to whatever your current kernel sends.Why it matters for anyone running this stack
If you run Arch on Hetzner Dedicated with full-disk encryption and remote unlock via dropbear, the
ip=dhcpshipped byinstallimageis a latent bug. It can keep working for years and then break overnight, on every machine you have, after a routinepacman -Syyu. The static-IP version is what Hetzner now recommends and removes the entire dependency.Tooling
While debugging, I turned the whole rescue / chroot / diagnose / fix workflow into a Python CLI (
hal) — includinghal fix static-ip, which derives the static cmdline directly from your existingsystemd-networkd.networkfile:→ github.com/kevinveenbirkenbach/hetzner-arch-luks
Single command, idempotent, reversible (the original
#ArchLinux #bootFailure #debugging #DevOps #DHCP #Dropbear #fullDiskEncryption #GRUB #Hetzner #initramfs #kernelUpgrade #Linux #LUKS #mkinitcpio #pacman #postmortem #PythonCLI #serverOutage #sysadmin #systemdNetworkd/etc/default/grubis backed up to.hal-backup). If you’re on this stack, switch to static IP before the next kernel upgrade catches you. - The
-
When two Hetzner servers died at the same time
On May 12, 2026, two of my Arch Linux + LUKS servers at Hetzner became unreachable at the same moment. Both had been running for 4+ months without issue. Both had received the same
pacman -Syyuthe day before, but had stayed on the old kernel until the morning the websites stopped responding. I rebooted — SSH never came back.nmap -Pn -p 22showedfilteredfrom anywhere. No ping. No banner. The Hetzner Robot panel insisted the hardware was fine.Several hours went into hypotheses that turned out to be wrong:
- The
encryptsshinitcpio hook referencing a/usr/lib/initcpio/udev/11-dm-initramfs.rulesfile that no longer exists. Real bug, no boot impact — the initramfs rebuilds anyway. PermitRootLogin noinsshd_config. Real misconfiguration, fixed it, didn’t help. A refusing sshd showsclosed, notfiltered.- Predictable interface-naming drift after the systemd 260 upgrade. Patched the
.networkconfig to match by MAC. Useful hardening; not the cause. - Stale GRUB stage1 +
core.imgin the MBR. Arch never re-runsgrub-installafter agrubpackage upgrade. Refreshed it. Still filtered. - Kernel 7.0.5 regression. Downgraded to 6.18.3, the kernel that had run for 4 months. Still filtered. So the kernel itself wasn’t it either.
The clue was in the persistent journal: a single recorded boot from December 31 to May 12 10:13 UTC, and absolutely nothing after. Every reboot since the upgrade was failing before
systemd-journaldcould flush to disk — so the failure had to be in the initramfs, before the root filesystem was even mounted.What it almost certainly was
Hetzner Dedicated servers configure the initramfs network with
ip=dhcpon the kernel command line. That depends on Hetzner’s DHCP server replying to whatever request format the current kernel sends. Somewhere between kernel 6.18 / iproute2 6.18 and kernel 7.0 / iproute2 7.0, the request format changed enough that Hetzner’s DHCP stopped responding. Effects:- Old kernel at runtime kept the interface already configured (Phase A — 32 hours of healthy operation after the package upgrade).
- New kernel cold-boots, hits DHCP, never gets an IP, dropbear cannot listen, port 22 stays
filtered.
Hetzner’s own documentation has been quietly moving away from
ip=dhcptoward static IPv4 in the kernel command line. The fix is exactly that:GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:cryptroot ip=A.B.C.D::GATEWAY:255.255.255.255:hostname:eth0:none"One line in
/etc/default/grub,grub-mkconfig, reboot. No more dependency on Hetzner’s DHCP responding to whatever your current kernel sends.Why it matters for anyone running this stack
If you run Arch on Hetzner Dedicated with full-disk encryption and remote unlock via dropbear, the
ip=dhcpshipped byinstallimageis a latent bug. It can keep working for years and then break overnight, on every machine you have, after a routinepacman -Syyu. The static-IP version is what Hetzner now recommends and removes the entire dependency.Tooling
While debugging, I turned the whole rescue / chroot / diagnose / fix workflow into a Python CLI (
hal) — includinghal fix static-ip, which derives the static cmdline directly from your existingsystemd-networkd.networkfile:→ github.com/kevinveenbirkenbach/hetzner-arch-luks
Single command, idempotent, reversible (the original
#ArchLinux #bootFailure #debugging #DevOps #DHCP #Dropbear #fullDiskEncryption #GRUB #Hetzner #initramfs #kernelUpgrade #Linux #LUKS #mkinitcpio #pacman #postmortem #PythonCLI #serverOutage #sysadmin #systemdNetworkd/etc/default/grubis backed up to.hal-backup). If you’re on this stack, switch to static IP before the next kernel upgrade catches you. - The
-
When two Hetzner servers died at the same time
On May 12, 2026, two of my Arch Linux + LUKS servers at Hetzner became unreachable at the same moment. Both had been running for 4+ months without issue. Both had received the same
pacman -Syyuthe day before, but had stayed on the old kernel until the morning the websites stopped responding. I rebooted — SSH never came back.nmap -Pn -p 22showedfilteredfrom anywhere. No ping. No banner. The Hetzner Robot panel insisted the hardware was fine.Several hours went into hypotheses that turned out to be wrong:
- The
encryptsshinitcpio hook referencing a/usr/lib/initcpio/udev/11-dm-initramfs.rulesfile that no longer exists. Real bug, no boot impact — the initramfs rebuilds anyway. PermitRootLogin noinsshd_config. Real misconfiguration, fixed it, didn’t help. A refusing sshd showsclosed, notfiltered.- Predictable interface-naming drift after the systemd 260 upgrade. Patched the
.networkconfig to match by MAC. Useful hardening; not the cause. - Stale GRUB stage1 +
core.imgin the MBR. Arch never re-runsgrub-installafter agrubpackage upgrade. Refreshed it. Still filtered. - Kernel 7.0.5 regression. Downgraded to 6.18.3, the kernel that had run for 4 months. Still filtered. So the kernel itself wasn’t it either.
The clue was in the persistent journal: a single recorded boot from December 31 to May 12 10:13 UTC, and absolutely nothing after. Every reboot since the upgrade was failing before
systemd-journaldcould flush to disk — so the failure had to be in the initramfs, before the root filesystem was even mounted.What it almost certainly was
Hetzner Dedicated servers configure the initramfs network with
ip=dhcpon the kernel command line. That depends on Hetzner’s DHCP server replying to whatever request format the current kernel sends. Somewhere between kernel 6.18 / iproute2 6.18 and kernel 7.0 / iproute2 7.0, the request format changed enough that Hetzner’s DHCP stopped responding. Effects:- Old kernel at runtime kept the interface already configured (Phase A — 32 hours of healthy operation after the package upgrade).
- New kernel cold-boots, hits DHCP, never gets an IP, dropbear cannot listen, port 22 stays
filtered.
Hetzner’s own documentation has been quietly moving away from
ip=dhcptoward static IPv4 in the kernel command line. The fix is exactly that:GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:cryptroot ip=A.B.C.D::GATEWAY:255.255.255.255:hostname:eth0:none"One line in
/etc/default/grub,grub-mkconfig, reboot. No more dependency on Hetzner’s DHCP responding to whatever your current kernel sends.Why it matters for anyone running this stack
If you run Arch on Hetzner Dedicated with full-disk encryption and remote unlock via dropbear, the
ip=dhcpshipped byinstallimageis a latent bug. It can keep working for years and then break overnight, on every machine you have, after a routinepacman -Syyu. The static-IP version is what Hetzner now recommends and removes the entire dependency.Tooling
While debugging, I turned the whole rescue / chroot / diagnose / fix workflow into a Python CLI (
hal) — includinghal fix static-ip, which derives the static cmdline directly from your existingsystemd-networkd.networkfile:→ github.com/kevinveenbirkenbach/hetzner-arch-luks
Single command, idempotent, reversible (the original
#ArchLinux #bootFailure #debugging #DevOps #DHCP #Dropbear #fullDiskEncryption #GRUB #Hetzner #initramfs #kernelUpgrade #Linux #LUKS #mkinitcpio #pacman #postmortem #PythonCLI #serverOutage #sysadmin #systemdNetworkd/etc/default/grubis backed up to.hal-backup). If you’re on this stack, switch to static IP before the next kernel upgrade catches you. - The
-
Arch Tip týdne: pacman jako profík
📦 pacman umí mnohem víc než jen instalovat balíčky.
Tady jsou dotazy, které ti pomůžou pochopit, co máš v systému.═══════════════════════════════════════════
🔍 ZÁKLADNÍ DOTAZY (-Q = QUERY)
═══════════════════════════════════════════výpis všech nainstalovaných balíčků
pacman -Q
kolik balíčků mám?
pacman -Q | wc -l
jen explicitně nainstalované (bez závislostí)
pacman -Qe
jen závislosti (instalované jako "side effect")
pacman -Qd
balíčky z AUR / mimo oficiální repo
pacman -Qm
balíčky JEN z oficiálních repo
pacman -Qn
osiřelé balíčky (závislosti, které už nikdo nepotřebuje)
pacman -Qtdq
odstranění osiřelých
sudo pacman -Rns $(pacman -Qtdq)
═══════════════════════════════════════════
📋 pacman -Qi → INFO O BALÍČKU
═══════════════════════════════════════════detailní info
pacman -Qi firefox
co uvidíš:
- verze, popis, URL
- licence
- závislosti (Depends On)
- co na něm závisí (Required By)
- volitelné závislosti (Optional Deps)
- velikost, datum instalace
- důvod instalace (Explicitly installed / Dependency)
rozšířené info (přidá Backup Files = konfiguráky chráněné při update)
pacman -Qii firefox
info z repa (i pro nenainstalované)
pacman -Si firefox
jen velikost balíčku
pacman -Qi firefox | grep "Installed Size"
řazení balíčků podle velikosti (potřebuje: pacman -S expac)
expac -H M "%m\t%n" | sort -h | tail -20
═══════════════════════════════════════════
📂 pacman -Ql → SEZNAM SOUBORŮ
═══════════════════════════════════════════co všechno balíček nainstaloval
pacman -Ql firefox
jen binárky
pacman -Ql firefox | grep '/bin/'
konfigurační soubory balíčku (vše v /etc)
pacman -Ql firefox | grep '^firefox /etc'
počet souborů v balíčku
pacman -Ql firefox | wc -l
soubory nenainstalovaného balíčku (z repa)
nejdřív aktualizuj file database:
sudo pacman -Fy
pacman -Fl firefox═══════════════════════════════════════════
🔎 pacman -Qo → KDO VLASTNÍ TENTO SOUBOR?
═══════════════════════════════════════════který balíček nainstaloval daný soubor?
pacman -Qo /usr/bin/firefox
výstup:
/usr/bin/firefox is owned by firefox 123.0-1
najdi balíček podle příkazu v PATH
pacman -Qo $(which nvim)
najdi balíček, kterému patří soubor – i když ho nemáš nainstalovaný
sudo pacman -Fy
pacman -F /usr/bin/htop═══════════════════════════════════════════
🛠️ pacnew / pacsave – CHRÁNĚNÉ KONFIGURÁKY
═══════════════════════════════════════════Backup Files = soubory označené v balíčku jako "neredisej moji verzi"
Když přijde update a soubor jsi upravil, pacman vytvoří .pacnew
(nová verze z balíčku) a tvoji verzi nechá být.
seznam backup files konkrétního balíčku
pacman -Qii pacman | awk '/^Backup Files/,/^$/'
najdi všechny .pacnew/.pacsave v systému (čekající na merge)
sudo find /etc ( -name ".pacnew" -o -name ".pacsave" )
interaktivní merge (z pacman-contrib)
sudo pacman -S pacman-contrib
sudo pacdiff═══════════════════════════════════════════
🌳 pactree → STROM ZÁVISLOSTÍ
═══════════════════════════════════════════instalace (pokud nemáš)
sudo pacman -S pacman-contrib
co všechno balíček potřebuje (závislosti)
pactree firefox
obrácený strom – kdo závisí NA tomto balíčku
pactree -r glibc
omezení hloubky
pactree -d 1 firefox
jen názvy, bez ozdob
pactree -u firefox
grafický výstup (potřebuje: pacman -S graphviz)
pactree --graph firefox | dot -Tpng > firefox-deps.png
═══════════════════════════════════════════
🔧 BONUS – DALŠÍ UŽITEČNÉ DOTAZY
═══════════════════════════════════════════hledání balíčku v repech
pacman -Ss firefox
hledání v nainstalovaných
pacman -Qs firefox
poslední full upgrade systému
grep "starting full system upgrade" /var/log/pacman.log | tail -5
co se naposled instalovalo/aktualizovalo
tail -50 /var/log/pacman.log
pretty výpis posledních akcí (expac)
expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort -r | head -20
změnit důvod instalace (z dependency na explicit)
sudo pacman -D --asexplicit firefox
označit jako závislost (půjde uklidit přes -Rns)
sudo pacman -D --asdeps nějaký-balíček
═══════════════════════════════════════════
💡 TYPICKÝ WORKFLOW
═══════════════════════════════════════════1. co mi žere místo?
expac -H M "%m\t%n" | sort -h | tail -20
2. co dělá tenhle balíček?
pacman -Qi <balíček>
3. můžu ho smazat? Co na něm závisí?
pactree -r <balíček>
4. odkud se vzal tenhle soubor?
pacman -Qo /cesta/k/souboru
5. úklid
sudo pacman -Rns $(pacman -Qtdq)
sudo paccache -rk2 -
Arch Tip týdne: pacman jako profík
📦 pacman umí mnohem víc než jen instalovat balíčky.
Tady jsou dotazy, které ti pomůžou pochopit, co máš v systému.═══════════════════════════════════════════
🔍 ZÁKLADNÍ DOTAZY (-Q = QUERY)
═══════════════════════════════════════════výpis všech nainstalovaných balíčků
pacman -Q
kolik balíčků mám?
pacman -Q | wc -l
jen explicitně nainstalované (bez závislostí)
pacman -Qe
jen závislosti (instalované jako "side effect")
pacman -Qd
balíčky z AUR / mimo oficiální repo
pacman -Qm
balíčky JEN z oficiálních repo
pacman -Qn
osiřelé balíčky (závislosti, které už nikdo nepotřebuje)
pacman -Qtdq
odstranění osiřelých
sudo pacman -Rns $(pacman -Qtdq)
═══════════════════════════════════════════
📋 pacman -Qi → INFO O BALÍČKU
═══════════════════════════════════════════detailní info
pacman -Qi firefox
co uvidíš:
- verze, popis, URL
- licence
- závislosti (Depends On)
- co na něm závisí (Required By)
- volitelné závislosti (Optional Deps)
- velikost, datum instalace
- důvod instalace (Explicitly installed / Dependency)
rozšířené info (přidá Backup Files = konfiguráky chráněné při update)
pacman -Qii firefox
info z repa (i pro nenainstalované)
pacman -Si firefox
jen velikost balíčku
pacman -Qi firefox | grep "Installed Size"
řazení balíčků podle velikosti (potřebuje: pacman -S expac)
expac -H M "%m\t%n" | sort -h | tail -20
═══════════════════════════════════════════
📂 pacman -Ql → SEZNAM SOUBORŮ
═══════════════════════════════════════════co všechno balíček nainstaloval
pacman -Ql firefox
jen binárky
pacman -Ql firefox | grep '/bin/'
konfigurační soubory balíčku (vše v /etc)
pacman -Ql firefox | grep '^firefox /etc'
počet souborů v balíčku
pacman -Ql firefox | wc -l
soubory nenainstalovaného balíčku (z repa)
nejdřív aktualizuj file database:
sudo pacman -Fy
pacman -Fl firefox═══════════════════════════════════════════
🔎 pacman -Qo → KDO VLASTNÍ TENTO SOUBOR?
═══════════════════════════════════════════který balíček nainstaloval daný soubor?
pacman -Qo /usr/bin/firefox
výstup:
/usr/bin/firefox is owned by firefox 123.0-1
najdi balíček podle příkazu v PATH
pacman -Qo $(which nvim)
najdi balíček, kterému patří soubor – i když ho nemáš nainstalovaný
sudo pacman -Fy
pacman -F /usr/bin/htop═══════════════════════════════════════════
🛠️ pacnew / pacsave – CHRÁNĚNÉ KONFIGURÁKY
═══════════════════════════════════════════Backup Files = soubory označené v balíčku jako "neredisej moji verzi"
Když přijde update a soubor jsi upravil, pacman vytvoří .pacnew
(nová verze z balíčku) a tvoji verzi nechá být.
seznam backup files konkrétního balíčku
pacman -Qii pacman | awk '/^Backup Files/,/^$/'
najdi všechny .pacnew/.pacsave v systému (čekající na merge)
sudo find /etc ( -name ".pacnew" -o -name ".pacsave" )
interaktivní merge (z pacman-contrib)
sudo pacman -S pacman-contrib
sudo pacdiff═══════════════════════════════════════════
🌳 pactree → STROM ZÁVISLOSTÍ
═══════════════════════════════════════════instalace (pokud nemáš)
sudo pacman -S pacman-contrib
co všechno balíček potřebuje (závislosti)
pactree firefox
obrácený strom – kdo závisí NA tomto balíčku
pactree -r glibc
omezení hloubky
pactree -d 1 firefox
jen názvy, bez ozdob
pactree -u firefox
grafický výstup (potřebuje: pacman -S graphviz)
pactree --graph firefox | dot -Tpng > firefox-deps.png
═══════════════════════════════════════════
🔧 BONUS – DALŠÍ UŽITEČNÉ DOTAZY
═══════════════════════════════════════════hledání balíčku v repech
pacman -Ss firefox
hledání v nainstalovaných
pacman -Qs firefox
poslední full upgrade systému
grep "starting full system upgrade" /var/log/pacman.log | tail -5
co se naposled instalovalo/aktualizovalo
tail -50 /var/log/pacman.log
pretty výpis posledních akcí (expac)
expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort -r | head -20
změnit důvod instalace (z dependency na explicit)
sudo pacman -D --asexplicit firefox
označit jako závislost (půjde uklidit přes -Rns)
sudo pacman -D --asdeps nějaký-balíček
═══════════════════════════════════════════
💡 TYPICKÝ WORKFLOW
═══════════════════════════════════════════1. co mi žere místo?
expac -H M "%m\t%n" | sort -h | tail -20
2. co dělá tenhle balíček?
pacman -Qi <balíček>
3. můžu ho smazat? Co na něm závisí?
pactree -r <balíček>
4. odkud se vzal tenhle soubor?
pacman -Qo /cesta/k/souboru
5. úklid
sudo pacman -Rns $(pacman -Qtdq)
sudo paccache -rk2 -
Arch Tip týdne: pacman jako profík
📦 pacman umí mnohem víc než jen instalovat balíčky.
Tady jsou dotazy, které ti pomůžou pochopit, co máš v systému.═══════════════════════════════════════════
🔍 ZÁKLADNÍ DOTAZY (-Q = QUERY)
═══════════════════════════════════════════výpis všech nainstalovaných balíčků
pacman -Q
kolik balíčků mám?
pacman -Q | wc -l
jen explicitně nainstalované (bez závislostí)
pacman -Qe
jen závislosti (instalované jako "side effect")
pacman -Qd
balíčky z AUR / mimo oficiální repo
pacman -Qm
balíčky JEN z oficiálních repo
pacman -Qn
osiřelé balíčky (závislosti, které už nikdo nepotřebuje)
pacman -Qtdq
odstranění osiřelých
sudo pacman -Rns $(pacman -Qtdq)
═══════════════════════════════════════════
📋 pacman -Qi → INFO O BALÍČKU
═══════════════════════════════════════════detailní info
pacman -Qi firefox
co uvidíš:
- verze, popis, URL
- licence
- závislosti (Depends On)
- co na něm závisí (Required By)
- volitelné závislosti (Optional Deps)
- velikost, datum instalace
- důvod instalace (Explicitly installed / Dependency)
rozšířené info (přidá Backup Files = konfiguráky chráněné při update)
pacman -Qii firefox
info z repa (i pro nenainstalované)
pacman -Si firefox
jen velikost balíčku
pacman -Qi firefox | grep "Installed Size"
řazení balíčků podle velikosti (potřebuje: pacman -S expac)
expac -H M "%m\t%n" | sort -h | tail -20
═══════════════════════════════════════════
📂 pacman -Ql → SEZNAM SOUBORŮ
═══════════════════════════════════════════co všechno balíček nainstaloval
pacman -Ql firefox
jen binárky
pacman -Ql firefox | grep '/bin/'
konfigurační soubory balíčku (vše v /etc)
pacman -Ql firefox | grep '^firefox /etc'
počet souborů v balíčku
pacman -Ql firefox | wc -l
soubory nenainstalovaného balíčku (z repa)
nejdřív aktualizuj file database:
sudo pacman -Fy
pacman -Fl firefox═══════════════════════════════════════════
🔎 pacman -Qo → KDO VLASTNÍ TENTO SOUBOR?
═══════════════════════════════════════════který balíček nainstaloval daný soubor?
pacman -Qo /usr/bin/firefox
výstup:
/usr/bin/firefox is owned by firefox 123.0-1
najdi balíček podle příkazu v PATH
pacman -Qo $(which nvim)
najdi balíček, kterému patří soubor – i když ho nemáš nainstalovaný
sudo pacman -Fy
pacman -F /usr/bin/htop═══════════════════════════════════════════
🛠️ pacnew / pacsave – CHRÁNĚNÉ KONFIGURÁKY
═══════════════════════════════════════════Backup Files = soubory označené v balíčku jako "neredisej moji verzi"
Když přijde update a soubor jsi upravil, pacman vytvoří .pacnew
(nová verze z balíčku) a tvoji verzi nechá být.
seznam backup files konkrétního balíčku
pacman -Qii pacman | awk '/^Backup Files/,/^$/'
najdi všechny .pacnew/.pacsave v systému (čekající na merge)
sudo find /etc ( -name ".pacnew" -o -name ".pacsave" )
interaktivní merge (z pacman-contrib)
sudo pacman -S pacman-contrib
sudo pacdiff═══════════════════════════════════════════
🌳 pactree → STROM ZÁVISLOSTÍ
═══════════════════════════════════════════instalace (pokud nemáš)
sudo pacman -S pacman-contrib
co všechno balíček potřebuje (závislosti)
pactree firefox
obrácený strom – kdo závisí NA tomto balíčku
pactree -r glibc
omezení hloubky
pactree -d 1 firefox
jen názvy, bez ozdob
pactree -u firefox
grafický výstup (potřebuje: pacman -S graphviz)
pactree --graph firefox | dot -Tpng > firefox-deps.png
═══════════════════════════════════════════
🔧 BONUS – DALŠÍ UŽITEČNÉ DOTAZY
═══════════════════════════════════════════hledání balíčku v repech
pacman -Ss firefox
hledání v nainstalovaných
pacman -Qs firefox
poslední full upgrade systému
grep "starting full system upgrade" /var/log/pacman.log | tail -5
co se naposled instalovalo/aktualizovalo
tail -50 /var/log/pacman.log
pretty výpis posledních akcí (expac)
expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort -r | head -20
změnit důvod instalace (z dependency na explicit)
sudo pacman -D --asexplicit firefox
označit jako závislost (půjde uklidit přes -Rns)
sudo pacman -D --asdeps nějaký-balíček
═══════════════════════════════════════════
💡 TYPICKÝ WORKFLOW
═══════════════════════════════════════════1. co mi žere místo?
expac -H M "%m\t%n" | sort -h | tail -20
2. co dělá tenhle balíček?
pacman -Qi <balíček>
3. můžu ho smazat? Co na něm závisí?
pactree -r <balíček>
4. odkud se vzal tenhle soubor?
pacman -Qo /cesta/k/souboru
5. úklid
sudo pacman -Rns $(pacman -Qtdq)
sudo paccache -rk2 -
Arch Tip týdne: pacman jako profík
📦 pacman umí mnohem víc než jen instalovat balíčky.
Tady jsou dotazy, které ti pomůžou pochopit, co máš v systému.═══════════════════════════════════════════
🔍 ZÁKLADNÍ DOTAZY (-Q = QUERY)
═══════════════════════════════════════════výpis všech nainstalovaných balíčků
pacman -Q
kolik balíčků mám?
pacman -Q | wc -l
jen explicitně nainstalované (bez závislostí)
pacman -Qe
jen závislosti (instalované jako "side effect")
pacman -Qd
balíčky z AUR / mimo oficiální repo
pacman -Qm
balíčky JEN z oficiálních repo
pacman -Qn
osiřelé balíčky (závislosti, které už nikdo nepotřebuje)
pacman -Qtdq
odstranění osiřelých
sudo pacman -Rns $(pacman -Qtdq)
═══════════════════════════════════════════
📋 pacman -Qi → INFO O BALÍČKU
═══════════════════════════════════════════detailní info
pacman -Qi firefox
co uvidíš:
- verze, popis, URL
- licence
- závislosti (Depends On)
- co na něm závisí (Required By)
- volitelné závislosti (Optional Deps)
- velikost, datum instalace
- důvod instalace (Explicitly installed / Dependency)
rozšířené info (přidá Backup Files = konfiguráky chráněné při update)
pacman -Qii firefox
info z repa (i pro nenainstalované)
pacman -Si firefox
jen velikost balíčku
pacman -Qi firefox | grep "Installed Size"
řazení balíčků podle velikosti (potřebuje: pacman -S expac)
expac -H M "%m\t%n" | sort -h | tail -20
═══════════════════════════════════════════
📂 pacman -Ql → SEZNAM SOUBORŮ
═══════════════════════════════════════════co všechno balíček nainstaloval
pacman -Ql firefox
jen binárky
pacman -Ql firefox | grep '/bin/'
konfigurační soubory balíčku (vše v /etc)
pacman -Ql firefox | grep '^firefox /etc'
počet souborů v balíčku
pacman -Ql firefox | wc -l
soubory nenainstalovaného balíčku (z repa)
nejdřív aktualizuj file database:
sudo pacman -Fy
pacman -Fl firefox═══════════════════════════════════════════
🔎 pacman -Qo → KDO VLASTNÍ TENTO SOUBOR?
═══════════════════════════════════════════který balíček nainstaloval daný soubor?
pacman -Qo /usr/bin/firefox
výstup:
/usr/bin/firefox is owned by firefox 123.0-1
najdi balíček podle příkazu v PATH
pacman -Qo $(which nvim)
najdi balíček, kterému patří soubor – i když ho nemáš nainstalovaný
sudo pacman -Fy
pacman -F /usr/bin/htop═══════════════════════════════════════════
🛠️ pacnew / pacsave – CHRÁNĚNÉ KONFIGURÁKY
═══════════════════════════════════════════Backup Files = soubory označené v balíčku jako "neredisej moji verzi"
Když přijde update a soubor jsi upravil, pacman vytvoří .pacnew
(nová verze z balíčku) a tvoji verzi nechá být.
seznam backup files konkrétního balíčku
pacman -Qii pacman | awk '/^Backup Files/,/^$/'
najdi všechny .pacnew/.pacsave v systému (čekající na merge)
sudo find /etc ( -name ".pacnew" -o -name ".pacsave" )
interaktivní merge (z pacman-contrib)
sudo pacman -S pacman-contrib
sudo pacdiff═══════════════════════════════════════════
🌳 pactree → STROM ZÁVISLOSTÍ
═══════════════════════════════════════════instalace (pokud nemáš)
sudo pacman -S pacman-contrib
co všechno balíček potřebuje (závislosti)
pactree firefox
obrácený strom – kdo závisí NA tomto balíčku
pactree -r glibc
omezení hloubky
pactree -d 1 firefox
jen názvy, bez ozdob
pactree -u firefox
grafický výstup (potřebuje: pacman -S graphviz)
pactree --graph firefox | dot -Tpng > firefox-deps.png
═══════════════════════════════════════════
🔧 BONUS – DALŠÍ UŽITEČNÉ DOTAZY
═══════════════════════════════════════════hledání balíčku v repech
pacman -Ss firefox
hledání v nainstalovaných
pacman -Qs firefox
poslední full upgrade systému
grep "starting full system upgrade" /var/log/pacman.log | tail -5
co se naposled instalovalo/aktualizovalo
tail -50 /var/log/pacman.log
pretty výpis posledních akcí (expac)
expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort -r | head -20
změnit důvod instalace (z dependency na explicit)
sudo pacman -D --asexplicit firefox
označit jako závislost (půjde uklidit přes -Rns)
sudo pacman -D --asdeps nějaký-balíček
═══════════════════════════════════════════
💡 TYPICKÝ WORKFLOW
═══════════════════════════════════════════1. co mi žere místo?
expac -H M "%m\t%n" | sort -h | tail -20
2. co dělá tenhle balíček?
pacman -Qi <balíček>
3. můžu ho smazat? Co na něm závisí?
pactree -r <balíček>
4. odkud se vzal tenhle soubor?
pacman -Qo /cesta/k/souboru
5. úklid
sudo pacman -Rns $(pacman -Qtdq)
sudo paccache -rk2 -
After two weeks of wrangling, finally got the next batch of AV1 packages built for Arch into the repo. Should be back on the regular schedule of weekly releases unless something else rears its ugly head.
- Some packages require GCC 15 and absolutely hate GCC 16
- Zig 0.16 is not an option for a lot of stuff
- VapourSynth API v3 C headers are no longer included with the Arch Linux package, so had to grab those from the repo and get them to the right spot -
Updating my #ArchLinux systems is usually pretty quick, but on the one system where I have an #NVIDIA GPU and have CUDA installed the process takes notably longer (primarily because the download sizes are so much larger).
-
@archlinux actualizado y reiniciado... #linux #kernel 7.0 corriendo!
Eso sí, tuve que reemplazar mi terminal drop-down, qterminal me empezó a dar problemas con #neovim... así que volví a la vieja y querida #tilda 😃
#gnu #linux #archlinux #update #upgrade #tilda #guake #qterminal
-
There’s something special about a clean terminal and a fresh coffee on a system that just works the way you want it to.
Spent way too much time hopping distros, but Arch + KDE is where I finally settled. It’s nice not having to fight your own OS for once.
Anyone else rocking a custom setup? Drop a neofetch or a screenshot below, I’m looking for some fresh inspiration.
-
💡CachyOS: fino al +16% di prestazioni su Arch Linux con la compilazione ottimizzata
https://gomoot.com/cachyos-prestazioni-da-record-su-arch-linux-grazie-alla-compilazione-ottimizzata/#archlinux #CachyOS #distro #gamingLinux #performance #linux #opensource
-
💡CachyOS: fino al +16% di prestazioni su Arch Linux con la compilazione ottimizzata
https://gomoot.com/cachyos-prestazioni-da-record-su-arch-linux-grazie-alla-compilazione-ottimizzata/#archlinux #CachyOS #distro #gamingLinux #performance #linux #opensource
-
From a conversation that happened earlier in our Discourse chat (yes, Discourse has a chat too)
-
From a conversation that happened earlier in our Discourse chat (yes, Discourse has a chat too)
-
From a conversation that happened earlier in our Discourse chat (yes, Discourse has a chat too)
-
From a conversation that happened earlier in our Discourse chat (yes, Discourse has a chat too)
-
Solo fighting Promised Consort Radahn with help from my Mimic Tear ashes. Btw he's the last final boss of the whole DLC and I guess the whole game.
After a 15 month break from the game, where during those times we lost our dog, the people who kept my chat alive, and most importantly the friend who introduced me to this game, it's finally done.
#peertube: https://video.hardlimit.com/w/xbgifGXhgEBhbefyp7ivR9
#youtube: https://www.youtube.com/watch?v=LspbGNK1dKs
#eldenring #fromsoftware #soulslike #darksouls #linuxgaming #archlinux
-
Arch Tip týdne: Kam mi mizí místo na disku?
💽 Čtyři nástroje, se kterými najdeš každý zbytečný gigabajt.
Žádné klikání – rychlé, přehledné, přímo v terminálu.═══════════════════════════════════════════
📊 DUF – přehled všech disků
═══════════════════════════════════════════Moderní nahrazení df. Barevný, přehledný výstup.
Instalace:
sudo pacman -S dufPoužití:
duf # všechny disky
duf /home /mnt # jen vybrané
duf --only local # jen lokální (bez tmpfs, atd.)
duf --sort size # seřadit podle velikostiCo uvidíš:
→ kolik místa je volné/použité
→ typ souborového systému
→ mount pointy
→ varování u skoro plných disků═══════════════════════════════════════════
🔍 NCDU – interaktivní prohlížeč velikostí
═══════════════════════════════════════════Ukáže, které složky žerou nejvíc. Šipkama procházíš,
mazat můžeš přímo (klávesad).Instalace:
sudo pacman -S ncduPoužití:
ncdu / # celý systém (chvíli trvá)
ncdu ~ # jen home
ncdu --exclude .cache # vynechat složky
sudo ncdu -x / # -x = nepřecházet přes mount pointyOvládání:
→ šipky / enter = procházení
→ d = smazat
→ n / s = řadit podle jména / velikosti
→ g = zobrazit v % nebo graficky
→ q = konecTip: Spusť na root oddílu, když se ti plní /.
Nejčastější viníci: ~/.cache, /var/log, /var/cache/pacman/pkg═══════════════════════════════════════════
🧱 LSBLK – stromový přehled disků
═══════════════════════════════════════════Ukáže všechny disky, oddíly a jejich mount pointy.
Použití:
lsblk # základní výstup
lsblk -f # + filesystémy a UUID
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,LABEL
lsblk -p # plné cesty (/dev/sda1)Co uvidíš:
→ fyzické disky a jejich oddíly
→ LUKS kontejnery, LVM, RAID
→ kde je co připojené═══════════════════════════════════════════
🔎 FINDMNT – kde je co připojené
═══════════════════════════════════════════Lepší než mount | grep. Ukáže stromovou strukturu
všech mount pointů.Použití:
findmnt # strom všech mountů
findmnt /home # konkrétní cesta
findmnt -t ext4,btrfs # jen vybrané FS
findmnt --real # bez pseudo FS (proc, sys…)
findmnt -o TARGET,SOURCE,FSTYPE,OPTIONSHodí se když:
→ nevíš jestli je něco připojené
→ ladíš fstab
→ řešíš problém s NFS/SSHFS═══════════════════════════════════════════
💡 TYPICKÝ WORKFLOW – plní se disk
═══════════════════════════════════════════1. rychlý přehled
duf
2. který disk je plný?
df -h /
3. kde přesně žere místo?
sudo ncdu -x /
4. ověř mount pointy a strukturu
lsblk -f
findmnt --real═══════════════════════════════════════════
🧹 BONUS – časté zdroje žroutů místa
═══════════════════════════════════════════cache pacmanu (nech poslední 2 verze)
sudo paccache -rk2
journald logy (nech jen posledních 500 MB)
sudo journalctl --vacuum-size=500M
cache v home
du -sh ~/.cache
rm -rf ~/.cache/*docker (pokud používáš)
docker system prune -a
osiřelé balíčky
sudo pacman -Rns $(pacman -Qtdq)
-
Arch Tip týdne: Kam mi mizí místo na disku?
💽 Čtyři nástroje, se kterými najdeš každý zbytečný gigabajt.
Žádné klikání – rychlé, přehledné, přímo v terminálu.═══════════════════════════════════════════
📊 DUF – přehled všech disků
═══════════════════════════════════════════Moderní nahrazení df. Barevný, přehledný výstup.
Instalace:
sudo pacman -S dufPoužití:
duf # všechny disky
duf /home /mnt # jen vybrané
duf --only local # jen lokální (bez tmpfs, atd.)
duf --sort size # seřadit podle velikostiCo uvidíš:
→ kolik místa je volné/použité
→ typ souborového systému
→ mount pointy
→ varování u skoro plných disků═══════════════════════════════════════════
🔍 NCDU – interaktivní prohlížeč velikostí
═══════════════════════════════════════════Ukáže, které složky žerou nejvíc. Šipkama procházíš,
mazat můžeš přímo (klávesad).Instalace:
sudo pacman -S ncduPoužití:
ncdu / # celý systém (chvíli trvá)
ncdu ~ # jen home
ncdu --exclude .cache # vynechat složky
sudo ncdu -x / # -x = nepřecházet přes mount pointyOvládání:
→ šipky / enter = procházení
→ d = smazat
→ n / s = řadit podle jména / velikosti
→ g = zobrazit v % nebo graficky
→ q = konecTip: Spusť na root oddílu, když se ti plní /.
Nejčastější viníci: ~/.cache, /var/log, /var/cache/pacman/pkg═══════════════════════════════════════════
🧱 LSBLK – stromový přehled disků
═══════════════════════════════════════════Ukáže všechny disky, oddíly a jejich mount pointy.
Použití:
lsblk # základní výstup
lsblk -f # + filesystémy a UUID
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,LABEL
lsblk -p # plné cesty (/dev/sda1)Co uvidíš:
→ fyzické disky a jejich oddíly
→ LUKS kontejnery, LVM, RAID
→ kde je co připojené═══════════════════════════════════════════
🔎 FINDMNT – kde je co připojené
═══════════════════════════════════════════Lepší než mount | grep. Ukáže stromovou strukturu
všech mount pointů.Použití:
findmnt # strom všech mountů
findmnt /home # konkrétní cesta
findmnt -t ext4,btrfs # jen vybrané FS
findmnt --real # bez pseudo FS (proc, sys…)
findmnt -o TARGET,SOURCE,FSTYPE,OPTIONSHodí se když:
→ nevíš jestli je něco připojené
→ ladíš fstab
→ řešíš problém s NFS/SSHFS═══════════════════════════════════════════
💡 TYPICKÝ WORKFLOW – plní se disk
═══════════════════════════════════════════1. rychlý přehled
duf
2. který disk je plný?
df -h /
3. kde přesně žere místo?
sudo ncdu -x /
4. ověř mount pointy a strukturu
lsblk -f
findmnt --real═══════════════════════════════════════════
🧹 BONUS – časté zdroje žroutů místa
═══════════════════════════════════════════cache pacmanu (nech poslední 2 verze)
sudo paccache -rk2
journald logy (nech jen posledních 500 MB)
sudo journalctl --vacuum-size=500M
cache v home
du -sh ~/.cache
rm -rf ~/.cache/*docker (pokud používáš)
docker system prune -a
osiřelé balíčky
sudo pacman -Rns $(pacman -Qtdq)
-
Arch Tip týdne: Kam mi mizí místo na disku?
💽 Čtyři nástroje, se kterými najdeš každý zbytečný gigabajt.
Žádné klikání – rychlé, přehledné, přímo v terminálu.═══════════════════════════════════════════
📊 DUF – přehled všech disků
═══════════════════════════════════════════Moderní nahrazení df. Barevný, přehledný výstup.
Instalace:
sudo pacman -S dufPoužití:
duf # všechny disky
duf /home /mnt # jen vybrané
duf --only local # jen lokální (bez tmpfs, atd.)
duf --sort size # seřadit podle velikostiCo uvidíš:
→ kolik místa je volné/použité
→ typ souborového systému
→ mount pointy
→ varování u skoro plných disků═══════════════════════════════════════════
🔍 NCDU – interaktivní prohlížeč velikostí
═══════════════════════════════════════════Ukáže, které složky žerou nejvíc. Šipkama procházíš,
mazat můžeš přímo (klávesad).Instalace:
sudo pacman -S ncduPoužití:
ncdu / # celý systém (chvíli trvá)
ncdu ~ # jen home
ncdu --exclude .cache # vynechat složky
sudo ncdu -x / # -x = nepřecházet přes mount pointyOvládání:
→ šipky / enter = procházení
→ d = smazat
→ n / s = řadit podle jména / velikosti
→ g = zobrazit v % nebo graficky
→ q = konecTip: Spusť na root oddílu, když se ti plní /.
Nejčastější viníci: ~/.cache, /var/log, /var/cache/pacman/pkg═══════════════════════════════════════════
🧱 LSBLK – stromový přehled disků
═══════════════════════════════════════════Ukáže všechny disky, oddíly a jejich mount pointy.
Použití:
lsblk # základní výstup
lsblk -f # + filesystémy a UUID
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,LABEL
lsblk -p # plné cesty (/dev/sda1)Co uvidíš:
→ fyzické disky a jejich oddíly
→ LUKS kontejnery, LVM, RAID
→ kde je co připojené═══════════════════════════════════════════
🔎 FINDMNT – kde je co připojené
═══════════════════════════════════════════Lepší než mount | grep. Ukáže stromovou strukturu
všech mount pointů.Použití:
findmnt # strom všech mountů
findmnt /home # konkrétní cesta
findmnt -t ext4,btrfs # jen vybrané FS
findmnt --real # bez pseudo FS (proc, sys…)
findmnt -o TARGET,SOURCE,FSTYPE,OPTIONSHodí se když:
→ nevíš jestli je něco připojené
→ ladíš fstab
→ řešíš problém s NFS/SSHFS═══════════════════════════════════════════
💡 TYPICKÝ WORKFLOW – plní se disk
═══════════════════════════════════════════1. rychlý přehled
duf
2. který disk je plný?
df -h /
3. kde přesně žere místo?
sudo ncdu -x /
4. ověř mount pointy a strukturu
lsblk -f
findmnt --real═══════════════════════════════════════════
🧹 BONUS – časté zdroje žroutů místa
═══════════════════════════════════════════cache pacmanu (nech poslední 2 verze)
sudo paccache -rk2
journald logy (nech jen posledních 500 MB)
sudo journalctl --vacuum-size=500M
cache v home
du -sh ~/.cache
rm -rf ~/.cache/*docker (pokud používáš)
docker system prune -a
osiřelé balíčky
sudo pacman -Rns $(pacman -Qtdq)
-
Arch Tip týdne: Kam mi mizí místo na disku?
💽 Čtyři nástroje, se kterými najdeš každý zbytečný gigabajt.
Žádné klikání – rychlé, přehledné, přímo v terminálu.═══════════════════════════════════════════
📊 DUF – přehled všech disků
═══════════════════════════════════════════Moderní nahrazení df. Barevný, přehledný výstup.
Instalace:
sudo pacman -S dufPoužití:
duf # všechny disky
duf /home /mnt # jen vybrané
duf --only local # jen lokální (bez tmpfs, atd.)
duf --sort size # seřadit podle velikostiCo uvidíš:
→ kolik místa je volné/použité
→ typ souborového systému
→ mount pointy
→ varování u skoro plných disků═══════════════════════════════════════════
🔍 NCDU – interaktivní prohlížeč velikostí
═══════════════════════════════════════════Ukáže, které složky žerou nejvíc. Šipkama procházíš,
mazat můžeš přímo (klávesad).Instalace:
sudo pacman -S ncduPoužití:
ncdu / # celý systém (chvíli trvá)
ncdu ~ # jen home
ncdu --exclude .cache # vynechat složky
sudo ncdu -x / # -x = nepřecházet přes mount pointyOvládání:
→ šipky / enter = procházení
→ d = smazat
→ n / s = řadit podle jména / velikosti
→ g = zobrazit v % nebo graficky
→ q = konecTip: Spusť na root oddílu, když se ti plní /.
Nejčastější viníci: ~/.cache, /var/log, /var/cache/pacman/pkg═══════════════════════════════════════════
🧱 LSBLK – stromový přehled disků
═══════════════════════════════════════════Ukáže všechny disky, oddíly a jejich mount pointy.
Použití:
lsblk # základní výstup
lsblk -f # + filesystémy a UUID
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,LABEL
lsblk -p # plné cesty (/dev/sda1)Co uvidíš:
→ fyzické disky a jejich oddíly
→ LUKS kontejnery, LVM, RAID
→ kde je co připojené═══════════════════════════════════════════
🔎 FINDMNT – kde je co připojené
═══════════════════════════════════════════Lepší než mount | grep. Ukáže stromovou strukturu
všech mount pointů.Použití:
findmnt # strom všech mountů
findmnt /home # konkrétní cesta
findmnt -t ext4,btrfs # jen vybrané FS
findmnt --real # bez pseudo FS (proc, sys…)
findmnt -o TARGET,SOURCE,FSTYPE,OPTIONSHodí se když:
→ nevíš jestli je něco připojené
→ ladíš fstab
→ řešíš problém s NFS/SSHFS═══════════════════════════════════════════
💡 TYPICKÝ WORKFLOW – plní se disk
═══════════════════════════════════════════1. rychlý přehled
duf
2. který disk je plný?
df -h /
3. kde přesně žere místo?
sudo ncdu -x /
4. ověř mount pointy a strukturu
lsblk -f
findmnt --real═══════════════════════════════════════════
🧹 BONUS – časté zdroje žroutů místa
═══════════════════════════════════════════cache pacmanu (nech poslední 2 verze)
sudo paccache -rk2
journald logy (nech jen posledních 500 MB)
sudo journalctl --vacuum-size=500M
cache v home
du -sh ~/.cache
rm -rf ~/.cache/*docker (pokud používáš)
docker system prune -a
osiřelé balíčky
sudo pacman -Rns $(pacman -Qtdq)
-
I am getting tired of running Arch Linux.
Stuff tends to break or stop working in weird ways. I have been running Arch for my personal stuff and MX Linux for work for the past year. Now that I've quit my job to take care of my health I started using MX Linux just to get stuff done, because things on Arch simply don't work.
I think I'm ultimately going to move entirely to MX Linux. Arch is bleeding edge, but I think I need something a bit more dull to ease the pain...
#ArchLinux #MXLinux -
@nikodunk There was a time in my life where I was excited about such things...but at 53, Im just glad my #archlinux #openbox instance boots and my games play fairly well on my #radeo xtx 7900
-
I'd love to use #archlinux btw, but it is not 100% #freesoftware. I'll go for #Trisquel instead.
-
Loki подсказал, что часто не могу получить GPG ключи на одной из систем. Не обратил бы внимание, если бы эти ошибки не вышли в топ по логам. Неприятно, но решаемо.
В /etc/pacman.d/gnupg/gpg.conf добавил пару строк:
auto-key-locate keyserver
allow-weak-key-signaturesИ обновление ключей: pacman-key --refresh-keys
-
Endlich geschafft: Mein ultimatives Arch Linux Setup im Showroom! 🐧💻
In diesem Video zeige ich euch, wie ich mein System für Gaming, Content Creation und den täglichen Einsatz optimiert habe. Wir schauen uns KDE Plasma an, tauchen in das Fish-Terminal ein und ich erkläre, warum Flatpaks für OBS mein Gamechanger sind.
Highlights:
🎮 Gaming via Steam & Lutris
🛡️ System-Snapshots mit Snapper & Btrfs
🎬 Workflow mit Kdenlive & GIMP
🔗 Schaut rein: http://www.youtube.com/watch?v=94OE3BJenQk
Spielt ihr schon unter Linux oder überlegt ihr noch? Lasst uns drüber tröten! 🐘
#ArchLinux #LinuxGaming #OpenSource #KDE #Setup #Kdenlive #Linux -
Archinstall 4.3 introduces security and partitioning bug fixes, as well as installer enhancements such as optional additional font selection.
https://linuxiac.com/archinstall-4-3-released-with-security-fixes-and-installer-improvements/