Назад | Перейти на главную страницу

Скрытые возможности FreeBSD?

Для полноты аналогично Скрытые возможности Linux и Скрытые возможности Solaris / OpenSolaris, каковы скрытые возможности FreeBSD?

Я случайно нашел в источнике cp команда (FreeBSD 7.2); в SIGINFO обработчик сигнала: если вы нажмете Ctrl + T, пока cp копирует что-то огромное, вы увидите (вместе с другой информацией) ход операции в процентах!

Документация! В страницы руководства, которые находятся где-то посередине между краткостью и расплывчатостью, характерной для документации Linux, и чрезмерно техническими деталями руководств по Solaris. В справочник, который помогает людям, которые плохо знакомы с системным администрированием, плохо знакомы с FreeBSD или даже плохо знакомы с Unix, начать работу.

Я удивлен, что никто не упомянул тюрьма все же. Подобно зонам в Solaris, тюрьмы предлагают очень удобный и безопасный способ изоляции приложений, а также создания виртуальных хостов.

Старый (в наши дни) - фон fsck и снимки файловой системы.

Мне всегда нравились различные команды 'stat' и способ систат связывает их много вместе. Это отличное дополнение к верхняя. Похоже, что в Linux нет разнообразного набора команд stat, который есть во FreeBSD.

Доступность трех различных фильтров пакетов в соответствии с вашими предпочтениями - ipfw, ipf, и OpenBSD pf.

Вот пара основных из моей сумки для инструментов. Я не учел вещи, которые являются общими для многих Unix-подобных, но многие советы по «скрытым функциям» Linux также можно использовать во FreeBSD.

Я также старался не говорить таких вещей, как «ZFS Rock». Хотя я думаю, что это правда, на самом деле это не так уж и сложно. :-)

Конфигурация консоли:

  • На локальной консоли ванильной системы, если клавиатура бездельничать, ты можешь использовать kbdcontrol -r fast чтобы увеличить задержку клавиатуры и частоту повтора.
  • Вы можете использовать /boot.config файл (да, это файл в корне /), чтобы использовать как последовательный порт, так и видео / клавиатуру для консоли. Видеть man boot(8).
  • Клавиши Alt-F [1-8] открывают виртуальные консоли, а lock -nvp позволит вам заблокировать их всех, если вам нужно немного уйти.
  • Нажатие на Scroll Lock позволяет вам использовать PageUp / PageDown, чтобы увидеть предыдущие экраны, которые скатывались с верхней части вашего монитора.

Системное администрирование:

  • Вы можете настроить версии ряда файлов конфигурации для всего сайта и для конкретных коробок, используя .local суффикс, особенно /boot/loader.conf.local и /etc/rc.conf.local. Например, то, что вы включаете во всех системах (например, sshd) может войти в /etc/rc.conf, а локальные переопределения (например, конфигурации интерфейса, имена хостов, локальные демоны и т. д.) могут входить в /etc/rc.conf.local. Это простой способ выдвинуть боковые изменения без перезаписи специфичных для боксов. rc прочее. Это не сравнится с Puppet или его аналогами, но это легкий способ распределенной конфигурации.
  • Полный исходный dmesg во время загрузки всегда доступен в /var/run/dmesg.boot .
  • top -mio показывает лучших говорящих по вводу-выводу.
  • Для создания моментальных снимков файловой системы необязательно использовать ZFS - см. mksnap_ffs(8). Не такой полнофункциональный, как ZFS, но простое дополнение к существующим файловым системам UFS. Эти снимки можно смонтировать с помощью mdconfig.
  • В /etc/fstab, если вы настроите тип монтирования (четвертое поле) как xx, эта строка монтирования игнорируется - отлично подходит для документирования пустых разделов.
  • man hier объясняет структуру файловой системы на высоком уровне.
  • Использовать mdconfig для монтирования ISO.
  • Ты можешь использовать /etc/login.conf чтобы изменить функцию хеширования пароля по умолчанию на blowfish с помощью passwd_format:blf.
  • Если вы запускаете собственное ядро, вы можете создать конфигурацию ядра, включив существующую конфигурацию ядра по ссылке, а затем просто добавив различия. Вы также можете переопределить унаследованные элементы с помощью nooptions, nodevice и nomakeoptions. Например, вот как сделать ядро, которое включает в себя все GENERIC, но просто добавляет некоторые параметры отладки и несколько настроек (и это весь файл):
include GENERIC

ident           DEBUG-GENERIC

options         KDB
options         DDB
nooptions       COMPAT_FREEBSD4
nooptions       COMPAT_FREEBSD5
nooptions       COMPAT_FREEBSD6

# This is actually the default; just an example.
makeoptions     DEBUG=-g

nodevice        atkbdc
nodevice        atkbd
nodevice        psm

Управление портами и программное обеспечение:

  • portinstall и portupgrade есть -c вариант, который задает вам все эти вопросы о конфигурации порта перед начинается загрузка и установка, что значительно экономит время.
  • Вы можете сообщить обо всех портах с известными проблемами безопасности с помощью security/portaudit. Он также добавляет свой собственный отчет к ежедневным выводам безопасности.
  • Если вам нужно отменить принудительное применение безопасности для установки определенного порта (надеюсь, только для внутреннего или временного использования!), Вы можете export DISABLE_VULNERABILITIES=yes.
  • portsclean -D удаляет все дистрибутивные файлы, на которые не ссылаются никакие активные порты.
  • ports-mgmt/portdowngrade позволяет вам перейти на определенную версию порта - очень удобно, если вы обнаружите, что ваше обновление сломало что-то важное. Для этого сначала требуется экспортировать переменную среды ANONCVS, содержащую URL-адрес CVS (о котором я всегда забываю и должен искать).
  • Ты можешь использовать ports-mgmt/pkg_cutleaves для удаления пакетов, у которых нет других зависимостей. Использовать /usr/local/etc/pkg_leaves.exclude чтобы сохранить список пакетов, которые вы всегда хотите сохранить, но от которых не зависят никакие другие пакеты.
  • Двоичная совместимость с Linux.
  • Если вы используете сервер, добавьте WITHOUT_X11=yes к /etc/make.conf для автоматического пропуска X для большинства (корректных) портов.
  • Заметка @Henry Flower об отправке SIGINFO на адрес cp для информации о прогрессе также работает для dd.
  • Мой список портов на каждой коробке включает arping, bash, coreutils, dmidecode, dnstop, lsof, mcelog, multitail (очень мощный), portaudit, portdowngrade, portupgrade, pstree, rsync, screen, smartmontools, strace, sudo, vim и wget.

Отредактировано, чтобы исправить потерянную конфигурацию ядра и незначительную грамматику.

sysctl и все, что вы можете изменить с помощью этого механизма.

DTrace, потому что он довольно новый для системы

% grep -A4 JOKE /usr/src/usr.bin/make/job.c
#ifndef WITHOUT_OLD_JOKE
                                if (strcmp(gn->name,"love") == 0)
                                        (*abortProc)("Not war.");
                                else
#endif
% make love
Not war.
Exit 2

Простота и контроль - базовая установка BSD намного компактнее, чем типичная. Дистрибутив Linux. Видеть это сообщение для краткого сравнения * BSD с другими операционными системами.

Не скрытые (они довольно распространены), но критичные для базового использования FreeBSD:

  • uname -aar
  • выборка портов; экстракт порстнапа