Tag Archives: FreeBSD

Предметная визуализация

Команды Linux (FreeBSD), а так же PHP из моей памятки

В процессе работы, много лет я формировал текстовый файл с заметками о полезных программах.
И вот, решил эти заметки опубликовать в своём блоге. Может, кому-то будет полезно почитать.

Архивировать файл в архив rar из командной строки с разбиением на 1 Гб:
rar a -r -v1000000k /mnt/d/backups/base_2008_04_11 /var/lib/mysql

где,
/mnt/d/backups/base_2008_04_11 — название нового архива.
/var/lib/mysql — название архивируемой папки.

Принудительное указание кодировки:
SET NAMES кодировка
, где кодировка, та кодировка, в которой у вас (по вашему мнению) данные. Например, для русской виндовой кодировки (windows-1251) это будет cp1251, для KOI8-R – koi8r, для UTF-8 – utf8 и так далее. В дальнейшем она будет упоминаться как «кодировка«.

SET NAMES кодировка;
SET character_set_database=кодировка;
SET character_set_server=кодировка;

Нужно для того, чтоб коннект к MySQL подключался под нужной нам кодировкой, а не кодировкой по умолчанию. Это отправляется, как команды SQL.

===== MySQL =====
Дамп базы данных
/usr/local/bin/mysqldump -h MySQL.int -u 21ru -p 21ru

Загрузка данных из дампа.
/usr/local/bin/mysql -h MySQL.int -u 21ru -p 21ru < base.dump

==== SVN =====
svnserve -d -r /var/repos_svn
svn checkout svn://host.example.com/project1

svn copy http://svn.example.com/framework/trunk http://svn.example.com/rpb/trunk -m «Creating a private branch of framework» — копирование проекта.

svnadmin create /var/repos_svn —fs-type bdb

Архивация файлов с помощью Zip:
zip -r filename.zip files

Извлечение файлов:
unzip filename.zip

Где мы живём.
http://www.wikimapia.org/#y=50517718&x=30462148&z=17&l=0&m=a&v=2
Это адрес на Гугл-карте, где мы живём 🙂

Для phpNuke, каталога компаний
/* Последние зарегистрированные компании в справочнике компаний */
SELECT * FROM nuke_catalog
order by pid desc
LIMIT 10

Для phpNuke, удаление новых линков, которыми иногда заспамливают…
/* Удаление новых линков */
DELETE FROM nuke_links_newlink

perror 23 — выводит описание ошибки. (Даже забыл, что такая команда есть…)

Решение проблемы с лимитом количества файлов в FreeBSD, насколько я помню:
4.4. Мне необходимо увеличить количество одновременно открытых файлов. Как это сделать?
Воспользоваться утилитой sysctl. Для увеличения лимита до 20000 файлов, добавьте в файл /etc/sysctl.conf строку

fs.file-max = 200000

и выполните команду

/sbin/sysctl -p /etc/sysctl.conf
cat /proc/sys/fs/file-max — текущее количество открітіх файлов.

/etc/security/limits.conf
* — nofile 8192

Управление MySQL
mysqladmin —user=root —password=your_password shutdown; — остановка сервера MySQL
myisamchk *.MYI — диагностика файлов.
myisamchk -r -q tbl_name — режим быстрого восстановления файлов.
myisamchk -r — режим восстановления файла.

/etc/mysql/my.cnf — настройка MySQL.

Сохранение информации в формате cp1251:
mysqldump —default-character-set=cp1251 —user=root —password=your_password nerusoft nuke_portfolio > /usr/tmp/nukep.sql

/var/lib/mysql — расположение баз данных в mysql.

/usr/sbin/apache2 -k stop -DSSL — перезагрузка Apache2 в FreeBSD.
apache2 -k start — запуск Apache (для FreeBSD)

mtop — просмотр процессов MySQL.

Вывод логов
tail -f /var/log/apache2/nerusoft.com-combined.log — доступ к сайту nerusoft.com
tail -f /var/log/mail.log — лог почты.
tail -f /var/log/syslog — системный лог.

tail -f /var/log/apache2/access.log — просмотр логов Apache (для FreeBSD).
tail -f /var/log/apache2/nerusoft.com-combined.log — просмотр логов Apache (для FreeBSD).
tail -f /var/log/apache2/error.log — лог ошибок Апача.

