USE="-ipv6 unicode -cups"
Egy kis magyarázat hozzá:
- -ipv6: nem szeretnék még ipv6-ot. Ha kötelező lesz és kapok is ipv6-os címet, akkor majd bekapcsolom. Addig is fölöslegesen növeli a biztonsági kockázatot.
- unicode: alapvetően minden szoftverbe szeretnék unicode támogatást, amibe lehet. Legfőbb indok: a konzolomon utf8-at használok. Meg egyébként is. 2008.
- -cups: Na ez default use flag jónéhány csomagban és egy halom csomag forgatásától kímél meg. Meg egyébként is, minek legyen tele szeméttel a rendszer, ha egyszer egy darab nyomtató sincs rajta. :)
Ezen felül még az apache-omhoz egy rakás modul (ezeket nem lehet use flaggel tekergetni):
APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias proxy proxy_connect proxy_ftp proxy_http"
Ezek többsége nem igényel magyarázatot. Néhányra, pl az authz-re nincs szükségem, de föltettem, nagy valószínűséggel később szükségem lesz rá. Amit nem használtam, azt kikapcsoltam configból.
Na aztán jön a per package config a /etc/portage/packages.use-ban. Ezt nem másolom be, csak a taktikai útmutatót mondom el. Mielőtt fölteszek egy csomagot, emerge -pv csomagnév. Ez megmutatja a föltelepítendő csomaglistát:
# emerge -pv cairo
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] x11-libs/libXft-2.1.13 USE="-debug" 262 kB
[ebuild N ] virtual/xft-7.0 0 kB
[ebuild N ] x11-libs/gtk+-2.14.3-r2 USE="-X -cups -debug -doc -jpeg -jpeg2k -tiff -vim-syntax -xinerama" 0 kB
[ebuild N ] gnome-base/librsvg-2.22.3 USE="zlib -debug -doc" 0 kB
[ebuild R ] x11-libs/cairo-1.8.0 USE="X* svg* -debug -directfb -doc -glitz -opengl -xcb (-test%)" 0 kB
Ez megmutatja a jelenlegi konfiguráció szerinti use flageket. (Kicsit csaltam, ugyanis telepítés közben néztem, de a lényegen nem változtat.) Namost, ha például nem tetszik a librsvg-ben alapból bekapcsolt zlib támogatás, akkor a /etc/portage/packages.use-ban ki tudom kapcsolni:
gnome-base/librsvg -zlib
Nyilván, ez badarság, mert a zlib support nem oszt nem szoroz, de illusztrációnak tökéletes. Ha be akarok tenni egy debug use flaget, egyszerűen csak beírom mögé.
Namost, a fenti példa azért tanulságos, mert a cairohoz kénytelen az ember föltenni X-es use flaget ha svg-vel szeretné forgatni (ennek a hiánya a forgatás közben hibaüzenetet eredményez). Csak esetileg kapcsoljuk be az X flaget, ezzel elkerülve egyrészt az összes X-et támogató csomag újraforgatását másrészt, ami még fontosabb, a fölösleges függőségeket. Nyilván, egy desktop rendszernél az ember bekapcsolja az X flaget.
A függőségek más rendszerben egészen más problémákat eredményeznek, mint a Gentoon. Amíg Debianon arra kell figyelni, hogy a deb csomagok egymásra való függőségei ki legyenek elégítve (ami több repó használatánál már kihívás tud lenni), addig Gentoonál - mivel minden forrásból fordul, ilyen probléma nincs. Ellenben, ha monduk az openssl-ből kijön egy újabb verzió, akkor az összes csomagot lehet újraforgatni.
Namost, a frissítésekről még egy szót. A Gentoo egy bleeding edge rendszer. A biztonsági frissítések a többi repóhoz képest villám gyorsan bekerülnek a Portage treebe. Ez azt is jelenti, hogy ha az ember nem frissíti rendszeresen a gépét, akkor egyszerre szakad a nyakába a párszáz csomag frissítése, ami akkor már biztosan egy csomó újraforgatással jár és nem egyszer meg is fog szakadni mert nincs meg valamilyen függőség. Én rászoktam a pár naponta való frissítésre, ami elég hatékonynak bizonyult. Néhány perc alatt megvan (ott lehet hagyni) és nem volt még lehalás.
Sokan azt mondják a Gentooról hogy szopás kezelni. Ezzel vitatkoznék. Nem kíván több odafigyelést, mint mondjuk egy Debiannál, csak némi odafigyelést igényel. Nyilván, nem lehet "csak úgy" fölhajtani. Cserébe viszont azzal ajándékoz meg, amivel semmilyen más Linux: pontosan az van rajta, amit szeretnél, egy darab fölösleges csomag sincs.
Szerk: Na, kár volt elkiabálnom magam. Amint megírtam ezt a bejegyzést, beleütköztem egy dependency problémába. A libgtk+-nak X flages Cairo kellett, a Caironak viszont az SVG-hez kellett az libgtk+. Megoldás:
# USE=-svg emerge --oneshot cairo
# emerge --oneshot cairo
Magyarázat: a Cairo X flaggel és SVG flag nélkül lefordult libgtk+ nélkül. Ezek után már a libgtk+ is hajlandó volt lefordulni, ugyanis a Cairo X-el volt forgatva.
- janoszen blogja
- A hozzászóláshoz be kell jelentkezni
- 936 megtekintés
Hozzászólások
látom, Te is régi user vagy:D -pv helyett -av "jobb" szerintem, mert ha minden use flag ok, akkor nem kell újra futtatni, hogy pörögjön megint a "Calculating dependencies /"
- A hozzászóláshoz be kell jelentkezni
azt a masfel masodpercet ki lehet varni
- A hozzászóláshoz be kell jelentkezni
Annyira nem vagyok régi, csak olyan hogy minden use flag stimmelt volna, elég kevésszer fordult elő. Van amikor 2-3x is szerkesztem a packages.use-t hogy eltakarodjanak vagy megnőjenek mindenféle dependenciák. A legtöbbet a perl, python és pam flageket szoktam gyilkolászni. :) Mondjuk az is lehet, hogy csak simán perverz minimalista vagyok. :)
- A hozzászóláshoz be kell jelentkezni
Gentoohoz azert kell valamilyen szintu perverzio! ;)
Magam is legalabb negyszer-otszor futtatok emerge-et, mire minden USE flag megfelel.
--
Bárki aki aritmetikai módszerekkel akar előállítani egy véletlen számot, az a bűn állapotában leledzik.
- A hozzászóláshoz be kell jelentkezni
Kérdés, hogy tényleg akkora perverzió-e a Gentoo használata. Szerintem, az nagyobb perverzió hogy valaki saját DEB csomagokat gyárt, amik aztán össze-vissza inkompatibilisek a gyári repóval és konstans módon szopik emiatt. :)
- A hozzászóláshoz be kell jelentkezni
Hasznalj hardened profilt -hardened globalis USE flaggel. A legtobb perl, python, etc. flag letiltasra kerul, es explicite kell engedni.
Masik megoldas ezek globalis (make.conf) tiltasa, ugyanis env USE="" emerge > package.use > make.conf > make.profile
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ha valamiért mésem akar az ember pár naponta frissíteni, akkor sincs semmi gáz. Nekem megszakadni nem szokott, legfeljebb az elején ír ki függőségproblémákat (megváltozott valami, stb.), de azokta addigra már fent van a megoldás a neten.
Szóval szerintem sincs több gond a gentooval, mint egy másik rendszerrel, és frissen tartani meg tényleg egyszerűbb. Hátránya is van persze: ha csak egy gépről lenne szó, akkor a fordítások azért soká tartanának (több gép esetén a distcc jelentősen megdobja a sebességet).
- A hozzászóláshoz be kell jelentkezni
En tobb gep eseteben binhostot csinalnek a globalisabb csomagoknak. Ehhez persze korulbelul hasonlo procival kell rendelkezzenek a gepek, hogy ne legyen tul nagy teljesitmenyvesztes. Ilyenkor a specifikusabb csomagok fordulnak az adott gepen, es a make.conf-beli CFLAGS -ot agyon lehet tuningolni - ugyis csak par csomit erint.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni