Non ho accesso root su questa macchina.
Vorrei sapere se esiste un modo per scaricare i pacchetti Ubuntu e installarli come non root?
Probabilmente nella mia ~/bin
o ~/usr/share
o qualcosa del genere? Funzionerebbe?
Non ho accesso root su questa macchina.
Vorrei sapere se esiste un modo per scaricare i pacchetti Ubuntu e installarli come non root?
Probabilmente nella mia ~/bin
o ~/usr/share
o qualcosa del genere? Funzionerebbe?
Risposte:
Apt non lo supporta direttamente, ma ci sono modi per farlo.
Uno è usare schroot
per creare un chroot non root. Questo è un processo un po ' complicato , ma dovresti riuscire a trovare l'aiuto della community per altrettanti sviluppatori che creano ambienti chroot per la compilazione del codice.
Il secondo modo che conosco è installare da un pacchetto .deb. Potresti essere in grado di scaricare questo da un sito web o se si trova nei repository di Ubuntu con cui puoi scaricare.
apt-get download package
Sostituisci package
con il nome del pacchetto
Una volta che hai il tuo file deb chiama dpkg
direttamente dalla riga di comando. L'esempio seguente installerà package.deb nella tua home directory.
dpkg -i package.deb --force-not-root --root=$HOME
Lo svantaggio di usare dpkg in questo modo è che i messaggi di errore sono probabilmente criptici; dpkg non risolve automaticamente le dipendenze né crea la struttura di directory che si aspetta.
Infine, è possibile utilizzare il apt-get source
comando per recuperare l'origine del pacchetto e configurarlo per l'installazione locale. Di solito questo assomiglia a:
apt-get source package
cd package
./configure --prefix=$HOME
make
make install
Lo svantaggio di questo approccio è che hai bisogno dell'ambiente di sviluppo disponibile per far funzionare questo approccio e potresti ritrovarti a compilare dozzine di pacchetti per risolvere tutte le dipendenze.
MODIFICARE:
Poiché dpkg -i
non funziona (vedi commenti), suggerisco questa alternativa:
dpkg -x package.deb dir
Questo estrarrà il pacchetto .deb in dir. Quindi è possibile esportare il PERCORSO dove si trova il binario. Finché sono installate tutte le dipendenze del binario, dovrebbe funzionare normalmente.
sudo apt-get build-dep package
per installare tutto il necessario per creare un pacchetto (dopo averne ottenuto l'origine apt-get source
).
--force-not-root --root=$HOME
o loro varianti non funzioneranno. I pacchetti binari Debian non sono progettati per essere installati nella home directory, punto. O, per dirla in un altro modo. "Il seguente esempio installerà package.deb nella tua home directory.". No, non lo farà.
--force-not-root --root=/your/custom/path
Presumo che tu voglia installare jedit . Per prima cosa devi trovare il pacchetto e scaricarlo. Prendo il file deb da qualche mirror e apro una console / terminale:
mkdir /tmp/jedit && cd /tmp/jedit
- Crea una nuova directory tmp
e vi si modifica.wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb
- Scarica il pacchettoar x jedit_4.3.1.dfsg-0ubuntu1_all.deb
o, facile da scrivere, ar x *.deb
estrae il contenuto del filetar xvzf data.tar.gz
- il file data.tar.gz
contiene tutto il necessario per eseguire il softwareusr/bin/jedit
apre l'editorPuoi spostare i file in qualche punto della tua home directory ed eseguirli da lì.
Ho scritto un programma chiamato JuJu che sostanzialmente permette di avere una distribuzione linux davvero piccola (contenente solo il gestore dei pacchetti) all'interno della directory $ HOME / .juju.
Permette di avere il proprio sistema personalizzato all'interno della home directory accessibile tramite proot e, quindi, è possibile installare tutti i pacchetti senza i privilegi di root. Funzionerà correttamente con tutte le principali distribuzioni di Linux, l'unica limitazione è che JuJu può funzionare su kernel Linux con la versione minima consigliata 2.6.32.
Ad esempio, dopo aver installato JuJu per installare jedit:
$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit