Un tutorial sencillo para crear e instalar su propio paquete deb.
Nada más que Debian, Ubuntu o cualquier sistema operativo basado en Debian
La aplicación Mypackage abrirá el sitio web oficial de Ubuntu cuando se ejecute.
Nomenclatura de nuestra carpeta mypackage_1.0_all
: package-name_version_architecture
.
Nombre del paquete: mypackage
Versión: 1.0
Arquitectura: podría ser all
o un subconjunto de arquitecturas compatibles.
Arquitectura del paquete sin formato:
. └── mypackage_1.0_all # Carpeta principal del paquete ├── DEBIAN │ ├── control # Archivo con la información principal del paquete │ ├── postinst # Script ejecutándose después de la instalación │ └── preinst # Script ejecutándose antes de la instalación ├── optar │ └── mypackage # Carpeta que incluye nuestro software │ └── open_link.sh # Script de apertura del navegador en ubuntu.com └──usr └── compartir ├── aplicaciones │ └── mypackage.desktop # Archivo con información de la aplicación en el iniciador └── iconos └── mypackage.xpm # Icono de la aplicación Iniciador
Más sobre el archivo DEBIAN/control
:
Package: mypackage
Version: 1.0 # package version
Architecture: all # our package sums up to a bash script and this is POSIX
Essential: no # essential to the system ?
Priority: optional # install order in package management system
Depends: curl,zenity # comma-separated dependency packages (,)
Maintainer: flavienbwk
Description: A sample package...
Aunque existen formas de instalar archivos deb sin sudo, la mayoría de los paquetes deb están diseñados para instalarse en todo el sistema. Esto significa que los scripts preinst y postinst o cualquier otro binario incluido en el archivo se pueden ejecutar sin ninguna restricción en el sistema (consulte Paquetes Snap para ver una alternativa). Verifique tres veces sus scripts y tenga cuidado al compartirlos para no dañar la computadora de alguien.
Construir
dpkg-deb --build ./mypackage_1.0_all
Instalar
sudo gdebi -n ./mypackage_1.0_all.deb # prueba (requiere gdebi-core)sudo dpkg -i ./mypackage_1.0_all.deb # instalación
Nota Desinstalar con
sudo apt autoremove mypackage
Deberías ver Mi paquete en tu iniciador:
La primera opción es la más sencilla: podemos instalar paquetes localmente.
Crea una carpeta donde se ubicará nuestro repositorio y mueve nuestro paquete .deb
dentro
mkdir -p ./espejo/pool cp ./mypackage_1.0_all.deb ./mirror/pool/
Cree el archivo de índice Packages
cd ./espejo dpkg-scanpackages -m ./pool > Paquetes
Agregue el directorio a las fuentes de su sistema
echo "archivo deb [confiable=yes]:/ruta/al/repositorio/espejo /" | sudo tee /etc/apt/sources.list.d/mypackage.list
Actualice la definición de sus paquetes e instálelos
actualización sudo apta sudo apt instalar mi paquete
Los repositorios instalados localmente se pueden servir desde un simple servidor Apache en su propia máquina.
Puede optar por crear su archivo de paquete personal (PPA), alojado en , y luego accesible para todos con un simple comando add-apt-repository ppa:<repository_name>
.
Si desea que su paquete se publique en los repositorios del universo/multiverso de Ubuntu, puede resultar complicado ya que debe obtener la aprobación de un MOTU. ¿Quieres publicarlo en principal? Son muchas condiciones que cumplir, incluida la seguridad y el compromiso con los criterios de mantenimiento.
Los paquetes META son paquetes que no instalan nada más que una lista de dependencias.
Así es como puedes instalar un escritorio completo a través de un solo paquete.
APT es el sistema de gestión de paquetes tradicional utilizado por Debian y sus derivados (incluido Ubuntu). Debutó en 1998 y utiliza paquetes .deb
.
Snap, presentado por Canonical en 2014, es un administrador de paquetes más nuevo diseñado para proporcionar una distribución de paquetes más sencilla entre diferentes distribuciones de Linux. Agrupa dependencias dentro de cada paquete .snap
, lo que genera paquetes de mayor tamaño pero mitiga el "infierno de dependencias". Esto resulta útil especialmente en sistemas fuera de línea.
Las diferencias clave es que los paquetes instantáneos se centran en la compatibilidad entre distribuciones y la autocontención, una seguridad potencialmente mejor a través del espacio aislado de paquetes y actualizaciones automáticas. APT, por otro lado, se basa en bibliotecas para todo el sistema, lo que hace que los paquetes sean más pequeños pero puede causar problemas de dependencia.