Na kolika počítačích s Windows běžně nalezneme nainstalované běhove prostředí pythonu? To už nepoměrně více jich bude s javou. Dobrá myšlenka ale nevhodné provedení pro jiné systémy kde není python "jako doma".
Názory k článku
Apt-offline: instalace balíčků bez připojení k internetu
Re: Python na Windows
celé vláknoNa tolika, na kolik si ho běžně nainstaluješ?
Re: Python na Windows
celé vláknoVaše tvrzení je ovšem platné pouze v případě, že stroje z nichž bych takto balíčky stahoval bych současně spravoval nebo mám k nim příslušná privilegia. To je ovšem ideální případ, který v praxi tak často nenastane. Už jenom nutná doinstalace čehokoliv navíc reálné nasazení citelně snižuje. Kdyby byla aplikace napsaná v javě kolik uživatelů linuxu by si bylo ochotné ji nainstalovat?. Jen defakto kvůli jediné aplikaci (předpokládám že na linuxu je instalací javy méně).
Osobně za největší přínos daného konceptu bych spatřoval v co možná nejpružnějším využítí dostupných zdrojů připojení k internetu. S pythonem toho moc nedosáhnete. Řešení vidím třeba v přepsání aplikace do C/C++ pro daný systém ačkoliv to bude vyžadovat více úsilí než ve pythonu nebo javě.
Re: Python na Windows
celé vláknoIMHO, se python instalovat nemusí. Jestli tvrdíte, že nemusíte mít PC ve správě, pak je tady i třeba portable verze pythonu: http://www.portablepython.com/ nebo http://www.voidspace.org.uk/python/movpy/ Samozřejmě mi teď můžete říct, že nemusí být v systému povoleny flashky, ale to by bylo zcestné, když si odtud chceme "nějak" odnést stažená data.
Re: Python na Windows
celé vláknoNa psychologické překážky se vždycky najde nějaký lék, třeba se program zabalí s pythonem do jednoho balíku.
Synaptic
celé vláknoVygenerovat skript na stazeni umi i synaptic.
Re: Synaptic
celé vláknoje to někde v menu. Označit balíčky pro pozdější stažení. (snad File > Generate package download script) Vytvoří se skript, který je stáhne a pak se na jiném PC offline nainstalují.
Před časem to tu někdo řešil pro nějakou stanici malé vodní elektrárny bez možnosti online připojení.
apt-zip
Ještě jsem si při čtení dnešního Petrova článku vzpomněl na apt-zip:\
Na hostitelské stanici by mu pak měl stačit jen wget...
Off-line debian
roky som pouzival skript v debiane pretoze sme v praci mali rychlejsiu siet a bez FUP, ak som nieco potreboval nainstalovat zvolil som to v aptitude a vsetky zavislotsi sa vyriesli pri naslednom update, myslim ze by sa dal pouzit aj v dnesnych B*Ubuntu ...
#!/bin/bash
#
# Quick hack to get apt-offline functionality automatized.
#
# Copyright (C) 2004 Guillem Jover <guillem@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
setup()
{
local discdir=$1
cd $discdir
arch=`dpkg --print-architecture`
mkdir -p archives/partial lists/partial
cp /etc/apt/sources.list .
cp /var/lib/dpkg/status .
if [ -f /var/lib/aptitude/pkgstates ]
then
cp /var/lib/aptitude/pkgstates .
fi
cat <<CONF > apt.conf.in
APT
{
Architecture "$arch";
Get::Download-Only "true";
};
Dir
{
/* Use the disc for state information and redirect the status file from
the /var/lib/dpkg default */
State "%disc%";
State::status "status";
// Binary caches will be stored locally
Cache::archives "%disc%/archives/";
Cache "/tmp/";
// Location of the source list.
Etc "%disc%";
};
CONF
}
gen_apt_conf()
{
local discdir=$1
sed -e "s:%disc%:$discdir:" < $discdir/apt.conf.in > $discdir/apt.conf
}
update()
{
local discdir=$1
gen_apt_conf $discdir
export APT_CONFIG="$discdir/apt.conf"
apt-get update
apt-get -f dist-upgrade
}
upgrade()
{
local discdir=$1
gen_apt_conf $discdir
export APT_CONFIG="$discdir/apt.conf"
apt-get -f check
apt-get -f --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade
}
case $1
in
help)
cat <<HELP
apt-offline action discdir
action:
setup used on the local system
update used on the remote system
upgrade|install used on the local system
HELP
;;
setup)
setup $2
;;
update)
update $2
;;
upgrade|install)
upgrade $2
;;
esac
instalace neznámého balíčku
Docela by mě zajímalo, jak je řešená situace, kdy na offline počítači chci nainstalovat balíček, který systém nezná (apt ho nemá v databázi) např. proto, že v době instalace - posledního updatu apt db - balíček ještě neexistoval.
Má někdo zkušenost?

