NetBSD je známé tím, že běží v podstatě na čemkoli, ale věděli jste jeho druhou nárok na slávu je pkgsrc správce balíčků? Stejně jako NetBSD, pkgsrc běží v podstatě na čemkoli, nebo alespoň na čemkoli Unixu a Unixu. Pkgsrc můžete nainstalovat na BSD, Linux, Illumos, Solaris a Mac. Celkově je podporováno více než 20 operačních systémů.
Proč používat pkgsrc?
S výjimkou MacOS se všechny unixové operační systémy dodávají se správcem balíčků. Nezbytně potřebujete pkgsrc, ale zde jsou tři skvělé důvody, proč byste to měli zkusit:
- Balení. Pokud jste zvědaví na balení, ale ještě jste si nezkusili vytvořit balík sami, pkgsrc je relativně jednoduchý systém na použití, zvláště pokud jste již obeznámeni s Makefiles a sestavovacími systémy, jako je GNU Autotools.
- Obecné. Pokud používáte více operačních systémů nebo distribucí, pak pravděpodobně narazíte na správce balíčků pro každý systém. Pkgsrc můžete použít v různých systémech, takže když zabalíte aplikaci pro jeden, zabalíte ji pro všechny.
- Flexibilní. V mnoha balíčkových systémech není vždy zřejmé, jak vybrat binární balíček nebo zdrojový balíček. U pkgsrc je rozdíl jasný, oba způsoby instalace jsou stejně snadné a oba za vás vyřeší závislosti.
Jak nainstalovat pkgsrc
Ať už používáte BSD, Linux, Illumos, Solaris nebo MacOS, instalační proces je v podstatě stejný:
- Použijte CVS ke kontrole stromu pkgsrc
- Zaveďte systém pkgsrc
- Instalujte balíčky
Použijte CVS ke kontrole stromu pkgsrc
Před Git, před Subversion, existovalo CVS . Nemusíte toho moc vědět o CVS, abyste si mohli prohlédnout jeho kód – pokud jste zvyklí na Git, pak přemýšlejte o pokladně jako klon . Když provádíte CVS checkout pkgsrc, stahujete "recepty" s podrobnostmi o tom, jak mají být jednotlivé balíčky sestaveny. Je to hodně souborů, ale jsou malé, protože ve skutečnosti nestahujete zdrojový kód pro každý balíček, jen infrastruktura pro sestavení a soubory Makefiles potřebné k sestavení. Použití CVS vám usnadní aktualizaci vaší pokladny pkgsrc, když je vydána nová.
Dokumenty pkgsrc doporučují ponechat váš strom v /usr adresář, takže musíte použít sudo (nebo se staňte rootem), abyste mohli použít tento příkaz:
$ cd /usr
$ sudo cvs -q -z2 \
-d [email protected]:/cvsroot \
pokladna -r pkgsrc-2019Q3 -P pkgsrcJak píšu, poslední vydání je 2019Q3. Nejnovější verzi naleznete v sekci novinek na domovské stránce pkgsrc.org nebo v dokumentaci NetBSD.
Bootstrap pkgsrc
Po zkopírování stromu pkgsrc do vašeho počítače máte /usr/pkgsrc adresář plný sestavení skriptů. Než je budete moci používat, musíte zavést pkgsrc, abyste měli snadný přístup k příslušným příkazům, které potřebujete k sestavení a instalaci softwaru.
Způsob bootstrap pkgsrc závisí na operačním systému, který používáte.
Pro NetBSD stačí použít přibalený bootstrapper:
# cd pkgsrc/bootstrap
# ./bootstrapNa jiných systémech existují lepší způsoby s některými přizpůsobenými funkcemi, které poskytuje Joyent. Chcete-li zjistit přesný příkaz ke spuštění, navštivte stránku pkgsrc.joyent.com. Například na Linuxu (Fedora, Debian, Slackware a tak dále):
$ curl -O \."
https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz
$ BOOTSTRAP_SHA="eb0d69114939579ca888889309579ca88 "I když cesta naznačuje, že zahrnuté soubory jsou pro RHEL 7, binární soubory mají tendenci být kompatibilní se všemi, kromě nejmodernějších distribucí Linuxu. A pokud zjistíte, že binární soubor není kompatibilní s distribucí, na které se nacházíte, máte možnost sestavit ze zdroje.
Ověřte kontrolní součet SHA1:
$ echo "${BOOTSTRAP_SHA}" bootstrap-trunk*gz> check-shasum
sha1sum -c check-shasumMůžete také ověřit podpis PGP:
$ curl -O \
https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz.asc
curl -sS https://pkgsrc.joyent.com/pgp/56AAACAF.asc | gpg --import
gpg --verify ${BOOTSTRAP_TAR}{.asc,}Jakmile si budete jisti, že máte správnou sadu bootstrap, nainstalujte ji do /usr/pkg :
sudo tar -zxpf ${BOOTSTRAP_TAR} -C /
To vám poskytuje obvyklé příkazy pkgsrc. Přidejte tato místa do své PATH:
$ echo "PATH=/usr/pkg/sbin:/usr/pkg/bin:$PATH">> ~/.bashrc
$ echo "MANPATH=/usr/pkg/man:$MANPATH">> ~/.bashrcPokud byste raději používali pkgsrc, aniž byste se spoléhali na sestavení Joyent, stačí spustit bootstrap skript, který jste získali se stromem pkgsrc. Přečtěte si příslušný soubor README v bootstrapu před spuštěním pro důležité poznámky specifické pro systém.
Jak nainstalovat software pomocí pkgsrc
Instalace předkompilovaného binárního souboru (jako u DNF nebo Apt) pomocí pkgsrc je snadná. Příkaz pro binární instalace je pgkin , která má vlastní vyhrazenou stránku na adrese pkgin.net. Tento proces by měl být každému, kdo používá Linux, docela známý.
Chcete-li vyhledat tmux balíček:
$ pkgin search tmux
Instalace balíčku tmux:
$ sudo pkgin install tmux
pkgin Cílem příkazu je napodobit chování typických správců balíčků Linuxu, takže existují možnosti pro výpis dostupných balíčků, dotazování se na dostupné balíčky, aby bylo možné najít, co poskytuje konkrétní spustitelný soubor, atd.
Jak sestavit ze zdrojového kódu pomocí pkgsrc
Skutečnou silou pkgsrc je však snadné sestavení balíčku ze zdroje. V prvním kroku nastavení jste si stáhli všech více než 20 000 skriptů sestavení a můžete k nim přistupovat přímým přechodem do stromu pkgsrc.
Chcete-li například vytvořit tcsh ze zdroje nejprve vyhledejte sestavení skriptu:
$ find /usr/pkgsrc -type d -name "tcsh"
/usr/pkgsrc/shells/tcshDále přejděte do zdrojového adresáře:
$ cd /usr/pgksrc/shells/tcsh
Adresář sestavení skriptu obsahuje řadu souborů, které pomáhají aplikaci stavět na vašem systému, ale zejména obsahuje DESCR soubor, který obsahuje popis softwaru a také Makefile který spustí sestavení.
$ ls
CVS DESCR Makefile
PLIST distinfo záplaty
$ cat DESCR
TCSH je rozšířený C-shell s mnoha užitečnými funkcemi, jako je
dokončování názvu souboru, historie úpravy atd.
$Až budete připraveni, sestavte a nainstalujte:
$ sudo bmake install
Systém pkgsrc používá bmake příkaz (poskytnutý v prvním kroku pokladnou pkgsrc), takže nezapomeňte použít bmake (a nikoli vytvářet ze zvyku).
Pokud vytváříte pro několik systémů, můžete místo okamžité instalace vytvořit balíček:
$ cd /usr/pgksrc/shells/tcsh
$ balíček sudo bmake
[...]
=> Vytvoření binárního balíčku v /usr/pkgsrc/packages/All/tcsh -X.Y.Z.tgzBalíčky, které pkgsrc vytváří, jsou standardní tarbally, ale lze je pohodlně nainstalovat pomocí pkg_add :
$ sudo pkg_add /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgz
tcsh-X.Y.Z:přidání /usr/pkg/bin/tcsh do /etc/shells
$ tcsh
localhost%Nástroje pkgtools kolekce z pkgsrc poskytuje pkg_add , pkg_info , pkg_admin , pkg_create a pkg_delete příkazy, které vám pomohou spravovat balíčky, které vytvoříte a spravujete ve vašem systému.
Pkgsrc pro snadnou správu
Systém pkgsrc nabízí přímý a praktický přístup ke správě balíků. Pokud hledáte správce balíčků, který vám nepřekáží a zve k přizpůsobení, vyzkoušejte pkgsrc na jakémkoli unixovém nebo unixovém OS, který používáte.
Linux