pkgsrc: NetBSD Paketikollektsioon

BSD daemon

Pkgsrc

NetBSD Paketikollektsioon (pkgsrc) on raamtöö kolmanda osapoole tarkvara NetBSD-l ja teistel UNIX-ilaadsetes süsteemides ehitamiseks, sisaldades praegu üle 3500 paketi. Seda kasutatakse toetatud platvormidel vabalt saadaoleva tarkvara häälestamiseks ja ehitamise võimaldamiseks.

Viimased uudised
30 juuni, 2003
pkg_install ja bootstrap kit uuendati 20030630-ni, sisaldab funktsionaalsuse laiendusi arendus-NetBSD-st.

12 juuni, 2003
pkg_install ja bootstrap kit uuendatud 20030612 versioonini.

[kõik tõmmised]

Kahendkitid
Darwin 6.6/powerpc
Debian Linux/i386
FreeBSD 3.5/i386
FreeBSD 5.1/i386
IRIX 6.5/mips
IRIX64 6.5/mips
OpenBSD 3.2/i386
Slackware 8.1/i386
Solaris 8/sparc
Solaris 9/sparc
Solaris 9/i386

Olemasolevad paketid

Dokumentatsioon

Miks just pkgsrc?

pkgsrc-l on järgmised omadused:

  • Tarkvara kerge ehitamine nii lähtetekstist kui kahendpaketist. Lähtetekst ja viimased lapid on päritud kas peaserverist või peeglist, kontrollsumma kontrollitud ning siis ehitatakse kohalikus süsteemis. Kahendlevituse tugi on olemas nii loomulikule platvormile kui ka emuleeritud platvormile.
  • Kõik paketid on paigaldatud ühtsesse kataloogipuusse, kus on nii kahendfailid, teegid, abilehed kui muu dokumentatsioon.
  • Paketisõltuvused, ka need, mida vajatakse paketi uuendamisel, on tehtud automaatseks. Mitmesuguste pakettide häälestusfaile kasutatakse automaatselt ning kohalikud muudatused jäetakse puutumata.
  • Nagu NetBSD, on ka pkgsrc loodud silmas pidades porditavust ning see sisaldab hästi porditavat lähteteksti. See võimaldab kiireimat arendust kui porditakse uuele platvormile. Porditavus kindlustab, et ta on ühesugune kõikidel platvormidel .
  • Suure hulga pakettide paigalduse eesliide (prefix), lubatud tarkvara litsentsid, rahvusvahelise krüptograafia vajadused ja ehitamise ajal valikud on häälestatavad ühes häälestusfailis.
  • Kogu lähteteksti (aga mitte juurde lisatud failid) on vabalt BSD litsentsi all saadaolev nii, et võid vabalt laiendada ja kohandada seda vastavalt oma vajadustele. Kohalike pakettide ja lappide tugi on olemas nii, et saab seda häälestada vastavalt oma keskkonnale.

Toetatud platvormid

Operatsioonisüsteemi jaoks on pkgsrc nii Lähteteksti levitus kui ka Kahendlevitus kujul olemas. Peale lähteteksti või kahendfailide kohaletõmbamist võib mõne minuti jooksul pkgsrc kaasabil programmi mõne minuti jooksul käivitada.

pgksrc praegu toetab järgnevaid platvorme:

  • NetBSD (otse loomulikult!)
  • Darwin (Mac OS X)
  • FreeBSD
  • IRIX
  • Linux
  • OpenBSD
  • Solaris

Alustuseks

Kui NetBSD-d kasutate, võite kohe pkgsrc-d kasutama hakkata. Vaata pakettide paigaldamine sektsiooni.

Kahendlevitus

Teiste platvormide jaoks on bootstrap kit nii lähteteksti kui kahendfaili näol, mis koosneb paketi haldusvahenditest ja muudest pkgsrc ja ehitamiseks vajalikest vahenditest.

Kahendkitid ja algne paketide kogum on olemas järgnevate operatsioonisüsteemidele.

Table 1. 

