Решено: Вопрос про мир

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Nikoli
Сообщения: 554
Статус: Житель
ОС: Gentoo

Решено: Вопрос про мир

Сообщение Nikoli »

В файле /var/lib/portage/world , как я понимаю, хранится список пакетов, которые системе сказали поставить. Но они там в каком-то нелогичном порядке, почему они там не по алфиту? Конечно всегда можно сделать cat /var/lib/portage/world |sort , но быть может где-то это можно настроить?
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Вопрос про мир

Сообщение ddc »

Nikoli писал(а):
05.05.2007 17:19
В файле /var/lib/portage/world , как я понимаю, хранится список пакетов, которые системе сказали поставить. Но они там в каком-то нелогичном порядке, почему они там не по алфиту? Конечно всегда можно сделать cat /var/lib/portage/world |sort , но быть может где-то это можно настроить?
Неа. world создаётся автоматически силами portage и для внутреннего использования (обратите внимание, в конце файла даже нет новой строки). Поскольку на читаемость конечным пользователем никто и не посягает, настроек соответствующих нет. Пользуйтесь sort или запишите себе куда-нибудь (в "/usr/local/bin", например) скриптик соответствующего содержания, чтобы при команде, например, catworld у Вас выдавался результат "cat /var/lib/portage/world | sort"...
Спасибо сказали:
Nikoli
Сообщения: 554
Статус: Житель
ОС: Gentoo

Re: Решено: Вопрос про мир

Сообщение Nikoli »

Наверно это будет наиболее правильным решением, но возникает опасность совпадения имени файла моего скрипта и исполняемых файлов, созданных emerge. Определить свободно ли имя легко, но что, если после создания мною скрипта emerge захочет создать исполняемы файл с таким же именем? как определить, что это случилось?
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Вопрос про мир

Сообщение ddc »

Nikoli писал(а):
05.05.2007 23:26
Наверно это будет наиболее правильным решением, но возникает опасность совпадения имени файла моего скрипта и исполняемых файлов, созданных emerge. Определить свободно ли имя легко, но что, если после создания мною скрипта emerge захочет создать исполняемы файл с таким же именем? как определить, что это случилось?
Определить очень просто: если Вы набираете исполняете свой скрипт и получаете неожиданный результат, значит emerge создала такой файл.
Но если Вы назовёте скрипт вроде myworldfilecontents, то едва ли это имя окажется занято. Основные принципы выбора имени:
  • из названия должно быть понятно, что делает скрипт;
  • минимум первых букв будет уникален - меньше придётся набирать перед нажатием [Tab];
  • название лучше взять длинное - меньше вероятность совпадения.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Решено: Вопрос про мир

Сообщение serzh-z »

Nikoli писал(а):
05.05.2007 23:26
но возникает опасность совпадения имени файла моего скрипта и исполняемых файлов, созданных emerge
Для пользовательских исполняемых файлов есть иерархия каталогов в /usr/local, либо в ~/
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Вопрос про мир

Сообщение ddc »

serzh-z писал(а):
06.05.2007 01:46
Для пользовательских исполняемых файлов есть иерархия каталогов в /usr/local, либо в ~/
Я подозреваю, что Nikoli имел в виду, что файл из /usr/bin совпадёт с его скриптом по названию, и поэтому из них двоих что-то одно не будет запускаться.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Решено: Вопрос про мир

Сообщение serzh-z »

ddc писал(а):
06.05.2007 01:59
Я подозреваю, что Nikoli имел в виду, что файл из /usr/bin совпадёт с его скриптом по названию, и поэтому из них двоих что-то одно не будет запускаться.
Именно это я и имел в виду. Помещать свои скрипты в /bin, /usr/bin и т.д. - это более чем дурной тон, для этого есть более правильные каталоги и переменная PATH.
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Вопрос про мир

Сообщение ddc »

serzh-z писал(а):
06.05.2007 02:10
Именно это я и имел в виду. Помещать свои скрипты в /bin, /usr/bin и т.д. - это более чем дурной тон, для этого есть более правильные каталоги и переменная PATH.
Не, я так понял, что речь идёт не о том, что скрипт перезапишется/блокирует пакет, а что он просто не будет вызываться, потому что перед /usr/local/bin/ будет проверен /usr/bin/, где будет программа с таким же именем.
А вообще как-то даже интуитивно понятно, что если в $PATH есть /usr/bin/, в который всё устанавливается, и /usr/local/bin/, в который не устанавливается ничего, отсебятину надо складывать в последний...
Спасибо сказали:
calculator
Сообщения: 145
ОС: Gentoo

Re: Решено: Вопрос про мир

Сообщение calculator »

А если просто, то есть:

Код: Выделить всё

# alias
alias eqb='equery b $*'
alias eqd='equery d $*'
alias eqf='equery f $*'
alias equ='equery u $*'
alias iptv='iptables -nvL --line-numbers'
alias iptvm='iptables -nvL --line-numbers -t mangle'
alias iptvn='iptables -nvL --line-numbers -t nat'
...
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Вопрос про мир

Сообщение ddc »

calculator, Вы имели в виду просто alias поставить? Можно и так, скрипт простой...
Спасибо сказали:
Nikoli
Сообщения: 554
Статус: Житель
ОС: Gentoo

Re: Решено: Вопрос про мир

Сообщение Nikoli »

Спасибо всем за ответы. Создал скрипт в /usr/local/bin/, думаю проблем не будет.
Во многих дистрах /usr/local/ - каталог для самодеятельности?
Спасибо сказали:
Аватара пользователя
(asper
Бывший модератор
Сообщения: 1661
Статус: nano vi sed awk !
ОС: Работает как часы !

Re: Решено: Вопрос про мир

Сообщение (asper »

calculator писал(а):
07.05.2007 00:54
А если просто, то есть:

Код: Выделить всё

# alias
alias eqb='equery b $*'
alias eqd='equery d $*'
alias eqf='equery f $*'
alias equ='equery u $*'
alias iptv='iptables -nvL --line-numbers'
alias iptvm='iptables -nvL --line-numbers -t mangle'
alias iptvn='iptables -nvL --line-numbers -t nat'
...

И ещё распечатать его и повесить на стену, чтоб помнить где какой eq? что значит, имхо проще equ+tab b $*
Сомнительно доброе привидение
Спасибо сказали:
calculator
Сообщения: 145
ОС: Gentoo

Re: Решено: Вопрос про мир

Сообщение calculator »

Vlady, да мне таб лень каждый раз там нажимать :-) При том команда же составная alias equ='equery u $*' Так что память работает отлично. А в общем алиасы конечно более ентересны на длинные команды.
Спасибо сказали: