2014. július 2., szerda

apt-offline és Ubuntu 14.04

A világhálótól hermetikusan elzárt gépemen Ubuntu 14.04 fut. Ahogy ilyen rendszereknél illik, időnként én is szerettem volna frissítést csinálni, meg persze alkalmazásokat telepíteni. Ezekhez a tevékenységekhez találták ki az apt-offline nevű programot.
Használatához kell egy internetkapcsolattal ellátott Ubuntu 14.04, amit Online-nak fogok nevezni a továbbiakban, az internetkapcsolat nélkülit pedig Offline-nak.

Az Offline gépre ilyen lépésekkel kell feltenni az apt-offline csomagot.

  1. Az Online gép termináljában add ki:
    sudo apt-get install -d apt-offline
    majd másold a letöltött apt-offline_<verzió>_all.deb csomagot a /var/cache/apt/archives/ könyvtárból a pendrive-ra!
    sudo apt-get install apt-offline
  2. Az Offline gépen másold a pendrive-ról a csomagot a /tmp könyvtárba, majd a terminálban add ki:
    sudo dpkg -i /tmp/apt-offline_<verzió>_all.deb
Ezzel a csomag feltelepült az Online és Offline gépre.

Első indításánál, mikor upgrade-et akartam csinálni, így reagált:

sudo apt-offline set /tmp/apt-offline.sig

Generating database of files that are needed for an update.
E: Command line option --simulate is not understood
ERROR: FATAL: Something is wrong with the apt system.

A hiba oka az, hogy az apt-offline a --simulate opcióval akarja meghívni az apt-get-et, ami valamiért nem támogatott. A probléma azzal orvosolható, ha az apt-offline csomagban kitöröljük az erre az opcióra való hivatkozást.

Mindkét gép termináljában add ki:
sudo sed -i 's/--print-uris --simulate update/--print-uris update/' /usr/share/pyshared/apt_offline_core/AptOfflineCoreLib.py

Most már használható az apt-offline parancs a következő módon.
Repository frissítésnél
  1. Az Offline gép termináljában:
    sudo apt-offline set /tmp/apt-offline.sig

    (A sig fájlot másold a pendrive-ra!)
  2. Az Online gép termináljában (a sig fájl pendrive-ról /tmp-be való másolása után)
    sudo apt-offline get /tmp/apt-offline.sig --bundle /tmp/apt-offline.zip --bug-reports --threads 5
    (A zip fájlot másold a pendrive-ra!)
  3. Az Offline gép termináljában (a zip fájl /tmp-be való másolása után)
    sudo apt-offline install /tmp/apt-offline.zip

Egy csomag installálásánál (a példában ez a csomag az vlc médialejátszó)

  1. Az Offline gép termináljában
    sudo apt-offline set /tmp/vlc-offline.sig --install-packages vlc

    (A sig fájlot másold a pendrive-ra!)
  2. Az Online gép termináljában (a sig fájl pendrive-ról /tmp-be való másolása után)
    sudo apt-offline get /tmp/vlc-offline.sig --no-checksum --bundle /tmp/vlc-offline.zip
    (A zip fájlot másold a pendrive-ra!)
  3. Az Offline gép termináljában (a zip fájl /tmp-be való másolása után)
    sudo apt-offline install /tmp/vlc-offline.zip

Nincsenek megjegyzések:

Megjegyzés küldése