A külső tényező a böngészők működési rendellenessége volt. Flash-videók lejátszása, vagy túl sok multimédia (kép, gif, videó és egyéb tartalom) böngészése közben teleszemetelődik a RAM és a rendszer nem reagál, vagy csak nagyon lassan. Nem minden típusú flash-taírtalom okoz gondot, de a legtöbb igen (pl a putlocker videókkal nincs baj). Próbáltam chromium-ot, google-chrome-ot, firefox-ot, illetve kisebbeket is. A chrome/chromium adta sync előnyöket nem szeretném feladni - csere kizárva-, úgyhogy egyéb megoldást kellett keressek. A keresés kb 1,5 év volt, sok fórumot olvastam, sok mindent kipróbáltam, de a legtöbb helyen nem volt megoldás. Azon a kevés helyen, ahol megoldódott a probléma specifikus volt a hiba, vagy elállítás volt a baj, vagy hasonlók.
Az egyetlen valamire való megoldási javaslatot (átállni 64-ről 32bit-re) mindenképpen el akartam kerülni, mert nem nagyon volt kedvem megküzdeni egy újratelepítéssel.
Valószínűleg nem a böngészőkkel van a baj, csak azok hozzák felszínre a problémát. A legtöbb alkalommal azt tapasztaltam, hogy az X duplikálva jelenik meg a top-ban, majdnem annyi ram-ot fogyasztva (egyenként), mint a chromium. Így hamar kevés lesz a 3Gb. Érdekes módon a swap sem sokat segít. Az sem lenne gond, ha rengeteg ram-ot használna, de képes lenne megfelelően kezelni (mondjuk felszabadít belőle, ha kell). De ez nem történik meg. Nem szabadít fel memóriát. Addig tömi bele az információt, amíg túlcsordul és teljesen beáéll a rendszer. Gyakorlatilag olyan, mintha lefagyna, de valójában további ram hiányában "csak" annyi történik, hogy nagyon sokára ad választ egy-egy eseményre (pl ctrl-alt-backspace, ssh login, stb).
Szóval az átállásra visszatérve
Jobban féltem tőle, mint amennyire bonyolult, vagy rizikós volt. Persze ez nem jelenti azt, hogy nem kellett észnél lenni :)
Ez volt a fő szál, amin haladtam:
https://wiki.archlinux.org/index.php/Migrating_Between_Architectures_Without_Reinstalling
Amire figyeljünk:
Legyen megfelelő tápellátás - kb 1 óra volt, amíg végeztem a teljes processz-el. Ez asztali gép esetén lehet gond mondjuk áramszünet esetén.
Legyen kéznél valami médium (cd, usb, bármi), amiről chroot-al be tudunk lépni, ha bármi gond lenne. Legjobb egy arch linux livecd, vagy usb.
Legyen telepítve busybox. Ez a legfontosabb programokat tartalmazó hordozható rendszerekre fejlesztett okosság. Szintén akkor jöhet jól, ha valami közbejön.
(én a fentebbi link 2. metódusát használtam, tehát a rendszert működés közben állítottam át)
Teljes rendszerfrissítés:
# pacman -Syu
Telepített csomagok letöltése (szintén probléma esetére)
# pacman -Qqn | pacman -Sw -
/etc/pacman.conf beállítása
Keressük meg az 'Architecture=auto' sort és kommenteljük ki (#). Írjuk be a nekünk szükségeset: 'Architecture=i686'
Ha engedélyezve van, akkor kapcsoljuk ki a multilib-et is.
Ellenőrizzük le, hogy a /etc/pacman.conf és a /etc/pacman.d/mirrorlist minden linkje '$arch'-ra végződjön.
Szinkronizáljuk le a változásokat
# pacman -Syy
Ezután töltsük le a telepített csomagok 32 bit-es változatát (ezzel tovább biztosítjuk magunkat, mintha élesben telepítenénk, amikor ott tartunk)
# pacman -Sw $(pacman -Qqn | sed '/^lib32-/ d')
A wiki szerint a kernelt nem kell lecserélni, de a pacman meg fogja tenni helyettünk. Ezzel nem is kell foglalkozni.
Jöhetne a pacman frissítése:
# pactree -l pacman | pacman -S -
Ámde nekem itt volt egy kis fennakadás :) mégpedig a lib32-glibc miatt. Mivel használtam a multilib-et és volt telepítve néhány dolog nem engedte frissíteni a pacman-t a fenti paranccsal. Próbálkozhattam volna az --ignore, vagy a -f kapcsolókkal, de ezeket nem tanácsolom. Egyszer használtam a -f -et. Soha többet (kivéve, ha valaki már kipróbálta és ezt többen megerősítik :)
Helyette:
# pacman -R `LANG=C pacman -Sl multilib | grep installed | cut -d ' ' -f 2`
Ezzel el tudjuk távolítani a multilib-ből telepített csomagokat. Persze már letiltottuk, úgyhogy csináljuk vissza a pacman.conf-ot az eredeti állapotába (Architecture és multilib). Majd frissítsük az adatbázist:
# pacman -Syy
Majd jöhet az eltávolítás:
# pacman -R `LANG=C pacman -Sl multilib | grep installed | cut -d ' ' -f 2`
Ha voltak manuálisan telepített csomagok (mondjuk aur-ból, amikhez kellett multilib-csomag), akkor kénytelenek leszünk először azokat eltávolítani. Lehetnek köztük függőségek is, úgyhogy jegyzeteljünk, mit távolítunk el. Vagy irányítsuk a kimentet fájlba :) A fenti parancs nem fog lefutni addig amíg valamilyen függőséget meg kéne sértenie úgyhogy kitartás :)
Ha sikerült, akkor Visszaállíthatjuk a pacman.conf-ot a megváltozott értékekre. Fuutassunk ismét egy syn-et
# pacman -Syy
Mehet a pacman frissítés:
# pactree -l pacman | pacman -S -
Ezt futtassuk le még 2-3 alkalommal.
Végül telepítsük az előre letöltött 32 bit-es programokat:
# pacman -Qqn | pacman -S -
Először sok csomag nem fog frissülni, úgyhogy ez is mehet kétszer. Nekem másodszorra nem dobott már hibát semmire, de a biztonság kedvéért csináltam még egy teljes rendszerfrissítést is:
# pacman -Syu
# reboot
Közben imádkozzunk Istenhez, Buddhához, vagy szabadon választott istenségünkhöz, hogy minden rendben menjen :)
Nekem nem volt semmi gond azon kívül, hogy a conky-lua -t újra kellett telepíteni. Ha bármelyik csomag nem megfelelően viselkedik, akkor telepítsük újra.
Ha nem tapasztalunk problémát, akkor maradt a takarítás:
# pacman -Sc
Sok szerencsét
# pacman -Sw $(pacman -Qqn | sed '/^lib32-/ d')
A wiki szerint a kernelt nem kell lecserélni, de a pacman meg fogja tenni helyettünk. Ezzel nem is kell foglalkozni.
Jöhetne a pacman frissítése:
# pactree -l pacman | pacman -S -
Ámde nekem itt volt egy kis fennakadás :) mégpedig a lib32-glibc miatt. Mivel használtam a multilib-et és volt telepítve néhány dolog nem engedte frissíteni a pacman-t a fenti paranccsal. Próbálkozhattam volna az --ignore, vagy a -f kapcsolókkal, de ezeket nem tanácsolom. Egyszer használtam a -f -et. Soha többet (kivéve, ha valaki már kipróbálta és ezt többen megerősítik :)
Helyette:
# pacman -R `LANG=C pacman -Sl multilib | grep installed | cut -d ' ' -f 2`
Ezzel el tudjuk távolítani a multilib-ből telepített csomagokat. Persze már letiltottuk, úgyhogy csináljuk vissza a pacman.conf-ot az eredeti állapotába (Architecture és multilib). Majd frissítsük az adatbázist:
# pacman -Syy
Majd jöhet az eltávolítás:
# pacman -R `LANG=C pacman -Sl multilib | grep installed | cut -d ' ' -f 2`
Ha voltak manuálisan telepített csomagok (mondjuk aur-ból, amikhez kellett multilib-csomag), akkor kénytelenek leszünk először azokat eltávolítani. Lehetnek köztük függőségek is, úgyhogy jegyzeteljünk, mit távolítunk el. Vagy irányítsuk a kimentet fájlba :) A fenti parancs nem fog lefutni addig amíg valamilyen függőséget meg kéne sértenie úgyhogy kitartás :)
Ha sikerült, akkor Visszaállíthatjuk a pacman.conf-ot a megváltozott értékekre. Fuutassunk ismét egy syn-et
# pacman -Syy
Mehet a pacman frissítés:
# pactree -l pacman | pacman -S -
Ezt futtassuk le még 2-3 alkalommal.
Végül telepítsük az előre letöltött 32 bit-es programokat:
# pacman -Qqn | pacman -S -
Először sok csomag nem fog frissülni, úgyhogy ez is mehet kétszer. Nekem másodszorra nem dobott már hibát semmire, de a biztonság kedvéért csináltam még egy teljes rendszerfrissítést is:
# pacman -Syu
# reboot
Közben imádkozzunk Istenhez, Buddhához, vagy szabadon választott istenségünkhöz, hogy minden rendben menjen :)
Nekem nem volt semmi gond azon kívül, hogy a conky-lua -t újra kellett telepíteni. Ha bármelyik csomag nem megfelelően viselkedik, akkor telepítsük újra.
Ha nem tapasztalunk problémát, akkor maradt a takarítás:
# pacman -Sc
Sok szerencsét
Nincsenek megjegyzések:
Megjegyzés küldése