Команда tail -f выводит последние строчки логов. Причём программа остаётся «висеть» и выводить каждую строчку, которая поступает в лог. Очень полезная команда для системных администраторов для наблюдения за сервером в режиме «реального времени».

VHCS2
/etc/init.d/vhcs2_daemon restart — перезагрузка vhcs2.

Полезные утилиты и редакторы в Юникс
vi — редактирование больших файлов.
zile
jed — редактор в стиле Pascal (рекомендую. Позволяет редактировать очень большие файлы и при этом, комфортная работа, как в редакторах Borland).
zed — text editor.
ed — text editor.

dpkg -l — просмотр пакетов.

tar -cvf filename.tar files/directories — Архивация с помощью Tar.
tar -tvf foo.tar — просмотр содержимого файла tar.
tar -xvf foo.tar — извлечение содержимого архива.

view — просмотр текущих пользователей.
aptitude — программа установки пакетов.
apt-cache search строка поиска — Выбор определённог пакета.
aptitude install firebird2-super-server — установка Firebird.
aptitude —purge firebird2-super-server — удаление Firebird.

Смена пароля администратора в MySQL через командную строку
mysql —user=root —password=your_password
SET PASSWORD FOR «root»@ «server» = PASSWORD( «********» )

mysqladmin -h хост -u пользователь password ‘новый пароль’

Загруженность процессоров
top — загруженность процессора на FreeBSD
Слабенькая команда, т.к. показывает всё как 1 процессор. Поэтому, рекомендую утилиту:
htop — показывает загруженность процессоров.

Занятость дискового пространства
df -m — занятость дисковых разделов в Мегабайтах.

squid restart — перезагрузка прокси-сервера SQUID.
\var\www\html\lightsquid\lightsquid.cfg — запреты на squid.

Установка пароля на папку средствами Apache
htpasswd -b /usr/local/apache/conf/.htpasswd sergey YourPassword
cat /usr/local/apache/conf/.htpasswd — вывод паролей .htpasswd
/usr/local/apache/bin/htpasswd -c -m /usr/local/apache/conf/.htpasswd sergey

Sudo
/usr/local/etc/sudoers — пользователи, записанные в Sudo (для FreeBSD).
sudo -s -получение права администратора.

QMail+VPopmail
/etc/rc.d/rc.qmail start — перезагрузка qmail.
/usr/local/etc/rc.d/qmail.sh start
/home/vpopmail/domains — путь к папкам пользователей vpopmail.
./vsetuserquota
./vsetuserquota olya@nerusoft.com 1000000000 — Установка квоты в байтах.
./vadddomain ecoclinic.com.ua — добавление домена.
./vadduser sysadmin@mydomain.org — добавление пользователя.
./vuserinfo sysadmin — получение информации о пользователе.
./vdominfo earth.mydomain.org — просмотр информации о домене.
./vdeluser postmaster@mydomain.org — удаление пользователя.
/usr/home/vpopmail/domains — тут складируется почта.
/etc/mail/control — настройка почты.
http://www.rudjuk.kiev.ua/cgi-bin/qmailadmin — администрирование почты.
http://www.rudjuk.kiev.ua/cgi-bin/vqadmin

Установка даты
date 0504042054 — установка даты 2005 год, 04 апреля, 20 часов 54 мин.

ndc restart — перезагрузка информации после настройки ftp.
/* Поднимание зоны */
/etc/namedb — объявление доменов.
/etc/hosts — Хосты.
ndc reload

/etc/groupfile — добавление в группу.

whois zp.ua — получение информации о домене.

Настройка Ftp:
/usr/local/etc/proftpd.conf — Конфигурационый файл.
/usr/local/etc/rc.d/proftpd.sh — перезагрузка Ftp.
/usr/local/etc/rc.d/proftpd.sh start — Стартование FTP.
/usr/local/etc/proftpd.conf — Доступ по FTP.

Определение паролей пользователя и почтовый ящик
>> pw user add dima1 -m
>> passwd dima1
>> pw user add dima1 -m -s /bin/false — указываем, что нельзя пользователю подкл. по ssh-порту.
>> pw user del test
/etc/group — группы.
passwd — определение пароля.

