|
|
ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.
Въпрос |
От: x11r6 (x11r6< at >rambler[ точка ]ru) |
Дата: 12/28/2004 |
Здравейте,
Бих желал да знам,когато emerge инсталира даден пакет,кой е
файлът,от който чете за зависимостите (dependencies) на
дадения пакет?:-)
|
Отговор #1 |
От: paskal |
Дата: 12/30/2004 |
Чете ги от т. нар. "ebuild". Това са кратки тестови
файлове,по-точно скриптове в които са записани зависимостите
и от къде да се свалят,инструкций за компилиране и
инсталиране.Това се шрави автоматично от Portage.
В /usr/portage имаш такива ebuilds за десетки хиляди
пакета, и когато напишеш например
#emerge gaim
Portage чете ebuild-а в /usr/portage/net-im/gaim и
сваля,компилира и инсталира всичко. Перфектна система нали!
Успех
|
Отговор #2 |
От: x11r6 (x11r6 (a) rambler __точка__ ru) |
Дата: 12/30/2004 |
:) Да така е.Ам обаче ме притесняват няколко други
въпросa.Например инсталираме "apache web server",и за да се
компилира успешно,ни трябват зависимости
(dependencies),всичко необходимо се тегли и се компилира
успешно.Сега във /var/cache/edb/world ще бъде вписано,името
на пакета,който сме инсталирали (apache-x.x.xx...),а
неговите зависимости (dependencies) също ли ще бъдат вписани
в този файл?Съответно,когато ъпдейтваме системата,ще трябва
ли да да пишем : emerge --update --deep world или просто
emerge --update world.
Всички системни файлове,нужни за да работи систематa ни,си
имат специален файл от който "emerge" чете,когато
инсталираме някаква системна
програма(/etc/make.profile/packages/,и предполагам,че имат
съответния ebuild в /usr/portage/.../application??????Когато
пишем : emerge --update system , от каде чете в този момент
emerge?Благодаря!:-)
|
Отговор #3 |
От: paskal |
Дата: 01/01/2005 |
Когато дадеш
#emerge edi_kakvo_si,
Portage при всички положения започва да чете ebuld-a от
/usr/portage/. Освен в ebuild-a никъде другаде не се описват
зависимости. После проверява дали
пакетът(библиотека,приложение,драйвер) не е наличен като
сорс код в /usr/portage/distfiles. Погледни конфигурационния
файл на Portage /etc/make.global Там е посочено, че Gentoo
инсталира сорс-кодовете в /usr/portage/distfiles, а също и
доста други работи. Така че като дадеш
#emerge edi_kakwosi,
Portage проверява дали го няма в тази директория и го сваля
ако го няма.
За да дадем update на системата преди това трябва непременно
да изпълним
#emerge sync ,
т.е. първо взимаме последната версия на Portage tree.
В новото дърво са вписани и новите версий на
библиотеки,драйвери и програми.След това вече
#emerge --update world
за да обновим пакетите само с НЕПОСРЕДСТВЕНИТЕ им
зависимости или
#emerge --deep --update world
за да обновим пакетите с ЦЯЛОТО им дърво от зависимости. Тук
има известно разминаване между обяснението в Gentoo
Handbook/Working with Gentoo/Portage introduction /Updating
your System
и това което се чете от #man emerge. Написах ти го според
#man emerge. Но в ръководството пише че с
#emerge --update world се обновяват инсталираните
приложения, а с
#emerge --update --deep world и техните зависимости.
Аз нямам /var/cache/ebd/world, предполагам че се генерире
ако изпълниш
#emerge --update world
,аз не съм го правил.
Ако вместо world пишем system, ще обновим само пакетите
нужни за фунциониране на системата( не знам къде е записано
кои са те. Сещам се,че runlevel-a BOOT също ползва понятието
"пакети нужни за базово функциониране на системата").
Дано съм ти помогнал. Gentoo ме кефи много и се е превърнало
в нещо като хоби. Докумеентацията му е великолепна и засега
на всичките ми проблеми съм намирал решения,единствено не
можах да си инсталирам OpenOffice, не знам защо.Успех!
|
<< Lilo s dva Mandrake (1
) | Icons (0
) >>
|
|
|
|
|