TL; DR : hay muchas áreas grises y depende de lo que estés haciendo. Principalmente, el Centro de software y los métodos de línea de comandos hacen cosas similares cuando se trata de .deb
paquetes, pero otros paquetes de software pueden requerir diferentes pasos.
¿Cuál es la diferencia entre instalar un software en el centro de software de Ubuntu y la línea de comandos?
Aquí está la realidad: la instalación no es más que lanzar los archivos que vienen con el paquete de software en los directorios apropiados. No importa si se hace a través de la línea de comandos o del Centro de software; hacen lo mismo: arroja los archivos a sus respectivos directorios. Sin embargo, lo que importa es el paquete y cómo lo maneja. Aquí repasaré algunos de los paquetes básicos con los que puede lidiar en Ubuntu. En cuanto a la diferencia entre la línea de comandos y el Centro de software, la diferencia más básica es que en el Centro de software hace clic en los botones; en la línea de comandos escribe comandos. Sé que Software Center usa mucho código de Python, pero en la línea de comandos depende de la utilidad que uses. También hay una cantidad de cuánto puede eliminar Software Center (lea a continuación sobre eso)
Los paquetes de software para Ubuntu pueden venir de tres maneras: .deb
archivo, .run
archivo y solo código fuente sin procesar en comprimido zip
o tar
archivo. Dependiendo de con quién esté tratando, la instalación de la línea de comandos puede ser más o menos dolorosa. Esto no es algo de lo que realmente deba preocuparse como nuevo usuario, al menos no en el primer año de uso de Linux.
Verá principalmente .deb
archivos: son paquetes de software precompilados, listos para usar. Estos son menos dolorosos. También a menudo especifican dependencias, otro software sin el cual su programa no se ejecutará. Las utilidades de línea de comandos como apt
e apt-get
instalarán dependencias automáticamente para usted. De hecho, Software Center lo utiliza apt-get
como back-end, por lo que también instala dependencias automáticamente.
.run
Los archivos son típicamente archivos binarios codificados y propietarios. Realmente no puedes ver lo que están haciendo.
Con el código fuente sin formato, debe hacer todo usted mismo: crear software e instalar dependencias.
También hay formas de instalar paquetes desde otras distribuciones, como .rpm
paquetes, pero esto se hace muy raramente.
También existe una clase de software conocida como contenedores. Hay docker y lxd
contenedores. Recientemente, Ubuntu ha introducido algo conocido como snap
paquetes. ¿Qué tiene de bueno todo eso? Pueden ejecutarse en cualquier lugar, de forma segura y aislada de su sistema principal, y pueden instalarse / reinstalarse con bastante rapidez. Estos tipos de software no se pueden instalar a través del Centro de software y, en general, para administradores de sistemas profesionales o usuarios avanzados o técnicos. Como nuevo usuario no tiene que preocuparse por ellos, solo tenga en cuenta que existen y que son increíbles :)
Finalmente, algo así como un script (y típicamente un solo archivo) también se puede considerar una aplicación y, una vez más, la instalación no es más que arrojar ese archivo donde pertenece o se supone que pertenece.
¿Por qué algunos programas que instalé con la línea de comandos no se pueden buscar en el centro de software (presione la tecla de la ventana)?
Nuevamente, esto realmente depende del paquete. Si los desarrolladores del software decidieron incluir el .desktop
archivo con su paquete, podrá buscarlo en el Tablero. .desktop
los archivos son como atajos de Windows, aunque hacen mucho más. Un buen ejemplo de la utilidad de línea de comandos que viene con el .desktop
archivo es Byobu, un programa muy útil para dividir el terminal en pestañas / ventanas adicionales.
Sin embargo, puede crear su propio .desktop
archivo para cada programa y colocarlo en la ~/.local/share/applications/
carpeta.
Nuevamente, esto no tiene nada que ver con que la aplicación sea de línea de comandos o GUI. Depende de las elecciones que hagan los desarrolladores de aplicaciones
¿Cuáles son los comandos correctos para instalar un software desde la línea de comandos para poder buscarlos?
De nuevo, depende de lo que estés haciendo. Si está instalando software desde repositorios oficiales de Ubuntu, simplemente puede hacersudo apt-get install my-software
Si está instalando un .deb
paquete, puede usar el dpkg
comando o apt-get
. Aquí hay un ejemplo de mí instalando el paquete deb de google-chrome con apt-get. NOTA : en el momento de la instalación estoy en el mismo directorio que el .deb
archivo, por lo tanto, tengo que especificar ./
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) .
¿De qué es bueno apt-get
? Tiene la --purge
opción, que le permite eliminar todo lo relacionado con un programa. Por ejemplo, si solo lo elimino sudo apt-get remove google-chrome-stable
o lo hago a través del Centro de software, puede dejar archivos de configuración, de modo que cuando vuelva a instalar el software, esté listo para usar como antes. --purge
La opción también eliminará los archivos de configuración. Eso es conveniente si su software se rompió y desea una instalación completamente nueva. Software Center no hace eso, así que esa es otra diferencia.
Si está tratando con un .run
archivo, deberá hacer que ese archivo sea ejecutable y ejecutarlo. Me gusta esto:
$ sudo chmod +x ./software.run
$ sudo ./software.run
Realicé una copia de seguridad y restauré mi sistema una vez, pero algunos comandos funcionaron antes (como "subl") no funcionan después de restaurar el sistema.
Depende del tipo de copia de seguridad que haya hecho. Si su copia de seguridad incluye todos los archivos que son necesarios para que subl
funcione, entonces debería haber funcionado. También podría ser que su copia de seguridad ocurriera antes de subl
instalarse. Asegúrese de configurar su copia de seguridad correctamente
Creo que estas preguntas son sobre $ PATH de alguna manera, pero no puedo encontrar material sobre esto. Cualquier material extra sería apreciado.
La $PATH
variable es relevante para shell (el intérprete de comandos donde coloca los comandos). No es realmente relevante para Unity Dash. $PATH
La variable es realmente una lista de directorios, donde Shell buscará programas que tengan un conjunto de permisos ejecutables. Dash está realmente preocupado .desktop
solo por los archivos. Por ejemplo, puedo tener un programa en la /usr/bin
carpeta y poder abrirlo a través de la línea de comando, pero Dash no lo hará, porque no hay un .desktop
archivo correspondiente para él.
Si desea encontrar material adicional sobre $PATH
, literalmente tome cualquier libro sobre scripts de shell de Linux. Es uno de los elementos básicos de conocimiento para cualquier usuario de Linux que quiera usar la línea de comandos.
Algunas reflexiones finales : la complejidad de la instalación de software para Linux a veces puede ser impactante para los nuevos usuarios que provienen del mundo de Windows o Mac. En realidad, son los mismos principios: arrojar todo a donde pertenece y funcionará. ¿No encuentras acceso directo a tu programa? Haga uno, ¡es solo un archivo de texto! Las computadoras son máquinas y están destinadas a ser operadas. Windows también tiene una %PATH%
variable para su línea de comandos, simplemente nunca lo supiste, porque la línea de comandos de Windows es menos versátil y menos utilizada que en Linux. En resumen, no se deje intimidar por todo lo que pueda ver, porque en el día a día se trata del 20% de los comandos o acciones más utilizados, y le brindan el 80% del trabajo realizado.