- FreeBSD
- Linux
Очередность запуска сервисов FreeBSD.
Посмотреть очередность запуска сервисов в freebsd.
#rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
Запустить или остановить службу можно скриптом, который лежит в папке /etc/rc.d/ .
сетевые службы. Система FreeBSD 5.x/6.x скрипт для работы с сетевыми интерфейсами -> netif . Доступен только для рута (root):
Стартуем FreeBSD сетевую службу:
# /etc/rc.d/netif start
Остановить FreeBSD сетевую службу:
# /etc/rc.d/netif stop
restart FreeBSD сетевую службу:
# /etc/rc.d/netif restart
То-же самое при помощи ifconfig (если много сетевух и нет необходимости "ложить" все сетевые интерфейсы)
положить сетевуху (NIC) внаглую:
# ifconfig network-interface down
Запустить сетевой интерфейс (NIC):
# ifconfig network-interface up
Просмотреть список отключенных интерфейсов:
# ifconfig -d
Список включенных сетевух:
# ifconfig -u
FreeBSD обновить / перезагрузить таблицу маршрутизации (routing)
Обязательно надо обновить "routing table" после перезагрузки сетевой службы:
# /etc/rc.d/routing restart
Сделать все через ssh подключение:
Надо ввести команды как одну. Тогда все выполнится в фоновом режиме и никаких проблем с боевым серваком не возникнет:
# /etc/rc.d/networking restart && /etc/rc.d/routing restart
Программные реализации RAID, появившиеся в FreeBSD с версии 5.3:
* gstripe(8) обеспечивает чередование или RAID 0
* gmirror(8) обеспечиват зеркалирование/дуплекс или RAID 1
* graid3(8) обеспечивает чередование с контролем четности или RAID 3Начальная g указывает на то, что эти утилиты пользуются возможностями, которые предоставляет GEOM (модульная дисковая структура).Конфигурирование зеркалирования/дуплекса:Для того чтобы сделать RAID1, необходимо иметь два идентичных (одного производителя и емкости) жестких диска.
# sysctl kern.geom.debugflags=16
kern.geom.debugflags: 0 -> 16 (необходимое изменение системы для возможности выполнения следующей команды) # gmirror label -v -b round-robin gm0 /dev/ad0
Metadata value stored on /dev/ad0 (gmirror label создает зеркало, функция -v включает режим отладки, -b round-robin выбирает алгоритм балансировки (в настоящее время это наиболее быстродействующий алгоритм), gm0 - имя первого зеркала GEOM и /dev/ad0 указывает на диск, содержащий данные для зеркалирования.) # echo geom_mirror_load="YES" > /boot/loader.conf (автоматическая загрузка модуля geom) В /etc/fstab изменяем каждый ad на gm и вставляем mirror после /dev. (прим. /dev/ad0s1a редактируем на /dev/mirror/gm0s1a) # reboot # gmirror insert gm0 /dev/ad2
GEOM_MIRROR: Device gm0: provider ad2 detected.
GEOM_MIRROR: Device gm0: rebuilding provider ad2. (вставляем второй диск в зеркало). # gmirror list # gmirror status # gstat
При загрузки выбрать 6 пункт меню (loader prompt) OK unload OK load kernel.old (/boot/kernel.old/kernel или /boot/kernel.GENERIC/kernel) bootВозможно загрузчик может не видеть диск с которого нужно загружать ядро, тогда нужно воспользоваться командой:
OK set currdev=disk1s1aOK set rootdev=disk1s1aили командой lsdev просмотреть список известных дисков и разделов, чтобы поставить свой вместо disk1s1a.
# cd / (заходим в тот каталог, который хотим скопировать) # pax -p eme -X -rw . /mnt (в /mnt предварительно подмантировать тот накопитель, на который будут копироваться файлы)
Загрузится в single user mode.
Для того, чтобы fetch шел через прокси-сервер, а не на прямую, в /etc/make.conf необходимо добавить:HTTP_PROXY="http://192.168.0.1:3128"
FTP_PROXY="http://192.168.0.1:3128"Также при закачке портов fetch можно заменить на wget для этог в /etc/make.conf нужно добавить FETCH_CMD=wget
При необходимости можно использовать принудительную установку приложения(порта) командой:make FORCE_PKG_REGISTER=YES install
1. acpi_load="NO" - добавить в loader.conf
2. unset acpi_load - если ядро не грузится
3. hint.acpi.0.disabled="1" - добавить в /boot/device.hints
4. loader.acpi_disabled_by_user="1"
Если Вам нужен список пользователей системы выполняем скрипт:
cat /etc/passwd | cut -d: -f1 | grep -v \#
The cut command selects portions of a file. We use ":" as the delimiting character. And we want only the first field. The grep eliminates lines with # in them, which normally appear at the start of the password file.
Exercises for the interested and motivated:
* try the above command without the grep
* remove the \ before the #
* try -f5 instead of -f1.


