Kezdjük a szükséges eszköz, az apt-mirror telepítésével.
sudo apt-get install apt-mirrorEbbe mondjuk nem rokkan bele az ember fia.
Aztán el kell döntenünk,
hogy mit tükrözzünk. Kezdjük azzal, hogy például a forráskód-csomagok nem kellenek. Át kell gondolni, hogy melyik architektúra (i386? amd64?) kell. Na lássuk: nyissuk meg szerkesztésre az /etc/apt/mirror.list fájlt.
- A fájl elején van egy pár sor, kikommentelve. Az itt megadott opciók az alapértelmezettek, vagyis, ha nem akarunk változtatni rajtuk (és nem sok értelme van), akkor nem kell hozzájuk nyúlni - maradhatnak kommentben.
- Ha nem kellenek a források, szüntessük meg (vagy tegyük kommentbe) a deb-src sorokat.
- Alapbeállítás szerint annak az architektúrának a tükre készül el, amelyiken az apt-mirror fut. Át lehet állítani a defaultarch változót, de nekem tisztább, ha kiírom: ha i386-tükröt akarok, akkor deb-i386 kell szerepeljen az alaphelyzetben deb kezdetű sorok elején. Ha amd64-tükröt akarunk, akkor deb-amd64. Ha mindkettőre szükségünk van, akkor minden sornak kétszer kell szerepelnie: egyszer így, egyszer úgy.
- Ha több verzió is kell, akkor minden verziónak új sorok kellenek. Figyeljünk a verzió kódnevének pontos megadására.
- Itt olvashatunk egy opcióról (set limit_rate 50k), amely szálanként megadja a sávszélesség-korlátot. Én nem használom: a tükör frissítése úgyis olyankor megy, amikor zárva a suli:)
A konfigurációs fájlban volt olyan sor, ami a tükrözés megtörténte után futtatandó scriptről, a postmirror.sh-ról szól. Ez a fájl egyelőre nem létezik, gyorsan elkészítjük:
sudo touch /var/spool/apt-mirror/var/postmirror.sh sudo chown apt-mirror /var/spool/apt-mirror/var/postmirror.sh sudo chmod u+x /var/spool/apt-mirror/var/postmirror.shDe mit tegyünk bele? Nemsokára visszatérünk rá.
Indítsuk el az első tükrözést. Hogy is kell? Nézzük meg, hogy miként teszi a dolgát az időzített feladat: kukkantsunk bele az /etc/cron.d/apt-mirror fájlba. Látjuk, hogy az apt-mirror felhasználó nevében dolgozik, és a kimenetet egy logfájlba irányítja. Ha már úgyis itt vagyunk, kapcsoljuk be a napi frissítést: vegyük ki a kettőskeresztet a sor elejéről. És akkor adjuk ki azt a parancsot, amely létrehozza az első tükröt:
sudo su - apt-mirror -c "/usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log"A fenti paranccsal átváltunk apt-mirror felhasználóra, és az ő nevében futtatjuk az /usr/bin/apt-mirror scriptet, aminek a kimenetét átirányítjuk a /var/spool/apt-mirror/var/cron.log fájlba. (Persze az átirányítás elhagyható, de én szeretem a valósághű szimulációkat, és derüljön ki már most, ha a cron-ból futtatva nem fog sikerülni létrehozni a logfájlt.
A poszt írását folytatom, ha lejött az adag:)
[sok-sok óra telik el]
Na, lejött. Ha az Olvasó is egy béta release-szel kísérletezik, akkor máris lesz változás, futtathatja még egyszer. Ha már nem béta, akkor is szinte biztos talál új fájlokat az apt-mirror: valahogy azt figyeltem meg az elmúlt évek alatt, hogy sokszor két-háromszor kell egymás után futtatnom az apt-mirror-t, ha azt akarom, hogy ne maradjon frissítenivalója. Nem értem egészen, de van még pár ilyen dolog az életemben:)
Mindenesetre a többedik futtatás után ugye lesznek olyan fájlok, amelyeknek az újabb verziói is lejöttek már, azaz a régi kukázható. Ilyenkor az apt-mirror szól, hogy:
129.1 MiB in 228 files and 1 directories can be freed. Run /var/spool/apt-mirror/var/clean.sh for this purpose.
Namármost, a clean.sh egy bash-script, amit az apt-mirror hoz létre, és beleírja, hogy mi törölhető. Mi ennek a scriptnek az elindítását fogjuk a postmirror.sh-val elvégeztetni, azaz alakítsuk ilyenné a szóban forgó fájlt:
#!/bin/sh cd /var/spool/apt-mirror/mirror/ /var/spool/apt-mirror/var/clean.sh >>/var/spool/apt-mirror/var/cron.logAz ugye világos, hogy ha esetleg nem volt mit törölni, és emiatt nem frissülne a clean.sh, az sem baj: legfeljebb letöröljük még egyszer azt, amit az előző alkalommal letöröltünk.
Ezzel a helyi tükör kialakítása kész.
Holnap használatba is vesszük.
Nincsenek megjegyzések:
Megjegyzés küldése