Internetkapcsolat nélküli gépre csomagok telepítése

csuhas32 képe

Talán a korlátlan adatforgalmat biztosító és széles sávú internetkapcsolathoz hozzászokva az ember nem is gondolná hogy vannak manapság még az internettől elvágott számítógépek, de már nem először, a minap is találkoztam egy bejegyzéssel a Facebookon, melyben valaki azt kérdezte, hogy egy olyan helyre, ahol nem rendelkeznek interneteléréssel, milyen Linux telepítőt adjon, olyan rendszer kellene, amit nem kell majd frissíteni, aztán még azt is megtaláltam egy hozzászólásban, hogy végül egy Linux Mint 21-et írt ki pendrive-ra.
Bár nézetem szerint ilyen helyre nem egy telepítőt, hanem inkább egy, a majdani felhasználás körülményeihez igazodó, belakott rendszert volna jó eljuttatni, hiszen net nélkül például a nyelvi csomagok sem lesznek telepítve és akkor még az esetleges hiányzó illesztőprogramokról nem is beszéltünk, de ha így, hát így, menjünk a témafelvető által felkínált nyomban!
Nosza, én is feldobtam egy internettől elvágott virtuális gépre egy Linux Mint 21.2-t Cinnamon felülettel, hogy megmutassam azt, amit már elég régen tanultam Htibitől, vagyis, hogy mit tudunk tenni, ha egy ilyen gépre utólag telepíteni szeretnénk valamit, illetve, ha esetleg egy minimális internetkapcsolatot mégis tudunk létesíteni, akkor ezzel hogyan nyílik meg az út akár a rendszer frissítésének irányába is...

Ahhoz hogy erre a gépre csomagokat hozzunk szükségünk lesz a telepítőt tartalmazó pendrive-ra, illetve mondjuk egy másik pendrive-ra, amin az adatokat hordozzuk majd.
(Ha elegendően nagy méretű a pendrive, melyre a telepítőt kiírni kívánjuk [szerintem 16 GB-ot már remekül fel tudunk osztani], akkor választhatjuk azt a megoldást, amit most én is, a Ventoy-jal készítettem elő a pendrive-omat. A Ventoy partícióra felmásoltam Linux Mint 21.2 Cinnamon képfájlt, a meghajtó végén lévő szabad helyen pedig létrehoztam egy ADATHORDOZO nevű partíciót, melyet Ext4-re formáztam. [Azért Ext4-re, mert parancsfájllal fogunk dolgozni és abban biztos vagyok, linuxos fájlrendszeren ennek tudok futtatási jogosultságot adni…] Így elég egy darab pendrive, nem is kell kettő.)
Aztán kell valahol egy gép, melyen megengedik, hogy bebootoljunk a Linux telepítőnkkel és lehetőséget biztosítanak arra, hogy használjuk az internetkapcsolatot.

Csomagok beszerzése, telepítése az internettől elvágott gépre:

A) Csomagletöltő parancsfájl előállítása
(A bemutató kedvéért én hiányzó nyelvi csomagokat pótoltam, de természetesen így bármely más a tárolókban megtalálható alkalmazást telepíthetünk.)
Elindítottam a telepített rendszert és csatlakoztattam hozzá az adathordozásra (is) használni kívánt pendrive-omat, melynek partíciói automatikusan csatolásra kerülnek és megjelennek a fájlkezelőben.
A Synapticot indítottam,

az bekérte a jelszavam.

A „Gyors bevezetés” ablakát bezártam,

majd rákerestem a „language-pack hu” kifejezésre

és a találatok közül a language-pack-hu-ra duplán kattintottam, ezzel telepítésre jelöltem,

ekkor kaptam egy ablakot, melyen a „Kijelölés” gombot megnyomva ennek a csomagnak a függőségét a
language-pack-hu-base csomagot szintén telepítésre jelöltem.

 Majd kettőt kattintottam a language-pack-gnome-hu csomagra,

természetesen most is jött a függőség, a language-pack-gnome-hu-base kijelölését aktiválni hivatott ablak.

Hurrá, máris van négy telepítésre jelölt csomagunk!

Szokványos esetben, amikor a rendszer rendelkezik korlátlan (vagy legalább kellő) adatforgalmat biztosító internetkapcsolattal, ilyenkor az „Alkalmaz” gombot szoktuk megnyomni, ám mi most nem erre megyünk tovább, hanem a „Fájl /Csomagletöltő parancsfájl létrehozása” lehetőséget választjuk.

Jön a „Parancsfájl mentése” ablak.
Fontos ugye, hogy az ADATHORDOZO-t válasszuk a mentés helyéül és célszerű a parancsfájlt nem a meghajtó gyökerébe, hanem egy számára kialakított könyvtárba menteni.
A „Create Folder” gombra kattintok,

majd létrehozom a Telepiteshez-2023.08.02. könyvtárat.

A parancsikonnak a rendkívül ötletes 1 nevet adom, vagyis a Name mezőbe „1” kerül és megnyomom a „Mentés” gombot.

