Gentoo

Од Сподели wiki
Прејди на прегледникот Прејди на пребарувањето

„Gentoo е слободен оперативен систем базиран на Linux или на FreeBSD кој може автоматски да се оптимизира и приспособи за било која апликација или потреба. Некои од позначајните работи за Gentoo се екстремната конфигурабилност, перформанси и елитната корисничка и програмерска заедница.

Благодарејќи на технологијата наречена portage, Gentoo може да се претвори во идеален безбеден сервер, развојна станица, професионален десктоп, станица за играње игри или било што друго т.е. се што сакате вие да биде. Поради големата адаптибилност Gentoo се нарекува метадистрибуција.“ Преземено од официјалната страница на Gentoo [1]

Што е Gentoo?

Gentoo дистрибуцијата за кратко време стана синоним за брза, стабилна дистрибуција, како и проширлива и портабилна на различни системи. Не беше чудно што првото портирање на Linux на iMac беше баш користејќи ја Gentoo дистрибуцијата. Корисниците на Gentoo се обично луѓе кои бараат да го искористат целиот потенцијал на нивниот хардвер, како и да бидат во контрола на се што се случува во оперативниот систем и апликациите. Gentoo дистрибуцијата го има добиено своето име по gentoo пингвините.

Portage

Portage всушност преставува систем за работа со пакети, кој на Gentoo корисниците им овозможува да го приспособуваат системот и апликациите за своите потреби. Заради таа причина сите пакети се симнуваат во форма на извoрен код (со мал број на исклучоци) и потоа се компајлираат, целата таа процедура е повикана, надгледувана и извршена од страна на emerge. Со portage се работи од командна линија т.е. користејќи ја наредбата emerge, но има и фронтенди како на пример: portagemaster (java базиран), porthole (GTK базиран), kentoo и kuroo (qt базирани) и сл.

USE знамиња

Работата со portage подразбира и користење на т.н. USE знамиња. На секој пакет при компајлирање може да му се зададат параметри со кои тој ќе се компајлира. Кај бинарните дистрбуции, опциите при компајлирање на пакетите за да се добијат бинарни пакети, обично се прават од страна на развивачот т.е. се што е според развивачот потребно при компајлирање на еден пакет. Kaj Gentoo корисниокот има целосна контрола врз тоа со кои опции ќе се компајлира пакетот, а тоа е овозможено преку USE знамиња. Постојат два типа USE знамиња: глобални и апликациски. Глобалните се задаваат во /etc/make.conf, додека апликациските се задаваат во /etc/portage/package.use во форма: група_на_апликација/име_на_апликација use1 use2 -use3 ...

Ebuild-ови

Начинот на кој portage системот работи со пакети е преку bash скрипти наречени ebuild. Во еден ebuild се содржат параметрите од каде да се симне програмот и печевите, како да се аплицираат печевите, како да се компајлира програмот и сл. Ebuild-овите се наоѓаат во дрвото на portage кое се наоѓа на самиот фајлсистем и има структура: група_на_апликации/име_на_апликација/ebuild-ови.

Маскирање

Поради стабилност на системот како и кај сите дистрибуции така и кај Gentoo пакетите се маскираат. Постојат два типа на маскирање кај Gentoo, а тоа е по клучен збор (keyword) и по тешка маскираност (hard masked). Обично пакетите и нивните нови верзии кога влегуваат во portage дрвото се тешко маскирани (обично за апликациите како Gnome, KDE, Xorg и сл. поради нивната структуа и големина). По тестирање на пакетите и по утврдување на некоја стабилност т.е. апликацијата не е стабилна, но не предизвикува проблеми на системот, пакетот влегува во маскираност по клучен збор. Програмот е одмаскиран во моментот кога е утврдено дека во Gentoo дистрибуцијата работи перфектно. Работата со маскирани пакети се работи со внесување на групата_на_апликација/името_на_апликацијата во посебни датотеки на фајлсистемот и тоа:

  • /etc/portage/package.keywords - за одмаскирање по клучен збор
  • /etc/portage/package.unmask - за одмаскирање на тешко маскирани пакети
  • /etc/portage/package.mask - за маскирање на пакети

Клучните зборови се внесуваат во зависност на архитектурата на системот: ~x86, ~sparc, ~ppc итн.

Init систем

Освен portage, типично за Gentoo е и неговиот иницијализциски систем (init system) кој е сличен со System V иницијализацискиот систем, само што кај Gentoo, нивоата на работа (runlevels) се со зборови и има иницијализација по зависност (dependency). За работа со иницијализациските нивоа на работа Gentoo има наредбi како rc-update и rc-status. Оваа функционалност на Gentoo системот е една од омилените функционалности на Gentoo системот.

Врски