haladó

Linux: Mi az a memória összevonás?

Tux
Memória összevonás, vagy szaknyelven memory compaction, röviden nem más, mint az operatív tár töredezettségmentesítése. A hosszabb verzió lentebb olvasható.

Nem találtam magyar terminust erre a megoldásra, így kreáltam egyet. Bár lényegében a „memória tömörítés” szókapcsolat is kifejezte volna a módszer lényegét, hála a magyar nyelv szépségeinek. De akkor milyen címet adtam volna annak a cikknek, amelyik tényleg a memória tartalmának a tömörítéséről fog (majd valamikor) szólni? Így előremenekültem.

Ismerkedés a Sabayonnal

Sabayon logó
Ez alkalommal nem a Hogyan szerkesszünk szöveget? sorozat újabb részével jelentkezek, hanem egy disztrós cikkel. Kell egy kis változatosság elven.

Ahogy egy régebbi cikkemben már említettem (itt), nem most próbálkoztam először a Sabayonnal. Ám akkoriban nem tett rám túl nagy benyomást. És ezen a poénosnak szánt rendszerüzenetek se segítettek, sőt. De erről még később. Most inkább kezdjük az elejéről:

Qemu: Guest has not initialized the display (yet)

Probléma: Virtuális gép indításakor ez a (hiba)üzenet fogad a Virt-Manager-ben: „Guest has not initialized the display (yet).”
Megoldás: Bár a Qemu fejlesztők szerint ez nem hiba, mert azt jelzi, hogy a vendégnek nincs virtualizált kijelzőre szüksége. Azonban mégis gond, mert nem csak, hogy nem indul el a virtuális gép, de még folyamatos, 100%-os terhelést is jelent a gazdagépen.

Sor törlése adott karakter után

Amennyiben van egy hosszú szöveges állományunk, amelynek sorait egy adott karakter után ki szeretnénk törölni, adjuk ki az alábbi parancsot:
sed s/@[^@]*$// forras.txt, ahol a @ a tetszőleges karakter, és a forras.txt a bemeneti állomány. Amennyiben az eredményt menteni szeretnénk, egyszerűen irányítsuk át a kimentet így: sed s/@[^@]*$// sed.txt > kimenet.txt

Update: A sed parancs -i kapcsolójával még egyszerűbben megoldható a probléma, mivel a visszakerül a forrásfájlba a változás, így nincs szükség a kimenet átirányítására.
A parancs tehát: sed s/@[^@]*$// forras.txt -i
Köszönjük a kiegészítést, Yitsushi!

JAR fájl újracsomagolása

Megesik, hogy csak néhány állományt szeretnénk módosítani a JAR fájlunkban, és emiatt nem akarunk mindent újrafordítani. Ekkor

  • csomagoljuk ki a JAR-t,
  • ejtsük meg a kívánt módosításokat,
  • majd az almappákat csomagoljuk vissza JAR fájllá az eredeti néven.

Azért ne a kibontott főkönyvtárat csomagoljuk, mert akkor érvénytelen JAR fájl hibát fogunk kapni.

Ha a fentiekből nem lenne egyértelmű miért, mutatok egy példát:

X kiszolgáló újraindítása virtuális live rendszeren

Virtualbox logó
Biztos veled is előfordult már, hogy egy virtuális live rendszeren kellett telepítened az integrációs szolgáltatásokat, majd vagy a rendszert vagy az X kiszolgálót újra kellett volna indítanod, ám az elsőt nem akartad, a másodikat nem tudtad.
Ha ez a helyzet, akkor a sudo systemctl restart lightdm.service parancs lesz a barátod.

Cannot set LC_ALL to default locale: No such file or directory

Ha a címben említett hibaüzenettel találod szembe magad, akkor nincs más dolgod, mint letiltani, hogy az SSH továbbítsa a lokalizációs beállításokat. Ugyanis a problémát a szerver és a kliens eltérő lokalizációja okozza.
Tehát: