¿Cuál es la diferencia entre un PPA y un repositorio?

46

Recientemente publiqué una respuesta donde escribí agregar el PPA . Pero ahora me doy cuenta de que no tengo idea de cuál es la diferencia entre un PPA y un repositorio . Entonces, ¿alguien me lo puede explicar?

Alvar
fuente
Para PPA ver: askubuntu.com/questions/4983/…
Takkat

Respuestas:

14

Repositorios

En sistemas como Ubuntu, la mayoría del software está empaquetado en buenos archivos .deb (o .rpm, como en Red Hat) que contienen los programas y bibliotecas que necesita. Estos archivos pueden descargarse o venir en CD (el CD de Ubuntu está lleno de ellos). Los repositorios son servidores que contienen conjuntos de paquetes .

PPA

Archivos de Paquetes Personales (PPA) permiten que cargar paquetes fuente de Ubuntu que se construirán y se publican como un repositorio APT De Launchpad .

Consulte también ¿Qué son los PPA y cómo los uso?

Para resumirlo:

  • Un repositorio tiene paquetes.
  • Los PPA son paquetes (/ colecciones de software).
  • Launchpad tiene un repositorio que contiene PPA (/ colecciones de software).
Rinzwind
fuente
44
¿No es un PPA solo un repositorio o software seleccionado y mantenido por un individuo o grupo? (que no están directamente relacionados con los desarrolladores de Canonical u oficiales de Ubuntu). Un PPA es como un repositorio y no un solo paquete.
Fahad Yousuf
11
Un PPA no es un paquete, es un repositorio. Cada PPA puede contener múltiples paquetes. Launchpad es (o más bien hosts) una colección de repositorios llamados PPA.
Gilles 'SO- deja de ser malvado'
Una explicación tan clara. Entonces, una explicación más clara sería que Repository es C: // ProgramFiles y PPA son las carpetas de programas instaladas en eso
Abhimanyu Aryan
@AbhimanyuAryan No, C: \ ProgramFiles no se parece en nada a un repositorio, y los directorios que contiene no se parecen en nada a los PPA. A menos que esté haciendo una metáfora, en cuyo caso debo haberme equivocado.
wjandrea
Esta respuesta es incorrecta. Los PPA no son paquetes, son repositorios. ¿Debo arreglarlo?
Reinier Post
66

Tengo que estar en desacuerdo con la respuesta aceptada a esta pregunta. Hubiera escrito lo siguiente como un comentario a esa respuesta, pero es demasiado largo.

  • Un repositorio es una colección de paquetes, alojados en un servidor arbitrario.
  • Un PPA también es una colección de paquetes, alojados en los servidores de Launchpad.

    En particular, un PPA no es un paquete único, ya que ese punto formulado de manera muy ambigua "los PPA son paquetes (/ colecciones de software)". en la respuesta aceptada puede llevar a creer. Además, un paquete no es (necesariamente) una colección de software , lo que hace que ese punto sea aún más confuso.

  • Por lo tanto, un PPA es un tipo especial de repositorio. Como un cuadrado es un tipo especial de rectángulo.

La principal diferencia es el hoster. Básicamente, si usted es un programador y desea desarrollar y distribuir sus propios paquetes, y tiene su propio servidor raíz en Internet, puede configurar su propio repositorio. ¡Excelente! Pero, ¿qué sucede si no tiene un servidor raíz y no desea pagar por uno, pero aún así desea desarrollar y distribuir sus propios paquetes? Bueno, luego está Launchpad. Ofrece PPA como un servicio exactamente para ese caso de uso. Básicamente, puede crear su propio repositorio en Launchpad y administrar sus propios paquetes allí.

