Vaš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ě.
IMHO, 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.
je 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í.
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