¿Debo instalar programas desde una fuente tarball (`.tar.gz`), desde el Centro de software de Ubuntu o desde otro lugar?


29

Hay varias formas de instalar una aplicación en Ubuntu:

  • Puede descargar un archivo tar de origen (generalmente .tar.gzun .tar.bz2archivo o un archivo) e instalarlo manualmente. (Consulte ¿Cómo instalo un archivo .tar.gz (o .tar.bz2)? )

  • Puede descargar un .debarchivo e instalarlo manualmente, utilizando dpkgo el Centro de software.

  • Puede buscar la aplicación en el Centro de software de Ubuntu e instalarla allí, o usarla aptcon los repositorios oficiales de Ubuntu.

  • Puede encontrar un PPA o un repositorio de terceros e instalarlo desde allí.

¿Cuáles son los pros y los contras de cada método? Discuta las implicaciones de seguridad, la frecuencia de las actualizaciones y la confiabilidad del programa de cada método en su respuesta.


1
Son muchas preguntas en una. Puede ser un poco mejor hacer una pregunta más centrada. El valor predeterminado es usar el Centro de software de Ubuntu. Una buena comparación / contraste sería entre las bolas de tar (.tar.gz) y el ecosistema apt-get + .deb (incluida la línea de comandos y el Centro de software de Ubuntu).
Warren P

