четверг, 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

Утилита 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" 

и перезагрузить машину.