Загадки FreeBSD

  За много лет моих занятий с FreeBSD у меня накопилось несколько очевидных вопросов. Возможно, кто-нибудь сможет мне объяснить в чём тут суть.

  • Зачем нужны слайсы ? Какая у них технологическая нагрузка ?
  • Как с помощью команды route посмотреть таблицу рутинга. Если это невозможно, то почему эта команда так называется ?
  • Почему IDE диски называются “ad“, а SCSI – “da” ? В чём идея ?
  • Зачем у каждого NIC своё название устройства, а не как в Linux – eth0, eth1 и так далее ?
  • Почему bash требует ключи перед аргументом, тогда как в Linux порядок не важен ?
  • Как посмотреть список железа, если /var/run/dmesg.boot отсутствует ?
  • Почему нет нормальной стандартной утилиты для конфигурации ядра, которая бы отслеживала зависимости и предоставляло справку как menuconfig в Linux ? Ну разве так трудно это сделать ?
  • Почему брандмаур pf работает по правилу “последнее правило побеждает”, но в то же время имеет опцию quick
  • Какого хрена portupgrade не показывает информативные сообщения портов в самом конце в суммарном виде, а только после сборки каждого отдельного порта ? Если обновилось двадцать портов то нужно прокручивать километры вывода что-бы найти нужное :(

  Надеюсь на наличие логически обоснованных ответов на эти загадки века :)

Tags: ,

7 Responses to “Загадки FreeBSD”

  1. Luxy says:

    Потому что freebsd не нужен

  2. * says:

    да, видимо жизнь в Латвии действительно нелегкая…

  3. anonymous says:

    > • Зачем нужны слайсы ? Какая у них технологическая нагрузка ?

    Совместимость из прошлого. Сейчас для совместимости есть GPT и gpart(8).
    Так что можно забыть о DOS’овской таблице разделов.

    > • Почему bash требует ключи перед аргументом, тогда как в Linux порядок не важен ?

    Нет bash’а во фре по дефолту. Возвращайся обратно на линукс или используй tcsh/zsh.

    > • Как посмотреть список железа, если /var/run/dmesg.boot отсутствует ?

    В /var/log/messages. Или grep не осилил?

    > • Почему нет нормальной стандартной утилиты для конфигурации ядра, которая бы отслеживала зависимости и предоставляло справку как menuconfig в Linux ? Ну разве так трудно это сделать ?

    А это чтобы ты не забывал читать man pages по тем вещам, что добавляешь в конфиг.

    > • Почему брандмаур pf работает по правилу “последнее правило побеждает”, но в то же время имеет опцию quick

    А в чем вопрос? На мой взгляд quick очень удобная вещь при составлении правил, чтобы заблокировать/пропустить соединение не выходя из контекста (не думая о последующих правилах). Кроме как того как эта опция ускоряет проход правил, так она еще очень удобна для дебага всяких аномалий.

    > • Какого хрена portupgrade не показывает информативные сообщения портов в самом конце в суммарном виде, а только после сборки каждого отдельного порта ? Если обновилось двадцать портов то нужно прокручивать километры вывода что-бы найти нужное :(

    А оно по дефолту разве не так? Попробуй –emit-summaries тогда.

  4. deniss says:

    Спасибо-спасибо :)
    Вот бы ещё хотелось услышать:
    является ли tcsh/zsh адекватной и равнозначной заменой bash в функциональном плане ?
    Что делать если uptime больше года а /var/log/messages ротируется каждую неделю (так ведь там по умолчанию?)
    Почему в файле NOTES по ядру описпано меньше половины опций и зависимостей и в каком мане читать остальное если нет интернета ?
    Опция quick в pf это IMHO костыль к изначально неудачной идее “last win”.

  5. deniss says:

    tcsh убогий и в нём ТОЖЕ ‘ls -la somedir’ != ‘ls somedir -la’ !

  6. Danaki says:

    Тебе не кажется странным, что одна и та же /usr/bin/ls под разными шеллами по-разному парсит аргументы? Запусти под strace (или аналогом) и проанализируй как там выглядит вызов exec() в обоих случаях.

    Похоже дело в стандартах. Мне лень искать описание соответствующего POSIX, но из man 3 getopt “ENVIRONMENT -> POSIXLY_CORRECT -> If this is set, then option processing stops as soon as a non-option argument is encountered.”, уже говорит о многом. Так что если ls у тебя работает так, как ты описал, то это некорректно и вполне может не работать в другой системе, такой, например, как Solaris, HP-UX или FreeBSD.

Leave a Reply