Si se formulan como cuatro preguntas separadas, la respuesta sería / debería ser la misma para las cuatro: prefiera instalar / actualizar utilizando un administrador de paquetes de repositorios (principal o tercero). Si esa no es una opción, entonces puede comenzar a entrar en los pros y contras generales de esto y eso, pero en ese punto probablemente reduzca qué aplicación se está usando y qué desea hacer específicamente con ella. (Por ejemplo, instalo el estándar "java" proporcionado desde el repositorio público, pero como desarrollador también instalo 5 versiones diferentes en / opt / java a través de tar.gz's).
michael

Respuestas:


33
  • Confiabilidad:
    • Al instalar desde un tarball, el software puede intentar sobrescribir otro software. Se necesitan dependencias de compilación, y el proceso tiene una alta tasa de fallas. Si está instalando software del que dependen los paquetes en los repositorios, esto no satisfará esa dependencia ya que no está registrado dpkg, a menos que lo use checkinstallpara convertirlo temporalmente en un paquete Debian. Con esto, te arriesgas a romper dpkg. Incluso si el código es de código abierto, a menos que se asegure de que no se haya cambiado, igual debe descargarlo de un sitio confiable. Puede instalar varias versiones de software, siempre que utilice directorios diferentes. Puede anular esto en el archivo MAKE.
    • El uso de un paquete debian asegurará que los archivos no sobrescriban los de otros programas, sin embargo, si se usan sudo dpkg -i file.deb, las dependencias deben instalarse primero. Cuando se instala de esta manera, no recibirá actualizaciones a menos que el paquete también esté en los repositorios, pero este paquete satisfará las dependencias que requieren este software. También es probable que le dé a este paquete una entrada de menú o al menos registre páginas de manual. Los paquetes Debian generalmente se prueban con Lintian, lo que garantiza que los paquetes cumplan o superen un conjunto de estándares que pueden ser bastante estrictos, llegando incluso a determinar si ciertos archivos tienen algún código ejecutable o no. No se pueden instalar varias versiones del mismo paquete. Un paquete mal hecho puede fallar al instalar, al quitar o al romper el DPKG, lo que lleva a reparaciones difíciles, búsquedas frenéticas de copias de seguridad o incluso una reinstalación si el problema es grave.
    • Usar aptes la mejor opción cuando sea posible. Las dependencias se buscarán e instalarán automáticamente, y los paquetes se compilan utilizando configuraciones de servidor de compilación confiables en la plataforma de lanzamiento, lo que minimiza las fallas. Se pueden buscar paquetes aptitudeu otras herramientas similares, y las actualizaciones se facilitarán fácilmente a través del administrador de actualizaciones. Dado que las dependencias también provienen apt, es más probable que el paquete interactúe con las dependencias correctamente. Los paquetes se prueban a través de Lintian como con debs, pero las pruebas, combinadas con servidores de compilación altamente estables, crean paquetes aún más estables. Dado que los paquetes pasan por los servidores de compilación de Ubuntu, lo más probable es que se modifiquen para integrarse con el resto del sistema operativo. Varias versiones del mismo paquete no puedenestar instalado. Dado que los servidores de compilación de Ubuntu se usan para PPA, hay menos cambios que interrumpirá aptdebido a la auto linitización.
  • Actualizando:
    • Con un tarball, no recibirá actualizaciones, a menos que el programa tenga su propia verificación. Con eso, deberá instalar dichas actualizaciones manualmente, y no se consolidarán en un solo lugar. Probablemente podrá obtener el código fuente nocturno o incluso actual en un tarball para compilar e instalar. Si necesita un código de última generación, puede ser útil.
    • Con debian, los paquetes solo se actualizarán si tiene el repositorio para ellos. Lo más probable es que los desarrolladores hagan que los paquetes de Debian estén un poco por detrás de la fuente más avanzada, pero a menudo se encuentran versiones beta con debs en línea.
    • Con apt, los paquetes se actualizarán muy fácilmente. Las actualizaciones se consolidan en un solo lugar, el administrador de actualizaciones, y se realizan de forma automática o semiautomática. A menos que esté en una versión alfa o beta de Ubuntu, utilizará versiones bien probadas, incluso si son una versión o dos detrás de la fuente ascendente actual. Las actualizaciones de seguridad se enviarán tan pronto como se prueben ligeramente para asegurarse de que no empeoren la situación. Esto significa que su seguridad estará protegida con actualizaciones oportunas, pero estas actualizaciones serán verificadas para evitar la pérdida de datos.
  • Seguridad:
    • Los tarballs no están firmados digitalmente de ninguna manera. Pueden ser destruidos o modificados por terceros maliciosos. Incluso si hace un hashsum (Evite MD5), debe confiar en el propietario del sitio y el autor del paquete, ya que proporcionan sumas SHA o MD5.
    • Los paquetes de Debian no están firmados, sin embargo dpkg, no permitirán que un paquete de Debian sobrescriba los archivos de otro, por lo que un deb malicioso no puede destruirlo initni alterarlo bashsobrescribiéndolo. Siempre debe confiar en el sitio web y el autor del paquete.
    • aptusa claves firmadas para los repositorios, por lo que no pueden ser destrozados sin que aparezca una bandera roja. Las cargas de PPA se firman digitalmente para que los no propietarios de PPA no puedan colocar paquetes rotos o inseguros. También se aplica la no sobrescritura de archivos de otro paquete. Por supuesto, debe confiar en el PPA o el propietario del repositorio, ya que los paquetes no verificados con código malicioso se ejecutarán al ejecutarse.

1
Le sugiero que agregue integración. Ubuntu y los administradores de paquetes de Debian se aseguran de que los paquetes participen en funciones de todo el sistema, como el sistema de alternativas (tengo programas X que pueden abrir una página web, ¿cuál quiero que sea el predeterminado?), Etc. Una instalación manual de tarball generalmente no funciona de esa manera.
Warren P

@WarrenP De hecho, agregué eso, pero puede que no esté claro. ¡Gracias!
ζ--

Fue "Si está instalando software del que dependen los paquetes en los repositorios, esto no satisfará esa dependencia ya que no está registrado con dpkg ". en la primera viñeta destinada a cubrir la integración ?

1
@ vasa1 Esto se refiere a los tarballs, ya que Apt y dpkg comprobarán sus bases de datos, no el sistema de archivos, para determinar si un paquete está instalado. Siempre puedes usar checkinstallpara evitar eso.
ζ--

19

La respuesta breve es que la instalación desde el Centro de software de Ubuntu generalmente es preferible a todos los demás métodos . Sin embargo, hay momentos en que es posible que desee instalar un programa desde otro lugar.


Instalación desde la fuente:

  • Implicaciones de seguridad : debe confiar en los autores del software y el sitio web que aloja la descarga. También debe verificar que la descarga se realice a través de HTTPS; de lo contrario, un tercero puede modificar la descarga.

  • Frecuencia de actualizaciones : ¡siempre obtendrá lo último y lo mejor! Las actualizaciones serán tan frecuentes como elijan los autores originales. Sin embargo, deberá buscar actualizaciones manualmente.

  • Confiabilidad : Puede que no sea tan confiable como otros métodos, porque el software habrá pasado por menos pruebas y es posible que ni siquiera haya sido probado para Ubuntu, solo para otras distribuciones de Linux.

  • Facilidad de instalación y desinstalación : lo más difícil de todas las opciones. Incluso los usuarios experimentados pueden evitar esta opción, porque prefieren usar paquetes nativos de Debian, que son mucho más fáciles de administrar.

Instalación desde un .debpaquete:

  • Implicaciones de seguridad : lo mismo que instalar desde la fuente.

  • Frecuencia de actualizaciones : igual que la instalación desde la fuente.

  • Fiabilidad : un poco mejor que la instalación desde la fuente. Si los autores han proporcionado un .debpaquete, eso implica que probablemente hayan realizado algunas pruebas mínimas en Debian o Ubuntu.

  • Facilidad de instalación y desinstalación : Muy fácil. Simplemente haga doble clic y haga clic en "instalar". Del mismo modo fácil para la desinstalación.

Instalación desde el Centro de software de Ubuntu:

  • Implicaciones de seguridad : debe confiar en los autores del software y los mantenedores del repositorio de Ubuntu. En general, esta es una seguridad mejor que la instalación directa desde la fuente, porque el programa ha sido revisado hasta cierto punto por Debian y / o los mantenedores de Ubuntu. Los mantenedores de Debian y / o Ubuntu también pueden parchear el programa para corregir fallas de seguridad, si el programa es de código abierto.

  • Frecuencia de actualizaciones : los mantenedores de Debian y / o Ubuntu solo seleccionan algunas versiones del software. (Por ejemplo, solo pueden elegir actualizaciones estables). Hay un retraso entre el lanzamiento de un programa y su inclusión en los repositorios de Debian y / o Ubuntu. Si quieres lo último y lo mejor, esta no es la mejor opción. Si desea actualizaciones estables que hayan sido revisadas, esta es una buena opción. Las actualizaciones se proponen automáticamente a través del administrador de actualizaciones y apt-get.

  • Confiabilidad : Mucho mejor que instalar desde la fuente, ya que el programa ha sido revisado y ajustado para Ubuntu.

  • Facilidad de instalación y desinstalación : Muy, muy fácil.

Instalación desde un PPA o un repositorio de terceros:

  • Implicaciones de seguridad : debe confiar en los autores del software y en quien mantiene el PPA. Absolutamente cualquiera puede alojar un PPA, así que no confíes en el PPA solo porque está en Launchpad. El usuario podría haber sido flojo y no haber revisado el software en absoluto.

  • Frecuencia de actualizaciones : depende del PPA. Buscar actualizaciones es fácil.

  • Confiabilidad : con frecuencia menos confiable que la instalación desde el Centro de software de Ubuntu. Los PPA están disponibles para programas que aún no cumplen con los estándares del Centro de software de Ubuntu, por lo que prácticamente se garantiza que son menos confiables.

  • Facilidad de instalación y desinstalación : no es difícil de aprender y encaja bien con la administración de paquetes de Ubuntu.


1
La USC es solo una interfaz para apt-gettodos modos. No convirtamos esto en un debate GUI vs línea de comandos. Si cree que vale la pena discutir esa elección, comience otra pregunta.
Flimm

2
@Flimm: no del todo, USC también puede instalar el paquete .deb, por lo que es más apropiado llamar a USC como una interfaz para apt-get y dpkg.
Lie Ryan

1
No digo "debate", digo "los usuarios vienen aquí para obtener claridad, y esta pregunta y esta respuesta no parecen aclarar mucho las cosas".
Warren P

1
@LieRyan: de acuerdo.
Flimm

1
@WarrenP: No estoy de acuerdo sobre para qué vienen los usuarios. Los usuarios vienen aquí para decidir desde dónde descargar e instalar una aplicación. Si eso no está claro en la pregunta, podemos editarlo. Creo que la pregunta es clara, si tiene otra pregunta que sea más útil para los usuarios, cree una nueva publicación de preguntas.
Flimm
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.