Portál AbcLinuxu, 1. května 2025 04:57
Zrovna sedim na přednášce z Matematické logiky a při čekání na už prakticky při jakékoliv činnosti otravně pomalého pacmana mě napadlo zkusit jedno pokusné řešení. A světe div se, řešení zrychlilo pacmanovské operace v řádu stovek, možná tisíců procent! (subjektivně)
Pacman, po instalaci Archu na můj nový laptop (srpen 06), byl neskutečně pomalý, oproti tomu, co předváděl na mém, do té doby hojně využívaném, desktopu. Dlouhé vteřiny, mnohdy i minuty šrocení harddisku a čekání na výsledek prakticky libovolné operace mě přiměly dát skript "pacman-optimize" do bootovacích skriptů, ale stejně to nepomohlo. Štvalo mě to, zkoušel sem spoustu věcí, vč. reinstalace (ani nevim, proč sem to dělal - snad ze zoufalství), riskantního (podle manuálu) nastavení disku hdparmem a tunění filesystému (ext3) věcmi typu journal=data_writeback a -o noatime, které neměly zjevný efekt.
Nedávno sem si pobrečel jednomu kamarádovi, taky Archerovi, a ten mi řek, že na jeho reiserfs to běží perfektně. No co, přecházet jen tak na reiser se mi moc nechce. Ale napadlo mě udělat loopback do souboru, který naformátovat reiserem, přimounit ho do /var/lib/pacman a zkopírovat tam celou databázi. A ono to funguje!
Postup je jednoduchý: nejprv je nutné udělat si někde nějaký tak stomegový soubor (databáze má momentálně 65MB), třeba příkazem
dd if=/dev/zero of=/var/lib/pacman.img bs=1024K count=100naformátovat ho na reiserfs
mkfs.reiserfs -f /var/lib/pacman.img"zazálohovat" původní databázi
mv /var/lib/pacman /var/lib/pacman~znovu vytvořit mountpoint a přimountit soubor jako loopback
mkdir /var/lib/pacman mount -o loop /var/lib/pacman.img /var/lib/pacmanpřidat do /etc/fstab řádek
/var/lib/pacman.img /var/lib/pacman reiserfs defaults,loop 0 0a zkopírovat obsah databáze do nově přimountěného loopback disku s reiserfs
cp -pr /var/lib/pacman~ /var/lib/pacman
Teď si sami zkuste, jak pacman umí lítat! A až se Vám do osvědčí, můžete smazat zálohu /var/lib/pacman~ a případně z ní databázi obnovit, kdyby se něco podělalo.
Toť vše, happy pacmanning!
Tiskni
Sdílej:
pt-pacman-cage
dělá, ale ne s reiserfs. "Klec" vytvoří s ext2
filesystémem, viz jeho zdrojový kód:
mkfs.ext2 -O dir_index -b 1024 -i 1024 -m 0 -F $pacmandb
mount -o loop /var/lib/pacman.img /var/lib/pacman
mi konzola odpovedala tymto : mount: could not find any device /dev/loop#
ostatne prikazy som dokoncil, pacman ide rychlejsie x krat co sa mi velmi paci , LENZE teraz pri installovani lubovolneho softu napr. opery
sudo pacman -S opera
mi vyhodi instalovat plus dalsich x zavislosti , vsetko stiahne a nakoniec sa to to nenainstaluje a vyhodi toto:
resolving dependencies...
warning: provider package was selected (bash provides sh)
warning: dependency cycle detected:
warning: bash will be installed before its glibc dependency
warning: dependency cycle detected:
warning: readline will be installed before its glibc dependency
warning: dependency cycle detected:
warning: ncurses will be installed before its glibc dependency
looking for inter-conflicts...
Targets (48): ncurses-5.6-8 readline-5.2-8 bash-3.2.039-3
kernel-headers-2.6.26.3-1 tzdata-2008e-1 glibc-2.8-3
zlib-1.2.3.3-2 libpng-1.2.31-1 xproto-7.0.13-1
libxdmcp-1.0.2-1 xcb-proto-1.2-1 libxau-1.0.4-1
libxcb-1.1.90.1-1 kbproto-1.0.3-1 libx11-1.1.5-1
xextproto-7.0.3-1 libxext-1.0.4-1 libice-1.0.4-1
e2fsprogs-1.40.8-1 libsm-1.1.0-1 libxt-1.0.5-1 libxmu-1.0.4-1
fixesproto-4.0-2 libxfixes-4.0.3-1 renderproto-0.9.3-1
libxrender-0.9.4-1 libxcursor-1.1.9-1 xineramaproto-1.1.2-1
libxinerama-1.0.3-1 xf86vidmodeproto-2.2.2-1
libxxf86vm-1.0.2-1 libdrm-2.3.1-1 damageproto-1.1.0-1
libxdamage-1.1.1-1 libgl-7.0.3-2 glproto-1.4.9-1
gcc-libs-4.3.2-1 mesa-7.0.3-3 expat-2.0.1-1 freetype2-2.3.7-1
fontconfig-2.6.0-2 libxft-2.1.13-1 randrproto-1.2.2-1
libxrandr-1.2.3-1 libjpeg-6b-4 libmng-1.0.10-1 qt3-3.3.8-9
opera-9.52-1
Total Download Size: 0,00 MB
Total Installed Size: 166,30 MB
Proceed with installation? [Y/n]
opera: /usr/share/opera/svg-sebd.dat exists in filesystem
Errors occurred, no packages were upgraded.
samozrejme tych hlaseni je velmi vela.
neviete kde je problem ?
dik
rsync -av /var/lib/pacman~ /var/lib/pacman
mal som velmi podobny problem a prave toto mi pomohlo.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.