Echemos un vistazo a un ejemplo ilustrativo.

  1. Primero, suponga que desea instalar el entorno de escritorio MATE (una bifurcación de Gnome 2) en Ubuntu Saucy Salamander. No está contenido en los repositorios oficiales, ni los desarrolladores mantienen un PPA. En cambio, tienen su propio repositorio. Puedes agregarlo así:

    $ sudo add-apt-repository http://packages.mate-desktop.org/repo/ubuntu
    

    Esto daría como resultado que se agregue la siguiente entrada a /etc/apt/sources.list:

    deb http://packages.mate-desktop.org/repo/ubuntu saucy main
    
  2. En segundo lugar, suponga que también quiere echar un vistazo a Cinnamon (otra bifurcación de Gnome 2). Esto está contenido en los repositorios oficiales desde 13.04, pero los desarrolladores aún mantienen un PPA, útil por ejemplo si está interesado en obtener nuevas versiones más rápido. Puedes agregarlo así:

    $ sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
    

    Esto daría como resultado que se agregue la siguiente entrada a /etc/apt/sources.list.d/gwendal-lebihan-dev-cinnamon-stable-saucy.list:

    deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
    

    Como puede ver, la última entrada es bastante similar a la del punto (1). De hecho, ambos son solo URL de repositorios desde la perspectiva de Ubuntu.

  3. De hecho, incluso podría agregar el PPA de canela con la misma sintaxis que en el punto (1) , aunque esta no es la forma típica de agregar PPA:

    $ sudo add-apt-repository http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu
    

    Esto daría como resultado que se agregue la siguiente entrada a /etc/apt/sources.list:

    deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
    

    Esta es exactamente la misma entrada que en el punto (2). Solo los archivos en los que se escriben estas entradas se manejan de manera ligeramente diferente, pero al final, no hay diferencia real. En ambos casos, terminará con los paquetes del Cinnamon PPA disponibles en su sistema, siempre después del canónico sudo apt-get update, por supuesto.

Malte Skoruppa
fuente
Según el manual de add-apt-repositoryXenial, si ppa:<user>/<ppa-name>se utiliza el formulario, "la clave pública GPG del PPA recién agregado también se descargará y agregará al llavero de apt". Supongo que este no es el caso, si se utiliza el formulario URL. En realidad, el manual no le dice que podría usar el tipo de formulario de URL que usa en 1 y 3, sino "una línea que se puede agregar directamente a sources.list". Sin embargo, la forma que usa parece funcionar.
jarno
1
@jarno Sí, la página de manual de add-apt-repositoryestá realmente incompleta a ese respecto. Utilice add-apt-repository --helppara ver que el formulario de URL que utilicé en 1 y 3 es correcto y una posible opción prevista. Además, su suposición es absolutamente correcta: la clave pública GPG de un PPA no se agregará al usar el formulario URL. Esa es una adición útil, gracias! :) Tenga en cuenta que no recomiendo utilizar el formulario descrito en 3 para agregar PPA. Fue solo una ilustración para mostrar que, de hecho, un PPA es simplemente un tipo específico de repositorio.
Malte Skoruppa
10

No hay diferencias técnicas entre un repositorio y un PPA en lo que respecta a APT. Ambos son repositorios de software que ofrecen paquetes, desde el punto de vista APT son los mismos mecanismos de instalación de paquetes.

PPA es un repositorio de paquetes que usa Launchpad como back-end. Es solo otro nombre para la misma cosa, que (al menos en principio) se usa normalmente por razones personales, lo que automatiza la mayoría de las operaciones que de otro modo tendría que hacer manualmente o configurar sus propios servicios.

Los repositorios están donde haya software, en este caso, listas de paquetes y paquetes que se instalarán en distribuciones basadas en Debian.

Puede tener su repositorio personal, sin el uso de Launchpad y podría llamarse PPA, porque es Personal.

La única diferencia en el uso está únicamente en la sintaxis de la add-apt-repositoryque usa la palabra clave mágica en ppa:lugar de obligar al usuario a escribir la URL completa que se requiere para los repositorios que no son de Launchpad.

Braiam
fuente
9

Un repositorio es una colección de varios software que permite que software como apt-get, aptitude, etc. descargue e instale dicho software. Su contenido es visible para la inspección de todos. Lea la página de ayuda de Ubuntu en los repositorios para obtener información.

Los PPA son repositorios especiales de software que el liderazgo de la distribución aún no ha adoptado para toda la comunidad. El software PPA puede tener defectos e incluso puede usarse para malware porque no se revisan ampliamente como los repositorios generales. Para obtener más información, consulte la explicación de Launchpad de PPA y esta discusión sobre PPA .

mr2k
fuente
8

El repositorio es un lugar donde los paquetes se almacenan o mantienen para su descarga o actualización. Estos son servidores que contienen conjuntos de paquetes.

Un archivo de paquete personal (PPA) es un repositorio de software especial para cargar paquetes fuente que Launchpad o una aplicación similar creará y publicará como un repositorio APT. Principalmente es mantenido por personas que no son desarrolladores oficiales de Ubuntu

g_p
fuente