Installare software su Lubuntu senza Internet

Configurazione e uso delle applicazioni del desktop manager alla base di Lubuntu.

Installare software su Lubuntu senza Internet

Messaggioda matrobriva » mercoledì 6 giugno 2012, 15:17

Ciao a tutti.
L'estate scorsa ho portato al mare un Pentium III (Katmai) – 500mhz, inzialmente aveva 128MB di RAM, ma l'avevo portata (mi sembra) a 512MB e ci avevo installato Lubuntu, nella versione 11.04 (con ottime prestazioni).

Quest'estate vorrei portare lì un modem analogico esterno Trust 56K V92, che funziona bene sul mio PC con Ubuntu e con cui mi posso collegare molto facilmente con Gnome-PPP.
Vorrei installare sul PC del mare dei programmi, in particolare XPN, Geany, Filezilla (o gftp) e, soprattutto, Gnome-PPP.
Desidero evitare di dover scaricare i software con il 56K, perchè ci metterei un sacco di tempo e mi costerebbe troppo, quindi pensavo di scaricare i pacchetti dal mio PC con ADSL e copiarli su CD o chiavetta USB.

Tuttavia, mentre con Windows basta copiare l'exe, con le varie distro Linux è praticamente impossibile riuscire ad installare programmi con molte dipendenze senza avere una connessione ad Internet (per la legge di Murphy, dopo aver scaricato 299 dipendenze e portato tutto al mare, si scoprirà che ne mancherà una).
Quindi mi chiedevo, esisterà un software che, dato il nome del programma desiderato, mi prepari un grosso ZIP con tutte le dipendenze necessarie (ma proprio tutte)?

Un'altra domanda, meno importante, si possono copiare tutti gli aggiornamenti dalla 11.04 alla 12.04 su un CD? In che modo?

Grazie mille.
Avatar utente
matrobriva Non specificato
Prode Principiante
 
Messaggi: 173
Iscrizione: ottobre 2009
Località: Roma

Re: Installare software su Lubuntu senza Internet

Messaggioda Freddy85 » giovedì 7 giugno 2012, 14:29

Se sei fortunato a trovare i file .deb, puoi scaricarti quelli
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85 Non specificato
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 4594
Iscrizione: ottobre 2008

Re: Installare software su Lubuntu senza Internet

Messaggioda matrobriva » giovedì 7 giugno 2012, 14:45

Ok, i deb riesco anche a prenderli, ma il problema è che ogni software ha bisogno di innumerevoli dipendenze!
Avatar utente
matrobriva Non specificato
Prode Principiante
 
Messaggi: 173
Iscrizione: ottobre 2009
Località: Roma

Re: Installare software su Lubuntu senza Internet

Messaggioda Freddy85 » giovedì 7 giugno 2012, 14:50

Questo può essere un problema, me ne rendo conto.
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85 Non specificato
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 4594
Iscrizione: ottobre 2008

Re: Installare software su Lubuntu senza Internet

Messaggioda matrobriva » martedì 12 giugno 2012, 20:52

