Linux

Материал из support.qbpro.ru

Виртуализация

Стандарты

  • RFC3164 Протокол BSD Syslog

Wheezy

  • компиляция из исходников:
make
mkdir ./complite
make install
checkinstall
make uninstall

Samba или работа в сети с Windows

  • узнать имя компьютера:
# nmblookup -A 192.168.0.111
Looking up status of 192.168.0.230
       BEGINER         <20> -         B <ACTIVE> 

       MAC Address = 90-2B-34-41-EF-95

Удаленное управление пользователями в консоли:

ssh remotehost
ps -aux | grep bash

Получаешь примерно такую картину:

root      2043  0.0  0.7  4892 1644 tty1     S    00:24   0:00 -bash 
root      2441  0.0  0.0  4932    8 pts/1    S    00:31   0:00 /bin/bash 
root      2490  0.0  0.0  4932    4 pts/2    S    00:33   0:00 /bin/bash 
root      2497  0.0  0.0  4936    4 pts/3    S    00:33   0:00 /bin/bash 
root      2511  0.0  0.4  4936 1024 pts/4    S    00:35   0:00 /bin/bash 
root      7940  0.0  0.7  4936 1672 pts/5    S    05:09   0:00 -bash 
root      9275  0.0  0.7  4932 1664 pts/6    S    08:12   0:00 -bash 
root     12301  0.2  0.7  4932 1664 pts/7    S    21:44   0:00 -bash 
root     12377  0.0  0.2  3780  532 pts/7    S    21:46   0:00 grep bash

Теперь

kill -9 Nr.prozessa

Только смотри свой процесс не убей... :)

Как определить какая программа слушает порт?

netstat -nap|grep 8080

Запуск программ в фоне

top&

или

 nohup top &

nohup

Команды Linux

[1]http://www.linux.org.ru/wiki/en/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B

Решение частых проблем

[2]http://www.opennet.ru/base/sys/bash_tips.txt.html

Потоковый редактор SED

[3]http://linuxgeeks.ru/sed.htm

Неплохая шпаргалка по командам Linux

http://putty.org.ru/

Еще одна хорошая шпаргалка с примерами

http://www.zabrosov.ru/

Полезный портал с примерами

linuxshare.ru

Запуск Xorg приложений из ssh

ssh -X user@host.ru имя программы например iceweasel

Автозапуск приложений из xorg

ставим icewm

в /etc/rc.local вставляем

su user -c "startx" 
А в USER$/icewm/autostart пишешь свою программу (/bin/bash)

Linux low level format - LLFormat

Пример низкоуровнего форматирования носителя:

dd if=/dev/zero of=/dev/sdX

Снятие и Восстановление загрузочной области утилитой dd

команда снятия загрузочной области:

dd if=/dev/sda of=bootsect.bin bs=512 count=1

восстановление загрузчика:

dd of=/dev/sda if=bootsect.bin bs=512 count=1

Подавление всех сообщений в том числе и ошибок

$ ls >myfile.txt 2>myfile.err

или

$ ls 2>/dev/null

At или Выполнение, останов и повторный запуск процессов

Создаем сервер USB Over IP на базе Linux

Довольно долго мне приходилось сталкиваться с ситуацией, при которой мне нужно было продолжать использовать физический сервер, хотя почти вся инфраструктура виртуализирована. Причиной этому было отсутствие подддержки USB устройств в самых разнообразных платформах виртуализации. В частности я использую Xen, а на сервере, который я хотел бы виртуализировать должен быть подключен USB ключ.

Конечно можно использовать аппратное оборудование, например USBoverIP, однако оно стоит значительных денег. И вот наконец решение найдено. Я обнаружил отличный бесплатный проект , доступный по этому линку - http://usbip.sourcefrge.net/

С помощью него можно преврать Linux систему в USB сервер, обслуживающий USB девайсы через IP для клиентов как под управление Linux, так и Windows.


Настройки сервера

