Помощь - Поиск - Участники - Календарь
Полная версия: Portage и компиляция ручками
LinuxForum > Дистрибутивы > Gentoo
Ych
помогите, пожалуйста, чайнику
в моей Gentoo установлен MySQL 4.0.20 через emerge (он же запускается, если ввести просто mysql).
А также ручками установлен MySQL 4.1.7 из tar архива (сторонним спецом). Находится он /usl/local/mysql, настроен и работает.
Нужно прописать его в дерево портежей. Нашел в ФАКах такой совет:
QUOTE
3.9. Я хочу выполнить ./configure самостоятельно. Могу я это сделать?

Сначала, следуя man ebuild, сделайте ebuild foo-x.y.z.ebuild unpack. Затем - cd /var/tmp/portage/foo-x.y.z/work. После чего можете вручную выполнить ./configure и ... . Для окончательного завершения Portage инсталляции (так, чтобы вы могли легко удалить пакет позже), .... и тогда он будет зарегистрирован в Portage как возможная зависимость. Сначала - touch /var/tmp/portage/foo-x.y.z/.compiled (трюк, после которого Portage думает, что это он завершил компиляцию), затем выполнить ebuild ebuild foo-x.y.z.ebuild merge.

Смущает последнее: ebuild-пакета нет, а если его скачать, то эта операция не завалит ли уже работающий MySQL? Что, вообще, эта команда делает?
Или нужно делать все по-другому?
DeadFish
В теории, думаю, это нужно сделать примерно так:

1) Скачать нужный ebuild.

2) Воспользоваться СЛОТами, чтобы можно было установить несколько версий одного и того же пакета. (сам этими слотами не пользовался, даже не представляю как это работает, только читал, что эта фича присутствует в портежах).

3) Поправить пути в ebuild-файле (или как это сделать удобнее?), чтоб портежам было ясно, что эта версия лежит в /usl/local/mysql.

4) Сделать emerge inject <нужный.ebuild>, чтобы занести пакет в базу.

Смотри документацию и форум на gentoo.org, думаю там всё описанно.
Только стоит ли мучаться ради одного незарегестрированного пакета?
Ych
Наверное, ты прав, мучиться не стоит.
Где мне тогда прописать, чтобы по команде mysql запускался из /usr/local/mysql?
aLexx programmer
Вместо /usr/bin/mysql (или где он там у тебя - тот, который старый) нужно прописать симлинк:
cd /usr/bin/
mv mysql mysql-old - это на всякий случай
(или просто rm mysql)

ln -s /usr/local/mysql mysql - создание ссылки

Теперь при запуске mysql будет запускаться новый mysql из /usr/local/
DeadFish
QUOTE(Ych)
Где мне тогда прописать, чтобы по команде mysql запускался из /usr/local/mysql?

Можно в $HOME/.bashrc добавить:
CODE
alias mysql="<путь до старого mysql>"
aLexx programmer
Так даже лучше. Только надо сделать это для всех пользователей, работающих с mysql.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2005 Invision Power Services, Inc.