Comment créer mon propre PPA personnalisé à partager avec la communauté Ubuntu? J'essaie de créer mon propre jeu de paquets personnalisé et j'aimerais vraiment le partager avec la communauté.
À l'aide d'une archive de paquet personnel ( PPA ), vous pouvez distribuer des logiciels et des mises à jour directement aux utilisateurs Ubuntu. Créez votre paquet source, téléchargez-le et Launchpad construira des fichiers binaires, puis les hébergera dans votre propre référentiel apt.
FWIW J'ai pu activer mon PPA avant de signer le code de conduite.
Sparhawk
2
C'est la meilleure réponse. On vient de vous dire comment créer un PPA. La réponse ci-dessous (par totti) n'est pas un PPA, mais un référentiel public. Les deux sont différents, malgré (potentiellement) accomplir la même chose. Il a même dit dans la première ligne de sa réponse: "Cette question a une réponse bien écrite et acceptée. Comme le PO veut un moyen simple de publier ses paquets, je lui donne un hack facile." Parce que vous préférez le hack facile ne fait pas la meilleure réponse.
lbaile200
Bien, mais aucun des liens dans cette réponse ne décrit vraiment comment le faire à partir de zéro. tous les liens ici sont faits pour les développeurs, qui sont déjà dans le matériau beaucoup plus
rubo77
1
@ rubo77 - le "comment créer" est strictement trop large pour pouvoir répondre. Tout dépend de ce que vous essayez d’emballer. En effet, chacune des étapes de la réponse ci-dessus peut être une question individuelle avec une bonne réponse détaillée.
fossfreedom
1
La nouvelle réponse de Totti est déjà excellente
rubo77
86
Comment créer un fichier .deb
Ceci est un tutoriel sur la création d'un fichier .deb de base à partir d'un exemple de script. Dans ce tutoriel, nous créons d’abord un exemple de programme dans bash qui affiche simplement «HELLO FROM PROGRAM». Ensuite, nous créons un fichier de contrôle pour le programme afin de créer un programme d’installation Debian. Enfin, ils sont emballés dans un .debfichier.
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.
Vous pouvez modifier le contenu si vous le souhaitez. En savoir plus sur le format de ce fichier ici et ici .
Créer un postinstscript, qui est exécuté immédiatement après l'installation du package
gedit "$HOME"/create_deb/DEBIAN/postinst
puis coller
#!/bin/sh
set -e
echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
et le rendre exécutable
chmod +x "$HOME/create_deb/DEBIAN/postinst"
Créer un prermscript qui est exécuté avant la suppression du package
#!/bin/sh
set -e
echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
et le rendre exécutable
chmod +x "$HOME/create_deb/DEBIAN/prerm"
Créez la structure du paquet et copiez les programmes, les données, etc.
Créez une structure de vos programmes installés et de leurs données. Dans cet exemple, nous mettons le fichier à /bin.
Installez le .debpaquet nouvellement créé . Vous pouvez l'ouvrir avec software-centermais cela ne vous permettra peut-être pas de l'installer. Je recommande donc d'utiliser le gdebigestionnaire de paquets.
Maintenant, vous pouvez l'installer. Pendant l'installation, vous devriez voir un dialogue gtk
Programme d'installation: zenity_hello.sh ......
Après l'installation, ouvrez un terminal et tapez zenity_hello. Si le programme est correctement installé et que tout va bien, vous devriez voir un dialogue gtk
BONJOUR DU PROGRAMME
Retrait du paquet
sudo apt-get remove zenity_hello
Publiez votre référentiel en 2 minutes
Comme l'OP veut un moyen simple de publier ses paquets, je lui donne un hack facile.
exigence: compte dropbox (ou tout autre service, par exemple github ) avec un dossier public.
Créez un dossier dans votre dossier Public-Dropbox dans lequel vous placerez vos fichiers * .deb:
mkdir ~/Dropbox/Public/deb-packages
ou créez ce dossier ailleurs et mettez un lien symbolique dans votre dossier Public:
mkdir ~/deb-packages
cd ~/Dropbox/Public
ln -s ~/deb-packages/ deb-packages
Accédez à ce dossier et créez un script qui, une fois exécuté, crée le fichier Packages.gz, contenant toutes les informations nécessaires sur vos deb-packages. créer:
Copiez quelques fichiers * .deb dans le dossier. Peut-être le vôtre ou certains qui ne sont pas disponibles via d'autres référentiels. Ensuite, allez dans le dossier et exécutez le script que nous avons mis là:
cd ~/deb-packages/
./import.sh
Cela devrait créer ce que l’on appelle le fichier Packages.gz , que apt cherche à savoir quels paquets sont situés dans ce référentiel.
C'est ça
Maintenant, attendez que Dropbox synchronise le dossier et récupérez l’ URL publique dans le répertoirePackages.gz . Ça devrait ressembler a quelque chose comme ca:
http://dl.getdropbox.../Packages.gz
Débarrassez-vous de la fin de ce lien, mettez quelques mots supplémentaires et vous pouvez maintenant utiliser et renseigner la ligne suivante pour le fichier sources.list:
deb http://dl.getdropbox.../deb-packages ./
Voilà, vous avez votre propre référentiel deb en cours d'exécution. Toujours synchronisé localement, mais disponible pour tout le monde, à tout moment, n'importe où.
NOTE:dpkg-scanpackages est disponible à partir de dpkg-dev
référence
@ rubo77, merci, je vous invite à ajouter ces informations à la fin de ma réponse.
Totti
1
OK, je viens de le faire, j'ai aussi découvert que vous aviez besoin d'autres paramètres pour que Launchpad ne crée pas le fichier .deb maintenant (juste -S): debuild -k'your GPG key here' -Sparce que Launchpad créera le fichier deb (s'il n'est pas rejeté) - quoi le `-us -uc` aurait-il été pour?
rubo77
2
Vous aurez besoin d'un compte Launchpad.net pour créer un PPA. Il suffit de cliquer sur votre utilisateur dans le tableau de bord (cliquez sur votre nom en haut à gauche) et de créer un PPA. Vous devrez peut-être d'abord signer le code de conduite et disposer d'une clé GPG enregistrée avec votre compte.
Réponses:
À l'aide d'une archive de paquet personnel ( PPA ), vous pouvez distribuer des logiciels et des mises à jour directement aux utilisateurs Ubuntu. Créez votre paquet source, téléchargez-le et Launchpad construira des fichiers binaires, puis les hébergera dans votre propre référentiel apt.
Voici une explication détaillée .
la source
Comment créer un fichier .deb
Ceci est un tutoriel sur la création d'un fichier .deb de base à partir d'un exemple de script. Dans ce tutoriel, nous créons d’abord un exemple de programme dans bash qui affiche simplement «HELLO FROM PROGRAM». Ensuite, nous créons un fichier de contrôle pour le programme afin de créer un programme d’installation Debian. Enfin, ils sont emballés dans un
.deb
fichier.Pas:
créer un exemple de programme dans bash
coller le code suivant
Rendre le programme exécutable
Créer un fichier de contrôle pour le paquet Debian
Faire un fichier nommé
control
dans le dossierDEBIAN
coller et coller les détails suivants
Vous pouvez modifier le contenu si vous le souhaitez. En savoir plus sur le format de ce fichier ici et ici .
Créer un
postinst
script, qui est exécuté immédiatement après l'installation du packagepuis coller
et le rendre exécutable
Créer un
prerm
script qui est exécuté avant la suppression du packageet le rendre exécutable
Créez la structure du paquet et copiez les programmes, les données, etc.
Créez une structure de vos programmes installés et de leurs données. Dans cet exemple, nous mettons le fichier à
/bin
.Construisez le fichier .deb .
Le
.
nommera automatiquement le.deb
fichier avec la version, l'arch, etc. Ou votre nom personnaliséOu si vous construisez le fichier .deb avec
alors vous pouvez le télécharger sur Ubuntu Launchpad avec
comme décrit ici (source: créer un paquet .deb à partir de scripts ou de fichiers binaires )
Installez le
.deb
paquet nouvellement créé . Vous pouvez l'ouvrir avecsoftware-center
mais cela ne vous permettra peut-être pas de l'installer. Je recommande donc d'utiliser legdebi
gestionnaire de paquets.Maintenant, vous pouvez l'installer. Pendant l'installation, vous devriez voir un dialogue gtk
Après l'installation, ouvrez un terminal et tapez
zenity_hello
. Si le programme est correctement installé et que tout va bien, vous devriez voir un dialogue gtkRetrait du paquet
Publiez votre référentiel en 2 minutes
Comme l'OP veut un moyen simple de publier ses paquets, je lui donne un hack facile.
exigence: compte dropbox (ou tout autre service, par exemple github ) avec un dossier public.
Créez un dossier dans votre dossier Public-Dropbox dans lequel vous placerez vos fichiers * .deb:
ou créez ce dossier ailleurs et mettez un lien symbolique dans votre dossier Public:
Accédez à ce dossier et créez un script qui, une fois exécuté, crée le fichier Packages.gz, contenant toutes les informations nécessaires sur vos deb-packages. créer:
mettez ceci dedans:
le rendre exécutable:
Copiez quelques fichiers * .deb dans le dossier. Peut-être le vôtre ou certains qui ne sont pas disponibles via d'autres référentiels. Ensuite, allez dans le dossier et exécutez le script que nous avons mis là:
Cela devrait créer ce que l’on appelle le fichier Packages.gz , que apt cherche à savoir quels paquets sont situés dans ce référentiel.
C'est ça
Maintenant, attendez que Dropbox synchronise le dossier et récupérez l’ URL publique dans le répertoire
Packages.gz
. Ça devrait ressembler a quelque chose comme ca:Débarrassez-vous de la fin de ce lien, mettez quelques mots supplémentaires et vous pouvez maintenant utiliser et renseigner la ligne suivante pour le fichier sources.list:
Voilà, vous avez votre propre référentiel deb en cours d'exécution. Toujours synchronisé localement, mais disponible pour tout le monde, à tout moment, n'importe où.
NOTE:
dpkg-scanpackages
est disponible à partir dedpkg-dev
référence
la source
releases/
voir github.com/rubo77/mouse-speed/blob/master/release/...debuild -us -uc -k'your GPG key here'
alors vous pouvez le téléchargerdput ppa:<lp-username>/<ppa-name> packet-source.changes
dans Launchpad comme décrit ici (source: créer un paquet .deb à partir de scripts ou de fichiers binaires )debuild -k'your GPG key here' -S
parce que Launchpad créera le fichier deb (s'il n'est pas rejeté) - quoi le `-us -uc` aurait-il été pour?Vous aurez besoin d'un compte Launchpad.net pour créer un PPA. Il suffit de cliquer sur votre utilisateur dans le tableau de bord (cliquez sur votre nom en haut à gauche) et de créer un PPA. Vous devrez peut-être d'abord signer le code de conduite et disposer d'une clé GPG enregistrée avec votre compte.
la source