Hogyan ne barmold szét a rendszeredet?

Troll veri szét a rendszereket, de nem én!
Troll veri szét a rendszereket, de nem én!
Hogyan ne tedd tönkre a Linux rendszeredet? Ezt érdemes lesz átgondolni, mert kezdők hamar működésképtelenné teszik a rendszerüket, ha nem tartják be azokat a játékszabályokat, amikről nem is tudnak. Ha az a célod, hogy használd a Linux rendszeredet, akkor érdemes lehet ezt végigolvasni és átgondolni. Nem hangzik el semmi olyan, ami megváltaná a világot, vagy ne lenne köztudott. Ennek ellenére napi szinten tapasztaljuk, hogy sokan panaszkodnak, hogy "tönkre meant" a Linux és nem működik ez, vagy az. Ahogy kiderül, sok esetben nem a rendszer hibája a probléma, hanem a felhasználóé.
Abból indulok ki, hogy nem a rendszerrel való kísérletezés, a próbálgatás és a minél több felesleges kör futása a cél, hanem a minél kevesebb munkával és időráfordítással való rendszer-adminisztráció. Ha élvezed az újra- és újra telepítést és a hibakeresését, akkor nem neked írtam ezt a bejegyzést.

A megfelelő Linux disztribúció kiválasztása

Sok hiba alapja a nem megfelelő Linux disztribúció használata. Két fontos pontot érdemes átgondolni.

A tudásszinted.

Ha kezdő vagy, akkor kerüld a felesleges kínlódásodat a haladóknak szánt rendszerekkel. Bár mindegyik megtanulható, de kezdetben nem feltétlen kellene terminálos telepítéssel és terminálos rendszer adminisztrációval készült disztribúciót választani. Ha nem kifejezetten célod a nehézségek generálása, akkor válaszd a kezdőbarát megoldásokat. Ilyen lehet a MX Linux, a Linux Mint vagy ezekhez hasonló nagyon egyszerű telepítésű és grafikusan beállítható rendszer. Ezeknél már alap telepítésnél megkapod azokat a programokat, melyekkel el tudsz indulni. Kerüld a Gentoo, Arch és NixOS és hasonló megoldásokat. Ezek nem olyanok amikkel kezdetben foglalkozni kellene.

A frissesség.

Ezen a téren eltérő elveket valló Linux disztribúciókkal találkozhatsz. Két végletet említenék meg. Az egyik véglet a Debian. Itt régebbi programokat kapsz, de a kiadási ciklus lassúsága miatt ezek nagyon jól teszteltek, a rendszer stabil, hibákat már kiadás előtt kijavították. Alap rendszer használatakor nem lesznek olyan problémák, hogy a tárolókból nem tudsz valami függőségi stb. probléma miatt telepíteni. De a programok verziói régebbiek. Egy-egy disztribúcióban kapott program verziókról itt tájékozódhatsz. Nagyon gondold át melyik a megfelelő disztribúció.
A másik véglet az Arch Linux. Itt minimális tesztelés után már megkapod a legeslegújabb verziót. A minimális tesztelés miatt akár a rendszerrel, akár pedig felhasználó programoknál lehet hiba, fagyás, vagy olyan, amikor a felhasználónak valami hibajavítást meg kell tenni. Nem feltétlen kezdőknek való ez, de nem is olyan rendszeren, ahol "termelés" folyik.
A kettő közt sok, nagyon sok átmenet van, így kis olvasgatás után jól beskálázható a friss csomagok és a tesztelési minőség (stabilitás) közti egyensúly. Ha Arch vonalon gondolkodsz a Manjaro Linux lehet egy alternatíva, ahol nem azonnal, hanem kb. egy hónapnyi tesztelés után kapod meg a frissebb verziókat. Ha Debian alapokat kedvelnéd, ott is van sok lehetőség: MX Linux, vagy akár a Linux Mint. Gyorsabban frissülnek, újabb csomagokat kapsz, de nagyon jól leteszteltek ezek.

Amit érdemes kerülni kezdőknek

