Portál AbcLinuxu, 5. června 2024 07:59

16.6.2010 16:57 | x | poslední úprava: 6.10.2018 23:18

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

16.6.2010 18:06 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin
Pekne how-to, ja pouzivam pacman -Rsc na mazanie, maze i zavisle balicky potom nevznika takyto bordel mepotrebnych a zbytocnych balickov. Ale je fakt ze asi 10 nepotrebnych balickov som nasiel.
stativ avatar 16.6.2010 18:09 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin
Opravdoví borci pouští pacman -Scc minimálně jednou denně.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
Marek Bernát avatar 16.6.2010 18:23 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému

Skutočný borec neskrblí a má na root partition dosť miesta. Následne sa vyhne takýmto zbytočnostiam :-)

physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
stativ avatar 16.6.2010 18:24 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
No, na / mám ještě ca 8GB volných, takže prostor mě zrovna moc netrápí. Prostě chci mít v systému pořádek a ne nějakou blbou cache ;-).
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
Marek Bernát avatar 16.6.2010 18:38 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému

Fráze "poriadok v systéme" som nikdy nerozumel. To si myslíš, že tie staré balíky v cache začnú časom mutovať a vytvoria skynet? :-D

physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
stativ avatar 16.6.2010 19:07 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Spíš nemám rád v systému věci, které nepotřebuji.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
Marek Bernát avatar 16.6.2010 19:27 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému

Aha, takže je to čisto emocionálna záležitosť. Tak to potom áno, do toho ti kecať nebudem :-)

physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
16.6.2010 18:18 dolik.rce
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin
Já jsem takhle nedávno smazáním cache vyčistil 3Gb, bylo tam všechno od instalace systému před pěti měsíci...

Poznámka k yaourtu: balíčky z AURu sestavuje defaultně v /tmp/yaourt-tmp-<user>/, takže pokud aspoň občas restartujete, není s tím problém.
16.6.2010 18:39 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Ok, díky za doplnění...
16.6.2010 19:00 Václav Kramář | skóre: 31 | Nechanice
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
echo "tmpfs /tmp tmpfs defaults 0 0" >> /etc/fstab ;-)
16.6.2010 20:13 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin

Hezké. Jsem zase chytřejší. Co takhle to vydat jako článek? Je to hezky napsáno. Díky.

16.6.2010 21:58 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Ó díky ;-) Jako článek? Nevim no, imho to není dost odborný...
16.6.2010 22:06 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
imho to není dost odborný

A tady na AbcLinuxu vycházejí jenom odborné články? Ale kdepak! Čtu tady i články pro začátečníky apod.

kotyz avatar 16.6.2010 20:34 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin
tak mi pacman -Qtd vypsal 80 "nepotrebnejch" baliku a jen letmym pohledem zjistuju ze nejmin polovina neni tak nepotrebna jak se zda. no, mam jeste skoro 20 GB volnyho mista na / takze se na to cisteni zatim vykvajznu ...
Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
17.6.2010 05:27 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin
#!/bin/bash

OUTFILE="${HOME}/orphan_files.txt"

COMMAND='eval DIR=`pwd` ; touch ...mark ; for NAME in `ls -a` ; do [ -f "$NAME" ] && echo "${DIR}/${NAME} ::: `pacman -Qo "$NAME" 2>&1`" >> $OUTFILE ; echo "${DIR}/${NAME}" ; [ -d "$NAME" -a ! -h "$NAME" -a ! -f "${NAME}/...mark" ] && ( cd "$NAME" ; $COMMAND ; ) ; done ; rm ...mark'

for SUPERNAME in bin etc lib opt sbin usr; do
        ( cd "/$SUPERNAME" ; $COMMAND ; ) ;
done

Třeba tohle odhalí spoustu balastu, o kterém člověk ani netuší. Stačí grepovat v orphan_files.txt ('No package owns'...). Bude tam spousta souborů, které po sobě nechaly dávno odstraněné balíčky. (Třeba proto, že je autor balíčku chybně označil jako konfigurační.) Navíc každý binární instalátor (například Intel Compiler) taktéž vygeneruje spoustu souborů. :-)

Takové prohledání soubor po souboru samozřejmě nevyřeší všechno. Postup se dá aplikovat jenom v adresářích, kam píše pouze pacman. I v takovém /etc je spousta souborů, které pacman nezná, a přesto jsou důležité. Nemluvě o /var. Tam se dá balast od používaných dat odlišit těžko.

Už se těším, až jednou bude pacman používat nějakou databázi. Bez ní ten skript běží děsně dlouho. Trik s ...mark je hnusný (a vyžaduje práva k zápisu). Určitě to jde udělat stokrát lépe (přes extended attributes), ale nechce se mi. :-) Kdo si myslí, že nemá v adresářových symlincích žádný cyklus, ten je hodně naivní. Zjistit to při padesáti tisících instancích bashe může být trochu pozdě. ;-) (Pokud nemáte 32-bitové process ID, už se neforkne nic. Ani kill. (A proto je tak dobré mít na sdílených vzdáleně přístupných strojích PID namespace, omezení počtu procesů a další rozumná nastavení. Jinak je zabití celého systému tak snadné jako for (;;) {fork();}.))

stativ avatar 17.6.2010 10:01 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Já používám krapet jednodušší verzi:
#!/bin/sh
find $@ -type f -print0 | xargs -0 pacman -Qo | grep '^error
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
18.6.2010 21:54 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému

Cílem té mojí verze bylo spíš pohrát si s rekurzí v shellu než vymýšlet nějaké rozumné a efektivní řešeiní. ;-) BTW, jde to i bez xargs.

find $@ -type f -exec pacman -Qo '{}' '+' | grep '^error'
stativ avatar 19.6.2010 10:41 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému

Akorát, že verze s xargs je o hodně rychlejší.

Právě jsem to změřil. Střídavě jsem pouštěl jak tu mojí verzi s xargs, tak tu tvou s exec. Pokud nepočítám první spuštění tak každá celkem běžela 3×.

Výsledky na /usr/bin jsou:
1m 26s verze s xargs
3m 40s verze s exec

Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
20.6.2010 03:20 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Akorát, že verze s xargs je o hodně rychlejší.

Kdy? Za jakých podmínek? Na jakém stroji? Verze s xargs může být na multiprocesoru rychlejší, protože dělá fork() paralelně, zatímco find může běžet dál. Otázka je, jak by to dopadlo s jedním procesorem.

Na mém stroji (Core i7, 4 jádra po 2 vláknech) to vypadá takhle:

[root@octopus usr]# time find bin -type f -print0 | xargs -0 pacman -Qo | grep '^error'

real    2m29.960s
user    2m29.277s
sys     0m0.070s
[root@octopus usr]# time find bin -type f -exec pacman -Qo '{}' '+' | grep '^error'

real    2m35.657s
user    2m34.093s
sys     0m1.417s

První verze tedy je o něco rychlejší, ale rozhodně ne mnohem rychlejší. Mimochodem, verze s -exec má zjevně naprosto nehoráznou spotřebu systémového času. Vypadá to, jako by snad to '+' nedělalo, co má.

Chtělo by to podívat se, kolikrát se tam zavolá fork(). Na OpenSolarisu je to DTrace skript na jednu řádku, ale nevím, jak to změřit na Linuxu. A nechce se mi. Ale třeba to někoho bude zajímat a zkusí to.

stativ avatar 20.6.2010 10:14 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému

Kdy? Za jakých podmínek? Na jakém stroji? Verze s xargs může být na multiprocesoru rychlejší, protože dělá fork() paralelně, zatímco find může běžet dál. Otázka je, jak by to dopadlo s jedním procesorem.

Teď koukám, že ty jsi použil -exec pacman -Qo '{}' '+' kdežto já -exec pacman -Qo '{}' ';'. To bude důvod tak výrazného rozdílu v rychlosti u mě.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
17.6.2010 23:30 dolik.rce
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Myslím, že by tam mělo být for NAME in `ls -A` s "-a" to poleze i do ".." a pak ti to prošmejdí celý systém šestkrát dokola ;)
18.6.2010 21:47 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému

Ne, neprošmejdí. Protože v .. bude ...mark.

dolik.rce avatar 19.6.2010 01:37 dolik.rce
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Nemůžu si pomoct, ale ať na to koukám jakkoliv dlouho, tak nevidím, kde by se v / (tedy v nadřazeném adresáři k /bin, /etc atd.) vzal ...mark. Leda že by ho tam někdo dal ještě před spuštěním skriptu. A že to projede i / vím zcela jistě, protože jsem to viděl na vlastní oči, když jsem to spustil ;-)
19.6.2010 03:01 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
To je pravda. Je docela dobře možné, že jsem ten ...mark dával do / ručně, když jsem to naposledy spouštěl. Nebo ten skript vypadal tenkrát jinak, co já vím. Moc to nepoužívám, protože to trvá nekonečně dlouho a za pět ušetřených megabytů to většinou nestojí.
Amarok avatar 17.6.2010 08:21 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin
Skvely clanek, hned si ukladam. Nerad totiz prochazim pokazde man, tady je to pekne prehledne. Nasel jsem ale asi logickou chybu:
Tohle ovšem provádějte jen tehdy, nebude-li opravdu downgrade potřeba, čili obecně cache mažeme před upgradem, nikoli těsně po.
Spis opacne? Prece az po upgradu si musim vse par dnu vyzkouset a kdyz vse funguje, tak pak muzu smazat cache se starsimi verzemi.
GNUniverse - May the source be with you...
17.6.2010 11:29 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Též mě to zarazilo.
Baník pyčo!
17.6.2010 15:26 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Spis opacne? Prece az po upgradu si musim vse par dnu vyzkouset a kdyz vse funguje, tak pak muzu smazat cache se starsimi verzemi.
Nó tak já jsem předpokládal, že před updatem vše funguje. Ve chvíli, kdy vše funguje, je bezpečné staré balíky vymazat - ty dobře fungující v cache zůstanou (leda když člověk maže -Scc). Po upgradu ale nemusí vše fungovat - právě až po těch pár dnech... nebo taky týdnech... ;-)
Těžko říct, předpokládám, že si to každý přebere...
Amarok avatar 17.6.2010 19:30 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Aha, jasne, me nedoslo, ze -Sc ponecha aktualni balicky (aktualni verze) a smaze jen stare nepouzivane.
GNUniverse - May the source be with you...
=^..^= AmigaPower® avatar 17.6.2010 09:34 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin
POZOR!...na všechno (zvlášť na podezřelý scripty) tady od toho pána! :-D
I♥DRX * www.KERNELULTRAS.org
17.6.2010 15:24 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
kotyz avatar 17.6.2010 16:49 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
asi ho stve ze mu ukazuje furt 17:30 tak si to kompenzuje imobilizaci cizejch pocitacu ... :-D
Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
17.6.2010 10:02 blackvladimir | skóre: 4
Rozbalit Rozbalit vše cut -d " " -f 1
Odpovědět | Sbalit | Link | Blokovat | Admin
Jenom bych doplnil, že cut -d " " -f 1 se dá nahradit parametrem -q pro pacman.
17.6.2010 15:21 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: cut -d " " -f 1
Díky. Zkusím ňák doplnit přípomínky v komentářích do zápisku...
17.6.2010 11:20 zimous
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin
Ty blaaho, takhle jednoduse? Ten Arch budu muset zkusit, na Gentoo se musim jebat s celym:
vim /var/db/pkg/world
paludis --uninstall-unused
;-)
No abych zase byl spravedlivej, tak par problemu by se taky naslo. Treba na sloty (vic verzi jednoho baliku vedle sebe) je paludis mrcha a kdyz je treba jeden tak si necha radsi vsechny (emerge je v tomhle mozna inteligencnejsi).
LukynZ avatar 20.6.2010 09:11 LukynZ | skóre: 2 | blog: status_quo | Ostrava
Rozbalit Rozbalit vše Re: Arch Linux - čištění systému
Odpovědět | Sbalit | Link | Blokovat | Admin
na smazani nepotrebnych baliku ja pouzivam pacman -Rs $(pacman -Qdtq)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.