четверг, 1 июля 2010 г.
Шпаргалки по FreeBSD
Очередность запуска сервисов 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
#su other user (работаем от другого юзера)
#su (работаем от юзера root)
Перезагрузка
#reboot
#shutdown -h now
#shutdown -p now (выключить)
Защищенное распространение дерева портов
/etc/portsnap.conf
Первый запуск (после него обязательно выполнить обновление дерева портов)
#portsnap fetch (примерно 41мб)
#portsnap extract
Обновление дерева портов
#portsnap fetch update
Постоянно обновлять (смысла в этом, как правило, нет)
/etc/crontab
Ежедневно
0 3 * * * root portsnap -I cron update && pkg_version -vIL=
Поиск порта
#whereis <название_порта>
или
#cd /usr/ports
#make search name=<название_порта>
#make search key=
или
#cd /usr/ports
#locate <название_порта>
Работа с портами
./configure - конфигурация пoрта/пакета (настройки конфигурации порта по умолчанию
хранятся в папке /var/db/ports/_имя_порта_ удаляем настройки #rm -dfr /var/db/ports/_имя_порта_)
make configure - аналог ./configure
make - сборка
make instal - устанoвка
make clean - убрать мусор текущего порта или весь если дать из /usr/ports
make all install clean - установить и сразу убрать мусop
make deinstal - удалить пopт, при этом конфиги и данные надо будет удалить вручную
make reinstal - переустанoвить порт
portupgrade - переустановка порта
pkg_info - информация о установленных портах
Работа с архивами
tar -zxvf <архив> - распаковать tar.gz
tar -xvf <архив> - распаковать в tar
tar -zcvf <архив> <что_архивировать> - запаковать в tar.gz
Оболочки
MC - Midnight Commander
#cd /usr/ports/misc/mc
#make install clean
bash
/etc/shells
/usr/local/bin/bash
pw usermod root -s /usr/local/bin/bash
/.profile
Редактиpoвать файл в прoстом редакторе
#ee filename
WGET - удобная качалка файлoв
#cd /usr/ports/ftp/wget
#make install clean
Проверить открытые сетевые порты
#netstat -na | grep LIST
или
#netstat -an |grep LISTEN
Монтирование дискеты DOS
#/sbin/mount -t msdos /dev/fd0 /mnt
#cp chmod.txt /mnt
#/sbin/umount /mnt - размонтировать
Монтирование CD-ROM
#/sbin/mount /cdrom
#/sbin/umount /cdrom
Монтирование Флешки
# mount -t msdosfs /dev/da0s1 /media/flash
Показывает место на диске
#df
Поиск файла
#find /usr -name "filename"
Администрирование сервера через бесплатную панель управления WebMin
#whereis webmin
#cd /usr/ports/sysutils/webmin
#make install
#/usr/local/lib/webmin/setup.sh ; скрипт запуск настройки
в /etc/rc.conf добавить webmin_enable="YES"
default port:10000 - задайте другoй нестандартный порт
Установка MySQL
#mkdir /usr/local/distr
#mkdir /usr/local/src
#cd /usr/local/distr
#wget <путь_к_дистрибутиву>mysql-5.0.45.tar.gz
#распаковать в папку /usr/local/distr
#pw groupadd mysql
#pw useradd mysql -g mysql -d /usr/local/mysql -s /dev/null
#cd /usr/local/distr/mysql-5.0.45
#./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --with-charset=cp1251 --with-collaption=cp1251_general_ci
#make
#make install
#cp support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql
#chown -R mysql
#chgrp -R mysql
#bin/mysql_install_db -user=mysql
#chown -R root
#chown -R mysql var
#bin/mysqld_safe -user=mysql &
в /etc/rc.conf добавить mysql_enable="YES"
меняем рутовый пароль #/usr/local/mysql/bin/mysqladmin -u root password 'new_pass'
правим настройки MySQL в WebMin, стартуем и уже можно настроить пользователей и БД из панели управления
Установка Apache 2.2.6 и PHP 5.2.4 в связке
Скачиваем httpd-2_2_6.tar.gz и php-5.2.4.tar.gz в /usr/local/distr
cd /usr/local/distr
tar xzvf httpd-2_2_6.tar.gz
cd httpd-2_2_6
./configure --enable-so
make
make install
Apache ставится в /usr/local/apache2
/usr/local/apache2/bin/apachectl start - запуск сервера
/usr/local/apache2/bin/apachectl stop - остановка сервера
/usr/local/apache2/bin/apachectl graceful - перезагрузка без "убийства" текущих соединений
в /etc/rc.conf добавить apache_enable="YES" для автозапуска
/usr/local/apache2/conf/httpd.conf - основные настройки
/usr/local/apache2/conf/extra - каталог с файлами дополнительных настроек в т.ч. виртуальных хостов
Установка PHP:
tar xzvf php-5.2.4.tar.gz
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install
Для переустановки достаточно повторить три последних команды ./configure, make и make install
cp php.ini-dist /usr/local/lib/php.ini - найстройки нужно отредактировать
LoadModule php5_module modules/libphp5.so - для PHP 5 добавляем эту строку в настройки apache - httpd.conf
LoadModule php4_module modules/libphp4.so - для PHP 4 добавляем эту строку в настройки apache - httpd.conf
AddType application/x-httpd-php .php .phtml - добавляем в httpd.conf, расширения которые будет обратабывать PHP
/usr/local/apache2/bin/apachectl start - запускаем Apache и проверяем работу PHP
PhpMyAdmin
Ставим из портов (можно просто скачать архив и распаковать его):
#whereis phpmyadmin
/usr/local/www/phpMyAdmin
config.inc.php
сетевые службы. Система 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
Утилита make и ее дополнительные команды.
-
-
make fetch - скачивает приложение(порт). -
make extract - распаковывает его. -
make depends - перестроить зависимости. -
make patch - применить патчи к приложению. -
make build - собрать приложение из исходных тестов. -
make clean - "почистить" исходники после сборки. -
make deinstall - деинсталлировать приложение. -
make reinstall - переустановить приложение после удаления. -
make package - построить из порта package.
-
При необходимости можно использовать принудительную установку приложения(порта) командой:
Смена пользователя под которым работаем в терминалеmake FORCE_PKG_REGISTER=YES install
#su other user (работаем от другого юзера)
#su (работаем от юзера root)
Перезагрузка
#reboot
#shutdown -h now
#shutdown -p now (выключить)
Защищенное распространение дерева портов
/etc/portsnap.conf
Первый запуск (после него обязательно выполнить обновление дерева портов)
#portsnap fetch (примерно 41мб)
#portsnap extract
Обновление дерева портов
#portsnap fetch update
Постоянно обновлять (смысла в этом, как правило, нет)
/etc/crontab
Ежедневно
0 3 * * * root portsnap -I cron update && pkg_version -vIL=
Поиск порта
#whereis <название_порта>
или
#cd /usr/ports
#make search name=<название_порта>
#make search key=
или
#cd /usr/ports
#locate <название_порта>
Работа с портами
./configure - конфигурация пoрта/пакета (настройки конфигурации порта по умолчанию
хранятся в папке /var/db/ports/_имя_порта_ удаляем настройки #rm -dfr /var/db/ports/_имя_порта_)
make configure - аналог ./configure
make - сборка
make instal - устанoвка
make clean - убрать мусор текущего порта или весь если дать из /usr/ports
make all install clean - установить и сразу убрать мусop
make deinstal - удалить пopт, при этом конфиги и данные надо будет удалить вручную
make reinstal - переустанoвить порт
portupgrade - переустановка порта
pkg_info - информация о установленных портах
Работа с архивами
tar -zxvf <архив> - распаковать tar.gz
tar -xvf <архив> - распаковать в tar
tar -zcvf <архив> <что_архивировать> - запаковать в tar.gz
Оболочки
MC - Midnight Commander
#cd /usr/ports/misc/mc
#make install clean
bash
/etc/shells
/usr/local/bin/bash
pw usermod root -s /usr/local/bin/bash
/.profile
Редактиpoвать файл в прoстом редакторе
#ee filename
WGET - удобная качалка файлoв
#cd /usr/ports/ftp/wget
#make install clean
Проверить открытые сетевые порты
#netstat -na | grep LIST
или
#netstat -an |grep LISTEN
Монтирование дискеты DOS
#/sbin/mount -t msdos /dev/fd0 /mnt
#cp chmod.txt /mnt
#/sbin/umount /mnt - размонтировать
Монтирование CD-ROM
#/sbin/mount /cdrom
#/sbin/umount /cdrom
Монтирование Флешки
# mount -t msdosfs /dev/da0s1 /media/flash
Показывает место на диске
#df
Поиск файла
#find /usr -name "filename"
Администрирование сервера через бесплатную панель управления WebMin
#whereis webmin
#cd /usr/ports/sysutils/webmin
#make install
#/usr/local/lib/webmin/setup.sh ; скрипт запуск настройки
в /etc/rc.conf добавить webmin_enable="YES"
default port:10000 - задайте другoй нестандартный порт
Установка MySQL
#mkdir /usr/local/distr
#mkdir /usr/local/src
#cd /usr/local/distr
#wget <путь_к_дистрибутиву>mysql-5.0.45.tar.gz
#распаковать в папку /usr/local/distr
#pw groupadd mysql
#pw useradd mysql -g mysql -d /usr/local/mysql -s /dev/null
#cd /usr/local/distr/mysql-5.0.45
#./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --with-charset=cp1251 --with-collaption=cp1251_general_ci
#make
#make install
#cp support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql
#chown -R mysql
#chgrp -R mysql
#bin/mysql_install_db -user=mysql
#chown -R root
#chown -R mysql var
#bin/mysqld_safe -user=mysql &
в /etc/rc.conf добавить mysql_enable="YES"
меняем рутовый пароль #/usr/local/mysql/bin/mysqladmin -u root password 'new_pass'
правим настройки MySQL в WebMin, стартуем и уже можно настроить пользователей и БД из панели управления
Установка Apache 2.2.6 и PHP 5.2.4 в связке
Скачиваем httpd-2_2_6.tar.gz и php-5.2.4.tar.gz в /usr/local/distr
cd /usr/local/distr
tar xzvf httpd-2_2_6.tar.gz
cd httpd-2_2_6
./configure --enable-so
make
make install
Apache ставится в /usr/local/apache2
/usr/local/apache2/bin/apachectl start - запуск сервера
/usr/local/apache2/bin/apachectl stop - остановка сервера
/usr/local/apache2/bin/apachectl graceful - перезагрузка без "убийства" текущих соединений
в /etc/rc.conf добавить apache_enable="YES" для автозапуска
/usr/local/apache2/conf/httpd.conf - основные настройки
/usr/local/apache2/conf/extra - каталог с файлами дополнительных настроек в т.ч. виртуальных хостов
Установка PHP:
tar xzvf php-5.2.4.tar.gz
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install
Для переустановки достаточно повторить три последних команды ./configure, make и make install
cp php.ini-dist /usr/local/lib/php.ini - найстройки нужно отредактировать
LoadModule php5_module modules/libphp5.so - для PHP 5 добавляем эту строку в настройки apache - httpd.conf
LoadModule php4_module modules/libphp4.so - для PHP 4 добавляем эту строку в настройки apache - httpd.conf
AddType application/x-httpd-php .php .phtml - добавляем в httpd.conf, расширения которые будет обратабывать PHP
/usr/local/apache2/bin/apachectl start - запускаем Apache и проверяем работу PHP
PhpMyAdmin
Ставим из портов (можно просто скачать архив и распаковать его):
#whereis phpmyadmin
/usr/local/www/phpMyAdmin
config.inc.php
Запуск linux приложений в *BSD - системах
Существует устоявшееся мнение о том, что применение FreeBSD в качестве настольной системы затрудняется недостаточным (по сравнению, скажем, с Linux) количеством приложений общего назначения. При этом забывают часто, что база пользовательских программ этих систем практически одинакова. И почти все приложения, доступные в исходных текстах на условиях свободных лицензий, можно найти если не в коллекции пакетов FreeBSD, то уж в системе ее портов - точно (недавно прошло сообщение, что число портированных под FreeBSD программ дошло до 9 тысяч - не каждый дистрибутив Linux может похвастаться таким числом прекомпилированных специально для него пакетов). Если же некая по зарез необходимая программа случайно не попала в этот неслабый, согласитесь, список, - ее, как правило, можно скомпилировать для работы во FreeBSD руками.
Разумеется, проделать такую процедуру можно только в том случае, если исходные тексты нужной программы доступны. И тут выступает оборотная сторона медали популярности Linux, привлекшей к ней внимание производителей проприетарного софта. Каковые распространяют свои достижения, пусть подчас и бесплатно (при некоторых ограничениях), но - только в прекомпилированном специально под Linux виде (а иногда и под конкретный его дистрибутив, чаще всего - RedHat и его клоны).
Однако на самое хитрое ухо всегда найдется палец с левой резьбой. И в данном случае таким инструментом оказывается режим бинарной совместимости с Linux, реализованный во FreeBSD, который позволяет запустить минимум 90% всех Linux-приложений. Он основывается, насколько я понимаю, на подмене системных вызовов ядра Linux соответствующими вызовами ядра FreeBSD. И, в отличие от большинства эмуляторов (и, тем более, виртуальных машин типа VMWare), практически не приводит к снижению производительности. Высказывается даже мнение, что Linux-программы в режиме совместимости во FreeBSD выполняются быстрее, чем в родной среде. Впрочем, количественные данные на этот предмет мне не известны.
Доступ к режиму совместимости требует двух действий - установки пакета linux-base и внесения изменений в конфигурационный файл /etc/rc.conf. Самый простой путь к этому - программа sysinstall. Запустив оную, следует отправиться в меню Configure, перейти в пункт Packages и в списке доступных (на CD, ftp- или http-сервере) пакетов выбрать в разделе emulators тот, который называется linux_base.
После установки пакета нужно будет подняться до пункта Startup в том же меню Configure и отметить опцию Linux (расшифровывающуюся как This host wants to be able to run Linux binaries). Все, теперь после перезапуска машины режим Linux-совместимости будет доступным.
Можно поступить еще проще - сразу отправиться в пункт Configure->Startup и отметить опцию Linux. По выходе из него будет автоматически предложено установить пакет linux_base, с чем, естественно, следует согласиться.
Другой путь - установить linux_base посредством системы портов, для чего нужно перейти в каталог /usr/ports/emulators/linux_base и дать команду:
make install clean
А затем в любом текстовом редакторе добавить в файл /etc/rc.conf строку:
linux_enable="YES"
и перезагрузить машину.