Platvorm Viimane tõmmis Kahendkit Kahendpaketid
Darwin 5.5/powerpc (Mac OS X 10.1.5) 20021209 kahendkit  
Darwin 6.2/powerpc (Mac OS X 10.2.2) 20021219 kahendkit kahendpaketid
Darwin 6.3/powerpc (Mac OS X 10.2.3) 20030412 kahendkit  
Darwin 6.6/powerpc (Mac OS X 10.2.6) 20030623 kahendkit  
Debian GNU Linux/i386 20030410 kahendkit kahendpaketid
FreeBSD 3.5/i386 20030411 kahendkit  
FreeBSD 4.7/i386 20021211 kahendkit kahendpaketid
FreeBSD 5.0/i386 20030411 kahendkit  
FreeBSD 5.1/i386 20030630 kahendkit  
IRIX 6.5 n32-bit ABI 20030410 kahendkit kahendpaketid
IRIX 6.5 64-bit ABI 20030626 kahendkit  
OpenBSD 3.2/i386 20030417 kahendkit  
Slackware Linux 8.1/i386 20030417 kahendkit  
Solaris 8/sparc 20030701 kahendkit  
Solaris 8/i386 20030330 kahendkit  
Solaris 9/sparc 20030701 kahendkit kahendpaketid
Solaris 9/i386 20030411 kahendkit  

Lihtsalt lae kahendkit oma platvormi jaoks alla ja paki / kataloogi lahti, e.g.

# cd /
# gzip -c -d /tmp/bootstrap-pkgsrc-SunOS-5.9-sparc-20030701.tar.gz \
  | tar -xpf -

Loomulikult nagu iga kahendlevitusega, peaks kontrollima SUM või CKSUM kontrollsummat enne, kui selle sisu lahti pakitakse.

Lähteteksti levitus

Kokku pakitud bootstrap-pkgsrc saab laadida või teha AnonCVS-i kasutades viimasest lähtetekstist tõmmis:

# cvs checkout -P othersrc/bootstrap-pkgsrc

(AnonCVS häälestamist vaata arendus-NetBSD järgimine).

Peale allalaadimist ja/või lähteteksti lahtipakkimist on bootstrapkiti paigaldamine nii lihtne kui:

# cd othersrc/bootstrap-pkgsrc
# ./bootstrap

Vaikimisi kasutatakse /usr/pkg eesliidet ja paketi andmebaasiks /var/db/pkg kataloogi. Seda saab määrata ka käsurea võtmetega (kasuta ./bootstrap --help käsku saadaval olevate valikute kohta).

Kui pkgsrc-i kasutatakse mitte-NetBSD süsteemis, tuleb bmake käsku ?make? asemel kasutada selleks, et käivitada NetBSD make, mis on õigeks pkgsrc töötamiseks vajalik. Lihtsalt asenda ?make? ?bmake? käsuga pkgsrc dokumentatsioonis.

pakettide paigaldamine

NetBSD 1.5.x ja 1.6.x jaoks kahendpakettide valik on saadaval /pub/NetBSD/packages kataloogis NetBSD FTP serveris.

Enamiku kasutajate jaoks on lehitsetav veebinimekiri kasulik.

Pakette saab paigaldada kas laadides paketi ja tema sõltuvused enda kettale ja kirjutades:

# pkg_add <package>

või kirjutada täispikk URL välja:

# pkg_add ftp://ftp.NetBSD.org/pub/NetBSD/packages/<os_release>/<arch>/<type>/<package>

Sõltuvused käsitletakse ja paigaldatakse automaatselt, kui nad on samas kaugkataloogis olemas.

Paketid vaikimisi paigaldatakse /usr/pkg kataloogi. Peaks kindel olema, et /usr/pkg/bin ja /usr/pkg/sbin on keskkonna muutujas PATH kirjas (enamasti kirjeldatakse /etc/csh.cshrc failis).

Pkgsrc kasutamine

NetBSD paketikollektsioon koosneb Makefailidest, lühikesest kirjeldusest ja lappidest, mis on vajalikud kolmandate osapoolte programmide kompileerimiseks.

Pkgsrc paigaldamine lubab mõnusalt kompileerida ja paigaldada igat kollektsioonis olevat tarkvara.

On olemas mitmeid viise, kuidas pkgsrc-i hankida, võib kasutada nii AnonCVS-i kui FTP-d. Selle kohta täpsemalt pkgsrc dokumentatsioonis.

Paketi lähtetekstist ehitamine

Peale pkgsrc hankimist koosneb /usr/pkgsrc kataloog paljudest pakettidest, mis on kategooriatesse järjestatud. Võib internetist lehitseda paketide nimekirja või kirjuta make readme /usr/pkgsrc kataloogist selleks, et ehitada kohalik README.html faili kõikide pakettide jaoks, mis on vaadatav iga veebilehitsejaga nagu www/lynx või www/phoenix.

