Jak utworzyć własny niestandardowy PPA, aby udostępnić go społeczności Ubuntu? Próbuję utworzyć własny zestaw niestandardowych pakietów i naprawdę chciałbym go udostępnić społeczności.
Korzystając z osobistego pakietu pakietów ( PPA ), możesz rozpowszechniać oprogramowanie i aktualizacje bezpośrednio wśród użytkowników Ubuntu. Utwórz pakiet źródłowy, prześlij go, a Launchpad zbuduje pliki binarne, a następnie umieści je w swoim własnym repozytorium apt.
FWIW Byłem w stanie aktywować PPA przed podpisaniem kodeksu postępowania.
Sparhawk
2
To najlepsza odpowiedź. Właśnie powiedziano ci, jak utworzyć PPA. Poniższa odpowiedź (autor: totti) nie jest umową PPA, ale publicznym repozytorium. Oba są różne, pomimo (potencjalnie) osiągnięcia tego samego. Mówi nawet w pierwszym wierszu swojej odpowiedzi: „To pytanie ma dobrze napisaną, zaakceptowaną odpowiedź. Ponieważ OP chce prostego sposobu na opublikowanie swoich paczek, daję łatwy hack”. Ponieważ wolisz łatwy hack, nie jest to najlepsza odpowiedź.
lbaile200
OK, ale żaden z linków w tej odpowiedzi tak naprawdę nie opisuje, jak to zrobić od zera. wszystkie linki tutaj są przeznaczone dla programistów, którzy są już w materiale o wiele więcej
rubo77
1
@ rubo77 - „jak tworzyć” jest zbyt szerokie, aby można było na nie odpowiedzieć. Wszystko zależy od tego, co próbujesz spakować. Rzeczywiście, każdy z kroków w powyższej odpowiedzi może być indywidualnym Q z każdą szczegółową dobrą odpowiedzią.
fossfreedom
1
Nowa odpowiedź Tottiego jest już świetna
rubo77
86
Jak utworzyć plik .deb
To jest samouczek na temat tworzenia podstawowego pliku .deb z danego przykładowego skryptu. W tym samouczku najpierw tworzymy przykładowy program w bash, który po prostu pokazuje „CZEŚĆ Z PROGRAMU”. Następnie tworzymy plik kontrolny dla programu, aby stworzyć instalator Debiana. Na koniec są pakowane do .debpliku.
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.
Możesz edytować zawartość, jeśli chcesz. Przeczytaj więcej o formacie tego pliku tutaj i tutaj .
Utwórz postinstskrypt, który jest wykonywany natychmiast po instalacji pakietu
gedit "$HOME"/create_deb/DEBIAN/postinst
następnie wklej
#!/bin/sh
set -e
echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
i uczynić go wykonywalnym
chmod +x "$HOME/create_deb/DEBIAN/postinst"
Utwórz prermskrypt, który jest wykonywany przed usunięciem pakietu
#!/bin/sh
set -e
echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
i uczynić go wykonywalnym
chmod +x "$HOME/create_deb/DEBIAN/prerm"
Twórz strukturę pakietów i kopiuj programy, dane itp.
Utwórz strukturę zainstalowanych programów i ich danych. W tym przykładzie umieściliśmy plik w /bin.
Zainstaluj nowo utworzony .debpakiet. Możesz go otworzyć za pomocą, software-centerale może nie pozwolić na instalację. Dlatego polecam użyć gdebimenedżera pakietów.
Teraz możesz go zainstalować. Podczas instalacji powinien zostać wyświetlony dialog gtk
Instalowanie programu: zenity_hello.sh ......
Po zainstalowaniu otwórz terminal i wpisz zenity_hello. Jeśli program został poprawnie zainstalowany i wszystko w porządku, powinieneś zobaczyć okno dialogowe GTK
CZEŚĆ Z PROGRAMU
Usuwanie pakietu
sudo apt-get remove zenity_hello
Opublikuj swoje repozytorium za 2 minuty
Ponieważ OP chce prostego sposobu na opublikowanie swoich pakietów, daję łatwy hack.
wymaganie: konto dropbox (lub dowolna inna usługa, na przykład github ) z folderem publicznym.
Utwórz folder w folderze publicznym Dropbox, w którym umieścisz pliki * .deb:
mkdir ~/Dropbox/Public/deb-packages
lub utwórz ten folder gdzie indziej i umieść dowiązanie symboliczne w swoim folderze publicznym:
mkdir ~/deb-packages
cd ~/Dropbox/Public
ln -s ~/deb-packages/ deb-packages
Przejdź do tego folderu i utwórz skrypt, który po uruchomieniu tworzy Packages.gz, zawierający wszystkie potrzebne informacje o twoich pakietach deb. Stwórz:
Skopiuj niektóre pliki * .deb do folderu. Może to być twoje własne lub niektóre, które nie są dostępne za pośrednictwem innych repozytoriów. Następnie przejdź do folderu i uruchom skrypt, który tam umieściliśmy:
cd ~/deb-packages/
./import.sh
To powinno stworzyć tak zwany plik Packages.gz , który będzie szukał informacji, które pakiety znajdują się w tym repozytorium.
Otóż to
Teraz poczekaj, aż Dropbox zsynchronizuje folder i pobierz publiczny adres URL zPackages.gz . Powinno to wyglądać mniej więcej tak:
http://dl.getdropbox.../Packages.gz
Pozbądź się końca tego linku, dodaj do niego kilka słów, a teraz możesz użyć i wypełnić następujący wiersz dla sources.list:
deb http://dl.getdropbox.../deb-packages ./
To jest to, że masz własne repozytorium deb. Zawsze synchronizowany lokalnie, ale dostępny dla każdego, zawsze i wszędzie.
UWAGA:dpkg-scanpackages jest dostępny w celach dpkg-dev
informacyjnych
@ rubo77, Dzięki, witam, aby dodać te informacje na końcu mojej odpowiedzi.
totti
1
OK, właśnie to zrobiłem, dowiedziałem się również, że potrzebujesz innych parametrów, aby Launchpad nie mógł teraz utworzyć pliku .deb (tylko -S): debuild -k'your GPG key here' -Sponieważ Launchpad utworzy plik deb (jeśli nie zostanie odrzucony) - co byłoby dla `-us -uc`?
rubo77
2
Będziesz potrzebować konta Launchpad.net, aby utworzyć PPA. Wystarczy kliknąć użytkownika na Launchpad (kliknij swoje imię i nazwisko w lewym górnym rogu) i utworzyć PPA. Może być konieczne podpisanie Kodeksu postępowania i zarejestrowanie klucza GPG na koncie.
Odpowiedzi:
Korzystając z osobistego pakietu pakietów ( PPA ), możesz rozpowszechniać oprogramowanie i aktualizacje bezpośrednio wśród użytkowników Ubuntu. Utwórz pakiet źródłowy, prześlij go, a Launchpad zbuduje pliki binarne, a następnie umieści je w swoim własnym repozytorium apt.
Oto szczegółowe wyjaśnienie .
źródło
Jak utworzyć plik .deb
To jest samouczek na temat tworzenia podstawowego pliku .deb z danego przykładowego skryptu. W tym samouczku najpierw tworzymy przykładowy program w bash, który po prostu pokazuje „CZEŚĆ Z PROGRAMU”. Następnie tworzymy plik kontrolny dla programu, aby stworzyć instalator Debiana. Na koniec są pakowane do
.deb
pliku.Kroki:
utwórz przykładowy program w bash
wklej do niego następujący kod
Spraw, aby program był wykonywalny
Utwórz plik kontrolny dla pakietu debian
Utwórz plik o nazwie
control
wewnątrz folderuDEBIAN
i wklej następujące szczegóły
Możesz edytować zawartość, jeśli chcesz. Przeczytaj więcej o formacie tego pliku tutaj i tutaj .
Utwórz
postinst
skrypt, który jest wykonywany natychmiast po instalacji pakietunastępnie wklej
i uczynić go wykonywalnym
Utwórz
prerm
skrypt, który jest wykonywany przed usunięciem pakietui uczynić go wykonywalnym
Twórz strukturę pakietów i kopiuj programy, dane itp.
Utwórz strukturę zainstalowanych programów i ich danych. W tym przykładzie umieściliśmy plik w
/bin
.Zbuduj plik .deb .
.
Zostanie automatycznie nazwę.deb
pliku z wersji, łuk itp lub nazwę niestandardowegoLub jeśli zbudujesz plik .deb
następnie możesz przesłać go do Ubuntu Launchpad za pomocą
jak opisano tutaj (źródło: utwórz pakiet .deb ze skryptów lub plików binarnych )
Zainstaluj nowo utworzony
.deb
pakiet. Możesz go otworzyć za pomocą,software-center
ale może nie pozwolić na instalację. Dlatego polecam użyćgdebi
menedżera pakietów.Teraz możesz go zainstalować. Podczas instalacji powinien zostać wyświetlony dialog gtk
Po zainstalowaniu otwórz terminal i wpisz
zenity_hello
. Jeśli program został poprawnie zainstalowany i wszystko w porządku, powinieneś zobaczyć okno dialogowe GTKUsuwanie pakietu
Opublikuj swoje repozytorium za 2 minuty
Ponieważ OP chce prostego sposobu na opublikowanie swoich pakietów, daję łatwy hack.
wymaganie: konto dropbox (lub dowolna inna usługa, na przykład github ) z folderem publicznym.
Utwórz folder w folderze publicznym Dropbox, w którym umieścisz pliki * .deb:
lub utwórz ten folder gdzie indziej i umieść dowiązanie symboliczne w swoim folderze publicznym:
Przejdź do tego folderu i utwórz skrypt, który po uruchomieniu tworzy Packages.gz, zawierający wszystkie potrzebne informacje o twoich pakietach deb. Stwórz:
włóż to w to:
spraw, by był wykonywalny:
Skopiuj niektóre pliki * .deb do folderu. Może to być twoje własne lub niektóre, które nie są dostępne za pośrednictwem innych repozytoriów. Następnie przejdź do folderu i uruchom skrypt, który tam umieściliśmy:
To powinno stworzyć tak zwany plik Packages.gz , który będzie szukał informacji, które pakiety znajdują się w tym repozytorium.
Otóż to
Teraz poczekaj, aż Dropbox zsynchronizuje folder i pobierz publiczny adres URL z
Packages.gz
. Powinno to wyglądać mniej więcej tak:Pozbądź się końca tego linku, dodaj do niego kilka słów, a teraz możesz użyć i wypełnić następujący wiersz dla sources.list:
To jest to, że masz własne repozytorium deb. Zawsze synchronizowany lokalnie, ale dostępny dla każdego, zawsze i wszędzie.
UWAGA:
dpkg-scanpackages
jest dostępny w celachdpkg-dev
informacyjnych
źródło
releases/
patrz github.com/rubo77/mouse-speed/blob/master/release/…debuild -us -uc -k'your GPG key here'
, możesz przesłać godput ppa:<lp-username>/<ppa-name> packet-source.changes
do Launchpada w sposób opisany tutaj (źródło: utwórz pakiet .deb ze skryptów lub plików binarnych )debuild -k'your GPG key here' -S
ponieważ Launchpad utworzy plik deb (jeśli nie zostanie odrzucony) - co byłoby dla `-us -uc`?Będziesz potrzebować konta Launchpad.net, aby utworzyć PPA. Wystarczy kliknąć użytkownika na Launchpad (kliknij swoje imię i nazwisko w lewym górnym rogu) i utworzyć PPA. Może być konieczne podpisanie Kodeksu postępowania i zarejestrowanie klucza GPG na koncie.
źródło