Differenza tra installazione di Ubuntu Software Center e riga di comando [chiuso]


8

Ciao, sono nuovo nel mondo di Ubuntu. Ho alcune domande sull'installazione del software in Ubuntu:

  1. Qual è la differenza tra l'installazione di un software in Ubuntu Software Center e la riga di comando?

  2. Perché alcuni software che ho installato con la riga di comando non possono essere cercati nel software center (premere il tasto della finestra)?

  3. Quali sono i comandi corretti per installare un software dalla riga di comando in modo che io possa cercarli?

  4. 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.

Penso che queste domande riguardino in qualche modo $ PATH ma non riesco a trovare del materiale su questo. Qualsiasi materiale aggiuntivo sarebbe apprezzato. :)


1
Quali software installati tramite riga di comando non vengono visualizzati in Software Center? Quale versione di Ubuntu stai usando?
Anwar,

2
@Andy # 2 e 4 necessitano di maggiori dettagli per favore. Grazie!
Edgy1

1
Benvenuti in Ask Ubuntu! Siamo spiacenti, ma Ask Ubuntu non è un forum, ma un sito di domande e risposte: funziona meglio se fai una domanda, quindi puoi ricevere una risposta. Quando fai più domande, devi trovare un esperto esperto in più aree, il che diventa poco gradevole più domande fai, beh, una domanda! ;-) Quindi, per favore, suddividi la tua domanda in più domande e lasciami un commento in modo da poter rispondere a una delle tue domande.
David Foerster,

Risposte:


9

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 .debpacchetti, 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: .debfile, .runfile e solo codice sorgente crudo in compresso zipo in tararchivio. 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 .debfile: 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 apte apt-getinstalleranno automaticamente le dipendenze per te. Infatti, Software Center utilizza apt-getcome back-end, quindi installa automaticamente le dipendenze.

.runi 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 .rpmpacchetti, ma ciò avviene molto raramente.

Esiste anche una classe di software nota come container. C'è docker e lxdcontainer. Recentemente, Ubuntu ha introdotto qualcosa di noto come snappacchetti. 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 .desktopfile nel loro pacchetto, sarai in grado di cercarlo nel Dash. .desktopi 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 .desktopfile è Byobu, un programma molto utile per suddividere il terminale in schede / finestre aggiuntive.

È possibile, tuttavia, creare il proprio .desktopfile 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 .debpacchetto, puoi usare il dpkgcomando 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 .debfile, 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 --purgeun'opzione, che ti consente di rimuovere tutto ciò che riguarda un programma. Ad esempio, se lo rimuovo sudo apt-get remove google-chrome-stableo 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. --purgeL'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 .runfile, 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 sublfunzionare, avrebbe dovuto funzionare. Potrebbe anche essere che il backup si sia verificato prima subldell'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 $PATHvariabile è rilevante per la shell (l'interprete dei comandi in cui si inseriscono i comandi). Non è veramente rilevante per Unity Dash. $PATHLa variabile è in realtà un elenco di directory, in cui la shell cercherà i programmi con set di autorizzazioni eseguibili. Dash è davvero interessato .desktopsolo ai file. Ad esempio, posso avere un programma seduto nella /usr/bincartella ed essere in grado di aprirlo tramite riga di comando, ma Dash no, perché non esiste un .desktopfile 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.


1
È un dato di fatto, molti pacchetti sono più di alcuni file inseriti in alcune directory. Gli aspetti dell'installazione che vanno oltre sono le dipendenze, la ricostruzione di cache e altri trigger, la configurazione del servizio, l'avvio dei servizi.
Ha QUIT - Anony-Mousse,

The complexity of software installation for Linux may sometimes be shocking to new users who come from Windows or Mac worlddipende anche da come li hanno usati. Ho "installato" molte applicazioni decomprimendole in Windows e ho visto che molti installatori stavano letteralmente semplicemente decomprimendo da qualche parte Program Files. In Linux per la maggior parte l'installazione è facile come, diciamo, su Windows. Solo invece di scaricare ed eseguire un .exefile, lo farai con a .deb. O qualunque cosa. E l'esecuzione da riga di comando fa proprio questo processo per te. Software Center è una GUI in cima.
VLAZ,