Vaikimisi on paigaldatavate pakettide eesliide /usr/pkg. Kui on soov seda muuta, peaks seda tegema määratledes LOCALBASE keskkonnamuutuja /etc/mk.conf failis (Mis on /etc/mk.conf?). Mitmeid erinevaid LOCALBASE määratlusi samas süsteemis ei peaks kasutatama (välja arvatud chroot keskkonna sees).

  1. Paketi paigaldamine on üsna lihtne. Näiteks tekstitoimeti Joe süsteemi paigaldamiseks (editors/joe on väike, aga võimas tekstitoimeti, mis matkib teisi toimeteid nagu Wordstar ja Emacs), tuleb kõigepealt muuta kataloogi:

    % cd /usr/pkgsrc/editors/joe
  2. Kui internetti pääsemiseks kasutatakse väljahelistamist, siis helistage nüüd, et tarkvara lähteteksti saaks allalaadida.

    Kui kõik vajaminevad failid on /usr/pkgsrc/distfiles kataloogis, pole välja vaja helistada. Kui levitusefailid on CD-ROM-il, võib CD-ROM-i /cdrom kataloogi külge haakida ja lisada:

    DISTDIR=/cdrom/pkgsrc/distfiles

    /etc/mk.conf faili.

    Kui pakett sõltub paljudest teistest failidest (nagu x11/kde3), võib ehitamise protsess erineda lähtetekstide eri ajal allalaadimiste ja kompileerimiste vahel. Selleks, et kindlustada kõikide vajaminevate lähtetekstide allalaetus, võib kirjutada:

    % make fetch-list | sh

    kooriku käskude rida laeb kõik vajalikud failid /usr/pkgsrc/distfiles kataloogi. Võib ka käsitsi need failid /usr/pkgsrc/distfiles kataloogi laadida.

    Allalaadimiseks võib kasutada lähimat võrgus asuvat peeglit. Selleks kopeeri oma maa jaoks MASTER_SITE_* määratlused pkgsrc/mk/bsd/pkg.defaults.mk failist /etc/mk.conf faili.

  3. Nüüd kirjuta

    % make

    /usr/pkgsrc/editors/joe kataloogis. Selle tulemusena laetakse alla lähtetekst ja kõik lapid, lisaks kogu kompileerimiseks vajalik tarkvara.

  4. Kui kogu tarkvara on alla laetud, lappidega paigatud, siis see kompileeritakse ära. See võtab, sõltuvalt arvutist ja sellest, kui palju on sõltuvaid pakette, mida samuti kompileeritakse, mõnda aega.

  5. Järgmine samm on tegelikult uue kompileeritud programmie süsteemi paigaldamine. Tehke nii:

    % make install

    endiselt olles /usr/pkgsrc/editors/joe kataloogis, (või kataloogis, kust paigaldatakse).

  6. Nii, tarkvara peaks nüüd olema paigaldatud ja kasutamiseks häälestatud. Seejärel võib kirjutada:

    % make clean

    mis töökataloogist kustutab kompileeritud failid, kuna neid enam ei vajata. Kui teised (sõltuvad) paketid on süsteemi lisatud, mis lubasid programmi ära kompileerida, siis koos nendega kustutamine näeb välja:

    % make clean-depends

Mis on /etc/mk.conf?

/etc/mk.conf faili võib kasutada selleks, et paketisüsteemi jaoks määratleda teatud muutujaid. Seda faili vaikimisi olemas pole, aga kui on vajadus, võib seda teha. Paljude muude väärtuse seas võib järgnevaid määratleda:

  • LOCALBASE=/local

    Määratleb pkgsrc poolt kasutatava prefix-i, vaikimisi on see /usr/pkg. Seda ei peaks süsteemis, mis juba pkgsrc-i kasutab, muutma.

  • ACCEPTABLE_LICENSES=non-commercial-use fee-based-commercial-use

    Teatab paketisüsteemile, missugused litsentsid on vastuvõetavad.

  • WRKOBJDIR=/usr/obj/pkg

    Paketid pakitakse lahti ja ehitakse /usr/obj/pkg kataloogis.

  • PACKAGES=${_PKGSRCDIR}/packages/${OS_VERSION}/${MACHINE_ARCH}

    Kui kahendpaketid on tehtud, salvesta neid OS_VERSION ja MACHINE_ARCH spetsiifilises alamkataloogis.

  • USA_RESIDENT=NO

    Kui ?NO?, siis mõned programmid kasutavad seda litsentsi autoriseerimise määratlemiseks. Sama ka ?YES? puhul.

  • USE_RSAREF2=NO

    Kas või mitte RSAREF2 kasutada, vaata security/ssh-s asuvaid näiteid.

  • DEPENDS_TARGET=package

    Automaatselt ehitada ja salvestada sõltuvaid kahendpakette.

