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- bohužel poslední aktualizace 2011-01-01, od té doby nic:
- https://launchpad.net/keryx
- http://keryxproject.org/ – This domain may be for sale.
- https://launchpad.net/ubuntu/xenial/+source/keryx – There is no current release of this source package in The Xenial Xerus.
Sushi, huh
editovatPsá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- Fabian Lee (2016-07-27): Ubuntu: Installing Packages without Public Internet Access
- askubuntu.com (2017-01-26): Install packages offline on 16.04.1
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
editovatJestli 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
editovatOsvě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- It's FOSS Abhishek Prakash (2017-01-17): Upgrade Or Update Ubuntu Offline, Without Internet