Sok speciális disztribúció van, amit időnként felkapnak fórumon és azt, mint használandót mutatják be. Nagyon jó példa volt a Kali Linux, amit a köztudatba egy filmsorozat hozott be. Ezek nem kezdőknek készültek! A speciális terjesztések jellemzően szakembereknek jók, mert olyan beállításokat, olyan csomagokat adnak előre telepítve amikre nekik szükségük van.
A speciális disztribúciók másik csoportja az adatvédelemre, a személyes adatokra és biztonságra kihegyezett megoldások. Bár a cél nemes, de ezeket kerüld el kezdeti időben. Sok esetben olyan komoly védelmi és adatbiztonsági megoldásokat kapsz, melyek akadályozhatják a normál használatot. Ez nem feltétlen lesz jó, mert lassan elkezded ezeket a beállításokat kikapcsolni, majd egy összegányolt rendszered lesz, hiszen nem tudod, hogy milyen hatása lesz a változtatásoknak.
Egy esetben van létjogosultsága a speciális disztribúcióknak_ ha valóban egy célfeladatot akarsz elvégezni. Azaz tudod is mire kell és ahhoz keresel disztribúciót. Ilyen lehet, ha pld. média tartalom gyártás a cél és olyant keresel, amiben előre konfiguráltan kapod meg a teljes program kínálatot.

Asztali környezet, ablakkezelő és a kinézet

Válassz olyan disztribúciót ami alaptelepítéssel és előre konfiguráltan adja azt az Asztali környezetet, amit használni akarsz. Nagyon sok olyan disztribúció van, ami több verzióval készül. Így ha KDE, Gnome, Mate vagy akár I3wm stb. használata a cél, akkor már a beállítva és konfigurálva kapod meg azt. Egy környezet beállítása több-kevesebb tudást igényel, nem feltétlen azzal kellene kezdeni, hogy egy alap KDE, vagy akár Gnome környezetet felépíts az alapokról. Videókat nézve egyszerűnek tűnik, de sok olyan buktatója lehet, amikre nem gondoltál. Az ilyen kész és előre konfigurált asztalt adó disztribúciók nem csak a kinézetet állítják be. Elvégzik a beállítást, javítják és összehangolják a programokat. Ezek a legtöbbször nem is látható változtatások, csak mélyebb kutatás után derül ki, hogy miket állítottak be pontosan, hogy neked ne kelljen ezzel foglalkozni.

Program és hardver

Bár jellemzően a legtöbb normális Linux disztribúció sok, nagyon sok programot tartalmaz, de nem árt megnézni, hogy ami neked kell, azt adja-e. A kisebb programoknál előfordulhat, hogy a hivatalosan támogatott tárolókban nem kaptak helyet. Olvass utána, hogy miképp telepítheted ezeket. Kisebb programok? A RedHat éppen nemrég jelentette be, hogy…
Pár gondolatot a "Mit tegyek, ha valamit nem találok meg a tárlókban?" részben megosztok majd.
A Linux disztribúciók nem egyformán támogatják a hardvereket. Előfordulhat, hogy egyes hardvert könnyebb beállítani az egyiken, de az is, hogy van olyan eszköz, amit egyáltalán nem fog az adott disztribúció támogatni. Érdemes ezt figyelembe venni és nem később kínlódni, hogy belebarkácsoljuk abba, amibe nem lehet.
Ne vegyünk semmit biztosnak! Olvasd el a "Forráskritika" részt is majd!

Csomagkezelési hibák

A csomagkezelés mikéntje eléggé eltérhet, de a hibák ugyanazok: az user gányol. Mi ne gányoljunk! Kövessük a szabályokat és a logikát. Nagy valószínűséggel a legtöbb disztribúció oldalán leírják a szabályos frissítési és telepítési módszereket. Azt használjuk, amit ott ajánlanak.

Biztos út a rendszered összeomlasztásához

Lehet, hogy nem azonnal, de egy idő után belefutsz egy olyan hibába, amit a rossz csomagkezelési szokásaid miatt okozol magadnak.
Egy Linux disztribúció kész egész és összehangolt rendszer. Ha megfelelő disztribúciót választottál, akkor a programkínálat és azok verziószáma megfelelő neked. Ebből kell kiindulni.