Samuti, pkgsrc/mk/bsd.pkg.defaults.mk annab pkgsrc poolt kasutatavaid vaikeväärtusi. Seda faili saab kasutada, kui /etc/mk.conf faili juhendit - nende väärtuste määratlemine on vajalik ainult siis, kui nende väärtus erineb vaikeväärtusest.

Paigaldatud pakettide turvaaukude kontrollimine

NetBSD turvaülema ja pakettide rühm hooldab tuntud turvaaukude nimekirja pakettidest, mis on pkgsrc-is olemas. See nimekiri on olemas FTP serveris ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/vulnerabilities aadressil.

Kasutades security/audit-packages paketti, saab seda nimekirja automaatselt allalaadida ja kõikide pakettide turvakontroll on süsteemi paigaldatud.

security/audit-packages paketil on kaks osa. Esimene osa on ?download-vulnerability-list?, mis on NetBSD FTP serverist turvaaukude nimekirja allalaadimiseks. Teine on ?audit-packages?, mis kontrollib, kas mõni pakett on turvaauguga või mitte. Kui pakett on turvaauguga, siis võib näha järgmist väljundit:

Package samba-2.0.9 has a local-root-shell vulnerability, see
http://www.samba.org/samba/whatsnew/macroexploit.html

Võib paigaldada security/audit-packages paketi, mis iga päev laeb turvaaugud alla ja kaasab paketi turvakontrolli skripti ööpäevasesse turvaskripti. Selle peensused on kirjas MESSAGE failis, mis asub security/audit-packages kataloogis.

Kas paigaldatud paketi uuem versioon on pkgsrc-is

Paigalda pkgtools/pkglint ja kirjuta lintpkgsrc koos ?-i? argumendiga selleks, et kontrollida, kas paketid on uuendatud, e.g.

% lintpkgsrc -i
...
Version mismatch: 'tcsh' 6.09.00 vs 6.10.00

Võib kasutada make update selleks, et uuendada süsteemi paketti ja kõik sõltuvused uuesti ehitada.

Teised NetBSD paketikollektsiooni käsud

Alljärgnevalt on näidatud teised kasulikud NetBSD paketikollektsiooni käsud.

  • make deinstall

    kustutab paigaldatud paketi süsteemist. Vastandtegu eelpool näidatule. Muuda vastavat töökataloogi enne kasutamist.

  • pkg_delete

    kustutab paketi nime järgi, hoolimata jooksvast töökataloogist.

  • pkg_info

    näitab süsteemi paigaldatud pakette, kuna kõigist peetakse arvestust.

pkgsrc hooldusvahendid

On mitmeid lisatöövahendeid, mis annavad pkgsrc süsteemile lisaomadusi. Mõned sagedamini kasutatavad on:

  • cpuflags

    devel/cpuflags määrab ära parimad kompilaatori lipud, mida koodi optimiseerimisel käesoleva protsessori ja kompilaatoriga kasutada.

  • dfdisk

    pkgtools/dfdisk annab pkgsrc-le lisafunktsionaalsuse, lubades pakkefaile erinevatest kohtadest allalaadida. Praegu toetab järgnevaid meetodeid: mitu CD-ROM-i ja võrgu FTP/HTTP ühendused.

  • lintpkgsrc

    pkgtools/pkglint osa, lintpkgsrc lubab paigaldatud pakette kontrollida vastu kohalikku pkgsrc puud, lisaks kustutada vanu kahendpakette ja aegunuid pakkefaile.

  • pkgchk

    pkgtools/pkg_chk kontrollib paigaldatud paketide versioone vastu kohalikku pkgsrc puud ja/või häälestusfaili, mis võib anda nimekirja soovitud paketidest järjestatuna masinanime, arhitektuuri ja paljude teiste erinevate parameetrite järgi.

  • pkg_comp

    pkgtools/pkg_comp lubab paketti kompileerida chroot keskkonna sees. See on näiteks kasulik paketide ehitamiseks teise NetBSD versiooni kui paigaldatud, jaoks või silumise otstarbel.

Muud lugemismaterjalid

(contact us)   Generated from %NetBSD: packages.xml,v 1.8 2007/03/02 12:28:34 wiz Exp %
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.
NetBSD® is a registered trademark of The NetBSD Foundation, Inc.