Portál AbcLinuxu, 30. dubna 2025 18:20
Který zkušený Gentooista nestál před problémem, kterým je výběr souborového systému pro ebuildová repa? (Ta je řečnická, tak prosím neodpovídejte.) Já se netajím tím, že jsem pošuk, tak jsem se teď rozhodl pro tmpfs (tj. FS, kterej se vytvoří v RAM). Kromě popisu mých (IMHO vcelku racionálních) důvodů popíšu i postup v kombinaci s Paludisem.
Je jasný, že tohle není setup pro každýho. Oceněj to hlavně lidi, kterým není cizí decentní uptime, úchylně rychlá linka a iracionální množství systémový paměti.
Jelikož tmpfs nelze nastavit velikost bloku, strom v RAM zabere o dost víc místa, než je nutné (např. Gentoo teď zabírá 514 MB, přičemž reálná velikost je 177 MB). Já mám 4 GB RAM, takže mě to až tak netrápí.
Ukážem si nějaký konfiguráky a skript, kterej tohle zvěrstvo nahodí do RAM. Celý to počítá s tím, že /tmp/paludis je mount-point pro RAMdisk a zároveň builddir (temp pro kompilaci) pro Paludis. Zakomentovaný jsou části irelevantní pro tenhle setup. Takže tady to je:
/etc/paludis/repository_defaults.conf (výchozí nastavení pro všechny repa)
#format = ebuild builddir = /tmp/paludis # tohle použije ramdisk i jako temp pro kompilaci #distdir = /data/distfiles #profiles = /etc/make.profile provides_cache = /tmp/paludis/repositories/cache names_cache = /tmp/paludis/repositories/cache/names
/etc/paludis/repositories/gentoo.conf (gentoo "portage")
location = /tmp/paludis/repositories/gentoo sync = rsync://rsync.gentoo.org/gentoo-portage #sync_options = --rsync-option=--prune-empty-dirs #importance = -100
/etc/paludis/repositories/kde.conf (kde-testing overlay)
location = /tmp/paludis/repositories/kde write_cache = /tmp/paludis/repositories/cache/metadata sync = git://git.overlays.gentoo.org/proj/kde.git
Tolik k Paludisu. Lidi, hlavně mi neblbněte hlavu a nestrkejte si "installed" (VDB) repozitář do RAM. Tam jsou informace o tom, co a jak máte v systému nainstalováno a to je něco, o co při restartu nechcete přijít.
rampaludis - tady je ten skript co to nahodí... Potřebuje to dostatečně novej tar, kterej si poradí s lzma (option J) a pv (Pipe Viewer).
#!/bin/bash # rampaludis 20090920 # ramdisk tmp="/tmp/paludis" # url ke snapshotu gentoo stromu snapshot="http://gentoo.mirror.web4u.cz/snapshots/portage-latest.tar.lzma" # bez roota nemáme šanci if(( $UID != 0 )); then echo "This script needs root privileges. Aborting now." >&2 exit 1 fi case "$1" in reset|remount) # zajistí, že se ramdisk odpojí (pokud je připojen) grep -q "$tmp" /proc/mounts && umount "$tmp" ;; esac uid=$(id -u paludisbuild) gid=$(id -g paludisbuild) # připojí ramdisk (pokud již není připojen) grep -q "$tmp" /proc/mounts || mount -o uid=${uid},gid=${gid} -t tmpfs ram "$tmp" # vytvoří potřebné adresáře mkdir -p "$tmp/repositories/cache/"{metadata,names} cd "$tmp/repositories" # stáhne a rozbalí snapshot gentoo stromu wget -qO- "$snapshot" | pv -cN wget | tar Jx mv portage gentoo # synchronizuje všechny repozitáře, resp. syncne gentoo a stáhne zbytek paludis -s --multitask # vygeneruje write_cache paludis -pi everythingPS:
paludis -pi everything
(s vygenerovanou write_cache pro overlaye, kt. ji neposkytují) u mě proběhne za 15 sekund (mám nainstalovaných skoro 700 balíků).
Tiskni
Sdílej:
Oceněj to hlavně lidi, kterým není cizí decentní uptime, úchylně rychlá linka a iracionální množství systémový paměti.
Pěkné, sám jsem o tom několikrát přemýšlel... a to už jsem předtím zkoušel zvěrstvo typu aufs (nikdy více FS mimo hlavní větev jádra!). Na druhou stranu, sice updatuji každý den, ale vždy večer před spaním, takže compile-time je na noci, která je celkem dlouhá :)
Jsem docela zvědavý, co Ti na builddir v tmpfs řekne OpenOffice :P
Jsem docela zvědavý, co Ti na builddir v tmpfs řekne OpenOffice :PCo mi řekne, to dobře vím. Chtělo by to aspoň 8 GB RAM, ale to mi už deska nedovolí. Obejít by se to mělo dát přidáním pár řádků do
/etc/paludis/bashrc
nebo tak...
V DDR2 se za ty paměti nedoplatíš a pravděpodobně se to nikdy nezmění...
Jasně, a 10-12k za 16GiB?
Pokud nekdo chce HODNE pameti tak neljlepe na tom jsou majitele dvouprocesoraku starsi generace (s "core 2" architekturou), ty maji typicky 8 slotu pro DDR2 FB ECC, ktere dneska uz nejsou tak drahe.
http://www.alza.cz/pamet-kingston-8-gb-kit-2-x-4-gb-ddr2-800-mhz-ecc-fully-buffered-dimm-d87550.htm
Za 22 800,- 32 GiB pameti
Do pocitacu se 4 sloty na DDR2 pameti zase staci dat dva kusy treba tohodle:
http://www.alfacomp.cz/php/product.php?eid=1051K00820TW1SRL8E
10 400,- za 16 GiB pameti.
Já bych to viděl přesně naopak...
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.