nslookup fisherdream.kiev.ua — просмотр существования домена.
/usr/local/samba/lib — Samba

Изменение пути к MySQL (для FreeBSD)
/usr/local/bin/safe_mysqld — Тут указываются пути.

Перезагрузка MySQL (FreeBSD)
/usr/local/etc/rc.d/mysql-server.sh stop
/usr/local/etc/rc.d/mysql-server.sh start

Перезагрузка Apache в FreeBSD
/usr/local/apache/bin/apachectl restart
/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl start

Почта
/etc/mail/relay-domains — релей.
/etc/mail/access — запрет доступа.

===== Статистика ========
http://192.168.5.90/Home/statistic
/usr/local/sarg/sarg.conf
/usr/bin/sarg
-d Дата с-по dd/mm/yyyy-dd/mm/yyyy(Напр.: 22/12/2003-22/12/2003 – за 22.12.2003)
-i Отчёт по пользователям и IP address
-p Использовать Ip Address вместо userid (в отчёте)

======= Наблюдение текущих соединений ============
/usr/local/bin/trafshow -i ed0 — внешняя сетевая карта.
/usr/local/bin/trafshow -i rl1
/usr/local/bin/trafshow -i ed1 — внутренняя сетевая карта.

http://www.nic.ru/whois/ — определение страны.

shutdown -r now — перезагрузка сервера сейчас.

==== Хосты =======
/etc/hosts

tracerout — трассировка домена в Linux, FreeBSD.

Include в PHP
include («adresses.inc»)
?>

tail -f /usr/local/squid/logs/access.log — доступ к статистике на прокси-сервере.

/usr/local/etc/rc.d/samba.sh stop — перезапуск Samba.
/usr/local/etc/rc.d/samba.sh start
/usr/local/bin/smbpasswd username — Определение пароля в Samba.

csh — удобный интерпретатор командной строки.

VDS — виртуальный выделенный сервер по методу Virtuozo.

http://www.zend.com/free_download — сайт Zend Optimizer.

Fedora Core
Upgrading Fedora Core
Upgrading Fedora Using Yum

winecfg — настройка wine.

trafshow -i eth0 -s 1

DarkStat — статистика о трафике на сервере
http://91.196.0.45:666/
sudo darkstat
sudo darkstat -p 8080

ntop

netspeed
flowscan
dsniff
driftnet — сетевой трафик.
dnstop — анализ трафика DNS

vnstat -u -i eth0
vnstat

mutt — Программа отправки почты.

Файл: fstab
/dev/sdb5 /usr/disk_d vfat noexec,
codepage=866, iocharset=koi8-r 0 0
/dev/sdb5 /usr/disk_d ext3 noexec,
codepage=866, iocharset=koi8-r 0 0

Монтирование:
mount -t vfat /dev/sdb5 /mnt/d
umount /usr/disk_d
mount -t ext3 /dev/sdb5 /mnt/d

mount -t fs_type device mount_point

Параметр fs_type (который должен следовать за -t) задает тип файловой системы, например: ext2 — основная файловая система Linux, ext3 — ее более новая версия (с журналированием), iso9660 — для CD-ROM, vfat и ntfs — для FAT16/32 и NTFS соответственно. Встречаются и другие варианты. NTFS может не поддерживаться по умолчанию (это проверяется в файле /proc/filesystems или /etc/filesystems), в таком случае, вероятно, придется перекомпилировать ядро, включив ее поддержку. При наличии драйвера в виде модуля может оказаться достаточно команды наподобие modprobe ntfs.

Следующий параметр (device) указывает монтируемый том в стандартном синтаксисе Linux, соответственно, /dev/hda1 — первый раздел первого жесткого диска (Primary Master) и т. д. Последний — собственно точка монтирования, т. е. самый обыкновенный каталог, который к этому моменту уже должен существовать.

hddtemp — проверка температуры винчестера

sudo apt-get install program_name — установка программ в Linux.

Как автоматически запускать программы при входе в GNOME
* Система -> Параметры -> Сеансы
* Сеансы
Запускаемые при старте программы -> Создать/Правка/Удалить

SQL
SELECT Day(time),Month(time),Year(time),CONCAT(«dd»,»ff»)

