Diferencia entre la instalación del centro de software ubuntu y la línea de comando [cerrado]

8

Hola, soy nuevo en ubuntu world. Tengo algunas preguntas sobre la instalación del software en ubuntu:

  1. ¿Cuál es la diferencia entre instalar un software en ubuntu software center y línea de comandos?

  2. ¿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)?

  3. ¿Cuáles son los comandos correctos para instalar un software desde la línea de comandos para poder buscarlos?

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

Creo que estas preguntas son sobre $ PATH de alguna manera, pero no puedo encontrar material sobre esto. Cualquier material extra sería apreciado. :)

Andy
fuente
1
¿Qué software que instaló a través de la línea de comando no aparece en el Centro de software? ¿Qué versión de Ubuntu estás usando?
Anwar
2
@Andy # 2 y 4 necesitan más detalles por favor. ¡Gracias!
Edgy1
1
Bienvenido a Ask Ubuntu! Lo sentimos, pero Ask Ubuntu no es un foro, sino un sitio de preguntas y respuestas: funciona mejor si hace una pregunta, por lo que puede recibir una respuesta. Cuando haces múltiples preguntas, necesitas encontrar un experto versado en múltiples áreas, lo que se vuelve más improbable cuantas más preguntas hagas, bueno, ¡una pregunta! ;-) Entonces, por favor, divida su pregunta en varias preguntas y envíeme un comentario para que pueda responder una de sus preguntas.
David Foerster

Respuestas:

9

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 .debpaquetes, 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: .debarchivo, .runarchivo y solo código fuente sin procesar en comprimido zipo tararchivo. 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 .debarchivos: 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 apte apt-getinstalarán dependencias automáticamente para usted. De hecho, Software Center lo utiliza apt-getcomo back-end, por lo que también instala dependencias automáticamente.

.runLos 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 .rpmpaquetes, pero esto se hace muy raramente.

También existe una clase de software conocida como contenedores. Hay docker y lxdcontenedores. Recientemente, Ubuntu ha introducido algo conocido como snappaquetes. ¿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 .desktoparchivo con su paquete, podrá buscarlo en el Tablero. .desktoplos 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 .desktoparchivo es Byobu, un programa muy útil para dividir el terminal en pestañas / ventanas adicionales.

Sin embargo, puede crear su propio .desktoparchivo 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 .debpaquete, puede usar el dpkgcomando 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 .debarchivo, 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 --purgeopción, que le permite eliminar todo lo relacionado con un programa. Por ejemplo, si solo lo elimino sudo apt-get remove google-chrome-stableo 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. --purgeLa 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 .runarchivo, 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 sublfuncione, entonces debería haber funcionado. También podría ser que su copia de seguridad ocurriera antes de sublinstalarse. 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 $PATHvariable es relevante para shell (el intérprete de comandos donde coloca los comandos). No es realmente relevante para Unity Dash. $PATHLa variable es realmente una lista de directorios, donde Shell buscará programas que tengan un conjunto de permisos ejecutables. Dash está realmente preocupado .desktopsolo por los archivos. Por ejemplo, puedo tener un programa en la /usr/bincarpeta y poder abrirlo a través de la línea de comando, pero Dash no lo hará, porque no hay un .desktoparchivo 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.

Sergiy Kolodyazhnyy
fuente
1
De hecho, muchos paquetes son más que algunos archivos puestos en algunos directorios. Los aspectos de instalación que van más allá son las dependencias, la reconstrucción de cachés y otros desencadenantes, la configuración del servicio y el inicio de los servicios.
HA SALIDO - Anony-Mousse
The complexity of software installation for Linux may sometimes be shocking to new users who come from Windows or Mac worlddepende de cómo los hayan usado también. He "instalado" muchas aplicaciones descomprimiéndolas en Windows y he visto que muchos instaladores literalmente simplemente estaban descomprimiendo en algún lugar Program Files. En Linux, la instalación en su mayor parte es tan fácil como, por ejemplo, en Windows. Solo que en lugar de descargar y ejecutar un .exearchivo, lo hará con un .deb. O lo que sea. Y la ejecución de la línea de comandos simplemente hace ese proceso por usted. Software Center es una GUI en la parte superior.
VLAZ
5
  1. ¿Cuál es la diferencia entre instalar un software en ubuntu software center y línea de comandos?

No hay diferencia en cómo se instala el software. Pero solía haber alguna diferencia en qué software podría instalarse antes de 15.10. Ubuntu Software Center en Trusty solía permitir a los usuarios comprar aplicaciones a través de él, y estas aplicaciones generalmente no se pueden instalar apt-get.

  1. ¿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)?

Creo que te estás refiriendo a la búsqueda usando Dash aquí (usando la súper tecla). Dash generalmente muestra solo aquellos programas que vienen con una interfaz gráfica de usuario y tienen algún tipo de ícono (más específicamente con un archivo .desktop ). Estos son buenos para el uso diario y se muestran en la búsqueda de Dash. Pero estas no son todas sus aplicaciones instaladas; Ubuntu tiene muchas aplicaciones de línea de comandos que no aparecen en Dash, porque no son adecuadas para su uso como aplicaciones gráficas independientes (y porque generalmente no vienen con el archivo .desktop). Por ejemplo, no verá el tarprograma en Dash.

Por lo tanto, si instala una aplicación de línea de comandos, generalmente no aparecerá en la búsqueda de tablero (tecla de Windows). Como no ha especificado qué aplicación no aparece, esta podría ser la respuesta general.

Nota: como señaló Serg en un comentario, la aparición de iconos en Dash depende de los archivos .desktop. Si una aplicación de línea de comandos viene con un archivo .desktop, también aparecerá en el tablero. Estoy de acuerdo con él. Pero es cierto que las aplicaciones de línea de comandos generalmente no vienen con un archivo .desktop .

  1. ¿Cuáles son los comandos correctos para instalar software desde la línea de comandos para poder buscarlos?

Como ya se dijo, no hay un comando para instalar un software desde la línea de comando que lo obligará a aparecer en la búsqueda de tablero. Algún software aparecerá automáticamente, otros no. Si instala atom-text-editor a través de la línea de comando, aparecerá. Si instala el p7zippaquete, no aparecerá en la búsqueda de tablero. Depende de la disponibilidad de los iconos gráficos del software (y la configuración de los iconos del iniciador en su entorno de escritorio, como Unity, Xfce, etc.). No depende de cómo los instales.

  1. 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 de cómo hiciste una copia de seguridad y restauraste. subles el nombre del programa para Sublime Text Editor. Si aún no lo ha instalado, instálelo. El sublcomando debería comenzar a funcionar.

Anwar
fuente
1
La respuesta al punto 2 no es del todo correcta. Dash seches para archivos .desktop. Un buen ejemplo de la utilidad de línea de comandos que viene con el archivo .desktop es byobu y se puede buscar a través del guión. Los iconos son irrelevantes
Sergiy Kolodyazhnyy
@Serg Gracias. Quería dar una respuesta no técnica tanto como sea posible. De todos modos, editaré
Anwar
@Serg Parece que byobu también viene con un icono :)
Anwar
Incluso si viniera sin un ícono, aún se podría buscar en Dash, debido al .desktoparchivo, solo tendría un ícono con signo de interrogación, pero aún así funcionaría. El ícono es realmente opcional. Depende de los desarrolladores incluir iconos o no.
Sergiy Kolodyazhnyy
3

Estoy adivinando que está utilizando ya sea apto apt-getdesde la línea de comandos. apt es un administrador de paquetes en el que se basa el centro de software GUI. Digamos, por ejemplo, que desea instalar el paquete "gimp". Para hacerlo a través de la línea de comando, usa

sudo apt install gimp

Todo lo que hace el Centro de software es que, cuando selecciona GIMP para instalar, ejecuta ese comando en segundo plano para que no tenga que escribirlo.

Para buscar un programa instalable a través de la línea de comando, use este comando:

apt search {search term}
Edgy1
fuente