Linux: различия между версиями

Материал из support.qbpro.ru
imported>Vix
Нет описания правки
imported>Vix
Нет описания правки
Строка 11: Строка 11:
  checkinstall
  checkinstall
  make uninstall
  make uninstall
 
==[[Как собрать бинарный deb пакет: подробное HowTo]]==
==Samba или работа в сети с Windows==
==Samba или работа в сети с Windows==
* узнать имя компьютера:
* узнать имя компьютера:

Версия от 23:23, 18 апреля 2016

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

Стандарты

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

Wheezy

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

Как собрать бинарный deb пакет: подробное HowTo

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

Утилиты контроля состояния трафика и не только для сервера

Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop

Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.

htop

В отличие от atop, htop не собирает статистику и просто показывает текущее состояние. Второе яркое отличие — нортоноподобная панелька с подсказками кнопок снизу и возможность «навигации» по списку процессов.

Поддерживает выделение процессов и выполнения над ними групповых операций (впрочем, с форк бомбой им не справиться).

Общей статистике по системе показыват мало (зато с шкалой а-ля прогресс-бар), зато имеет обширнейшие инструменты для анализа процессов, включая баловство с скедулингом (приоритеты, affinity), просмотр списка открытых файлов, strace и массу мелких, но приятных фич, таких как контекстный поиск по имени процесса, режим «слежения» за процессом, быстрые операции с процессом и т.д.

iotop

Специализированная утилита для анализа потребления дисковой полосы. К сожалению, не показывает иопсы (это вообще возможно?) Благодаря показу kernel threads способен указать на kcopy/swapper/kflush как источник хруста винта (чего не может atop). Заодно показывает общую загруженность IO системы в Мб/с (чего так же не может atop). Довольно быстрый.

iftop

Опять же, специализированная утилита, позволяющая наблюдать за трафиком в реальном времени. Требует очень рутовых прав и pcap, т.к. работает почти аналогичо tcpdump'у. Показывает загруженность интерфейса (поддерживается только один интерфейс в одной копии), направления трафика и интенсивность трафика.

На средне-загруженном сервере, который внезапно начал жрать инет позволяет очень быстро найти направление, в которое идёт больше всего трафика (в любую сторону). К сожалению, не показывает распределение трафика по процессам.

powertop

Специализированная (ага, снова) утилита от intel для мониторинга потребления мощности (электрической мощности!) разными процессами. В реальности никаких ваттов не показывает, а показывает время, затраченное на обслуживание процессором. Уникальна тем, что показывает прерывания и прочие события ядра на одном уровне с процессами (что позволяет находить нетривиальные ситуации перегрузки сервера и даже определять, от какой железки это исходит). При равной нагрузке позволяет оценить, чей драйвер шустрее работает.

Кроме того, во вкладке device stats позволяет оценить степень загруженности устройства (точнее, драйвера устройства). Для сетевых карт (включая виртуальные, типа tun) показывает pps (packets per seconds).

Во вкладке idle status показывает распределение состояний процессора (C1, C2, C3), что весьма полезно при выяснении «батарейка дохлая или что-то не так с системой?» на ноутбуках.

itop

Ну очень специализированная утилита для мониторинга прерываний (настоящих прерываний, идентификацией их по номеру).

kerneltop Наверное, должен показывать что-то интересное про ядро. У меня дома ему не понравился System.map, а на сервере — отсутствие /proc/profile.

dnstop

Специализированный анализатор DNS-трафика на интерфейсе. Наверное, был бы очень полезен при починке DNS на контроллере домена, к сожалению, Active Directory на линуксе работает не очень хорошо.

Безусловно полезно для нахождения засранца, загоняющего бинд в неприличный LA.

jnettop

Почти клон iftop, однако имеет забавный режим, когда может слушать соседей и показывать top по их трафику. Не очень работает в эпоху коммутаторов.

Ещё умеет агрегацию адресов (так, чтобы показывать их трафик одной строкой).

sntop

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

latencytop

Я бы с интересом на него посмотрел, но оно требует особого конфига ядра…

xrestop

Монитор потребления ресурсов X-сервера разными приложениями, которые к нему подключились. (Обнаружил, что хром жрёт ресурсов х-сервера много больше, чем опера).

slabtop

Специализируется на структурах данных SLAB ядра, фактически, показывает использование памяти в более тонких категориях, чем «свободно/занято/кеш». View only, несколько режимов сортировки.

Software specific


apachetop

Не столь полезен, как хотелось бы, показывает статистику ответов на запросы. Никакой магии, просто читает логи апача.

sqtop

Топ по логам сквида. С учётом скорости их роста, сначала генерирует промежуточную статистику, а потом уже даёт по ней шариться.

pg_top

Пакет в debian почему-то называется ptop. Мониторит загрузку postgresql.

mytop


Мониторит mysql. Есть альтернативный mtop, делает примерно то же, но заброшен и (в дебиане) выпилен в районе lenny -> squeeze.

xentop

Мониториг доменов xen'а. Интересен тем, что показывает не только память-процессор, но и дисковые операции с сетью. К сожалению, никакого управления, view only. Единственный из всех top'ов, не влазящий в 80 столбцов при выводе.

Список топов, которые я глазами не посмотрел:

hatop — мониторинг haproxy
virt-top — мониторинг за работой libvirt
mctop — мониторинг состояния memcached
perf-top — нашёл документацию, самого perf-top в виде тарбола или пакета не нашёл.
offTOP


Сначала ложные топы кратко: gkrelmtop — плагин под gkrelm (монитор производительности в гуе) — оффтопик. ntop — нарушает text-based традицию интерактивных программ и ставится как сайт для апача. libgtop — библиотека для мониторигна производительности nload — консольный монитор сетевой активности, в отличие от обычных top'ов не выводит рейтинг, а рисует текстовый график.

А потом настоящие топы без уважительного суффикса 'top' в названии.

nethogs

Отображает сетевой трафик от конкретных приложений.

iptstate

Монитор contrack из iptables, показывает активные трансляции с возможностью их прибить. Фактически, близок к цисковому sh ip nat tra, но удобнее (спасибо за наводку тов. merlin_rterm).

взято тут...