Se vado nella pagina dei pacchetti di Ubuntu (http://packages.ubuntu.com/) trovo, come già sapevo, il pacchetto e la lista delle sue (infinite) dipendenze e dipendenze delle dipendenze.
Ora mi chiedevo: come faccio a sapere quali di quelle dipendenze sono già incluse in Lubuntu? Python è presente (mi sembra di si).

Nel caso nessuno mi sappia consigliare un metodo alternativo o un tool automatico, sarò costretto a scaricarmi a mano le dipendenze.

PS:
Secondo voi, a occhio, con una connessione da modem 56K su una vecchia e malandata linea telefonica ottenuta con questo procedimento che non richiede di scaricare pacchetti: http://wiki.ubuntu-it.org/Hardware/Mode ... onnessione quanto ci metterei a scaricare i programmi citati e le relative dipendenze?
Quella vecchia versione di Lubuntu, una volta dato apt-get install pippo installerà pippo oppure richiederà lunghissimi aggiornamenti?
Ultima modifica di matrobriva il martedì 12 giugno 2012, 20:56, modificato 1 volta in totale.
Avatar utente
matrobriva Non specificato
Prode Principiante
 
Messaggi: 173
Iscrizione: ottobre 2009
Località: Roma

Re: Installare software su Lubuntu senza Internet

Messaggioda Freddy85 » martedì 12 giugno 2012, 20:54

Io non so come aiutarti, mi spiace...aspetta l'intervento di altri membri :)
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85 Non specificato
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 4594
Iscrizione: ottobre 2008

Re: Installare software su Lubuntu senza Internet

Messaggioda an0nim0 » sabato 16 giugno 2012, 11:38

ho avuto il tuo stesso problema.
Installa il programma APTONCD che ti permette di creare un iso della cache.
Poi nelle sorgenti software devi escludere tutto e devi indicare come sorgente il cd che hai creato con aptoncd.Forse puoi indicare direttamente l'iso.ciao
an0nim0 Non specificato
Prode Principiante
 
Messaggi: 4
Iscrizione: giugno 2012

Re: Installare software su Lubuntu senza Internet

Messaggioda matrobriva » mercoledì 27 giugno 2012, 10:19

Vi aggiorno sulla situazione:
ho installato su una VM Lubuntu 11.04 e su un'altra VM Ubuntu 12.04;
ho installato sulla Ubuntu 12.04 i pacchetti gnome-ppp, gftp, xpn, imagemagick, gimp, abiword e dosbox, tuttavia:

GnomePPP: installato correttamente
Gftp: installato correttamente
XPN: installato correttamente
Imagemagick: mancano le sottodipendenze di libmagickcore4 e libmagickwand4, esattamente libgomp1, libjpeg8 e libltdl7.
Abiword: non si installa ma non fa niente, tanto mi va bene anche la versione già installata.
Dosbox: libstdc+6 è alla versione 4.5, mentre dosbox ha bisogno della 4.6.
Gimp: quì mancano innumerevoli dipendenze.

Ora mi chiedo: ma se io ho utilizzato aptoncd, che senso ha che molte dipendenze non siano state incluse?
Come risolvere il problema delle versioni più vecchie installate dei pacchetti essenziali?
Ultima domanda, quasi scaramantica: quante probabilità ci sono che quello che faccio nella VM con Lubuntu sia UGUALE a quello che farò al mare? (teoricamente 100%, ma si sa, l'informatica...)
Avatar utente
matrobriva Non specificato
Prode Principiante
 
Messaggi: 173
Iscrizione: ottobre 2009
Località: Roma

Re: Installare software su Lubuntu senza Internet

Messaggioda crap0101 » martedì 3 luglio 2012, 1:40

matrobriva » 27/06/2012, 10:19 ha scritto:Ora mi chiedo: ma se io ho utilizzato aptoncd, che senso ha che molte dipendenze non siano state incluse?
Come risolvere il problema delle versioni più vecchie installate dei pacchetti essenziali?
Ultima domanda, quasi scaramantica: quante probabilità ci sono che quello che faccio nella VM con Lubuntu sia UGUALE a quello che farò al mare? (teoricamente 100%, ma si sa, l'informatica...)

Da quel che ho visto aptoncd ti crea le dipendenze basandosi sui pacchetti del software che hai installato e che si trovano nella cache (ad esempio, se pulisci la cache non vedrà più nulla... volendo puoi indicare da altre fonti, ma comunque devi farglieli trovare, quindi scaricarli tu); inoltre, non so ho capito bene se e quanto sia più mantenuto, (le uniche cose recenti sono su launchpad, ma non vedo nuove release da un bel pò).


Dato che forse servirebbe una cosa del genere anche a me, ho scritto velocemente uno script che *dovrebbe* recuperare tutte le dipendenze di un dato pacchetto: semplicemente esplora ricorsivamente le dipendenze di ogni pacchetto partendo da quello iniziale.
Prova e vedi se va un pò meglio:
Codice: Seleziona tutto
import apt
import argparse
import logging
import os
import sys

LOGNAME = 'get_deps'
LOG_LEVELS = ['DEBUG', 'INFO', 'WARNING', 'ERROR']
DEFAULT_LOG_LEVEL = 'INFO'

def get_deps (pkgname, cache=None):
    if cache is None:
        cache = apt.Cache()
    try:
        pkg = cache[pkgname]
    except KeyError as err:
        logging.getLogger(LOGNAME).warning(err)
        return set()
    pkg_deps = set()
    for dep in pkg.candidateDependencies:
        # first choice for multiple packages dep
        pkg_deps.add(dep.or_dependencies[0].name)
        # all of or_*
        #pkg_deps.update(odep.name for odep in dep.or_dependencies)
    return pkg_deps

def get_deep_deps (pgkname, cache=None):
    if cache is None:
        cache = apt.Cache()
    pkg_ddeps = set()
    to_find = [pkgname]
    while True:
        nexts = set()
        for p in to_find:
            _pkgs = get_deps(p, cache)
            new_pkgs = _pkgs.difference(pkg_ddeps)
            pkg_ddeps.update(new_pkgs)
            nexts.update(new_pkgs)
        if nexts:
            to_find = list(nexts)
        else:
            break
    return pkg_ddeps

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('packages',
        default=[], nargs='*', metavar='package_name',
        help='find deps for every package')
    parser.add_argument('-d', '--deep',
        dest='deep', action='store_true', help='deep search dependencies')
    parser.add_argument('-l', '--log-level',
        dest='loglevel', metavar='LEVEL',
        choices=LOG_LEVELS, default=DEFAULT_LOG_LEVEL,
        help='set logging level: one of %(choices)s; default to %(default)s')
    args = parser.parse_args()
    logging.basicConfig(level=args.loglevel)
    logger = logging.getLogger(LOGNAME)
    func = get_deep_deps if args.deep else get_deps
    for pkgname in args.packages:
        deps = func(pkgname)
        logger.info("Package {what} depends on {num} packages:".format(
            what=pkgname, num=len(deps)))
        print ' '.join(sorted(deps))



Nota che non fa altro che comunicare i pacchetti dipendenti, non installa, downloada o salva alcunchè: i pacchetti elencati potrai poi scaricarli manualmente con
Codice: Seleziona tutto
apt-get download deb1 deb2 ecc..

e poi masterizzarli o, volendo, usarli con aptoncd per creare il cd.


Esempio:
crap0101@crap0101-M:~$ python get_deps.py imagemagick
INFO:get_deps:Package imagemagick depends on 3 packages:
libc6 libmagickcore3 libmagickwand3

invece, con l'opzione -d cerca ricorsivamente tutte le dipendenze:
crap0101@crap0101-M:~$ python get_deps.py imagemagick -d
INFO:get_deps:Package imagemagick depends on 43 packages:
coreutils debconf dpkg fontconfig-config gcc-4.6-base libacl1 libattr1 libbz2-1.0 libc-bin libc6 libexpat1 libffi6 libfontconfig1 libfreetype6 libgcc1 libglib2.0-0 libgomp1 libjasper1 libjpeg62 liblcms1 liblqr-1-0 libltdl7 liblzma2 libmagickcore3 libmagickwand3 libpcre3 libpng12-0 libselinux1 libtiff4 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxml2 multiarch-support perl-base ttf-dejavu-core tzdata ucf xz-utils zlib1g

che, come vedi sono molte di più perchè, rispetto al precedente, includono anche le sottodipendenze, ovvero le dipenzenze di libmagickcore3, quelle di libmagickwand3 e a tutte le altre.
Come noterai, ci sono cose "di troppo", ad esempio libc6 che è comune a molti programmi e librerie, ma generalmente non viene installata perchè è una di quelle fondamentali ed è già presente: per questo bisognerebbe fare un controllo più approfondito sulla priorità dei pacchetti (ma ora come ora ho buttato giù lo script così... è tutt'altro che perfetto); non è un problema per l'installazione, però (se non le individui e le elimini) devi scaricare un pò di roba che in realtà non ti serve.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
crap0101 Maschile
Rampante Reduce
Rampante Reduce
 
Messaggi: 7088
Iscrizione: ottobre 2007
Località: TO
Distribuzione: trisquel
Desktop: LXDE


Torna a LXDE

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 3 ospiti