Mindig használd azokat a tárolókat amiket a hivatalos disztribútor ad. Ezekből telepíts, ha lehet. Kerüld azokat a megoldásokat (ha lehet) aminél idegen tárolókat adsz meg telepítéshez, frissítéshez. A CORP, AUR, PPA stb. rendszerek veszélyesek lehetnek, mert nem a disztribútor ellenőrzi az abban lévő programokat.
Kitérő: a Linux rendszereknél ismert a függőség fogalma. Ez nagyon leegyszerűsítve olyan, egymástól függő programok jól szervezett rendszere, amit nagyon komolyan ellenőriztek. Egy program rendeltetésszerű használatához kell egy, vagy több más programcsomag, esetleg annak egy pontosan meghatározott verziója. Ha a hivatalos tárolók keretén kívüli tárolókból telepítesz, akkor ez a rendszer felborulhat, meghibásodhat. A megbízható és a disztribútor által ajánlott repókkal nem szokott gond lenni. Pár gondolatot a "Mit tegyek, ha valamit nem találok meg a tárlókban?" részben megosztok majd.

Ne kavard össze a disztribúciód verziói. Sok disztribúciónak több verziója érhető el egyszerre. A legjobb példa erre a Debian Linux. Három stádiumú a fejlesztés: stabil, nem stabil, teszt ága van. Ezek logikusan más és más tárolókat használnak. Ne aktivizálj be olyan tárolót a rendszeredbe, amit más verziójú, vagy kiadású mint a te saját rendszered!
Hasonlóan erős problémát generálsz magadnak, ha másik disztribúció tárolóit (vagy csomagjait) próbálod használni. Mindenki ismeri, hogy a Manjaro Linux az Arch Linuxra épül, azonos a csomagkezelője. De erősen ellenjavalt, hogy a Manjaro Linux tárolót berakd egy pure (tiszta) Arch alá, vagy akár egy Arco Linux dolgait Arch vagy Manjaro alá. Verziók és függőségek poklát éled át majd, ha kavarsz.

Nagy gubanc lesz és biztos, hogy összeomlik a rendszered egy idő után.

Amit szintén kerülni kell: tesztelési ágú, instabil stb. de az adott kiadáshoz tartozó repók használata. Ezek tesztereknek, haladóknak vannak, így nem kezdőknek. Bár jellemzően kapunk ezeknél egy figyelmeztetést, hogy csak saját felelősségre, de nem árt most elhatározni: mi megvárjuk, hogy a csomag ezen verziója átkerüljön a hivatalos tárhelyre. Ilyennek sok disztribúcióban találkozunk, ilyen a romeo tároló, amit a Mint alatt használnak, vagy akár az MX Linux csomagkezelőjében is van egy tesztelési ágú fül, amiről telepíthetnénk.

Frissítési hibák

Az egyik nagy és jellemző hiba, ha a frissítéseket nem jó végzed el. Mindig pontosan azt az utat kövesd, amit leírtak. Ez igaz egy sima rendszerfrissítésre és igaz egy nagy verzióváltást adó komoly upgrade frissítésre is.
Általánosságban elmondható, ha van rá lehetőség, akkor a terminálos, paracssoros megoldást helyezd előtérbe. Ez kényelmetlenebb, de a hibákat jobban nyom tudod követni. Ha van olyan szkript, programocska amit a disztribútor ajánlott azt használd. Az általános megoldásokat finomíthatta, átírhatta, így javasolt mindig a disztribúció által használt konkrét megoldás. MINDIG!
Ha mindenképp a grafikus szoftverközpontot akarod használni (vagy kifejezetten azt ajánlották) akkor is próbálj keresni olyan lehetőséget ami kilistázza a hibákat. A hibák, figyelmeztetések és problémák listáját mindig kétszer olvasd el. Szokott ezekben lenni olyan, ami a terminál hibakimemetket mutatja. Keresd meg, és mindig nézd meg mit ír ki.
A frissítés előtt, ha azt nem teszi meg automatikusan a frissítésért felelős program mindig a disztribúciódnak megfelelő mód frissítsd fel a repók címeit. A leggyorsabb és a legfrissebb repó/repók (tárhelyek) használata fontos!