Ezzel a részével kész is vagyunk. Kiléphetünk a Synapticból,

majd leállíthatjuk a rendszert.

B) A csomagletöltő parancsfájl futtatása egy másik, internetkapcsolattal rendelkező számítógépen
Bebootolunk a Linux telepítőt tartalmazó pendrive-unkról, majd, ha ez szükséges, internetkapcsolatot létesítünk, például felcsatlakozunk a WiFi-hálózatra. Amennyiben az adathordozásra külön pendrive-ot használunk, azt csatlakoztatjuk a számítógéphez.
A fájlkezelőben az ADATHORDOZO-t kiválasztva ellépkedtem az előzőekben létrehozott Telepiteshez-2023.08.02. könyvtárba, ott jobb egérgombbal kattintottam és az „Open as Root” lehetőséget választottam.

Ekkor megnyílt a fájlkezelő egy új példánya ugyanitt, de egy feltűnő vöröses hátterű figyelmeztető szöveggel „Elevated Privileg”.
(Normál esetben, inkább nem, vagy csak nagyon nagy körültekintés mellett javasolnám az ilyen emelt joggal történő garázdálkodást, de itt most egy live rendszer alatt, egy kizárólag erre a speciális adathordozásra használt pendrive-on szerintem lehetünk ennyire engedékenyek, ezzel megkönnyítve a dolgot, hogy ne kelljen a jogosultságokkal bajlódni.)
Itt újabb jobb egérgombbal történő kattintás a fájlkezelő egy üres területén, majd az „Open in Terminal” választása.

Következik három parancs:
Nekem magyar billentyűzetem van, hogy a rendszer ehhez igazodjék és pár pillanat múlva majd könnyen be tudjam gépelni például a „ /” karaktert:

setxkbmap hu

Hogy az „1” nevű parancsfájl biztosan futtatható legyen:

chmod +x 1

És akkor jöjjön maga a lényeg, a parancsfájl futtatása:

./1

Ha minden jól megy, akkor a folyamat szépen lefut és a fájlkezelőben a parancsfájl mellett szépen sorban megjelennek a DEB csomagok.

Kész is vagyunk, leállíthatjuk a live rendszert.

C) A letöltött csomagok telepítése
Bekapcsoljuk az internetkapcsolattal nem rendelkező számítógépet és csatlakoztatjuk hozzá az adathordozásra (is) használt pendrive-ot.
Ellépkedtem a fájlkezelőben az ADATHORDOZO/Telepiteshez-2023.08.02. könyvtárba (vagyis oda, ahol a letöltött DEB csomagok vannak), egy üres területen jobb egérgombbal kattintva a „Megnyitás terminálban” lehetőséget választottam.

A

sudo dpkg -i *.deb

paranccsal kezdeményeztem az ebben a könyvtárban található valamennyi DEB csomag telepítését.
A rendszer bekérte a jelszavam, miután ezt megadtam, rendben lefutott a folyamat.

Amennyiben elfogadjuk, hogy valóban semmilyen internetkapcsolat létesítésére nincs lehetőség az adott géppel, akkor ennek a történetnek itt a vége.
 

Az internettől (szinte teljesen elvágott) rendszer frissítése

Azonban már a Facebook bejegyzéshez írt egyik hozzászólásban is felvetette valaki, hogy legalább valamilyen mobilinternet-elérés azért vélhetően csak van.
Én is ezt tartom életszerűnek, hogy egy akár csak lassú vagy ugyan gyors, de szerény adatforgalmat biztosító mobilinternet azért rendelkezésre áll, de ezt nem szeretnék a rendszer frissítésére pazarolni.
Ha ez a helyzet, és minimális internetkapcsolatot tudnak biztosítani a gép részére, akkor megnyílik az út a rendszer frissítése felé.
(A főrendszerem most próbáltam ki, a tárolóinformációk frissítése az igen csekély 2.329 kB-nyi adat letöltését igényelte, mindössze ez az a nagyságrend amire szükségünk van.)
A módszer a legtöbb elemében megegyezik az eddig ismertetettel.

A) A tárolóinformációk frissítése
Elindítjuk a rendszert, csatlakoztatjuk hozzá az adathordozásra használt pendrive-ot, és internet-kapcsolatot létesítünk.
[Ezen a ponton esetleg érdemes megfontolni, hogy a Frissítéskezelőt elindítsuk és a Szerkesztés/Szoftverforrások/Hivatalos csomagtárolók menüpontban a Fő és Alap tükörkiszolgálóknál is végezzünk néhány kattintást, és biztosan jelenleg is élő tükrökkel dolgozzunk tovább.]
Megint a Synaptic-kal ügyeskedtem.
Megnyomtam a „Frissítés” gombot,

a rendszer frissítette a tárolóinformációkat.

Ha egy másik helyen lévő internetszolgáltatást használva szeretnénk véghezvinni a rendszerünk frissítését, akkor akár el is vehetjük most már az internetet géptől, ennyi volt az, amire feltétlen szükségünk volt.

