GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Utilizzando Sudo Apt-get Install, perché nessun codice sorgente?

Stavo cercando di installare un pacchetto per il sistema operativo robotico (ROS). E vado avanti e digito sudo apt-get install <package>

Dopo l'installazione, vedo un elenco di file in /opt/share cartelle, che sono i pacchetti che voglio.

Ma se vado in src , il codice sorgente (file .cpp) non è presente.

Posso vedere il codice sorgente se vado alle pagine github dello sviluppatore, ma come mai il pacchetto viene installato senza utilizzare il codice sorgente? Come posso scaricare il codice sorgente e installare il pacchetto usando apt-get install comando?

Risposta accettata:

Per impostazione predefinita apt-get install non scarica i codici sorgente dei pacchetti. Esiste un apt-get specifico opzione per fare ciò che è source .

Da man apt-get :

source
source fa sì che apt-get prenda i pacchetti sorgente. APT esaminerà i pacchetti disponibili per decidere quale pacchetto sorgente
recuperare. Quindi troverà e scaricherà nella directory corrente la versione più recente disponibile di quel pacchetto sorgente
rispettando la versione predefinita, impostata con l'opzione APT::Default-Release, l'opzione -t o per pacchetto con il
sintassi pkg/release, se possibile.

I pacchetti sorgente vengono tracciati separatamente dai pacchetti binari tramite le righe deb-src nel file sources.list(5). Ciò significa
che dovrai aggiungere una tale riga per ogni repository da cui vuoi ottenere i sorgenti; altrimenti probabilmente otterrai
o la versione sorgente sbagliata (troppo vecchia/troppo nuova) o nessuna.

Quindi la sintassi per scaricare il pacchetto sorgente di qualcosa nella directory corrente sarebbe (non è necessario essere root ):

apt-get source <package_name>

Nota anche che come man pages dice che devi avere il deb-src repository abilitati per tutti i normali deb repository di cui si desidera tenere traccia dei pacchetti sorgente. Il modo più semplice per farlo sarebbe semplicemente aggiungere -src all'iniziale deb del repository originale stringa:

deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted

In una nota diversa, potresti aver controllato /usr/src directory che è il luogo designato per tutti i sorgenti del kernel.

Correlati:combinazione client/server uPnP funzionante?
Ubuntu
  1. Installare Java su Ubuntu usando Apt-get

  2. Apt-get Build-dep non riesce a trovare un pacchetto sorgente?

  3. Il pacchetto "grub-efi-amd64-signed" non è riuscito a installare Target/?

  4. Errore durante l'esecuzione di Sudo Apt-get -f Install?

  5. Come installare Skype su 11.10 quando si utilizza Kubuntu (kde4.7)?

Come installare Nginx su Ubuntu 20.04 LTS usando il codice sorgente

3 modi per installare il codice di Visual Studio in Ubuntu usando il terminale

Crea un pacchetto DEB Ubuntu dal codice sorgente (.tar.gz, .tgz)

Gestione frammenti di codice per Ubuntu?

Qual è la differenza tra l'installazione di un pacchetto usando pip e apt-get?

non riesco ad installare il pacchetto libc6