Frissítésnél, de akár telepítésnél elkövethető hibák:

  • Részleges frissítés: Soha ne egy programot frissítsd fel, hanem az egész rendszert. A rendszered egy komplett egész, így egy program frissítés nem biztos, hogy mindent megold. Általában nem jelent gondot, de sok helyen hibaként említik. Mindig tegyünk különbségét a rendszert érintő és a csak felhasználói programot érintő lépések közt! Olvast el a "Rendszerprogramok és a felhasználói programok" rész is!
  • Megszakított frissítés: Ha frissítünk, főleg egy nagyobb vagy teljes rendszer verziós frissítésnél, sok időbe is telhet. Így csak akkor álljunk neki, ha biztosan végig tudjuk vinni. Egy megszakított frissítés a függőségeket, a rendszert összekavarhatja. Egyes disztribúciók a leállításnál, és az induláskor is végeznek el komoly frissítési feladatot a rendszerfrissítéskor. Ezt vedd figyelembe, mert ez percekig is eltarthat! Ritka a komoly hiba, de egy nagyobb rendszerfrissítést Linux alatt is érdemes olyankorra tenni, amikor van időd az esetleges problémákat javítani.
  • Figyelmen kívül hagyott hibajelek: A Linux csomagkezelők kompletten ellenőriznek mindent, majd ha probléma van: jelzik. Ezeket olvasd el, majd keress rá megoldást. Egy hiányzó függőség oka lehet a gányolt rendszer, amikor nem megfelelő tárolókat is beraktál a rendszerbe, vagy kézzel beerőszakolt program. De lehet a disztribútor hibája is, amikor egy fontos függőségi csomag még nem elérhető. Ilyenkor egy kis várakozás nem árt, mert ezek a hibák hamar javításra kerülnek. Ha sokszor ütközöl ilyen hibába, akkor nem megfelelő disztribúciót választottál. Keress egy lassabban frissülő, hosszabb tesztelési, kiadási ciklusú rendszert.
  • Letiltás, kihagyás: Egy frissítésnél, vagy telepítésnél megadhatjuk, hogy a csomagkezelő ne vizsgálja a hitelesítő aláírásokat, függőségeket, vagy egyéb jellemzőt, amit hibának írt ki a rendszer. Ez nem megoldás, maximum ideiglenesen oldja meg a problémát és helyez el olyan aknákat a rendszeredbe amire biztosan rálépsz majd. A másik hiba a részleges frissítéshez hasonló. Le tudjuk tiltani egy-egy program frissítését, ha valami miatt hibákat ad a rendszer. Ez nem járható út! Ideiglenesen talán, ha abban reménykedünk, hogy a hiba javítva lesz, de hosszú távon problémás lesz. Egy példa: a Program frissítésekor a rendszer jelezte, hogy nem tudja frissíteni, mert a Függőség_0.5 kell neki, de csak a Függőség_0.4 érhető el a rendszerben. Letiltod a Program frissítését (a legtöbb csomagkezelőben ezt a konfigurációs állományba beírva megteheted), de más program miatt a Függőség a meglévő 0.3-ról frissül a 0.4-re. Ami nem feltétlen jó a Program-hoz. Jó esetben nem indul el, rosszabb esetben pedig fura hibajeleket kapsz, amivel nem tudsz mit kezdeni.

Tipp: érdemes várni a nagyobb frissítéssel, és figyelni a fórumokat, hibajelentéseket, Így sok kisebb hiba javításra kerül, illetve a megoldásokat is leírják. Ami kezdőknek problémás, az haladóknak csak egy rutin megoldás, amit közzé is tesznek…

Itt is igaz: a kivétel erősíti a szabályt! Lehetnek olyan kivételes helyzetek, amikor ettől el lehet, vagy el kell térni. Ésszel élj: előbb olvass, csak azután cselekedj!

Egyéb frissítések problémája

A rendszer frissítése nem jelent gondot, amíg a saját, hivatalos tárolókat használod. Több disztribúciónál olvastam, hogy rendszer frissítésnél érdemes lehet az általunk hozzáadott tárolókat letiltani, így csak a hivatalosak maradnak, frissíteni, majd azután azokat visszarakni, és azokat is frissíteni. Ez jó ötlet, lehet a te disztribúciódban ez a javasolt eljárás? Ha igen, akkor járj el így. A tipp ad egy következő lépést is: mi van azokkal a programokkal, amiket nem a tárolókból raktunk fel? Vagy olyan PPA-kat, plusz repókat használunk, melyek egy konkrét disztribúció verzióhoz tartoznak?

A flatpak és a snap csomagokkal nincs probléma. Azokat saját rendszerben frissíteni tudjuk. Ezek a csomagkezelőtől függetlenek, saját környezetben futnak.
Az appimage programokkal sem lesz komoly gond, mert szintén különálló megoldások. Ha a rendszerünkben olyan komolyabb változás lett a frissítés után, amiben ezek nem működnek, akkor kiderül rögvest, amikor használni szeretnénk ezeket. Ilyenkor (de a legjobb ha a frissítés után) az oldalukról le kell szedni az újabb verziót.
Tipp: én az appimage programokból mindig megtartok pár régebbi verziót is, így ha valami újabb rosszabbra sikerül, mint a régi visszatérhetek arra.

Ha olyan repókat, vagy PPA-kat használsz, ami egy adott verziójú disztribúcióhoz van, akkor azt mindenképp nézd meg, ha verziószám változás történt! A fő verziószám változás ritka egy disztribúció életében, így ez nem nagy teher.

Ami már manuálisan több munka, ha olyan programokat telepítesz, amik nem ilyen tárolókból települnek. Ezek karbantartására oda kell figyelni, mert semmiképp nem frissülnek a rendszereddel együtt. A "Mit tegyek, ha valamit nem találok meg a tárlókban?" részben felsorolt egyéb program telepítő (pip, npm stb.) esetben a saját frissítési rendszert lehet használni, ami nem nehéz, csak sok esetben elfelejti az ember.
A letölthető és a csomagtelepítővel telepített programokkal és a kézi fordítású programokkal sokkal nehezebben tudunk bánni, mert sok esetben már nem is emlékszünk ezekre. Feltettük, működnek és már a felejtés homályába veszett, hogy ezeket kézzel raktuk fel.
Én ezek telepítő állományát, vagy forráskódot tartalmazó tömörítvényeit egy könyvtárba archiválom és azokat végignézve felkeresem a honlapjukat. Ha van újabb verzió, akkor a frissítést, telepítést az ott leírtak szerint elvégzem. Jó gondolat: ha van ezekben a programokban értesítő az újabb verzióra, akkor azt bekapcsolom. Nem feltétlen kell az értesítésre azonnal ugrani és frissíteni, de így nem marad el.

A Manjaro fórumon ajánlották, hogy egy frissítés után - ha nem megy - az AUR-ból telepített programot életre lehet kelteni jó eséllyel, ha újra építjük azt. Ennek analógiájára van esélyünk egy-egy saját fordítású, github/gitlab-ról leszedett, vagy telepítő állománnyal manuálisan felrakott programot életre kelteni, ha rendszerfrissítés után nem müködnének.

Érdemes felvenni azt a szokást, hogy ha valamit telepítünk, fordítunk github oldalról, gitlab oldalról leforgatjuk, telepítjük, bemásoljuk, vagy akármilyen egyszerű telepítési feladatot ellátunk, amit túlmutat a csomagkezelők, akármilyen csomagkezelő! hatáskörén azt felírjuk. Ilyenkor nem lesz probléma a későbbiekben, hogy valaminek a honlapját megkeressük., megnézzük az újabb verziót. Alakítsuk ki azokat a szokásokat, hogy ezeket ciklikusan, azaz mondjuk havi, kéthavi - én általában kéthavi - ciklussal megtesszük. Így mindig frissített programok lesznek a gépemen. Nem marad el egy esetlegesen nagyon jó és általam külső tárhelyről, külső forráskódból telepített programoknak a frissítése… Nagyon kényelmes megoldás, hogyha nem összevissza kapkodunk, hanem egy listát követünk és utána nem marad el semmi. 

Mit tegyek, ha valamit nem találok meg a tárlókban?

Folytatása következik....
Ha megjegyzést akarsz hozzá füzni, akkor a linuxmint.hu oldalon a blogban megteheted!