FreeBSD csomagkezelés

Hali!

Tud valaki adni valami linket, leírást, howto-t FreeBSD csomagkezelésével kapcsolatban?
Mind a bináris csomagok telepítésének hogyanja, mind a ports használata érdekelne.

Ezeket: packages, ports már olvastam, de nem eléggé áttekinthető számomra, meg mindenre van vagy 3 féle módszer. Valami konkrét használati példa jól jönne.

Érdekelne milyen átfedés van a előre fordított binárisok halmaza és a ports-ban elérhető csomagok halmaza közt. Auditálják-e ezeket, van-e lehetőség valami csomag aláírás ellenőrzésre?

Linux terén Gentoo-t használok (ports <-> Portage), ezért van lövésem hogy működhet, de kicsit el vagyok veszve a lehetőségek közt. Ha valaki tudna szemléltető példát hozni a két rendszer közti hasonlóságra, azt is megköszönném! :)

Köszönöm!

Hozzászólások

hat, ha ez nem eleg egyertelmu :S akkor asszem konnyebet mar nem talalsz

Neki inkabb egy gyorstalpalo kellett, nem pedig reszletekbe meno dokumentacio. Anno en is ilyent kerestem, aztan valami eldugott blogba talaltam is egy gyorstalpalot - meg kiolvastam a HUP Forum ide vonatkozo szekciojat.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Ami FreeBSD alatt a ports, az Gentoo-ban a Portage, jol mondod. Az egyes port-ok megfelelnek a Gentoo-s ebuild-oknak, annyi differenciaval, hogy mig a Gentoo-s cuccok Bash script alapuak, addig a BSD ports-ok a BSD Make Makefile-jere epulnek (ez nem ugyanaz, mint a GNU Make).

Az egyes port-okat ket modon szoktam felrakni: odamegyek a mappajaba (mittomen /usr/ports/shells/bash) es 'make install clean', vagy a portmanager-t hasznalom. Van GTK es KDE alapu port installer is, sajnos a neveikre nem emlexem...

FreeBSD alatt is van make.conf, de itt is ugyanaz ervenyes, mint a port-oknal: Makefile szintaxis.

A binaris csomagok gyakorlatilag a portokbol vannak elkeszitve (ha minden igaz, te is tudsz ilyent csinalni, make package), es ha jol tippelek, akkor minden frissules eseten meg vannak csinalva a binarisok is (ez validalja, hogy az adott port tenyleg stabil).

Tipp: A /usr/ports -on alva a 'make search name=keresoszo' paranccsal tudsz keresni (~= emerge -S).

Binaris cuccokat a 'pkg_add -r csomagneve' paranccsal tudsz a hivatalos repobol felrakni (fuggoseget is kezel, es ha valami forrasbol van fenn, azt is elismeri, nem akar force binarist rakni). A sajat csomagot hasonlokepp tudod felrakni, annyi difivel, hogy nem kell a '-r'.

Hirtelen ennyit tudtam osszeszedni, ha van konkret kerdes, akkor tedd fel.

--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Jól láttad mire gondoltam. Erre van szükségem :)

Akkor egy gyors kérdés helyből :)

- Jól látom azt, hogy akkor a ports-ból létezik egy STABLE és amennyire tudom egy TESTING? Egyszerre csak az egyiket lehet használni, vagy lehet kézzel belehergelni olyan "overlayes" módon egyikből a másikba?

- Ha már egy ports létezik, akkor igaz az, hogy azon belül néhány csomaghoz elérhető előre fordított bináris - ezek a Package-ek - illetve telepítő parancstól függően (pl. portinstall) akár forrásból is felrakhatom őket?

- Ha én felrakok egy előre fordított bináris csomagot, amelyet X,Y funkciókkal (~ USE flag) fordítottak, akkor idővel nem fog "megkergülni" a rendszer, hogy a fele forrásból van, a másik fele nem, aztán nem tudnak egymásról, hogy akkor mit kell frissíteni, eltávolítani, stb? Hú ez kicsit zagyva lett :D

- Nincs valami "ultimate" eszköz amivel az egész hóbelebancot lehet kezelni? a'la emerge? Ne keljen külön paranccsal kezelni a binárisok telepítését és külön a forrásból telepítetteket + a 2-3 féle ports frissítést?

Bocs ez 4 kérdés lett :)

--
\\-- blog --//

1) Itt mondjuk már ott kezdődik a probléma, hogy általában az emberek jó része (legalábbis, akivel összefutottam) azért tért át FreeBSD-re, mert megunta a Linuxszal való örökös baszakodást és valami stabilabbat keres, nem arra találták ki ezt, hogy össze-vissza pancsolgasd. Szvsz. nincs is annyi beállítása, mint a gentoo-s portage-nak (nem ismerem, csak tippelek).

2) Ha ports-ból raksz akkor a függőségeket is ports-ból húzza. Ha binárisat, akkor az előre fordított bináris függőségeket szedi.

3) Ha a ports-n keresztül csináltad (pl. make config -l), akkor nem. Ugyanúgy csomagként kezeli őket, mintha az előre fordított binárist telepítenéd (igazából a bináris csomagok is kb. lefordított csomagok a portsból.) Ha vmit portsból raksz, ugyanúgy megjelenik a pkg_info-ban.

4) most a pkg_* és a /ports az nem olyan nagy dolog sztem. Eleve a ports nem kötelező (telepítéskor mondhatsz rá nem-t is, akkor csak a pkg_* parancsok vannak).

4) A forrasbol (ports-bol) feltett cuccok frissiteset a portupgrade oldja meg (ez talan kulon csomag, ha igaz), gyorsan es egyszeruen. A binaris cuccokat tudtommal csak pkg_ parancsokkal lehet kezelgetni, de ebben fixme.

2) MINDEN csomagbol elerheto binaris. En peldaul azt csinalom, hogy ami ilyen vagy olyan okbol nem hajlando lefordulni forrasbol, azt felpakolom binarisbol, es mehet tovabb a telepites. Arra kell figyelni, hogy a binarisokat a ports helybol nem tudja upgradelni, elobb le kell szedni a regi binarist a megfelelo pkg_ paranccsal, es utana lehet nyomni a forrast.
Kulon emerge-szeru cuccrol nem tudok, de van Gentoo/FreeBSD, amiben viszont van emerge ;-)

3) Nem, mert tarolja a konfig opciokat minden egyes csomaghoz, es az feltetlen prioritast elvez. Nincsenek kimondott USE flagek, bar van par config opcio amit a 'make config' -gal nem lehet megmondani, ezt make.conf-ban lehet adott csomagra szurve beallitani (ha erdekel, mutatok majd peldat), vagy a make parancsnak kozvetlen megadni (azonban az ilyen sajna nem kerul bele a config opciokat tarolo fajlba). A make config cuccokat viszont mindig per-csomag kell megmondani (a Gentoo talan ezert talalta ki az USE flaget)
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.