update nuke_stories
set DateNews=CONCAT(Day(time),’.’,Month(time),’.’,Year(time))

netstat -tap
# uname -a
# nginx -v
# php -v

«.mydump($arrFilter).»»;?> — дамп массива в 1С-Битрикс.

/etc/init.d/bind9 start — старт DNS-сервера.

dig rudjuk.kiev.ua — информация о домене.

Проверка mx-записи:
nslookup
>set type=mx
> ваш_домен.дом

pecl install fileinfo — инсталляция fileinfo

Обновление Ubuntu:
sudo apt-get update
sudo apt-get upgrade

clamscan -r /var — проверка на вирусы в Linux.

pecl install apc — установка APC.

===== Тестирование ================
# Измерение памяти (ps aux: VSZ «virtual set size» и RSS «resident set size»).
# Тестирование ApacheBenchmark (2 раза подряд)
ab -c 5 -n 1000 http://nerusoft.com/

http_load -rate 5 -seconds 10 urls

netperf — проверка скорости работы по сети.
siege — тестирование по http-регрессии.
apache benchmark — проверка нагрузочной способности Apache.
ab http://nerusoft.com

pathping ae-it.info — путь прохождения пакета.

sudo apt-get install subversion
tcpdump -i rl0 -n -p | grep smtp — просмотр всех smtp-пакетов.

Доступность домена в мире
http://host-tracker.com — проверка доступности интернет-адреса в мире.

host -t ns rudjuk.kiev.ua 213.186.116.138

Отправка почты из консоли:
$cat какой_либо_текстовый_файл |mail test@virtual1.domain

tcpdump — просмотр передаваемых пакетов
netstat -an Просмотр портов

/usr/sbin/apache2ctl startssl — запуск apache с ssl.

netstat -tap

http://www.ispconfig.org/ — ISPConfig.

/etc/init.d/postfix restart — перезагрузка Postfix.
/bin/sh /root/ispconfig/httpd/bin/apachectl startssl
#### /etc/init.d/postfix start
#### /etc/init.d/saslauthd start
#### /usr/sbin/authdaemond

// Start Bind
/etc/init.d/bind9 start

Home

### /etc/init.d/courier-authdaemon restart
### /etc/init.d/courier-imap restart
### /etc/init.d/courier-imap-ssl restart
### /etc/init.d/courier-pop restart
### /etc/init.d/courier-pop-ssl restart

### /etc/init.d/postfix restart
/etc/init.d/proftpd restart — перезагрузка FTP-сервера ProFTP

http://www.howtoforge.com/perfect_setup_ubuntu704_p6

/usr/bin/updatedb — Обновление базы данных обновлений.
Настройка почты: http://www.linux16.net/node/250

/usr/sbin/apache2 -k restart

Отключение UpdateDB:
sudo chmod -x /etc/cron.daily/slocate

FreeBSD
who w Кто подключен на данный момент к FreeBSD.
last Отображает список последних терминальных сессий.
users Список текущих пользователей
pw Создание, модификация и удаление пользователей и групп
pw deluser пользователь pw user del пользователь rmuser Удаление пользователя
pw user add Пользователь -m adduser Модификация пользователя
pw user add Пользователь -m -s /bin/false Создание пользователя без возможности подключения по Shell
passwd Пользователь Изменение пароля пользователя

cal календарь
date дата

ls Список файлов
ls -1
cat Просмотр текстового файла
cp name1 name2 Копирование файлов
mv filename1 filename2 Перемещение файла
diff name1 name2 Сравнение файлов
grep текст Извлечение из файла строк, включающих текст

mkdir Создание каталога
rmdir Удаление каталога
find -name текст Ищет файл по названию

mount Подключение диска
umount Отключение диска
df Просмотр свободного пространства

ps auxww
ps ux Показывает активные процессы
kill номер процесса Освобождение процессов
kill -9 номер процесса Принудительное завершение процессов

less Утилита для разбиения просматриваемой информации на страницы

man Помощь
info Помощь

vi
view Просмотр текстового файла
ee Редактирование текстового файла.

id Сообщает информацию о пользователе
pwd Показывает текущий каталог