5
  1. Qual è la differenza tra l'installazione di un software in Ubuntu Software Center e la riga di comando?

Non vi è alcuna differenza nella modalità di installazione del software. Ma ha usato per essere una certa differenza nel quale software potrebbe essere installato prima 15.10. Ubuntu Software Center in Trusty era solito consentire agli utenti di acquistare applicazioni tramite esso e di solito queste applicazioni non possono essere installate apt-get.

  1. Perché alcuni software che ho installato con la riga di comando non possono essere cercati nel software center (premere il tasto della finestra)?

Penso che ti riferisci alla ricerca usando Dash qui (usando il tasto super). Dash mostra generalmente solo quei programmi che hanno un'interfaccia utente grafica e hanno una sorta di icona (più specificamente con un file .desktop ). Questi sono buoni per l'uso quotidiano e per essere mostrati nella ricerca Dash. Ma queste non sono tutte le applicazioni installate; Ubuntu ha molte applicazioni da riga di comando che non compaiono in Dash, perché non sono adatte per l'uso come applicazioni grafiche standalone (e perché di solito non vengono fornite con il file .desktop). Ad esempio, non vedrai il tarprogramma in Dash.

Quindi, se installi un'applicazione da riga di comando, questa non apparirà nella ricerca Dash (tasto Windows) in generale. Dal momento che non hai specificato quale applicazione non viene visualizzata, questa potrebbe essere la risposta generale.

Nota: come ha sottolineato Serg in un commento, l'aspetto delle icone in Dash dipende dai file .desktop. Se un'applicazione da riga di comando include un file .desktop, verrà visualizzata anche in trattino. Sono d'accordo con lui. Ma è vero che le applicazioni da riga di comando di solito non hanno un file .desktop .

  1. Quali sono i comandi corretti per installare il software dalla riga di comando in modo che io possa cercarli?

Come già detto, non esiste alcun comando per installare un software dalla riga di comando che lo costringerà ad apparire nella ricerca Dash. Alcuni software appariranno automaticamente, altri no. Se installi atom-text-editor dalla riga di comando, apparirà. Se installi un p7zippacchetto, non verrà visualizzato nella ricerca Dash. Dipende dalla disponibilità delle icone grafiche del software (e dalla configurazione delle icone di avvio nell'ambiente desktop, come Unity, Xfce, ecc.). Non dipende da come li installi.

  1. 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 da come è stato eseguito il backup e il ripristino. sublè il nome del programma per Sublime Text Editor. Se non l'hai già installato, installalo. Il sublcomando dovrebbe iniziare a funzionare.


1
La risposta al punto 2 non è del tutto corretta. Dash cerca file .desktop. Un buon esempio dell'utilità della riga di comando fornita con il file .desktop è byobu ed è ricercabile tramite trattino. Le icone sono irrilevanti
Sergiy Kolodyazhnyy,

@Serg Grazie. Volevo dare una risposta non tecnica il più possibile. Comunque, modificherò
Anwar il

@Serg Sembra che anche byobu abbia un'icona :)
Anwar,

Anche se venisse senza un'icona, sarebbe comunque ricercabile in Dash, a causa del .desktopfile, avrebbe solo un'icona con un punto interrogativo, ma funzionerebbe comunque. L'icona è davvero facoltativa. Spetta agli sviluppatori includere icone o no.
Sergiy Kolodyazhnyy,

3

Immagino che tu stia utilizzando uno apto apt-getdalla riga di comando. apt è un gestore di pacchetti su cui si basa il software center della GUI. Diciamo ad esempio che si desidera installare il pacchetto "gimp". Per farlo tramite la riga di comando che usi

sudo apt install gimp

Tutto ciò che il Software Center fa è, quando selezioni GIMP da installare, esegue quel comando in background in modo da non doverlo digitare.

Per cercare un programma installabile tramite la riga di comando, utilizzare questo comando:

apt search {search term}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.