B) A frissíthető csomagok kijelölése
Sajnos a Linux Mint-ben a Synaptic-ból eltávolították a minden frissítés kijelölésére szolgáló gombot, sebaj főzünk azzal, amink van.
Nyomjuk meg a „Állapot” gombot, majd válasszuk a „Telepítve (frissíthető)” kategóriát.

Duplán kattintva a csomagokra, vagy a billentyűzetet használva kezdjük őket kijelölni.

Lesz több csomag is, ahol a függőségek kijelölését kéri majd, tegyük ezt meg.

A dolog nehézsége, ha egy csomag ki van már jelölve, mondjuk azért mert a listában egy feljebb szereplő csomag függősége, de arra ismét rákattintunk, akkor a kijelölését visszavonjuk. Ilyenkor újra rá kell kattintanunk, hogy kijelöljük.Kicsit rabszolgamunka, de valamit valamiért.
Akkor dolgoztunk jól, ha végiggörgetjük a listát és A-Z-ig minden frissíthető csomagot kijelöltünk.

C) Csomagletöltő parancsfájl előállítása
Fájl /Csomagletöltő parancsfájl előállítása

A megjelenő párbeszédablakban természetesen az adathordozásra használt eszközünket választjuk.
Én létrehoztam egy Frissiteshez-2023.08.02. nevű könyvtárat.

(A szemfülesek észrevehetik, hogy a leírás korábbi részében telepített magyar nyelvi csomagok máris érvényesülnek, hiszen a ezen a részen máris a korábbi „Folder name” helyett „Mappa neve”, a „Create” helyett pedig „Létrehozás” szerepel.)
Az ADATHORDOZO/Frissiteshez-2023.08.02. könyvtárba mentem a 2 névre keresztelt parancsfájlt.

Ezzel a résszel megvagyunk, a változások elvetésével kiléphetünk a Synapticból, akár le is állíthatjuk a rendszert.

Innentől kezdve gyakorlatilag ugyanazt csináljuk, mint amikor a nyelvi csomagokat telepítettük.

D) A csomagletöltő parancsfájl futtatása egy másik, internetkapcsolattal rendelkező számítógépen
Bebootolunk az internetkapcsolattal rendelkező gépen a Linux telepítőről, internetkapcsolatot létesítünk, ha kell, csatlakoztatjuk az adathordozásra használt pendrive-ot, a fájlkezelőben ellépdeltem az ADATHORDOZO/Frissiteshez-2023.08.02. könyvtárba, ott jobb egérgombbal kattintottam egy üres területen és az „Open as Root” lehetőséget választottam, majd a megnyíló emelt joggal futó fájlkezelőben jobb egérgomb egy üres területen és  az
„Open in Terminal” következett.

setxkbmap hu
chmod +x 2
./2

Szépen elkezdenek letöltődni a csomagok, türelmesen várjuk meg a végét.
(Nekem most 131 csomag töltődött le, 690 MB adatforgalmat generálva.)
Leállíthatjuk a live rendszert.

E) A letöltött csomagok telepítése
Szintén a korábban ismertetett gyakorlatot követjük.
Elindítjuk az internetkapcsolattal nem (vagy korlátozottan) rendelkező rendszert, csatlakoztatjuk az adathordozásra szolgált eszközt, a fájlkezelőben ellátogatunk a letöltött csomagokat tartalmazó könyvtárba, jelen esetben ez az ADATHORDOZO/Frissiteshez-2023.08.02., ott jobb egérgombbal kattintunk egy üres területen és a
„Megnyitás Terminálban” opciót választjuk.

sudo dpkg -i *.deb

enter, jelszó, enter.

Kivárjuk a folyamat végét, öröm, boldogság.

Utóirat:
A csomagletöltő parancsfájlt illetve a DEB csomagokat tartalmazó könyvtárak törlése, ha már nincs szükség rájuk:
Annak, hogy minden rendszergazdai joggal hoztunk létre egyetlen komoly hátránya van, csak ilyen joggal tudjuk őket törölni is. Ha ilyet tervezünk azt NE grafikus felületen a fájlkezelővel tegyük, mert ha a rendszergazdai kukába kerülnek, onnan betyáros feladat őket levakarni! Ha mégis a rendszergazdai joggal futó fájlkezelővel terveztek törölni, akkor azt feltétlen a kuka megkerülésével, a Shift+Delete-et használva tegyétek, de én azt mondom, inkább dolgozzunk parancssorból!
Vegyük például a most a frissítések telepítéséhez létrehozott, ám már szükségtelenné vált ADATHORDOZO/Frissitesekhez-2023.08.02. könyvtárat és annak teljes beltartalmát.

A fájlkezelőben az ADATHORDOZO-t választottam, majd a már jól ismert módon, jobb egérgombbal egy üres területen nyitottam a gyökerében egy terminálablakot.

Az

ls

parancs megmutatta, milyen állományok vannak benne.

A

sudo rm -rf Frissiteshez-2023.08.02./

paranccsal pedig szőröstül-bőröstül végleg töröltem a felesleges ítélt könyvtárat a tartalmával együtt.