¿Cómo creo mi propio PPA personalizado para compartir con la comunidad de Ubuntu? Estoy tratando de crear mi propio conjunto de paquetes personalizados y realmente me gustaría compartirlo con la comunidad.
Usando un archivo de paquete personal ( PPA ), puede distribuir software y actualizaciones directamente a los usuarios de Ubuntu. Cree su paquete fuente, cárguelo y Launchpad creará binarios y luego los alojará en su propio repositorio apt.
FWIW Pude activar mi PPA antes de firmar el código de conducta.
Sparhawk
2
Esta es la mejor respuesta. Acaban de decirle cómo crear un PPA. La respuesta a continuación (por totti) no es un PPA, pero es un repositorio público. Los dos son diferentes, a pesar de (potencialmente) lograr lo mismo. Incluso dice en la primera línea de su respuesta: "Esta pregunta tiene una respuesta bien escrita y aceptada. Como el OP quiere una manera simple de publicar sus paquetes, estoy dando un truco fácil". Porque prefieres el truco fácil no es la mejor respuesta.
lbaile200
OK, pero ninguno de los enlaces en esta respuesta realmente describe cómo hacerlo desde cero. todos los enlaces aquí están hechas para los desarrolladores, que ya se encuentran en el material mucho más
rubo77
1
@ rubo77: el "cómo crear" es estrictamente demasiado amplio para responder. Todo depende de lo que intente empaquetar. De hecho, cada uno de los pasos en la respuesta anterior puede ser Q individual con una buena respuesta detallada cada uno.
fossfreedom
1
La nueva respuesta de Totti ya es genial
rubo77
86
Cómo crear un archivo .deb
Este es un tutorial sobre cómo crear un archivo .deb básico a partir de un script de muestra dado. En este tutorial primero creamos un programa de muestra en bash que solo muestra 'HOLA DEL PROGRAMA'. Luego creamos un archivo de control para el programa con el fin de hacer un instalador de Debian. Finalmente se empaquetan en un .debarchivo.
Package: hellodeb
Version: 0.1
Architecture: all
Maintainer: totti
Installed-Size: 6
Depends: zenity, bash
Section: testing
Priority: optional
Homepage: http://askubuntu.com
Description: This is my first debian package.
Guided by Totti Torvalds.
In Description new line start with a space.
Puede editar el contenido si lo desea. Lea más sobre el formato de este archivo aquí y aquí .
Crear postinstscript, que se ejecuta inmediatamente después de la instalación del paquete
gedit "$HOME"/create_deb/DEBIAN/postinst
luego pegar
#!/bin/sh
set -e
echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
y hacerlo ejecutable
chmod +x "$HOME/create_deb/DEBIAN/postinst"
Crear prermscript, que se ejecuta antes de eliminar el paquete
#!/bin/sh
set -e
echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
y hacerlo ejecutable
chmod +x "$HOME/create_deb/DEBIAN/prerm"
Realice la estructura del paquete y copie programas, datos, etc.
Cree una estructura de sus programas instalados y sus datos. En este ejemplo ponemos el archivo en /bin.
Instale el .debpaquete recién creado . Puede abrirlo software-centerpero puede que no le permita instalarlo. Así que recomiendo usar el gdebiadministrador de paquetes.
Ahora puedes instalarlo. Durante la instalación, debería ver un diálogo gtk
Instalando el programa: zenity_hello.sh ......
Después de la instalación, abra una terminal y escriba zenity_hello. Si el programa se instaló correctamente y todo está bien, debería ver un diálogo de GTK
HOLA DEL PROGRAMA
Eliminando paquete
sudo apt-get remove zenity_hello
Publique su repositorio en 2 minutos
Como el OP quiere una manera simple de publicar sus paquetes, estoy dando un truco fácil.
requisito: dropbox (o cualquier otro servicio, por ejemplo github ) cuenta con una carpeta pública.
Cree una carpeta dentro de su Carpeta pública de Dropbox donde coloque sus archivos * .deb:
mkdir ~/Dropbox/Public/deb-packages
o cree esa carpeta en otro lugar y coloque un enlace simbólico en su carpeta pública:
mkdir ~/deb-packages
cd ~/Dropbox/Public
ln -s ~/deb-packages/ deb-packages
Vaya a esa carpeta y cree un script que, cuando se ejecute, cree los Paquetes.gz, que contiene toda la información necesaria sobre sus paquetes de deb. crear:
Copie algunos archivos * .deb en la carpeta. Podría ser el suyo o algunos que no están disponibles a través de otros repositorios. Luego vaya a la carpeta y ejecute el script que ponemos allí:
cd ~/deb-packages/
./import.sh
Eso debería crear el llamado archivo Packages.gz , que apt busca para saber qué paquetes se encuentran en este repositorio.
Eso es
Ahora, espere a que Dropbox sincronice la carpeta y tome la URL pública dePackages.gz . Debería verse más o menos así:
http://dl.getdropbox.../Packages.gz
Deshazte del final de ese enlace, ponle algunas palabras más y ahora puedes usar y completar la siguiente línea para las fuentes.list:
deb http://dl.getdropbox.../deb-packages ./
Eso es todo, tienes tu propio repositorio de Deb funcionando. Siempre sincronizado localmente, pero disponible para cualquier persona, en cualquier momento y en cualquier lugar.
NOTA:dpkg-scanpackages está disponible como dpkg-dev
referencia
@ rubo77, gracias, le doy la bienvenida a agregar esta información al final de mi respuesta.
totti
1
OK, lo acabo de hacer, también descubrí que necesita otros parámetros para que Launchpad no cree el archivo .deb en este momento (solo -S): debuild -k'your GPG key here' -Sporque Launchpad creará el archivo deb (si no se rechaza) - qué ¿Habría sido el `-us -uc`?
rubo77
2
Necesitará una cuenta Launchpad.net para crear un PPA. Simplemente haga clic en su usuario en Launchpad (haga clic en su nombre en la esquina superior izquierda) y cree un PPA. Es posible que primero deba firmar el Código de conducta y tener una clave GPG registrada en su cuenta.
Respuestas:
Usando un archivo de paquete personal ( PPA ), puede distribuir software y actualizaciones directamente a los usuarios de Ubuntu. Cree su paquete fuente, cárguelo y Launchpad creará binarios y luego los alojará en su propio repositorio apt.
Aquí hay una explicación detallada .
fuente
Cómo crear un archivo .deb
Este es un tutorial sobre cómo crear un archivo .deb básico a partir de un script de muestra dado. En este tutorial primero creamos un programa de muestra en bash que solo muestra 'HOLA DEL PROGRAMA'. Luego creamos un archivo de control para el programa con el fin de hacer un instalador de Debian. Finalmente se empaquetan en un
.deb
archivo.Pasos:
crear un programa de muestra en bash
pegue el siguiente código en él
Hacer el programa ejecutable
Crear archivo de control para el paquete debian
Hacer un archivo llamado
control
dentro de la carpetaDEBIAN
y pegue los siguientes detalles
Puede editar el contenido si lo desea. Lea más sobre el formato de este archivo aquí y aquí .
Crear
postinst
script, que se ejecuta inmediatamente después de la instalación del paqueteluego pegar
y hacerlo ejecutable
Crear
prerm
script, que se ejecuta antes de eliminar el paquetey hacerlo ejecutable
Realice la estructura del paquete y copie programas, datos, etc.
Cree una estructura de sus programas instalados y sus datos. En este ejemplo ponemos el archivo en
/bin
.Construya el archivo .deb .
El
.
nombre automático del.deb
archivo con versión, arco, etc. O su nombre personalizadoO si crea el archivo .deb con
entonces puedes subirlo a Ubuntu Launchpad con
como se describe aquí (fuente: crear un paquete .deb a partir de scripts o binarios )
Instale el
.deb
paquete recién creado . Puede abrirlosoftware-center
pero puede que no le permita instalarlo. Así que recomiendo usar elgdebi
administrador de paquetes.Ahora puedes instalarlo. Durante la instalación, debería ver un diálogo gtk
Después de la instalación, abra una terminal y escriba
zenity_hello
. Si el programa se instaló correctamente y todo está bien, debería ver un diálogo de GTKEliminando paquete
Publique su repositorio en 2 minutos
Como el OP quiere una manera simple de publicar sus paquetes, estoy dando un truco fácil.
requisito: dropbox (o cualquier otro servicio, por ejemplo github ) cuenta con una carpeta pública.
Cree una carpeta dentro de su Carpeta pública de Dropbox donde coloque sus archivos * .deb:
o cree esa carpeta en otro lugar y coloque un enlace simbólico en su carpeta pública:
Vaya a esa carpeta y cree un script que, cuando se ejecute, cree los Paquetes.gz, que contiene toda la información necesaria sobre sus paquetes de deb. crear:
pon esto en esto:
hazlo ejecutable:
Copie algunos archivos * .deb en la carpeta. Podría ser el suyo o algunos que no están disponibles a través de otros repositorios. Luego vaya a la carpeta y ejecute el script que ponemos allí:
Eso debería crear el llamado archivo Packages.gz , que apt busca para saber qué paquetes se encuentran en este repositorio.
Eso es
Ahora, espere a que Dropbox sincronice la carpeta y tome la URL pública de
Packages.gz
. Debería verse más o menos así:Deshazte del final de ese enlace, ponle algunas palabras más y ahora puedes usar y completar la siguiente línea para las fuentes.list:
Eso es todo, tienes tu propio repositorio de Deb funcionando. Siempre sincronizado localmente, pero disponible para cualquier persona, en cualquier momento y en cualquier lugar.
NOTA:
dpkg-scanpackages
está disponible comodpkg-dev
referencia
fuente
releases/
consulte github.com/rubo77/mouse-speed/blob/master/release/…debuild -us -uc -k'your GPG key here'
, puede cargarlodput ppa:<lp-username>/<ppa-name> packet-source.changes
en Launchpad como se describe aquí (fuente: crear un paquete .deb a partir de scripts o binarios )debuild -k'your GPG key here' -S
porque Launchpad creará el archivo deb (si no se rechaza) - qué ¿Habría sido el `-us -uc`?Necesitará una cuenta Launchpad.net para crear un PPA. Simplemente haga clic en su usuario en Launchpad (haga clic en su nombre en la esquina superior izquierda) y cree un PPA. Es posible que primero deba firmar el Código de conducta y tener una clave GPG registrada en su cuenta.
fuente