1- Скачайте последний пакет по ссылке http://downloads.sourceforge.net/project/usbip/usbip/usbip-win-preview/usbip-win.zip?use_mirror=ignum

Я тестировал все под Ubuntu Karmic, поэтому мне необходимо было выполнить следующую команду:

usbip:~$ sudo aptitude install usbip

Затем необходимо загрузить следующие модули для возможности контролировать USB порты.

usbip:~$ sudo modprobe usbip
usbip:~$ sudo modprobe usbip_common_mod

Теперь запустим usbip в качестве системного демона:

usbip:~$ usbipd -D
Bind usbip.ko to a usb device to be exportable!
usbip:~$ 

Это означает что все идет по плану и нам необходиом выбрать порт, который будет расшариваться.

1- Подключите USB устройство к компьютеру

2- Выполните команду

lsusb

Для поиска соответствующего индентификатора Vendor/Device ID, который имеет следующую форму:

Bus XXX Device YYY: ID VendorID:DeviceID
Know that to find your favourite hardware ID, you can locate its possition on the BUS. Just match the ID with the result of usbip server check:
usbip:~$ sudo usbip_bind_driver --list
busid 1-6 (0c45:63ee)
               1-6:1.0 -  > uvcvideo
             1-6:1.1 -    > uvcvideo

Из этой команды нам становиться известне bus-ID, указывающий на USB устройство. В данном случае это "1-6".

Теперь подключаем устройство к серверу:

usbip:~$ sudo usbip_bind_driver --usbip 1-6

После выполнения данной команды система будет передавать данные о USB устройстве с вашей системы удаленным клиентам.

Настройки клиентов

  • Клиент MS Windows

Скачайте zip версию клиента по ссылке http://ignum.dl.sourceforge.net/project/usbip/usbip/usbip-win-preview/usbip-win.zip

Распакуйте её и выполните два простых шага.

Первое:

В архиве есть файл "bus.inf", который вам необходимо установить как "Generic system device" в своей системе.

Второе:

Выполните следующую команду из командной строки:

path-to-usbip:> usbip.exe -l <server-ip>

В результате выполнения этой команды вы увидите bus-ID, найденные на сервере.

Теперь подключите устройство следующей командой:

path-to-usbip:> usbip.exe -a <server-ip> USB-ID
** USB-ID в нашем случае 1-6.

Все!!! Вы увидите новое USB устройство, обнаруженное вашей системой.


  • Клиент Gnu/Linux

В качестве клиента я тестировал дистрибутив Ubuntu Karmic

Подобно настройке серверной части необходимо выполнить команду:

 $ sudo apt-get install usbip

Загрузите модуль "vhci-hcd":

$ sudo modprobe vhci-hcd

Теперь вы можете опросить сервер на наличие расшаренных USB устройств:

$ sudo usbip -l <server-ip>

А потом и подключить нужное устройство следующей командой:

$ sudo usbip -a <server-ip> X-Y

Настройка dns сервера

устанавливаем необходимые пакеты:

apt-get install resolvconf

только после этого ставим bind9 во избежание конфликтов...

apt-get install bind9

теперь сразу прописываем необходимые настройки для правильной работы служб:

editor /etc/default/bind9

изменяем параметр на указанный ниже:

RESOLVCONF=yes

дальше изменяем параметр dhcpclient

editor /etc/dhcp/dhclient.conf

добавляем:

prepend domain-name-servers 127.0.0.1;

перезапускаем службы:

/etc/init.d/bind9 restart
ifdown eth0
ifup eth0

для внутренней сети в настройках /etc/network/interfaces пропишите dns-nameservers 127.0.0.1
пример:

auto eth0
iface eth0 inet static
       address 10.10.1.1
       netmask 255.255.255.0
       network 10.10.1.0
       broadcast 10.10.1.255
       dns-nameservers 127.0.0.1
       dns-search home.local

Восстановление удаленных файлов на ext3/ext4

Команды проверки наличия сети

для всех сетевых карт:

ip link

или

mii-tool

опреление настроек сети:

ifconfig
route