apropos текст Все вхождения текста в базе whatis
which текст Показывает где находится команда.
locate текст Показывает все маршруты, где есть текст.
whereis текст Ищет файл текст и выдаёт полный путь к нему.

# /sbin/mount -t msdos /dev/fd0 /mnt Монтирование дисковода
% cp chmod.txt /mnt Коирование файла на монтированный дисковод
# /sbin/umount /mnt Размонтирование дисковода

/sbin/mount_cd9660 /dev/cd0a /cdrom /sbin/mount /cdrom Монтирование CDROM
/sbin/umount /cdrom Размонтирование CDROM

pkg_add /cdrom/packages/All/packagename Получение пакета
make all install Установка порта
rehash Перечитать файлы в маршрутах поиска

gunzip filename tar xvf filename tar -jxvf архив Распаковка файлов
echo $SHELL Определение используемого командного процессора

su -m Работа в режиме суперпользователя
env Перечень системных переменных

inetd.conf Прописывается Запуск сервиса firebird
inet_gds_service Название сервиса interbase

chmod 511 название файла Назначение атрибутов файла
chown root.root /etc/mail/dot-qmail
/home/vpopmail/domains/ Тут складируется почта в vpopmail
telnet localhost 25 Проверка работы qmail
/etc/rc.d/rc.M Демоны
/sbin/dmesg Список портов
/usr/local/etc/rc.d Автоматически запускаемые сервисы
/etc/crontab /var/cron/tabs Файлы, запускаемые по умолчанию
syslog.conf Настройка лог-файлов
newsyslog.conf Указание, когда файлы должны архивироваться.
% host -t mx FreeBSD.org Просмотр MX-записей
mail Получение и отправка почты

netstat -an Просмотр портов
sockstat sockstat -46 Просмотр открытых портов
nmap -v -P0 -sU — 1-65535 IP_ADDRESS Полный просмотр портов

fetch URL Получение файла из интернет
wget URL Получение и интернет страницы

fsck -f -y Проверка диска в FreeBSD

/usr/ports/net/cvsupit — путь к пакету cvsup. Апргейд коллекции портов: Редактируем /usr/share/examples/cvsup/ports-supfile и запускаем: /usr/local/bin/cvsup -g -L 2 ports-supfile Поиск: make search key=»строка» — поиск пакета по ключевому слову. make search name=»строка» — поиск пакета по названию пакета. Установка портов: cd /usr/ports/порт; make; make install Другие команды: make deinstall — деинсталлировать приложение. make fetch — скачать приложение из сети. make checksum — проверить контрольные суммы. make depends — перестроить зависимости. make extract — разархивировать исходные тексты в work директорию. make patch — применить патчи к приложению. make build — собрать приложение из исходных тестов. make clean — «почистить» исходники после сборки. make reinstall — переустановить приложение после удаления. make package — построить из порта package.

touch Изменяет название файла без редактирования.

gdb progname Emacs Отладчик
xxgdb Графический отладчик
% cc -g -o temp temp.c Компиляция программы

./bin/mysqladmin -u root password ‘new-password’
./bin/mysqladmin -u root -h localhost password ‘new-password’

SET PASSWORD FOR ‘root’@’localhost’ = OLD_PASSWORD(‘dima1980’); Установка пароля, совместимого со старыми паролями.

REPAIR TABLE atblenaeme;
myisamchk -r table_name myisamchk —safe -recover —force myisamchk -o -f news_ukr.MYI Восстановление таблицы.

mysqldump —tab=/path/to/some/dir —opt —full mysqlhotcopy database /path/to/some/dir Полное резервное копирование базы данных.

webbench -c 50 http://nerusoft.com/ Тестирование скорости работы веб-сервера.

rpm -i packagename.rpm
rpm -u packagename.rpm Установка и удаление пакета.

/etc/logrotate.conf
/opt/sbin/logrotate — утилита Настройка ротации логвов.

yum update Обновление конфигурации через интернет в Linux.

sysctl net. Просмотр переменных окружения
sysctl kern.maxfiles Макс. количество открытых файлов

