TL; DR : ci sono molte aree grigie e dipende da cosa stai facendo. Principalmente, Software Center e metodi a riga di comando fanno cose simili quando si tratta di .deb
pacchetti, ma altri pacchetti software potrebbero richiedere passaggi diversi.
Qual è la differenza tra l'installazione di un software nel centro software Ubuntu e la riga di comando?
Ecco la realtà: l'installazione non è altro che il lancio dei file forniti con il pacchetto software in directory appropriate. Non importa se viene eseguito dalla riga di comando o tramite Software Center - fanno la stessa cosa - lancia i file nelle rispettive directory. Ciò che conta, tuttavia, è il pacchetto e come lo gestisci. Qui esaminerò alcuni dei pacchetti di base che puoi gestire su Ubuntu. Per quanto riguarda la differenza tra riga di comando e Software Center, la differenza più fondamentale è che in Software Center fai clic sui pulsanti; nella riga di comando digiti i comandi. So che Software Center usa molto codice Python, ma nella riga di comando dipende dall'utilità che usi. C'è anche una quantità di quanto Software Center può rimuovere (leggi sotto)
I pacchetti software per Ubuntu possono venire in tre modi: .deb
file, .run
file e solo codice sorgente crudo in compresso zip
o in tar
archivio. A seconda di quale hai a che fare, l'installazione dalla riga di comando può essere più o meno dolorosa. Questo non è qualcosa di cui dovresti davvero preoccuparti come nuovo utente, almeno non nel primo anno di utilizzo di Linux.
Vedrai principalmente .deb
file: sono pacchetti di software precompilati, pronti per l'uso. Questi sono meno dolorosi. Molto spesso specificano anche dipendenze - altri software senza i quali il tuo programma non verrà eseguito. Utilità della riga di comando come apt
e apt-get
installeranno automaticamente le dipendenze per te. Infatti, Software Center utilizza apt-get
come back-end, quindi installa automaticamente le dipendenze.
.run
i file sono in genere file binari proprietari e codificati. Non puoi davvero vedere cosa stanno facendo.
Con il codice sorgente non elaborato, devi fare tutto da solo: creare software e installare dipendenze.
Esistono anche modi per installare pacchetti da altre distribuzioni, come i .rpm
pacchetti, ma ciò avviene molto raramente.
Esiste anche una classe di software nota come container. C'è docker e lxd
container. Recentemente, Ubuntu ha introdotto qualcosa di noto come snap
pacchetti. Cosa c'è di buono in tutti questi? Possono funzionare ovunque, isolati in modo sicuro dal sistema principale e possono essere installati / reinstallati abbastanza rapidamente. Questi tipi di software non sono installabili tramite Software Center e generalmente per amministratori di sistema professionisti o utenti esperti. Come nuovo utente non devi preoccuparti di quelli, basta essere consapevoli del fatto che esistono e sono fantastici :)
Infine, qualcosa come uno script (e in genere un singolo file) può anche essere considerato un'applicazione e ancora - l'installazione non è altro che il lancio di quel file a cui appartiene o dovrebbe appartenere.
Perché alcuni software che ho installato con la riga di comando non possono essere cercati nel software center (premere il tasto della finestra)?
Ancora una volta, questo dipende davvero dal pacchetto. Se gli sviluppatori del software hanno deciso di includere il .desktop
file nel loro pacchetto, sarai in grado di cercarlo nel Dash. .desktop
i file sono un po 'come le scorciatoie di Windows, anche se fanno molto di più. Un buon esempio dell'utilità della riga di comando fornita con il .desktop
file è Byobu, un programma molto utile per suddividere il terminale in schede / finestre aggiuntive.
È possibile, tuttavia, creare il proprio .desktop
file per ciascun programma e inserirlo nella ~/.local/share/applications/
cartella.
Ancora una volta, questo non ha nulla a che fare con l'app come riga di comando o GUI. Dipende dalle scelte degli sviluppatori di app
Quali sono i comandi corretti per installare un software dalla riga di comando in modo che io possa cercarli?
Ancora una volta, dipende da cosa stai facendo. Se stai installando software da repository Ubuntu ufficiali, allora puoi semplicemente farlosudo apt-get install my-software
Se stai installando un .deb
pacchetto, puoi usare il dpkg
comando o apt-get
. Ecco un esempio di me che installa il pacchetto deb google-chrome con apt-get. NOTA : al momento dell'installazione mi trovo nella stessa directory del .deb
file, quindi devo specificare una ./
parte
$ sudo apt-get install ./google-chrome-stable_current_amd64.deb
[sudo] password for xieerqi:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'google-chrome-stable' instead of './google-chrome-stable_current_amd64.deb'
The following NEW packages will be installed:
google-chrome-stable
0 upgraded, 1 newly installed, 0 to remove and 54 not upgraded.
Need to get 0 B/50.0 MB of archives.
After this operation, 190 MB of additional disk space will be used.
Get:1 /home/xieerqi/下载/google-chrome-stable_current_amd64.deb google-chrome-stable amd64 53.0.2785.101-1 [50.0 MB]
Selecting previously unselected package google-chrome-stable.
(Reading database ... 476104 files and directories currently installed.)
Preparing to unpack .../google-chrome-stable_current_amd64.deb ...
Unpacking google-chrome-stable (53.0.2785.101-1) ...
Processing triggers for menu (2.1.47ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160701-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up google-chrome-stable (53.0.2785.101-1) ...
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/x-www-browser (x-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/google-chrome (google-chrome) in auto mode
Processing triggers for menu (2.1.47ubuntu1) .
Di cosa si tratta apt-get
? Ha --purge
un'opzione, che ti consente di rimuovere tutto ciò che riguarda un programma. Ad esempio, se lo rimuovo sudo apt-get remove google-chrome-stable
o lo faccio tramite Software Center, potrebbe lasciare dei file di configurazione, in modo che quando si reinstalla il software, sia pronto per l'uso come prima. --purge
L'opzione eliminerà anche i file di configurazione. È comodo se il tuo software si è rotto e vuoi installarlo completamente nuovo. Software Center non lo fa, quindi questa è un'altra differenza.
Se hai a che fare con un .run
file, dovrai renderlo eseguibile ed eseguirlo. Come questo:
$ sudo chmod +x ./software.run
$ sudo ./software.run
Ho eseguito il backup e il ripristino del sistema una volta, ma alcuni comandi precedentemente funzionati (come "subl") non funzionano dopo il ripristino del sistema.
Dipende dal tipo di backup che hai fatto. Se il backup includeva tutti i file necessari per far subl
funzionare, avrebbe dovuto funzionare. Potrebbe anche essere che il backup si sia verificato prima subl
dell'installazione. Assicurarsi di aver configurato correttamente il backup
Penso che queste domande riguardino in qualche modo $ PATH ma non riesco a trovare del materiale su questo. Qualsiasi materiale aggiuntivo sarebbe apprezzato.
La $PATH
variabile è rilevante per la shell (l'interprete dei comandi in cui si inseriscono i comandi). Non è veramente rilevante per Unity Dash. $PATH
La variabile è in realtà un elenco di directory, in cui la shell cercherà i programmi con set di autorizzazioni eseguibili. Dash è davvero interessato .desktop
solo ai file. Ad esempio, posso avere un programma seduto nella /usr/bin
cartella ed essere in grado di aprirlo tramite riga di comando, ma Dash no, perché non esiste un .desktop
file corrispondente per esso.
Se vuoi trovare materiale aggiuntivo su $PATH
, prendi letteralmente qualsiasi libro sugli script della shell Linux. È uno degli elementi di conoscenza di base per qualsiasi utente Linux che desidera utilizzare la riga di comando.
Alcune considerazioni conclusive : la complessità dell'installazione del software per Linux a volte può essere scioccante per i nuovi utenti che provengono dal mondo Windows o Mac. In realtà, sono gli stessi principi: gettare tutto ciò a cui appartiene e funzionerà. Non trovi il collegamento al tuo programma? Creane uno: è solo un file di testo! I computer sono macchine e devono essere gestiti. Windows ha anche %PATH%
variabili per la sua riga di comando, che non si è mai saputo, perché la riga di comando di Windows è meno versatile e meno utilizzata rispetto a Linux. In breve, non lasciarti intimidire da tutto ciò che potresti vedere, perché su base giornaliera è tutto circa il 20% dei comandi o azioni più frequentemente utilizzati e ti danno l'80% del lavoro svolto.