Přeskočit na obsah

Ubuntu/instalace/offline

Z Wikiverzity

Ubuntu/instalace/offline – řešení problému, jak instalovat balíky anebo spravovat aktualizace bez připojení (anebo s omezeným připojením) off-line prostřednictvím jiného počítače (a následného přenosu stažených souborů na USB disku)

keryx

[editovat]

Sushi, huh

[editovat]

Psáno v Pythonu, dosud nestabilní verze, háže chyby:

Při spuštění:

./sushi_huh.sh

stejně jako:

python2 -B ./sushi_huh.py

se zobrazí chyba:

Traceback (most recent call last):
  File "/home/petr/sushi-huh/src/il_cuore/lib/sushi_huh_PyHP.py", line 99, in __init__
    exec(python_script, globals(), locals())
  File "<string>", line 43, in <module>
  File "/home/petr/sushi-huh/src/il_cuore/lib/sushi_huh_Wizard.py", line 82, in __init__
    self.plugin = pluginator.get_plugin('repo', self.main_ini_file['plugin']['plugin_name'][0])
  File "/home/petr/sushi-huh/src/il_cuore/lib/sushi_huh_Pluginator.py", line 72, in get_plugin
    plugin = __import__(info['plugin']['main_file'][0][: info['plugin']['main_file'][0].rfind('.')]).Plugin()
  File "/home/petr/sushi-huh/src/il_cuore/plugins/repo/ubuntu/ubuntu.py", line 35, in <module>
    from il_cuore.lib.sushi_huh_UbuntuCodename import UbuntuCodename
  File "/home/petr/sushi-huh/src/il_cuore/lib/sushi_huh_UbuntuCodename.py", line 31, in <module>
    import urllib.request
ImportError: No module named request

Při pokusu doinstalovat

pip install request

dostanu hlášky:

Collecting request
  Using cached request-0.0.12.tar.gz
Collecting get (from request)
  Using cached get-0.0.20.tar.gz
Collecting post (from request)
  Using cached post-0.0.12.tar.gz
Collecting setupfiles (from request)
  Using cached setupfiles-0.0.15.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-Jlf1zP/setupfiles/setup.py", line 4, in <module>
        from setupfiles import setup
      File "setupfiles.py", line 18, in <module>
        import setupfiles # nopep8
      File "setupfiles.py", line 18, in <module>
        import setupfiles # nopep8
      File "setupfiles.py", line 18, in <module>
        import setupfiles # nopep8
...
      File "setupfiles.py", line 18, in <module>
        import setupfiles # nopep8
      File "setupfiles.py", line 18, in <module>
        import setupfiles # nopep8
      File "setupfiles.py", line 18, in <module>
        import setupfiles # nopep8
      File "setupfiles.py", line 18, in <module>
        import setupfiles # nopep8
      File "setupfiles.py", line 18, in <module>
        import setupfiles # nopep8
      File "setupfiles.py", line 11, in <module>
        dirname = os.path.abspath(os.path.dirname(__file__))
      File "/usr/lib/python2.7/posixpath.py", line 361, in abspath
        if isinstance(path, _unicode):
    RuntimeError: maximum recursion depth exceeded while calling a Python object
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-Jlf1zP/setupfiles/

Při pokusu o spuštění z třetí verze pythonu:

python3 -B ./sushi_huh.py

se zobrazí chyba:

Traceback (most recent call last):
  File "/home/petr/sushi-huh/src/il_cuore/lib/sushi_huh_PyHP.py", line 99, in __init__
    exec(python_script, globals(), locals())
  File "<string>", line 33, in <module>
ImportError: No module named 'sushi_huh_INIFile'

apt-get

[editovat]

URL potřebných balíků lze vyloudit pomocí:

apt-get --print-uris --yes install název_balíku | grep ^\' | cut -d\' -f2

balíky si stáhnout, uložit na USB-disk a pak to překopírovat do keše cílového počítače.

Ale nezjistil jsem, jak podobným způsobem dělat aktualizace.

APTonCD

[editovat]

Jestli tomu dobře rozumím, umí jen vypalovat CD nebo DVD zvolených balíků. Ale nevím, jestli také umí dělat aktualizace.

apt-offline

[editovat]

Osvědčilo se

Instalace:

sudo apt-get install apt-offline

Příkaz set generuje tzv. signature file, což je seznam balíků, které se mají updatovat a/nebo upgradeovat včetně jejich URL:

sudo apt-offline set signature_file

Během generování hlásí:

Generating database of files that are needed for an update.
Generating database of file that are needed for operation upgrade

Tento signature_file si přenesu do počítače, na kterém budu stahovat, a příkazem get si je stáhnu do zvoleného adresáře:

apt-offline get -d název_adresáře signature_file

Stažené balíky si přenesu do cílového počítače, kde je nainstaluji příkazem:

sudo apt-offline install název_adresáře

Kdo chce grafické rozhraní, může si nainstalovat:

sudo apt-get install apt-offline-gui

Avšak toto jednoduché okénko myslím žádné zjednodušení nenabízí, příkazová řádka je pohodlnější a nabízí více možností.

Po tom, co apt-offline nainstaluje stažené balíky do cache, spustíme jejich upgrade obvyklým příkazem:

sudo apt-get upgrade

Voila!

odkazy

[editovat]

Odkazy

[editovat]