Можно ли обойтись в FreeBSD GENERIC ядром или как изменить параметры ядра без его пересборки. [есть мнение]
man sysctl.conf; man sysctl
man loader.conf; man loader
На основе параметров в /boot/defaults/loader.conf, формируем /boot/loader.conf,
где можем указать какие модули подгружать и какие значения системных констант использовать.
Например, безе пересборки можно использовать GENERIC с /boot/loader.conf:
kern.maxusers=»512″
kern.ipc.nmbclusters=»16384″
null_load=»YES» # Грузим модуль для Null filesystem
vinum_load=»YES»
accf_http_load=»YES» # HTTP request accept filter
/etc/sysctl.conf
kern.maxfiles=32000
kern.ipc.somaxconn=1024
net.inet.ip.portrange.last=30000
net.inet.tcp.sendspace=32768
net.inet.tcp.recvspace=32768

sysctl -a Вывод всех допустимых команд (более 5тыс)

Как обновить код загрузчика в FreeBSD [есть мнение]
Ставим boot-менеджер в MBR:
boot0cfg /dev/ad0
или fdisk -B -b /boot/boot0 /dev/ad0

Обновляем boot-loader (boot1 и boot2):
disklabel -B ad0s1

use.perl port Если ругается на версию Перла
pkg_add -r libxml2
pkg_add -r apache22
pkg__add, pkg_delete, pkg_info, pkg_update, pkg_version и pkg_create
/stand/sysinstall

pkg_add -nv Просмотреть что будет делать инсталляция, не проводя инсталляцию.
/var/db/pkg -f Тут лежат пакеты

dmesg Внутренний буфер сообщений

Обнаружение Syn-атак
# netstat -n -p TCP tcp 0 0 10.100.0.200:21 237.177.154.8:25882 SYN_RECV — tcp 0 0 10.100.0.200:21 236.15.133.204:2577 SYN_RECV — tcp 0 0 10.100.0.200:21 127.160.6.129:51748 SYN_RECV — tcp 0 0 10.100.0.200:21 230.220.13.25:47393 SYN_RECV —

Установка Perl
cd /usr/ports/lang/perl-5.8/ make ENABLE_SUIDPERL=yes make test make install clean rehash

Установка OpenSSL
cd /usr/ports/security/openssl make install clean rehash

Установка MySQL
cd /usr/ports/databases/mysql41-server/ make BUILD_OPTIMIZED=yes WITH_OPENSSL=yes WITH_CHARSET=cp1251 make install clean rehash

Установка скриптов для настройки MySQL
cd /usr/ports/databases/mysql41-scripts/ make install clean rehash
echo ‘mysql_enable=»YES»‘ >> /etc/rc.conf cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf

Указываем где лог:
[mysqld] log=/var/log/mysql.log
touch /var/log/mysql.log chown mysql:mysql /var/log/mysql.log
/usr/local/etc/rc.d/mysql-server.sh start Стартование MySQL
cat /var/log/mysql.log Просмотр лога MySQL
/usr/local/bin/mysql_secure_installation Установка безопасности MySQL

Cyrus-SASL
http://turbogaz.kharkov-ua.com/unix/mail/patch/cyrus-sasl-2.1.19- Патч для шифрации паролей.
cd /usr/ports/security/cyrus-sasl2/ make WITH_AUTHDAEMON=yes WITHOUT_NTLM=yes WITH_MYSQL=yes WITHOUT_OTP=yes make install clean rehash

Expect — для возможности изменения пароля через Web
cd /usr/ports/lang/expect/ make install clean

courier-authlib
cd /usr/ports/security/courier-authlib/ make config make install clean echo ‘courier_authdaemond_enable=»YES»‘ >> /etc/rc.conf /usr/local/etc/rc.d/courier-authdaemond.sh start
cat /var/log/maillog | grep authdaemond

/etc/resolv.conf — настройка сети
/etc/rc.conf
/etc/named/named.conf — настройка DNS-сервера.
/etc/nsswitch.conf — DNS-клиент
/usr/local/etc/dhcpd.conf.sample
/usr/local/etc/dhcpd.conf

netstat -nr cat /etc/rc.conf ps -axf

ssh-keygen Генерация ключей для ssh1
ssh-keygen -t rsa Генерация ключей для ssh2 RSA
ssh-keygen -t dsa Генерация ключей для ssh2 DSA
ls -la .ssh Проверка есть ли ключи для SSH

Sysinstall Настройка FreeBSD

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)