$ cd KernelTree/ #Переход к распакованному корню дерева исходников ядра
$ make config(menuconfig, xconfig) #Конфигурация
$ make dep #Создание файлов зависимостей
$ make clean #Очистка от ранее скомпилированных модулей
$ make bzImage #Компиляция ядра
$ make install #Установка ядра
$ make modules #Компиляция модулей
$ make modules_install #Установка модулей
$ dd if=/dev/zero of=/swap bs=1024 count=8208 #Создание файла необходимого размера для swap
$ mkswap /swap #Инициализация структуры swap в файле
$ /bin/sync #Сброс изменений на диск
$ swapon /swap #Включение swap (отключение - swapoff)
Вариант 1 (обычный):
client$ xinit - :1 #Запустить X-сервер на клиенте (должен запуститься xterm)
client$ xhost +server #Зарегистрировать машину сервера у клиента
client$ telnet server -l UserName #Подключиться к удаленной машине (серверу)
server$ export DISPLAY=client:0.0 #Установить переменную DISPLAY
server$ startkde #Запустить оконный менеджер
client$ xinit - :1 #Запустить X-сервер на клиенте (должен запуститься xterm)
client$ ssh -X UserName@server #Подключиться к удаленной машине (серверу)
server$ startkde #Запустить оконный менеджер
#Включение поддержки XDMCP протокола на стороне сервера
#Для kdm (/etc/X11/kdm/kdmrc): Включить в секции [Xdmcp]
#Выбор удалённой авторизации и входа в диспей-менеджере клиента (xdm, kdm, gdm)
$ consolechars -f UniCyr_8x16 -m koi8-r;
$ echo -ne "\033(K";
$ loadkeys ru1;
$ fdformat /dev/fd0
$ mkfs.vfat /dev/fd0
$ ckfs.vfat -ta /dev/fd0
$ dd if=/dev/zero of=./sequre_disk bs=1024 count=50000 #Создание файла для будущей FS
$ losetup -e aes /dev/loop0 ./sequre_disk #Создание шифрованого loop устройства
$ mkfs.ext3 /dev/loop0 #Создание файловой системы на loop устройстве
$ losetup -d /dev/loop0 #Отключение loop устройства
$ mount -o loop,encryption=aes ./sequre_disk /mnt/tmp/ #Обычное монтирование шифрованной ФС
$ openssl rand 5 #Генерация последовательности случайных байт
$ openssl ciphers HIGH #Запрос списка алгоритмов для указанного уровня
# Генерация секретного RSA и DSA ключа key.pem, зашифрованного des3.
# В качестве источника случайных данных используется /var/log/messages.
$ openssl genrsa -out ./key.pem -des3 -rand /var/log/messages 2048
$ openssl dsaparam -rand /var/log/messages -out ./dsaprm 1024
$ openssl gendsa -out ./key.pem -idea -rand /var/log/messages ./dsaprm
# Создание публичного RSA и DSA ключа на основе секретного
$ openssl rsa -in ./key.pem -out ./pubkey.pem -pubout
$ openssl dsa -in ./key.pem -out ./pubkey.pem -pubout
# Изменение пароля и алгоритма шифрования секретного RSA и DSA ключа
$ openssl rsa -in ./key.pem -out ./key1.pem -idea
$ openssl dsa -in ./key.pem -out ./key1.pem -des3
# Симметричное шифрование файла алгоритмом des3 и кодирование base64
$ openssl des3 -in ./logo.png -out ./logo.des3
$ openssl base64 -in ./logo.des3 -out ./logo.des3.base64
$ openssl des3 -a -in ./logo.png -out ./logo.des3.base64
# Декодирование файла из base64 и симметричная дешифрация из des3
$ openssl base64 -d -in ./logo.des3.base64 -out ./logo.des3
$ openssl des3 -d -in ./logo.des3 -out ./logo.png
$ openssl des3 -d -a -in ./logo.des3.base64 -out ./logo.png
# Конвертация ассиметричных ключей и сертификатов с формата PEM в DER и обратно
$ openssl x509 -inform PEM -in ./key.pem -outform DER -out ./key.cer
$ openssl rsa -inform PEM -in ./key.pem -outform DER -out ./key.der
# Вычисление хеша (md5,sha1 ...)
$ openssl md5 -c ./logo.png
# Подпись файла секретным ключом и проверка ЭЦП публичным ключом, с алгоритмом хеширования md5
$ openssl dgst -sign ./key.pem -out ./logo.sign -md5 ./logo.png
$ openssl dgst -signature ./logo.sign -verify ./pubkey.pem -md5 logo.png
# Асимметричная шифрация файла с использованием публичного ключа и дешифрация секретным (RSA)
$ openssl rsautl -in ./logo.png -out ./logo.cr -inkey ./pubkey.pem -pubin -encrypt
$ openssl rsautl -in ./logo.cr -out ./logo.png -inkey ./key.pem -decrypt
# Создание запроса на сертификацию на основе создаваемого секретного ключа
$ openssl req -new -key ./tmp.key -out ./certreq.pem
# Создание сертификата подписанного собственным секретным ключом
$ openssl req -x509 -new -key ./key.pem -out ./selfcert.pem -days 365
# Просмотр информации сертификата в читабельном виде
$ openssl x509 -in ./selfcert.pem -noout -text
# Подписывание клиентского сертификата CA сертификатом
$ openssl x509 -req -in ./client.pem -CA ./CAcert.pem -CAkey ./CAkey.pem -CAcreateserial -days 365 -out ./client1.pem
client$ ssh-keygen #Генерация асимметричного ключа на локальной машине в директорию " /.ssh/"
client$ scp ./identity.pub rserver: ~/.ssh/ #Передача публичного ключа на удалённый сервер (любым способом)
rserver$ cat ~/.ssh/identity.pub >> ~/.ssh/authorized_keys #Авторизация своего открытого ключа на сервере
# либо 'client$ ssh-copy-id rserver' вместо предыдущих двух строчек
client$ ssh rserver #Подключение к удалённому серверу
$ mkfs /dev/ram0
$ mount /dev/ram0 /mnt/disk
$ vgscan #Поиск по системе виртуальных групп VG
$ vgchange -ay #Активизировать виртуальную группу (-an - деактивизировать)
$ pvscan #Поиск доступных физических томов и отображение сравнительной информации о них
$ pvdisplay /dev/hda1 #Просмотр информации о физическом томе
$ pvcreate /dev/hda1 #Подготовка физического тома PV (тип раздела 8Eh)
$ pvmove /dev/hda1 #Освобождение физического тома (перенос данных на другие физические тома)
$ vgdisplay vg00 #Просмотреть информацию о виртуальной группе
$ vgcreate vg00 /dev/hda1 /dev/hdb1 #Создание виртуальной группы на основе двух физических томов
$ vgremove vg00 #Удаление виртуальной группы
$ vgextend vg00 /dev/hdc1 #Добавление физического тома к виртуальной группе
$ vgreduce vg00 /dev/hda1 #Удаление физического тома из виртуальной группы
$ vgexport vg00 #Подготовка виртуальной группы для переноса на иную машину
$ vgimport vg00 /dev/hda1 /dev/hda2 #Импорт виртуальной группы (с другой машины)
$ lvcreate -L1500 -nlv00 vg00 #Создание логического тома (LV) с именем nlv00 и размером 1500 Мб
$ lvremove /dev/vg00/home #Удаление логического тома
$ lvextend -L120M /dev/vg00/home #Увеличение размера логического тома до указаной величины
$ lvextend -L+100M /dev/vg00/home #Увеличение размера логического тома на указанную величину
$ lvreduce -L120M /dev/vg00/home #Уменьшение размера логического тома до указаной величины
$ lvreduce -L-100M /dev/vg00/home #Уменьшение размера логического тома на указанную величину
$ e2fsadm -L+100M /dev/vg00/home #Изменение размер логического тома с файловой системой ext2/ext3
# Включение пакетного режима. Для оптических носителей всех типов.
$ cdrwtool -d /dev/cdrom -q # Подготовка CD-RW носителя
$ dvd+rw-format /dev/dvd # Подготовка носителей: DVD-RW, DVD+RW, DVD-RAM
$ pktsetup /dev/pkt_dev /dev/cdrom # Включение режима пакетной записи на устройство /dev/pkt_dev
$ mkudffs /dev/pkt_dev # Создание файловой системы UDF. Только для DVD+RW и DVD-RAM
$ mount /dev/pkt_dev /mnt/pkt_cd -t udf -o rw,noatim # Монтирование пакетного устройства на /mnt/pkt_cd
#Прямая запись (без пакетного режима) на носители DVD+RW и DVD-RAM
$ dvd+rw-format /dev/dvd # Подготовка носителей (один раз).
$ mkudffs /dev/dvd # Создание файловой системы UDF (один раз).
$ mount /dev/dvd /mnt/cdrom # Обычное монтирование устройства. Т.е совершенно прозрачно и стандартно!
$ screen # Запуск терминального экранного менеджера
$ wget ftp://workserv.org/mydownloadfile.iso # Запуск задачи
Ctrl+A D # Отключение экрана от терминала (выполнение в фоне)
$ screen -r # Подключение к фоновому терминалу.
#Создание VPS из шаблона
$ vzctl create 101 --ostemplate altlinux-4.0 --config vps.basic
#Удаление VPS
$ vzctl destroy 101
#Получить перечень всех VPS
$ vzlist -a
#Установка имени VPS
$ vzctl set 101 --name vps101 --save
#Установка общих параметров VPS: onboot, hostname, nameserver, searchdomain, userpassword
$ vzctl set 101 --onboot yes --save
$ vzctl set 101 --hostname test101.my.org --save
$ vzctl set 101 --nameserver 192.168.1.165 --save
$ vzctl set 101 --searchdomain my.org --save
$ vzctl set 101 --userpasswd root:test
#Конфигурация venet
$ vzctl set 101 --ipadd 10.10.186.1 --save
#Конфигурация veth
$ vzctl set 101 --netif_add eth0 --save
#Запуск и останов VPS
$ vzctl start 101
$ vzctl stop 101
#Исполнение команды внутри VPS ("ls /root")
$ vzctl exec 101 ls /root
#Административный вход на VPS сервер
$ vzctl enter 101
#Установка возможностей VPS
$ vzctl set 101 --capability sys_time:on --save # Возможность менять системное время
#Просмотр лимитов VPS и их нарушений
$ vzctl exec 101 cat /proc/user_beancounters
#Установка лимитов VPS (kmemsize, lockedpages, privvmpages ...)
$ vzctl set 1 --dgramrcvbuf 1512000:1520000 --save
#Установка доступа к устройствам (/dev)
$ vzctl set 101 --devnodes ttyS0:rw --save
$ vzctl set 101 --devices b:8:16:rw --devices b:8:17:rw --devices b:8:18:rw --save
Система контроля версий CVS.
$ export CVSROOT=/home/Roman/progects/CVS_R # Указание на каталог, где находится репозиторий CVS.
$ export CVSROOT=:pserver:user@serv.comp.org:/CVS_R # Указание на удалённый репозиторий.
$ cvs -d /usr/local/cvsroot init # Создание пустого репозитория.
$ cvs -d:pserver:user@serv.comp.org:/usr/local/cvsroot init # Создание пустого репозитория на удалённом сервере.
$ cvs import MyProg MyName start # Импортирует проект MyProg от имени создателя MyName в CVS.
$ cvs -z 3 co tc # Экспорт проекта tc для работы над ним. В результате чего будет создан каталог `tc', в который будут помещены все файлы.
$ cvs co -r revise Prog # Загрузить дерева проекта с ревизией(тегом) <revise>.
$ cvs up # Синхронизация исходных текстов со всеми изменениями (выполнять перед фиксацией своих изменений).
$ cvs up -r revise # Привести содержимое дерева в соответствии с ревизией <revise>.
$ cvs ci backend.c -r revise # Зафиксировать изменения в backend.c и запускает редактор (ENV: CVSEDITOR), чтобы ввести журнальную запись об изменениях.
$ cvs ci -r revise # Зафиксировать изменения в дереве под ревизией <revise> для всего дерева.
$ cvs tag revise # Привести вершину дерева к <revise>.
$ cvs release -d tc # Выполняет удаления вашей копии проекта и при этом проверяет, что все ваши изменения были зафиксированы.
$ cvs log file.cc # Вывести лог изменений в файле file.cc.
$ cvs diff driver.c # Вывести описание изменений внесенных в файл `driver.c'.
$ cvs add readmi.cc # Внесение файла readmi.cc под контроль CVS.
$ cvs rm readmi.cc # Сообщение CVS о том что файл readmi.cc должен быть удалён из репозитория при следуйщей команде <ci>.
Система контроля версий - Subversion (SVN).
# Загрузка локальной копии репозитория
$ svn co svn://oscada.org.ua/trunk/OpenSCADA
...
$ gettextize -f -c #Генерация локализационных файлов
$ autoheader #Генерация файла
$ autoscan #Автоматическая генерация cofigure.scan и проверка configure.in
$ ifnames #Создание списка идентификаторов которые используются в препроцессоре
# Генерация/перегенерация сборочной системы
$ aclocal -I -m4 #Генерация макроса aclocal.m4
$ autoconf #Генерация скрипта configure. Для реконфигурации использовать autoreconf
$ automake -a -c #Генерация файла Makefile.in
$ configure #Генерация Makefile
$ make #Компиляция проекта
$ make install #Установка программы