LINUX.ORG.RU

bash-completion и bashrc

 , , , ,


0

1

Два вопроса.

1) bash-completion для emerge выдаёт только пакеты из оверлеев. Как починить?

2) Мне нужно, чтобы у рута был /usr/local/bin в PATH. Добавил в /etc/env.d/99local ROOTPATH=«/usr/local/bin» - не появляется. Хотя http_proxy, выставленная там же, вполне себе появляется. Что может быть не так? В /etc/bash/bashrc добавил только свой PS1 и source /etc/profile.d/bash-completion.sh


Ответ на: комментарий от alextk

/usr/local не нужен. И вообще /usr/ не нужен.

раньше всё работало.

у меня и сейчас работает. Патрег не такой упоротый, как ваши леннартофилы.

emulek
()

Возможно это из-за профиля, что у тебя в /etc/profile?

if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
	PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}"

unclear
()
Ответ на: комментарий от alextk

Мне все свои скрипты в /bin кидать?

яхз. Спроси Леннарта Поцтеринга. Лично я считаю, что часто полезен не только раздел /usr, но и отдельный раздел /usr/local — удобно клонировать сервера, если в /usr/local ставить только самосбороное ПО(и скрипты), а всю систему в /usr/. Раньше оно так везде по дефолту и было, и в PATH /usr/local/bin был, причём перед /usr/bin. Но сейчас очевидно всё у вас поменяли. Страдай.

emulek
()
Ответ на: комментарий от alextk

Как-то это неправильно.

что значит неправильно? А та дичь, которую ты устраиваешь в системе, вместо пользовательской (в данном случае пользователя root) - правильно что-ли?

clojure
()
Ответ на: комментарий от unclear
if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
        PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}"
else
        PATH="/usr/local/bin:/usr/bin:/bin:${PATH}"
fi
alextk
() автор топика
Ответ на: комментарий от emulek

системой раньше всё работало

Это значит, что до пересборки системы у меня /usr/local/bin вполне был в $PATH.

Если ты пришёл сюда покукарекать - так и говори.

alextk
() автор топика
Ответ на: комментарий от alextk

Выполни echo $PATH, если нету /usr/local/bin, попробуй env-update && source /etc/profile, перезапусти родительский процесс bash'а, если есть то возможно забыл дать права на выполнение для /usr/local/bin/*

unclear
()
Ответ на: комментарий от alextk

PATH=«/usr/local/sbin:/usr/local/bin

ну здесь у тебя есть. Теперь смотри, почему у тебя /etc/profile не запускается, и/или что потом $PATH переписывает.

И да, как тут пишут выше, попробуй руками выполнить env-update && source /etc/profile

PS: чувствую ты скажешь К.О., но почему ты до сих пор этого всего не сделал?

emulek
()
Ответ на: комментарий от emulek

отдельный раздел /usr/local — удобно клонировать сервера, если в /usr/local ставить только самосбороное ПО

пакетировать надо

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

Все в один пакет же. Или написать враппер, собирающий автоматом, или хотя бы в хомяк складывать.

яхз. Кто как хочет, тот так и дрочит.

emulek
()
Ответ на: комментарий от lazyklimm

мне пофиг. /usr/local это удобная локальная помойка. Традиционно, и не только в Slackware. И нужна она как раз для того, что-бы помойка не начиналась с корня, в который ставят всё подряд.

emulek
()
Ответ на: комментарий от unclear

Апдейт и сорс работают, но не после перезагрузки.

alextk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.