поиск текста в
поиск текста в файлах папки и рекурсивно подпапках
find /dir/to/be/searched -name '*.*' -exec grep 'search string' {} /dev/null \;
Запустить или
Запустить или остановить службу можно скриптом, который лежит в папке /etc/rc.d/ .
Нас итересуют сетевые службы - ими и займемся. Система FreeBSD 5.x/6.x скрипт для работы с сетевыми интерфейсами -> netif . Доступен только для рута (root):
Стартуем FreeBSD сетевую службу:
# /etc/rc.d/netif start
Остановить FreeBSD сетевую службу:
# /etc/rc.d/netif stop
restart FreeBSD сетевую службу:
# /etc/rc.d/netif restart
Manual method using ifconfig
положить сетевуху (NIC) внаглую:
# ifconfig network-interface down
Запустить сетевой интерфейс (NIC):
# ifconfig network-interface up
Просмотреть список отключенных интерфейсов:
# ifconfig -d
Список включенных сетевух:
# ifconfig -u
FreeBSD обновить / перезагрузить таблицу маршрутизации (routing)
Обязательно надо обновить "routing table" после перезагрузки сетевой службы:
# /etc/rc.d/routing restart
Как рестартонуть сетевую службу через ssh подключение?
Надо ввести команды как одну. Тогда все выполнится в фоновом режиме и никаких проблем с боевым серваком не возникнет:
# /etc/rc.d/networking restart && /etc/rc.d/routing restart
`.cshrc`:setenv
`.cshrc`:
setenv SOCKS_SERVER 192.168.1.1:1080
setenv HTTP_PROXY 192.168.1.1:3128
setenv HTTP_PROXY_AUTH "basic:*:user:pass"
Для того, чтобы при выполнении make качалка ( fetch) лезла в инет можно
в /etc/make.conf прописать
HTTP_PROXY="http://PROXY_IP:PROXY_PORT"
FTP_PROXY="http://PROXY_IP:PROXY_PORT"
а в переменные среды вписать
setenv HTTP_PROXY "http://user:pass@PROXY_IP:PROXY_PORT"
FTP_PROXY "http://user:pass@PROXY_IP:PROXY_PORT"
user и pass - это данные авторизации на PROXY
Обновление портов
Обновление локального дерева портов.
Программное обеспечение для FreeBSD постоянно усовершенствуется. И чтобы идти в ногу со временем, нужно хотя бы раз в месяц обновлять его.
В данной статье мы рассмотрим обновление локального дерева портов и немного затронем обновление программ при помощи набора портов.
Порт - это один из очень удобных способов установки программного обеспечения для FreeBSD. Чтобы установить нужную программу достаточно войти в директорию с нужным портом и дать всего одну команду make
install.
Что же происходит при выполнении make install?
1. Если в каталоге /usr/ports/distfiles не обнаружен устанавливаемый пакет, то выполняется команда make fetch. Загружается с ftp сервера исходный tar-архив и копируется в каталог /usr/ports/distfiles. Проверяются зависимость от других пакетов, нужные скачиваются.
2. Выполняется команда make checksum. Т.е. проверяется подлинность архива tar.
3. Далее архив расспаковывается в рабочий каталог work (make extract).
4. В исходный код вносятся исправления из каталога files (make patch).
5. Выполняется сценарий конфигурирования make configure.
6. Компилируется исходный код (make build)
7. Копирование файлов в соответствующие каталоги (make install).
После инсталляции порта, запись о нем создается в каталоге /var/db/pkg/.
Ну чтож за дело! Для обновления локального дерева портов нам понадобится пакет cvsup. Установим его.
# cd /usr/ports/net/cvsup/
# make install
Создадим конфигурацию при помощи псевдо-порта cvsupit
# cd /usr/ports/net/cvsupit/
# make
# make install
На экране должно появится меню псевдо-порта cvsupit. Выберите пункт меню The 5.0-current branch (.=HEAD). В остальных меню примите все по умолчанию (не устанавливайте исходники /src) и откажитесь от обновления
CVSup.
В каталоге /etc должен появится файл cvsupfile. Откройте его и закоментируйте все строки начинающиеся с src. Должно получится примерно следующее:
*default host=cvsup.ru.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs
*default tag=.
*default delete use-rel-suffix
# src-all
*default tag=.
ports-all
doc-all
А теперь самое главное - обновляем порты:
# /usr/local/bin/cvsup -g -L 2 /etc/cvsupfile
Я обновляю дерево портов каждую неделю через cron. Я создал файлик cvsup_up.sh в /usr/local/sbin/ и поместил в него команду обновления портов (см. выше). В /etc/crontab добавил следующую строчку
35 23 * * 6 root /usr/local/sbin/cvsup_up.sh
Чтобы посмотреть какие программы мне нужно обновить, я использую команду
# pkg_version -v > /tmp/newport
Для обновления какой-либо программы заходим в нужный порт и последовательно выполняем следующие команды:
# make clean
# make
# pkg_delete -f имя_пакета
# make install clean
имя_пакета - это название установленного ранее пакета (например cvsup-6.1_3)