$ 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
$ openssl rsa -in key.pem -out key1.pem
# Симметричное шифрование файла алгоритмом 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.csr
$ openssl x509 -req -in certreq.csr -signkey tmp.key -out cert.pem -days 365
# Создание сертификата подписанного собственным секретным ключом и вместе с ключом
$ openssl req -x509 -new -key key.pem -out selfcert.pem -days 365
$ openssl req -x509 -new -keyout cakey.pem -out cacert.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
$ cat /proc/mdstat # запрос состояния устройств зеркала
$ mdadm -Q /dev/sdb1 # запрос информации/состояния устройства массива или раздела
$ mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hda1 /dev/hdb1 # создание массива
$ mdadm /dev/md0 --add /dev/hdb1 # добавление раздела в массив
$ mdadm -S /dev/md0 # останов массива
$ mdadm --manage /dev/md0 --remove /dev/sdb0 # добавление раздела в массив, после замены
$ mdadm --manage /dev/md0 --add /dev/sdb0 # удаление раздела из массива, на профилактику
$ 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
# Указание на удалённый репозиторий.
$ 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
# Импортирует проект MyProg от имени создателя MyName в CVS.
$ cvs import MyProg MyName start
# Экспорт проекта tc для работы над ним. В результате чего будет создан каталог `tc', в который будут помещены все файлы.
$ cvs -z 3 co tc
# Загрузить дерева проекта с ревизией(тегом) <revise>.
$ cvs co -r revise Prog
# Синхронизация исходных текстов со всеми изменениями (выполнять перед фиксацией своих изменений).
$ cvs up
# Привести содержимое дерева в соответствии с ревизией <revise>.
$ cvs up -r revise
# Зафиксировать изменения в backend.c и запускает редактор (ENV: CVSEDITOR), чтобы ввести журнальную запись об изменениях.
$ cvs ci backend.c -r revise
# Зафиксировать изменения в дереве под ревизией <revise> для всего дерева.
$ cvs ci -r revise
# Привести вершину дерева к <revise>.
$ cvs tag revise
# Выполняет удаления вашей копии проекта и при этом проверяет, что все ваши изменения были зафиксированы.
$ cvs release -d tc
# Вывести лог изменений в файле file.cc.
$ cvs log file.cc
# Вывести описание изменений внесенных в файл `driver.c'.
$ cvs diff driver.c
# Внесение файла readmi.cc под контроль CVS.
$ cvs add readmi.cc
# Сообщение CVS о том что файл readmi.cc должен быть удалён из репозитория при следуйщей команде <ci>.
$ cvs rm readmi.cc
# Получить содержимое в ветви репозитория
$ svn list svn://rep.org/trunk
# Загрузка локальной копии репозитория
$ svn checkout svn://rep.org/trunk/project
# Получение состояния модификации локальной копии репозитория
$ svn status
# Получение изменений в виде патча
$ svn diff
# Добавить файл или директорию в репозиторий
$ svn add ./new.file
# Удалить файл или директорию из репозитория
$ svn delete ./rem.file
# Принять локальные изменения и отправить их на сервер
$ svn commit -m "Changes message"
# Копирование участка репозитория, включая и локальные, а также для создания новой ветви или тега.
$ svn copy svn://rep.org/trunk/project svn://rep.org/branch/project_user
# Объединение изменений ветви, указанной ревизии, с локальной копией другой ветви
$ svn merge -c 1222 svn://rep.org/trunk/project
# Посмотреть историю репозитория
$ svn log
# Инициализация текущей директории как новый пустой репозиторий.
$ git init
# Добавить удалённый репозиторий для загрузки локальной копии
$ git remote add origin user1@gitserver:/home/repo/alpha.git
# Загрузка локальной копии репозитория
$ git clone git://git.server.org/rep.git
# Добавить изменения, новые файлы и удаление старых.
$ git add .
# Получение состояния репозитория
$ git status
# Посмотреть внесённые изменения
$ git diff --cached
# Принять локальные изменения, превращение временного состояния индекса в постоянное
$ git commit -am "Changes message"
# Сформировать GIT-патч принятых локальных изменений
$ git format-patch -1
# Выгрузить локальные изменения
$ git push
# Добавление тега
$ git tag -sm "Tag 0.1.0 message" tag-name-0.1.0
# Выгрузить локальные теги
$ git push origin --tags
# Получение списка всех веток
$ git branch
# Создание новой ветки
$ git branch experimental
# Удаление ветви
$ git branch -d experimental
# Переключиться на другую ветку
$ git checkout experimental
# Объединить изменения в ветви experimental с текущей веткой локального репозитория
$ git merge experimental
# Получить изменения из другого репозитория и объединить их с текущим
$ git pull git://git.server.org/rep.git
# или
$ git fetch git://git.server.org/rep.git
$ git merge git://git.server.org/rep.git
# Посмотреть историю репозитория
$ git log
Расширенные команды работы в инфраструктуре ALTLinux Git/Gear
# Создать удалённый репозиторий в инфраструктуре
$ ssh git.alt init-db alpha
# Поиск пакета в инфраструктуре
$ ssh git.alt find-package <pattern>
# Клонировать репозиторий в инфраструктуре
$ ssh git.alt clone <path to git repository> [<destination directory>]
# Перемещение репозитория в инфраструктуре
$ ssh git.alt mv-db <path to source directory> <path to destination directory>
# Удаление репозитория
$ ssh git.alt rm-db <path to git repository>
$ 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 #Установка программы