<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1844275644917792521</id><updated>2024-09-08T15:35:50.426+03:00</updated><category term="linux"/><category term="шейпинг"/><category term="CentOS"/><category term="htb"/><category term="iptables"/><category term="анекдот"/><category term="firewall"/><category term="FreeBSD"/><category term="apache"/><category term="awk"/><category term="ddos"/><category term="iPhone"/><category term="mysql"/><category term="nginx"/><category term="rabbitmq"/><category term="replication"/><category term="shaping"/><category term="shell scripting"/><category term="сеть"/><category term="BGP"/><category term="Cydia"/><category term="FreeBSD 9"/><category term="NAT"/><category term="NETFLOW"/><category term="Quagga"/><category term="Rsync"/><category term="VT"/><category term="amazon s3"/><category term="amqp"/><category term="arping"/><category term="backup"/><category term="cdp"/><category term="cdpr"/><category term="client-vlan"/><category term="dhcp"/><category term="dirs"/><category term="files"/><category term="freeware"/><category term="getstream"/><category term="groupware"/><category term="hardware"/><category term="htop"/><category term="ipoe"/><category term="ipset"/><category term="iptv"/><category term="kvm"/><category term="lldp"/><category term="lvm2"/><category term="munin"/><category term="netfilter"/><category term="nstreamplayer"/><category term="omicom"/><category term="openvpn"/><category term="openvz"/><category term="option 82"/><category term="perl"/><category term="phoenix bios"/><category term="ping"/><category term="proxmox ve"/><category term="removespikes"/><category term="repo"/><category term="rrd"/><category term="rrdtool"/><category term="samba"/><category term="samsung"/><category term="ubuntu"/><category term="virtual machine"/><category term="vlm"/><category term="voip"/><category term="vuurmuur"/><category term="webmail"/><category term="zabbix"/><category term="zentyal"/><category term="виртуализация"/><category term="виртуализация серверов"/><category term="пики"/><category term="пинг"/><category term="права доступа"/><category term="провайдер"/><title type='text'>Блоггг Docent</title><subtitle type='html'>полезное по линуксу и iphone собрано все интересное мне лично (методом copy-paste из инета и не пыхтите насчет копирайта я ссылки на источник ставлю)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-679082116398014162</id><published>2016-05-04T08:52:00.002+03:00</published><updated>2016-05-04T08:52:59.047+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="анекдот"/><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Отчаявшись найти в Неаполе англоязычных, решили ускоренными темпами учить итальянский.&lt;br /&gt;Не понту ради, а уж очень хотелось добраться до номера.&lt;br /&gt;В качестве жертвы выбрали пожилую добродушную тетечку, явно из местных.&lt;br /&gt;— Scusa, come arrivare a Via Orazio trentasei (извините, как проехать на Орацио 36?)&lt;br /&gt;— Божи мой, шо ви мучаетесь? Говорите на русском и не морочьте людям голову.&lt;br /&gt;— Ой, а вы говорите по-русски?&lt;br /&gt;— Тут все говорят по-русски, кроме турыстов, которые пытаются шпрехать на италянском. Идемьте, я покажу ваш бус.&lt;br /&gt;— А где билеты брать?&lt;br /&gt;— Ай, вечером все равно никто не проверяет. Заходите спокойно и сидите тихо.&lt;br /&gt;— А если все-таки взять билеты, то где?&lt;br /&gt;— И откуда ж ви такие честные?&lt;br /&gt;— Из Израиля.&lt;br /&gt;— Ой, ви вгоняете меня в депрессию. Таки зайдите в автобус и сидите тихо, не позорьте нацию!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/679082116398014162/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2016/05/blog-post_95.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/679082116398014162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/679082116398014162'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2016/05/blog-post_95.html' title=''/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-3378941660805416944</id><published>2016-05-04T08:49:00.001+03:00</published><updated>2016-05-04T08:49:09.069+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="анекдот"/><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Идут две бабы с сенокоса. Мимо — вз-ж-ж-ж-ж пролетают на полной скорости друг за другом два парня на скутерах. И у обоих голов нет.&lt;br /&gt;
— Петровна, кино, шоль, снимают?&lt;br /&gt;
— Ты б, Никитишна, от греха подальше, косу на другое плечо переложила...&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/3378941660805416944/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2016/05/blog-post_78.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3378941660805416944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3378941660805416944'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2016/05/blog-post_78.html' title=''/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-8189706991009378213</id><published>2016-05-04T08:48:00.002+03:00</published><updated>2016-05-04T08:48:11.954+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="анекдот"/><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Сельская дискотека. Стоит девчонка одна - никто с ней не танцует. Вдруг подлетает к ней какой-то амбал и начинает с ней вальсировать.&lt;br /&gt;Она:&lt;br /&gt;- Скажите, Вы из этих мест?&lt;br /&gt;- Ага.&lt;br /&gt;- А чего же я Вас раньше не видела.&lt;br /&gt;- Сидел я, 15 лет.&lt;br /&gt;- Да??? А за что?&lt;br /&gt;- Да жену свою топором убил!&lt;br /&gt;Она поправляет прическу и с улыбкой говорит:&lt;br /&gt;- Значит, Вы не женаты?&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/8189706991009378213/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2016/05/blog-post_4.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/8189706991009378213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/8189706991009378213'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2016/05/blog-post_4.html' title=''/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-2077771688081957141</id><published>2016-05-04T08:45:00.001+03:00</published><updated>2016-05-04T08:45:30.993+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="анекдот"/><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Кафе при зоопарке. Дама, заказав кофе с пирожным, слушает спор, который ведут между собой трое рабочих в синих комбинезонах.&lt;br /&gt;— Да вы чего? — говорит один. — Это сложное слово. А пишется оно так: &quot;хврухт&quot;!&lt;br /&gt;— Ну, нет! — отзывается другой. — Его нужно писать черездва &quot;у&quot;: &quot;хвруухт&quot;!&lt;br /&gt;— А по-моему, вы оба путаете, — горячится третий. — Правильное написание такое: &quot;фрухт&quot;...&lt;br /&gt;Дама допивает кофе, доедает пирожное, расплачивается и, проходя мимо столика работяг, строгим голосом бросает:&lt;br /&gt;— Джентельмены! Если вы не поленитесь и посмотрите в любой словарь, вы сможете найти там единственно правильную версию. Это слово пишется &quot;фрукт&quot; и никак иначе!..&lt;br /&gt;— Образованная!.. — произносит ей вслед один рабочий.&lt;br /&gt;— Да-а, грамотная тетка, сразу видно, — соглашается второй.&lt;br /&gt;— И все равно, — возражает третий, — готов спорить на ящик пива, что она ни разу в жизни не слыхала, как пердит слон!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/2077771688081957141/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2016/05/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/2077771688081957141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/2077771688081957141'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2016/05/blog-post.html' title=''/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-6145716998153597016</id><published>2012-04-16T09:53:00.000+03:00</published><updated>2012-04-16T09:53:35.094+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="getstream"/><category scheme="http://www.blogger.com/atom/ns#" term="iptv"/><category scheme="http://www.blogger.com/atom/ns#" term="nstreamplayer"/><category scheme="http://www.blogger.com/atom/ns#" term="omicom"/><category scheme="http://www.blogger.com/atom/ns#" term="samsung"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>IPTV-стример на базе getstream_a84</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Как бы ни был &lt;i&gt;VLC&lt;/i&gt; хорош с его набором модулей и функций, а также  утечками памяти и глюками. Нет, я уважаю этот проект, но просто иногда  не нужно всех этих плюшек.&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Итак, начнем. Все действия производятся на &lt;i&gt;Ubuntu Server 10.04 LTS&lt;/i&gt; с 4 DVB-картами &lt;a href=&quot;http://pctuner.ru/page-al-omicom_s2pci.html&quot;&gt;Omicom S2 pci rev.3&lt;/a&gt;.&lt;br /&gt;
Для установки потребуются &lt;a href=&quot;http://valiant.pp.ua/files/v4l-omicom-s2.tar.bz2&quot;&gt;драйвера&lt;/a&gt; (не работают на ядрах 2.6.37 и выше), кстати подойдут ко многим DVB-картам и &lt;a href=&quot;http://valiant.pp.ua/files/v4l-omicom-s2_kern_2.6.38-8.tar.bz2&quot;&gt;драйвера для версии ядра 2.6.38-8&lt;/a&gt;, и пакеты &lt;b&gt;build-essential  subversion linux-libc-dev libssl-dev gettext sysv-rc-conf  linux-headers-`uname -r` git-core mercurial ncurses-dev dvb-apps  libxml2-dev dialog libevent-dev libglib2.0-dev libncurses5-dev iptraf  snmp snmpd monit&lt;/b&gt;.&lt;br /&gt;
Можно поставить &lt;a href=&quot;http://www.skymaster.com.ua/rus/sputnikinet/files/&quot;&gt;драйвера от Игоря Липлианина&lt;/a&gt;,  они должны лучше работать с картой, ну и якобы производительней. Но  поставить их у меня не получилось, дрова откомпилились, но карта так и  не определилась в системе.&lt;br /&gt;
Считаем, что карты уже стоят внутри сервера:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;sudo aptitude install build-essential subversion linux-libc-dev  libssl-dev gettext sysv-rc-conf linux-headers-`uname -r` git-core  mercurial ncurses-dev dvb-apps libxml2-dev dialog libevent-dev  libglib2.0-dev libncurses5-dev iptraf snmp snmpd rrdtool monit&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
После установки дополнительных пакетов качаем сами драйвера и устанавливаем:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;cd /usr/src
wget http://valiant.pp.ua/files/v4l-omicom-s2.tar.bz2
tar -xjvf v4l-omicom-s2.tar.bz2
cd v4l-omicom-s2/
make KERNELRELEASE=$(uname -r)
make KERNELRELEASE=$(uname -r) install&lt;/pre&gt;&lt;br /&gt;
После компиляции перезагружаем машину и проверяем наличие устройства:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;zeleniy@streamer:~$ ls /dev/dvb/&lt;br /&gt;
adapter0 adapter1 adapter2 adapter3&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Отлично карты определились, можно перейти к настройке.&lt;br /&gt;
Создадим файл &lt;b&gt;11389&lt;/b&gt; и пропишем туда следующие настройки:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;S 11389000 H 27500000 AUTO&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&lt;/b&gt; или &lt;b&gt;S2&lt;/b&gt; — это DVB-S или DVB-S2&lt;br /&gt;
&lt;b&gt;11389000&lt;/b&gt; — частота транспондера в KHZ&lt;br /&gt;
&lt;b&gt;H&lt;/b&gt; — поляризация&lt;br /&gt;
&lt;b&gt;27500000&lt;/b&gt; — символьная скорость&lt;br /&gt;
&lt;b&gt;AUTO&lt;/b&gt; — коррекция ошибок FEC, может быть AUTO, 3/4, 7/8 и так далее.&lt;br /&gt;
Создадим еще один пустой файл куда будут записываться каналы и параметры для них:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;touch 11389.ch&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Пишем в терминале:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;scan -a 0 11389 &amp;gt; 11389.ch&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Ключ -a &lt;b&gt;0&lt;/b&gt; указывает на каком адаптере нужно провести сканирование.&lt;br /&gt;
После завершения сканирования в файле &lt;b&gt;11389.ch&lt;/b&gt; появятся следующие записи:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;Inter:11389:h:0:27500:257:258:1&lt;br /&gt;
NTN:11389:h:0:27500:513:514:2&lt;br /&gt;
K1:11389:h:0:27500:769:770:3&lt;br /&gt;
MEGA:11389:h:0:27500:1025:1026:4&lt;br /&gt;
MTV UA:11389:h:0:27500:1281:1282:5&lt;br /&gt;
Enter Film:11389:h:0:27500:1537:1538:6&lt;br /&gt;
K2:11389:h:0:27500:1793:1794:7&lt;br /&gt;
Enter Music:11389:h:0:27500:2049:2050:8&lt;br /&gt;
Inter+:11389:h:0:27500:2305:2306:9&lt;br /&gt;
Gamma:11389:h:0:27500:2561:2562:10&lt;br /&gt;
Hockey:11389:h:0:27500:2817:2818:11&lt;br /&gt;
RTR Planeta:11389:h:0:27500:3073:3074:12&lt;br /&gt;
Impact TV:11389:h:0:27500:3329:3330:13&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Разберем что есть что, по порядку: название канала, частота приема,  поляризация, номер адаптера, символьная скорость, video pid, audio pid,  sid. Нам нужно знать только название канала и его sid (последняя цифра).&lt;br /&gt;
Теперь перейдем к настройке &lt;i&gt;getstream&lt;/i&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;cd /tmp/
wget --no-check-certificate https://cesbo.com/hg/getstream_a84/archive/default.tar.gz
tar -zxvf default.tar.gz
cd getstream_a84-default/
./configure
make
install getstream /usr/bin/getstream&lt;/pre&gt;&lt;br /&gt;
Теперь займемся файлом конфигурации &lt;i&gt;getstream&lt;/i&gt;. Создадим файл &lt;a href=&quot;http://pastebin.com/YRa7VC2S&quot;&gt;11389.conf&lt;/a&gt;.&lt;br /&gt;
С описанием параметров в файле можно познакомиться &lt;a href=&quot;https://cesbo.com/projects/iptv/wiki/GetStream_config_ru&quot;&gt;здесь&lt;/a&gt;. &lt;strong&gt;Хочу обратить внимание, что не стоит указывать в секции &lt;i&gt;input&lt;/i&gt; параметр &lt;i&gt;epg&lt;/i&gt;&lt;/strong&gt;,  т.к. во-первых наблюдаются глюки типа не с первого раза запускается  просмотр на компьютере или останавливается канал, пока не передернешь.  Ну а во вторых толку с епг в таком виде + лишний трафик, гораздо  интересней прикрутить программу телепередач в &lt;i&gt;iptv player&lt;/i&gt;.&lt;br /&gt;
Создадим скрипт &lt;b&gt;/etc/init.d/getstream11389&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code class=&quot;bash&quot;&gt;&lt;span class=&quot;comment&quot;&gt;#! /bin/sh&lt;/span&gt;
&lt;span class=&quot;comment&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;comment&quot;&gt;# Some things that run always&lt;/span&gt;
&lt;span class=&quot;comment&quot;&gt;# &lt;commands here=&quot;&quot;&gt;&lt;/commands&gt;&lt;/span&gt;
&lt;span class=&quot;comment&quot;&gt;# Carry out specific functions when asked to by the system&lt;/span&gt;
case &lt;span class=&quot;string&quot;&gt;&quot;&lt;span class=&quot;variable&quot;&gt;$1&lt;/span&gt;&quot;&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;in&lt;/span&gt;
start)
sleep &lt;span class=&quot;number&quot;&gt;10&lt;/span&gt;
/usr/bin/getstream -c /home/zeleniy/stream/&lt;span class=&quot;number&quot;&gt;11389&lt;/span&gt;.conf -dd &amp;gt; /var/log/getstream11389.log &amp;amp;
&lt;span class=&quot;keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;Started.&quot;&lt;/span&gt;
;;
stop)
kill -&lt;span class=&quot;number&quot;&gt;9&lt;/span&gt; `cat /var/run/getstream11389.pid`
&lt;span class=&quot;keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;Stopped.&quot;&lt;/span&gt;
;;
*)
&lt;span class=&quot;keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;Usage: /etc/init.d/getstream {start|stop}&quot;&lt;/span&gt;
&lt;span class=&quot;keyword&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;
;;
esac
&lt;span class=&quot;keyword&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Отмечу что &lt;i&gt;sleep&lt;/i&gt; здесь присутствует потому, что карты инициализируются позже, чем запускается скрипт при перезагрузке сервера.&lt;br /&gt;
Сделаем его исполняемым и добавим в автозагрузку:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;sudo chmod +x /etc/init.d/getstream11389&lt;br /&gt;
sudo update-rc.d gestream11389 defaults&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Запускаем:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;sudo /etc/init.d/getstream11389 start&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Iptraf&lt;/i&gt;&#39;ом смотрим что пакеты улетают, и пробуем смотреть на компьютере например &lt;i&gt;VLC&lt;/i&gt;.&lt;br /&gt;
Ну а теперь настроим &lt;i&gt;monit&lt;/i&gt;, он отслеживает работу &lt;i&gt;getstream&lt;/i&gt; и при падении перезапускает процесс без участия администратора.&lt;br /&gt;
В файле &lt;b&gt;/etc/default/monit&lt;/b&gt; выставляем параметр &lt;b&gt;startup=1&lt;/b&gt;.&lt;br /&gt;
В файле &lt;b&gt;/etc/monit/monitrc&lt;/b&gt; выставляем параметры:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;set daemon 60 # Время проверки процесса в секундах, т.е. через каждую минуту. Можете поставить #сколько угодно&lt;br /&gt;
set logfile syslog facility log_daemon #Путь к логу&lt;br /&gt;
## Т.к. у меня 4 адаптера и запущено 4 копии getstream, то&lt;br /&gt;
####GETSTREAM 10722#########&lt;br /&gt;
check process getstream0 with pidfile /var/run/getstream10722.pid&lt;br /&gt;
start program = &quot;/etc/init.d/getstream10722 start&quot;&lt;br /&gt;
stop program = &quot;/etc/init.d/getstream10722 stop&quot;&lt;br /&gt;
####GETSTREAM 10759#########&lt;br /&gt;
check process getstream1 with pidfile /var/run/getstream10759.pid&lt;br /&gt;
start program = &quot;/etc/init.d/getstream10759 start&quot;&lt;br /&gt;
stop program = &quot;/etc/init.d/getstream10759 stop&quot;&lt;br /&gt;
####GETSTREAM 10806#########&lt;br /&gt;
check process getstream2 with pidfile /var/run/getstream10806.pid&lt;br /&gt;
start program = &quot;/etc/init.d/getstream10806 start&quot;&lt;br /&gt;
stop program = &quot;/etc/init.d/getstream10806 stop&quot;&lt;br /&gt;
####GETSTREAM 11389#########&lt;br /&gt;
check process getstream3 with pidfile /var/run/getstream11389.pid&lt;br /&gt;
start program = &quot;/etc/init.d/getstream11389 start&quot;&lt;br /&gt;
stop program = &quot;/etc/init.d/getstream11389 stop&quot;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Запускаем:&lt;br /&gt;
&lt;code&gt;sudo /etc/init.d/monit start&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
В итоге, если &lt;i&gt;getstream&lt;/i&gt; упадет, то &lt;i&gt;monit&lt;/i&gt; через минуту его перезапустит и отпишет в &lt;i&gt;syslog&lt;/i&gt;&lt;br /&gt;
Дополнительно можно мониторить по &lt;i&gt;snmp&lt;/i&gt;, что я и делаю рисую график через &lt;i&gt;rrdtool&lt;/i&gt; выходного интерфейса, т.к. графики я смотрю чаще, чем логи на сервере.&lt;br /&gt;
Итого:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;zeleniy@streamer:~$ uptime &lt;br /&gt;
22:58:16 up 54 days, 23:16, 1 user, load average: 1.74, 2.00, 1.98&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Ах да чуть не забыл самое главное — проверить уровень сигнала:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;zeleniy@streamer:~$ sudo femon -H -a 0&lt;br /&gt;
FE: STV090x Multistandard (DVBS)&lt;br /&gt;
Problem retrieving frontend information: Operation not supported&lt;br /&gt;
status SCVYL | signal 80% | snr 69% | ber 0 | unc 191 | FE_HAS_LOCK&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ну а теперь особо интересная вещь=)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Счастливые обладатели телевизоров &lt;i&gt;Samsung&lt;/i&gt; серий &lt;i&gt;B&lt;/i&gt;, &lt;i&gt;C&lt;/i&gt; и &lt;i&gt;D&lt;/i&gt; с функцией &lt;i&gt;Internet@TV&lt;/i&gt; и &lt;i&gt;Smarthub&lt;/i&gt; могут смотреть &lt;i&gt;IPTV&lt;/i&gt; прямо на телевизоре без всяких глюкавых приставок.&lt;br /&gt;
Достаточно получить доступ к файловой системе телевизора и установить виджет. Все подробности &lt;a href=&quot;http://wiki.samygo.tv/index.php5/Main_Page&quot;&gt;здесь&lt;/a&gt;.&lt;br /&gt;
У меня телевизор серии &lt;i&gt;D&lt;/i&gt;, поэтому процесс опишу для него, но по  телнету я к нему не смог добраться, т.к. телек был прошит последней  прошивкой от самсунга, поэтому не рекомендую обновлять ПО в телевизоре.  Мне из всех этих виджетов интересен только &lt;i&gt;nStreamPlayer&lt;/i&gt;, поэтому я буду устанавливать его отдельно. Но только для этого нужен веб сервер, думаю что у всех найдется=). Есть &lt;a href=&quot;http://www.pristavka.de/index.php?topic=9616.0&quot;&gt;оригинал&lt;/a&gt; виджета и его &lt;a href=&quot;http://www.pristavka.de/index.php/topic,9749.0.html&quot;&gt;мод&lt;/a&gt;, мне по душе мод, поэтому качаю его. Хотя можно поставить оба одновременно и выбрать для себя, достаточно добавить в &lt;b&gt;widgetlist.xml&lt;/b&gt; параметры второго виджета.&lt;br /&gt;
Создадим на веб сервере в корне файл &lt;b&gt;widgetlist.xml&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code class=&quot;xml&quot;&gt;&lt;span class=&quot;pi&quot;&gt;&lt;!--?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?--&gt;&lt;/span&gt;
&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;rsp&lt;/span&gt; &lt;span class=&quot;attribute&quot;&gt;stat&lt;/span&gt;=&lt;span class=&quot;value&quot;&gt;&quot;ok&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;list&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;widget&lt;/span&gt; &lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;value&quot;&gt;&quot;nStreamLmod&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
      &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;title&lt;/span&gt;&amp;gt;&lt;/span&gt;nStreamLmod&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;title&lt;/span&gt;&amp;gt;
      &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;compression&lt;/span&gt; &lt;span class=&quot;attribute&quot;&gt;size&lt;/span&gt;=&lt;span class=&quot;value&quot;&gt;&quot;20000&quot;&lt;/span&gt; &lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;value&quot;&gt;&quot;zip&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;
      &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;description&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;description&lt;/span&gt;&amp;gt;
      &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;download&lt;/span&gt;&amp;gt;&lt;/span&gt;http://yourIP/widget/nStreamLmod.zip&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;download&lt;/span&gt;&amp;gt;
    &lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;widget&lt;/span&gt;&amp;gt;
&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;widget&lt;/span&gt; &lt;span class=&quot;attribute&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;value&quot;&gt;&quot;nStreamPlayer&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
      &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;title&lt;/span&gt;&amp;gt;&lt;/span&gt;nStreamPlayer&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;title&lt;/span&gt;&amp;gt;
      &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;compression&lt;/span&gt; &lt;span class=&quot;attribute&quot;&gt;size&lt;/span&gt;=&lt;span class=&quot;value&quot;&gt;&quot;20000&quot;&lt;/span&gt; &lt;span class=&quot;attribute&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;value&quot;&gt;&quot;zip&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;
      &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;description&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;description&lt;/span&gt;&amp;gt;
      &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;download&lt;/span&gt;&amp;gt;&lt;/span&gt;http://yourIP/widget/nStreamPlayer.zip&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;download&lt;/span&gt;&amp;gt;
    &lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;widget&lt;/span&gt;&amp;gt;
&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;list&lt;/span&gt;&amp;gt;
&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;rsp&lt;/span&gt;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Теперь положим виджеты сюда:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;mkdir -p /var/www/widget
cd /var/www/widget
wget http://ru.16mb.com/nStreamLmod.zip
wget http://kartina.pristavka.de/nktvplayer/nStreamPlayer.zip
chmod -R 755 /var/www/widget/&lt;/pre&gt;&lt;br /&gt;
Установить виджет без доступа по telnet получилось следующим образом:&lt;br /&gt;
&lt;br /&gt;
1. Войти в &lt;b&gt;SmartHub&lt;/b&gt;.&lt;br /&gt;
2. Нажать красную клавишу &lt;b&gt;А&lt;/b&gt;, создать учетную запись с именем пользователя &lt;b&gt;develop&lt;/b&gt; и любым паролем, залогинится под ним.&lt;br /&gt;
3. Нажать синюю клавишу &lt;b&gt;D&lt;/b&gt;, зайти в меню &lt;b&gt;Разработка&lt;/b&gt;--&amp;gt;&lt;b&gt;Настройка IP-адреса сервера&lt;/b&gt; заходим и ставим IP-адрес своего сервера.&lt;br /&gt;
4. Клацаем &lt;b&gt;Назад&lt;/b&gt; и выбираем &lt;b&gt;Синхронизация приложений пользователя&lt;/b&gt;. Ждем пока виджеты установятся.&lt;br /&gt;
5. Закрываем все после установки, выходим из &lt;b&gt;Smarthub&lt;/b&gt;, снова заходим и видем наши виджеты.&lt;br /&gt;
6. Запускаем например &lt;i&gt;Lmod&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Появляется страница с настройками вводим туда:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Плейлист URL &lt;/b&gt; — &lt;a href=&quot;http://yourip/channels.xml&quot;&gt;yourIP/channels.xml&lt;/a&gt; вводим адрес, где расположен &lt;a href=&quot;http://pastebin.com/J4jjNbEc&quot;&gt;список каналов&lt;/a&gt; в формате &lt;i&gt;xml&lt;/i&gt;, можно &lt;i&gt;m3u&lt;/i&gt;, подойдет от &lt;i&gt;VLC&lt;/i&gt;, но тогда не будет доступен телегид.&lt;br /&gt;
&lt;b&gt;Прокси для UDP&lt;/b&gt; — вводим адрес прокси, если используете &lt;i&gt;udpxy&lt;/i&gt;, чтобы не переделывать ссылки из &lt;i&gt;udp&lt;/i&gt; в формат &lt;i&gt;udpxy&lt;/i&gt;&lt;br /&gt;
&lt;b&gt;Коррекция времени&lt;/b&gt; — думаю понятно что тут писать&lt;br /&gt;
&lt;b&gt;Начальный размер&lt;/b&gt; — ставим &lt;b&gt;0&lt;/b&gt; 16х9&lt;br /&gt;
&lt;b&gt;Программка Яндекс&lt;/b&gt; — пишем &lt;i&gt;ru&lt;/i&gt; или &lt;i&gt;ua&lt;/i&gt;, кто где&lt;br /&gt;
&lt;b&gt;Код региона&lt;/b&gt; — &lt;b&gt;187&lt;/b&gt; для всей Украины&lt;br /&gt;
&lt;b&gt;Форма иконки&lt;/b&gt; — форма логотипа канала, может быть 0 — квадрат или 1 — авто&lt;br /&gt;
Нажимаем &lt;b&gt;Enter&lt;/b&gt; и виджет перезагружается с новыми параметрами.&lt;br /&gt;
&lt;br /&gt;
Посмотреть код региона и &lt;i&gt;id&lt;/i&gt; канала для программы можно на сайте &lt;a href=&quot;http://m.tv.yandex.ua/&quot;&gt;Яндекса&lt;/a&gt;, код будет написан в адресной строке:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;http://m.tv.yandex.ua/187/&lt;/pre&gt;&lt;br /&gt;
Теперь чтобы для каждого канала отображался свой логотип и программа, нужно в списке каналов в тегах &lt;b&gt;description&lt;/b&gt; указать &lt;i&gt;id&lt;/i&gt; канала на сайте Яндекса, например для Интера это 308:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;http://m.tv.yandex.ua/187/?channel=308&amp;amp;when=2&amp;amp;day=15420&lt;/pre&gt;&lt;br /&gt;
Кусок из плейлиста:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code class=&quot;xml&quot;&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;channel&lt;/span&gt;&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;title&lt;/span&gt;&amp;gt;&lt;/span&gt;Интер&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;title&lt;/span&gt;&amp;gt;
        &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;stream_url&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;cdata&quot;&gt;&lt;!--[CDATA[udp://239.255.3.1:1234]]--&gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;stream_url&lt;/span&gt;&amp;gt;
        &lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;span class=&quot;title&quot;&gt;description&lt;/span&gt;&amp;gt;&lt;/span&gt;308&lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;description&lt;/span&gt;&amp;gt;
        &lt;span class=&quot;tag&quot;&gt;&lt;!--&lt;span class=&quot;title&quot;--&gt;channel&lt;/span&gt;&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Желаю Всем приятного просмотра!&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/6145716998153597016/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2012/04/iptv-getstreama84.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/6145716998153597016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/6145716998153597016'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2012/04/iptv-getstreama84.html' title='IPTV-стример на базе getstream_a84'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-2105140611329538659</id><published>2012-04-09T01:48:00.000+03:00</published><updated>2012-04-09T01:48:21.314+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firewall"/><category scheme="http://www.blogger.com/atom/ns#" term="freeware"/><category scheme="http://www.blogger.com/atom/ns#" term="groupware"/><category scheme="http://www.blogger.com/atom/ns#" term="iptables"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="samba"/><category scheme="http://www.blogger.com/atom/ns#" term="virtual machine"/><category scheme="http://www.blogger.com/atom/ns#" term="voip"/><category scheme="http://www.blogger.com/atom/ns#" term="webmail"/><category scheme="http://www.blogger.com/atom/ns#" term="zentyal"/><title type='text'>Zentyal — сервер all-in-one для SMB</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Лет 6 назад, в мою бытность сисадмином в одной конторе, мне приходилось  обслуживать несколько серверов на FreeBSD — прокси, почтовик, web-сервер, ftp,  ipfw, в общем, все как у всех. Работало все на двух физических серверах, и было  у меня желание заиметь какую-нибудь универсальную графическую оболочку для  удобства управления всем этим хозяйством. Ну и, конечно же, таковой нигде не  было. Были попытки разных умельцев создать свои GUI для управления подсистемами  по отдельности: один для squid, другой для sendmail и т. д. Конечно, можно было  какую-то часть управления выполнять и в webmin, но это не доставляло никакого  удовольствия. Как говорили мне — неправильно работать с *nix-системами через  GUI. Нет, естественно работа в командной строке не доставляла неудобства, но  хотелось чего-то более универсального. В итоге, я написал несколько скриптов,  которые вызывали псевдографику на черном экране, где можно было  добавлять/удалять правила, рулить пользователями и т. д., на чем как-то все  остановилось, хотя интерес к удобству управления через GUI и не пропал.&lt;br /&gt;
&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Выбор и описание системы&lt;/h4&gt;&lt;br /&gt;
&lt;br /&gt;
Спустя какое-то время, когда я уже  работал в системной интеграции, у одного из заказчиков возник вопрос, который я  пытался решить еще давно. И снова начались поиски.&lt;br /&gt;
&lt;br /&gt;
На этот раз все было  гораздо проще — за это время появилось множество систем, позволяющих управлять  теми или иными сервисами. Сначала мой выбор, несмотря на не очень благозвучное  для русскоязычного человека название, пал на eBox Platform. И хотя продукт на  тот момент казался сыроватым, в принципе отвечал всем требованиям заказчика.  Затем интерес к теме снова поутих — работа, другие дела и задачи…&lt;br /&gt;
&lt;br /&gt;
И вдруг  опять срочно понадобилась «управлялка всего и вся». За прошедшее время eBox  переродился в дистрибутив под названием Zentyal, про который кто-то говорил  плохо (памятуя баги из eBox), а кто-то не скрывал удовольствия от  использования.&lt;br /&gt;
&lt;br /&gt;
Именно о нем я и хотел рассказать. Забегая вперед скажу,  что мне дистрибутив понравился!&lt;br /&gt;
&lt;br /&gt;
Итак, первым делом идем на сайт Zentyal и  качаем &lt;a href=&quot;http://www.zentyal.com/en/server/download/&quot;&gt;дистрибутив&lt;/a&gt;.  Образ Zentyal основан на Ubuntu, так что его установка не должна вызвать никаких  проблем. В конце установки будет предложено открыть браузер и пройти по  указанной ссылке, хотя можно остаться на локальном сервере для дальнейшей  настройки системы.&lt;br /&gt;
&lt;br /&gt;
После входа в систему попадаем на страницу выбора  пакетов для установки. Что интересно, можно установить готовые наборы или только  необходимые пакеты по-отдельности.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/0e5/464/743/0e54647432342fc20dc4a2018fa6656f.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Ставить  для теста отдельно пакеты неинтересно, поэтому ставим сразу все!&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/5f4/738/934/5f47389342108fb1dcc61afa83ae8b65.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Придется,  правда, немножко подождать. После того, как все будет установлено, необходимо  сделать первоначальную настройку системы. &lt;br /&gt;
&lt;br /&gt;
Сначала настраиваем сеть.  Сразу оговорюсь, что для дальнейшего использования сервера удобнее всего иметь 2  сетевых интерфейса. &lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/c7f/e66/7c1/c7fe667c1fed214757371b0c0efb7cc4.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
После  настройки сети, необходимо определиться с тем, в каком режиме будет работать  сервер — просто выделенный сервер или как slave (при условии, что уже есть  первый — master). Смысл затеи сводится к разнесению служб на разные физические  хосты. В дальнейшем, при масштабировании к мастер-серверу можно подключать  slave-серверы, которые будут выполнять свою роль/роли в общей ферме.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/84d/de4/9ee/84dde49ee12fbf80cefdf027ae87008a.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Настройка  первичного почтового домена:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/d0c/a4c/5a9/d0ca4c5a90ea9977fc84e83dc47aa58b.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Окно  подключения «подписки». Очень интересная вещь! &lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/572/f06/e4f/572f06e4f16b7d566a24fdc3e8be5d5f.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Вы  можете зарегистрироваться и купить поддержку либо же воспользоваться  возможностями бесплатного варианта. В первом случае, вы получаете возможность  установки расширенных патчей безопасности и поддержку по телефону, во втором —  стандартные патчи и обращение в службу поддержки с оплатой по факту. Но и в  первом, и во втором случае есть отличная возможность контролировать состояние  сервера через интернет. После регистрации на сайте Zentyal и выбора типа  подписки в окне ниже нужно ввести свои данные. Хотя это можно сделать и позднее  при дальнейшем конфигурировании сервера. После ввода своих регистрационных  данных, сервер устанавливает VPN-соединение с сервером поддержки, и вы получаете  доступ к дашборду, где можете контролировать состояние своей системы. В случае  платной поддержки функционал будет побогаче.&lt;br /&gt;
&lt;br /&gt;
Итак, установка и начальная  конфигурация прошли успешно…&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/e1d/b3b/e06/e1db3be06e871b92aa80b340ce760256.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
…  и у нас всё готово для дальнейшей пальпации.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/d63/69c/932/d6369c93226fc3b9ab570aa7bc8161a6.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Админ-панель&lt;/h4&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/c5f/ea7/f2d/c5fea7f2d741b09203de2891d0b04424.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Панель  администрирования. Удобно, красиво, ничего не раздражает. Слева меню модулей, по  центру виджеты (кстати их можно перетаскивать мышью и расставлять по своему  усмотрению). Тут же видно, что система нашла 18 обновлений. Нажав на это  уведомление, мы увидим перечень, из которого можно выбрать устанавливаемые  компоненты.&lt;br /&gt;
&lt;br /&gt;
Я отметил все и нажал «Сохранить изменения».&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/a24/b6c/3ad/a24b6c3adb48144747ecf35559db7642.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Пошла  установка апдейтов.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/e7a/f3b/715/e7af3b7154a0e1e9300265fa0d7d8029.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Описание модулей&lt;/h4&gt;&lt;br /&gt;
&lt;br /&gt;
Кратко пробегусь по модулям. В меню настройки  статуса модулей можно выбрать, что именно должно работать, а какой сервис будет  выключен. Поскольку DHCP-сервер, как правило, в сети уже существует, то данную  службу не трогаем.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/fd9/dc9/5a0/fd9dc95a0680de186f72ec58535b5b87.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Меню  бэкапа. Тут тоже все просто и понятно. Расписание-что-куда-откуда-исключения и  прочее…&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/720/4ed/368/7204ed368d5d59da9ca75086565af7b3.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Импорт/экспорт  конфигурации и вкл/выкл системы — стандартные опции, не думаю, что на них стоит  заострять внимание.&lt;br /&gt;
&lt;br /&gt;
Опция DynDNS — опять же все стандартно.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/b5c/369/0e3/b5c3690e3dd8c00057043c314bb141f0.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
В  окно мониторинга строятся красивые разноцветные графики загрузки  системы.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/805/28f/100/80528f10023b2d7485b085ffd4145cf6.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Есть  где почитать логи.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/e0f/e9d/ddd/e0fe9dddde01f6e16e7745c125b9d7b1.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Модуль  прокси-сервера. Как видно, можно настроить прокси с авторизацией или прозрачный,  можно добавить опцию блокировки рекламы. В платной версии, судя по описанию,  функционал богаче.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/6b1/e5d/1e2/6b1e5d1e29c1cd156bf9c03ff31f6bb0.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Firewall  — здесь все красиво! Через GUI можно настроить практически любое правило.  Рисунки на странице не дадут запутаться при выборе.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/f86/c40/8c3/f86c408c389ddfd55e67fe4500ed0632.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
…может  понадобиться опция перенаправления портов. &lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/b85/486/732/b8548673261f42ff04112877d7f10274.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Интересной  возможностью дистрибутива является создание и запуск виртуальных машин — куда же  в наше время без виртуализации? Здесь все просто — создаем виртуальную машину,  описываем сеть, добавляем диски и стартуем. В качестве CD/DVD можно использовать  предварительно скопированные на сервер образы операционных систем.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/c53/68e/c5b/c5368ec5bfa1a79c8275ec812c4a710e.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/382/fc0/435/382fc04359d474de78ff9d7cf609506b.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/21a/c7e/8a1/21ac7e8a1b31bec652c4940e9337be98.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Настройки  SAMBA тоже не сложные — все как обычно.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/ca7/c68/8ed/ca7c688edbbec958f965f27642ced91c.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/a40/a81/aec/a40a81aec089c91b333431d285e030b5.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Кстати,  есть удобная фишка — «Корзина». Логирует все удаления файлов с файловых шар.  Можно посмотреть, кто и когда удалил тот или иной файл и восстановить его в  случае необходимости.&lt;br /&gt;
&lt;br /&gt;
А теперь самое интересное: инструменты групповой  работы. Настройки серверной части просты — включаем почту, заводим  пользователей, разрешаем/запрещаем пересылку сообщений.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/2e6/94e/11f/2e694e11f36c409f0257a81fe5462c15.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/daa/543/938/daa5439382499703f478b68d2d5216a7.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/77f/7f3/e79/77f7f3e796e0776164a6a0309f36cf72.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/71d/8c9/2e7/71d8c92e7e6c6f7c3394c68910a891fd.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Кроме  всего прочего, можно настроить сервер VoIP.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/c7f/1af/8d8/c7f1af8d8a11ca113e718a25463f124e.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Пользовательский интерфейс&lt;/h4&gt;&lt;br /&gt;
&lt;br /&gt;
Итак, настройка сервера завершена.  Что же получил в свое распоряжение пользователь? Понятно, что есть сетевые шары,  сервер VoIP, шлюз работает, прокси пишет логи. Логинимся на адрес, который был  указан после настройки GroupWare:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/24d/f44/96f/24df4496fe4b5107a85885a1cb15fcfc.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
И  после входа получаем…&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/009/16a/d69/00916ad691498e677792f788e99f8a1f.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Ничего  не напоминает? Правильно, интерфейс MS Outlook. Не знаю, зачем разработчики  сделали похожий интерфейс, наверное, для удобства работы конечного пользователя.  Заодно вот окно создания сообщения для сравнения:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/bc2/d83/e08/bc2d83e08a2edf440cb81f2fc58b96a8.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/26f/aad/04f/26faad04ffda121fa556a6505e943bdb.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Календарь  тоже очень похож на творение от MS.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/4e6/b3a/8de/4e6b3a8de59b5ca966f71592c9f21a27.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Выводы&lt;/h4&gt;&lt;br /&gt;
&lt;br /&gt;
Ну, вот и все, в общем-то. Обзор получился не очень-то  коротким, но в целом можно составить представление о продукте.&lt;br /&gt;
&lt;br /&gt;
После  установки и настройки создается впечатление законченности продукта в целом. Все  пункты в своих модулях, грамотный перевод на русский язык, наличие платной  поддержки — все на надлежащем уровне. Кроме того, очень много материалов на  русском языке.&lt;br /&gt;
&lt;br /&gt;
Для «взрослых» компаний данный продукт вряд ли подойдет,  так как там другие деньги крутятся, а вот для уровня small business — очень даже  неплохой выбор.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://habrahabr.ru/company/depocomputers/blog/140240/&quot; target=&quot;_blank&quot;&gt;Взято с хабра&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/2105140611329538659/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2012/04/zentyal-all-in-one-smb.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/2105140611329538659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/2105140611329538659'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2012/04/zentyal-all-in-one-smb.html' title='Zentyal — сервер all-in-one для SMB'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-460120405947088462</id><published>2012-04-09T01:24:00.001+03:00</published><updated>2012-04-09T01:46:35.617+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="kvm"/><category scheme="http://www.blogger.com/atom/ns#" term="openvz"/><category scheme="http://www.blogger.com/atom/ns#" term="proxmox ve"/><category scheme="http://www.blogger.com/atom/ns#" term="виртуализация"/><category scheme="http://www.blogger.com/atom/ns#" term="виртуализация серверов"/><title type='text'>Наконец-то вышел Proxmox VE 2.0 final release</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;30 марта 2012 года вышел финальный релиз Proxmox VE 2.0. Первая публичная бета  вышла 30 сентября 2011 — ровно 6 месяцев шла заточка напильником. RC1 был  опубликован 16 февраля 2012.&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=1844275644917792521&amp;amp;postID=460120405947088462&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/e14/1b0/190/e141b0190f97b1dbc2547e98ffb13acc.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.proxmox.com/products/proxmox-ve&quot;&gt;Proxmox VE&lt;/a&gt; (&lt;a href=&quot;http://ru.wikipedia.org/wiki/Proxmox_Virtual_Environment&quot;&gt;wiki&lt;/a&gt;) —  система виртуализации с открытым исходным кодом на базе гипервизоров KVM и  OpenVZ, основанная на Debian GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
Версия 2.0 довольно радикально  отличается от первой ветки.&lt;br /&gt;
&lt;br /&gt;
Начать можно с того, что изменилась лицензия  продукта и добавилась возможность покупки платной поддержки. GPL v2 сменил &lt;a href=&quot;http://fi.am/entry/agplv3-explained/&quot;&gt;AGPL v3&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Одной из  отличительных черт Proxmox VE является простота установки и дружелюбие  интерфейса. В версии 2 интерфейс полностью переработан. В новой версии он  базируется на ExtJs 4. Некоторые утверждают, что он стал более запутанным и  сложным. В любом случае очевидно, что его внешний вид стал намного приятнее.  Разработчики подчеркивают высокую скорость работы (полный AJAX) и удобство  пользования новым интерфейсом за счет хорошего поиска. &lt;br /&gt;
&lt;br /&gt;
В новой версии  также появились возможности для создания отказоустойчивого кластера. Кластер  основан на &lt;a href=&quot;http://en.wikipedia.org/wiki/Corosync_%28project%29&quot;&gt;corosync&lt;/a&gt;.  Используется собственная файловая система для хранения и синхронизации  конфигурационных файлов &lt;a href=&quot;http://pve.proxmox.com/wiki/Proxmox_Cluster_file_system_%28pmxcfs%29&quot;&gt;Proxmox  Cluster file system&lt;/a&gt; (pmxcfs), поддерживается multi-master и централизованное  логирование. В новой версии возможен автоматический старт виртуальных машин на  новой ноде при отказе старой.&lt;br /&gt;
&lt;br /&gt;
Наконец-то освежена версия Debian, на  основе которой работает VE. Теперь это Squeeze. Ядро обновлено до  2.6.32.&lt;br /&gt;
&lt;br /&gt;
В версии 2.0 добавлен RESTful HTTP API. Так же появилась  возможность Backup/Restore через веб-интерфейс, в том числе по расписанию.  Напомню, что любые действия в системе можно сделать из без GUI, используя  стандартные утилиты командной строки OpenVZ, KVM и собственные утилиты Proxmox.  Однако, разработчики делают ставку на простоту. Следовательно основным  инструментом админа в данном случае считается GUI. И они его реально пилят  напильником по-максимуму.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage2/d64/8d6/0cb/d648d60cb78843ac07128832deb14d61.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
В  новой версии добавлена интеграция с &lt;a href=&quot;http://www.turnkeylinux.org/&quot;&gt;TurnKey&lt;/a&gt; (сервис готовых шаблонов для  OpenVZ) и возможность скачки шаблонов из собственного комплекта. Теперь  поддерживается несколько хранилищ для контейнеров OpenVZ и нет необходимости  привязываться к /var/lib/vz (мелочь, а очень приятно в некоторых ситуациях).  Добавлена поддержка &lt;a href=&quot;http://wiki.openvz.org/VSwap&quot;&gt;VSwap&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Смотрите также: полный &lt;a href=&quot;http://pve.proxmox.com/wiki/Roadmap#Roadmap_for_2.x&quot;&gt;список изменений&lt;/a&gt;,  &lt;a href=&quot;http://www.youtube.com/proxmoxve&quot;&gt;видео-уроки&lt;/a&gt;, раздел &lt;a href=&quot;http://www.proxmox.com/downloads/proxmox-ve/17-iso-images&quot;&gt;скачки ISO&lt;/a&gt;,  мануал по &lt;a href=&quot;http://pve.proxmox.com/wiki/Upgrade_from_1.9_to_2.0&quot;&gt;обновлению с  1.9&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Добавлю, что в основе Proxmox лежит виртуализация на базе  контейнеров Linux OpenVZ. KVM-гипервизор используется в первую очередь для  остальных операционных систем. OpenVZ (как и другие контейнерные системы)  работают по принципу общего ядра между гостями и хостом. Это накладывает  значительные ограничения на гостевые машины (тоже самое ядро, что и на хосте).  Поэтому в некоторых ситуациях даже Linux запускают в KVM, а не OpenVZ. Сама  Proxmox VE представлет одинаково удобный GUI для работы с обеими  платформами.&lt;br /&gt;
&lt;br /&gt;
Использование Proxmox наиболее актуально для тех  пользователей, которые не хотят или не могут лезть в дебри OpenVZ и KVM. Система  позиционируется как готовая к использованию. И реально так и есть. Отлично  подойдет для начинающих.&lt;br /&gt;
&lt;br /&gt;
Из бесплатных аналогов на рынке Open Source  можно отметить Citrix &lt;a href=&quot;http://www.citrix.com/English/ps2/products/feature.asp?contentID=2300351&quot;&gt;XenServer&lt;/a&gt;.  Он использует совершенно другую схему виртуализации — &lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&quot;&gt;паравиртуализацию&lt;/a&gt;.  В этом случае на каждую гостевую машину будет работать свое xen-совместимое  ядро, что значительно ослабляет зависимость требований к гостю от хоста. Для  виртуализации систем, отличных от Linux, также используется &lt;a href=&quot;http://en.wikipedia.org/wiki/Xen#Hardware-assisted_virtualization.2C_allowing_for_unmodified_guests&quot;&gt;Xen-HVM&lt;/a&gt;  (базируется на &lt;a href=&quot;http://en.wikipedia.org/wiki/QEMU&quot;&gt;QEMU&lt;/a&gt;). У  XenServer дефолтовый клиент работает только под Windows, однако есть сторонние  реализации, в том числе и web-based.&lt;br /&gt;
&lt;br /&gt;
Выбор в пользу той или иной  платформы зависит от ряда факторов. У каждой из них есть свои преимущества и  недостатки. Но в любом случае обе платформы являются серьезными игроками на  рынке Open Source-виртуализации.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://habrahabr.ru/post/141649/&quot; target=&quot;_blank&quot;&gt;Взято с хабра&lt;/a&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/460120405947088462/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2012/04/proxmox-ve-20-final-release.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/460120405947088462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/460120405947088462'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2012/04/proxmox-ve-20-final-release.html' title='Наконец-то вышел Proxmox VE 2.0 final release'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-8967752738904762899</id><published>2012-01-14T00:45:00.000+02:00</published><updated>2012-01-14T00:45:43.300+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FreeBSD"/><category scheme="http://www.blogger.com/atom/ns#" term="FreeBSD 9"/><title type='text'>Обновляем FreeBSD до версии 9</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Как всем наверно известно – вышла&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;FreeBSD 9.0&lt;/strong&gt;. &amp;nbsp;И эта заметка об этом замечательном событии – &amp;nbsp;беглый взгляд на изменения – и способ обновления с&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;FreeBSD 8.2&lt;/strong&gt;&amp;nbsp;до&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&amp;nbsp;FreeBSD 9.0&lt;/strong&gt;&amp;nbsp;с помощью&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&amp;nbsp;freebsd-update&lt;/strong&gt;&amp;nbsp;( сам делаю а тут пишу ).&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Что поменялось :&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Спорный новый модульный&amp;nbsp;&lt;span style=&quot;font-family: Verdana, sans-serif; line-height: 20px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;BSDInstall&lt;/strong&gt;. т.е теперь он заменил&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;sysinstall&lt;/strong&gt;&amp;nbsp;– чему я лично не очень рад, но это мелочи.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;В базовой системе изменен компилятор был&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;GCC&lt;/strong&gt;&amp;nbsp;теперь&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Clang&lt;/strong&gt;, новый программный&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;RAID – graid&lt;/strong&gt;, обновлена версия файловой системы&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;ZFSv28&lt;/strong&gt;,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; line-height: 20px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; line-height: 20px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;Soft Updates&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 20px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;&lt;span style=&quot;color: #888888; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;журналирование&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; line-height: 20px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;для&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;UFS&lt;/strong&gt;, изменения в&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;TCP&lt;/strong&gt;&amp;nbsp;стеке для повышения контроля от перегрузки, введен новый механизм изоляции выполнения приложений&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; line-height: 20px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Capsicum&lt;/strong&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Обновляемся :&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Ничего нового в статье описано не будет – все это уже рассматривалось при переходе с freeBSD 8.1 до 8.2, но все равно имеет право быть описанным, надеюсь кому-то будет полезно :&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Итак обновляем 8.2 релиз до 9.0 с помощью простого и удобного инструмента freebsd-update&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;strong style=&quot;background-color: white; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;freebsd-update -r 9.0-RELEASE upgrade&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;В моем случае у меня собрано собственное ядро поэтому я получил сообщение о том что оно обновлено не будет, я его обновлю самостоятельно. Такое сообщение вы получите в том случае если ваше ядро отлично от generic что собственно логично – потому как если ядро собиралась со специальными возможностями которых нет в generic – при таком обновлении функциональность системы может пострадать. Сообщение выглядит примерно так :&lt;/span&gt;&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;strong style=&quot;background-color: white; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;WARNING: This system is running a “a-lan” kernel, which is not a&lt;/strong&gt;&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;strong style=&quot;background-color: white; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;kernel configuration distributed as part of FreeBSD 8.2-RELEASE.&lt;/strong&gt;&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;strong style=&quot;background-color: white; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;This kernel will not be updated: you MUST update the kernel manually&lt;/strong&gt;&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;strong style=&quot;background-color: white; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;before running “/usr/sbin/freebsd-update install”.&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;strong style=&quot;background-color: white; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;WARNING: This system is running a “a-lan” kernel, which is not akernel configuration distributed as part of FreeBSD 8.2-RELEASE.This kernel will not be updated: you MUST update the kernel manuallybefore running “/usr/sbin/freebsd-update install”.&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;По окончанию пересобираем ядро (только в том случае если оно у вас не generic )&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;По окончанию&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&amp;nbsp;shutdown -r now&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;После запускаем :&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;strong style=&quot;background-color: white; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;freebsd-update install&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;После завершение перегружаемся.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;и снова запускаем&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;strong style=&quot;background-color: white; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;freebsd-update install&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;результатом будет Done.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Последняя перезагрузка – и все.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;удачи ;)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: verdana, arial, tahoma, sans-serif; font-size: 12px; line-height: 21px; margin-bottom: 12px; margin-top: 12px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;Взято с&amp;nbsp;&lt;a href=&quot;http://ifreebsd.org/freebsd/%D0%B2%D1%8B%D1%88%D0%BB%D0%B0-freebsd-%D0%B4%D0%BE-9-0-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%81%D1%8F/&quot; style=&quot;text-align: left;&quot;&gt;http://ifreebsd.org/freebsd/%D0%B2%D1%8B%D1%88%D0%BB%D0%B0-freebsd-%D0%B4%D0%BE-9-0-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%81%D1%8F/&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/8967752738904762899/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2012/01/freebsd-9.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/8967752738904762899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/8967752738904762899'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2012/01/freebsd-9.html' title='Обновляем FreeBSD до версии 9'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-4124556297585014765</id><published>2012-01-14T00:42:00.000+02:00</published><updated>2012-01-14T00:42:34.334+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FreeBSD"/><category scheme="http://www.blogger.com/atom/ns#" term="htop"/><title type='text'>Установка htop во FreeBSD</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;В Ubuntu есть удобная утилита htop, которая визуально более информативна чем штатный top, а также дает возможность совершать больше действий над запущенными процессами.&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;Во FreeBSD есть порт&amp;nbsp;&lt;strong style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;htop&lt;/strong&gt;:&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_292097&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white !important; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative !important; vertical-align: baseline; width: 510px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span style=&quot;line-height: 11px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #51555c; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 1088px;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;gutter&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;1&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;2&lt;/div&gt;&lt;div class=&quot;line number3 index2 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;3&lt;/div&gt;&lt;div class=&quot;line number4 index3 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;4&lt;/div&gt;&lt;div class=&quot;line number5 index4 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;5&lt;/div&gt;&lt;div class=&quot;line number6 index5 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;6&lt;/div&gt;&lt;div class=&quot;line number7 index6 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;7&lt;/div&gt;&lt;div class=&quot;line number8 index7 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;8&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1060px;&quot;&gt;&lt;div class=&quot;container&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&amp;gt; &lt;/code&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;cd&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/usr/ports/&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&amp;amp;&amp;amp; &lt;/code&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;make&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;search name=htop&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;Port:&amp;nbsp;&amp;nbsp; htop-0.8.3&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number3 index2 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;Path:&amp;nbsp;&amp;nbsp; &lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/usr/ports/sysutils/htop&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number4 index3 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;Info:&amp;nbsp;&amp;nbsp; A better &lt;/code&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;top&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;(1) - interactive process viewer&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number5 index4 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;Maint:&amp;nbsp; yzlin@FreeBSD.org&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number6 index5 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;B-deps: autoconf-2.62 autoconf-wrapper-20071109 automake-1.9.6_3 automake-wrapper-20071109 libtool-2.2.6b m4-1.4.14_1,1 perl-5.10.1_1 python26-2.6.5&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number7 index6 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;R-deps: &lt;/code&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;lsof&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;-4.84A,5&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number8 index7 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;WWW:&amp;nbsp;&amp;nbsp;&amp;nbsp; http:&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;//htop&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;.sourceforge.net/&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;Но его установка обычно завершается сообщением об ошибке:&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_153469&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white !important; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative !important; vertical-align: baseline; width: 510px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span style=&quot;line-height: 11px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #51555c; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 510px;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;gutter&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;01&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;02&lt;/div&gt;&lt;div class=&quot;line number3 index2 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;03&lt;/div&gt;&lt;div class=&quot;line number4 index3 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;04&lt;/div&gt;&lt;div class=&quot;line number5 index4 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;05&lt;/div&gt;&lt;div class=&quot;line number6 index5 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;06&lt;/div&gt;&lt;div class=&quot;line number7 index6 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;07&lt;/div&gt;&lt;div class=&quot;line number8 index7 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;08&lt;/div&gt;&lt;div class=&quot;line number9 index8 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;09&lt;/div&gt;&lt;div class=&quot;line number10 index9 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;10&lt;/div&gt;&lt;div class=&quot;line number11 index10 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;11&lt;/div&gt;&lt;div class=&quot;line number12 index11 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;12&lt;/div&gt;&lt;div class=&quot;line number13 index12 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;13&lt;/div&gt;&lt;div class=&quot;line number14 index13 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;14&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 475px;&quot;&gt;&lt;div class=&quot;container&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;cd&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/usr/ports/&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;*&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/htop&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/usr/ports/sysutils/htop&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&amp;gt; &lt;/code&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;make&lt;/code&gt; &lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;install&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;clean&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number3 index2 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;.....&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number4 index3 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;===&amp;gt;&amp;nbsp; Configuring &lt;/code&gt;&lt;code class=&quot;bash keyword&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;for&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;htop-0.8.3&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number5 index4 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;***********************************************************&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number6 index5 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;htop(1) requires linprocfs(5) to be mounted. If you don&#39;t&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number7 index6 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;have it mounted already, please add this line to &lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/etc/fstab&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number8 index7 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;and run `&lt;/code&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;mount&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;linproc`:&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number9 index8 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;linproc &lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/compat/linux/proc&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;linprocfs rw 0 0&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number10 index9 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;***********************************************************&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number11 index10 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;*** Error code 1&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number12 index11 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;line number13 index12 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;Stop &lt;/code&gt;&lt;code class=&quot;bash keyword&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;in&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/usr/ports/sysutils/htop&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;.&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number14 index13 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;*** Error code 1&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;Подключаем модули linux во FreeBSD:&lt;br /&gt;
1.&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_73539&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white !important; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative !important; vertical-align: baseline; width: 510px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span style=&quot;line-height: 11px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #51555c; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 510px;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;gutter&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 482px;&quot;&gt;&lt;div class=&quot;container&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;kldload linux&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;2. Чтобы загружался постоянно, добавим в /etc/rc.conf&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_346404&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white !important; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative !important; vertical-align: baseline; width: 510px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span style=&quot;line-height: 11px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #51555c; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 510px;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;gutter&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 482px;&quot;&gt;&lt;div class=&quot;container&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;echo&lt;/code&gt; &lt;code class=&quot;bash string&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&quot;linux_enable=YES&quot;&lt;/code&gt;&amp;nbsp; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&amp;gt;&amp;gt; &lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/etc/rc&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;.conf.&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;3. Установим linux_base-fc4&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_559938&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white !important; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative !important; vertical-align: baseline; width: 510px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span style=&quot;line-height: 11px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #51555c; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 510px;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;gutter&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;1&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 482px;&quot;&gt;&lt;div class=&quot;container&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;cd&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/usr/ports/emulators/linux_base-fc4&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;make&lt;/code&gt; &lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;install&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;clean&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;4. Подключим псевдофайловую систему&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_410527&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white !important; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative !important; vertical-align: baseline; width: 510px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span style=&quot;line-height: 11px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #51555c; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 510px;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;gutter&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 482px;&quot;&gt;&lt;div class=&quot;container&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;echo&lt;/code&gt; &lt;code class=&quot;bash string&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&quot;linproc /compat/linux/proc linprocfs rw&amp;nbsp; 0 0&quot;&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&amp;gt;&amp;gt; &lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/etc/fstab&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;5. Смонтируем ее&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_825414&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white !important; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative !important; vertical-align: baseline; width: 510px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span style=&quot;line-height: 11px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #51555c; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 510px;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;gutter&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 482px;&quot;&gt;&lt;div class=&quot;container&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;mount&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;linproc&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;6. И повторим установку htop из портов:&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_643710&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white !important; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative !important; vertical-align: baseline; width: 510px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span style=&quot;line-height: 11px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #51555c; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 510px;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;gutter&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;1&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 482px;&quot;&gt;&lt;div class=&quot;container&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;cd&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/usr/ports/&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;*&lt;/code&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;/htop&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;make&lt;/code&gt; &lt;code class=&quot;bash functions&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;install&lt;/code&gt; &lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;clean&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;7. Обновим кеш шелла и запустим htop&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_844691&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white !important; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative !important; vertical-align: baseline; width: 510px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: white; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span style=&quot;line-height: 11px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #51555c; direction: ltr !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 510px;&quot;&gt;&lt;tbody style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;
&lt;tr style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;gutter&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-right-width: 3px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 0.5em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 482px;&quot;&gt;&lt;div class=&quot;container&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: white !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 1em !important; padding-right: 1em !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;&quot;&gt;&lt;code class=&quot;bash plain&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-width: 0px !important; border-color: initial !important; border-color: initial; border-color: initial; border-image: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-style: initial; border-style: initial; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-top-width: 0px !important; bottom: auto !important; box-sizing: content-box !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;rehash &amp;amp;&amp;amp; htop&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;Теперь вместо стандартного top запускаем разноцветный htop под&amp;nbsp; FreeBSD&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;Взято с&amp;nbsp;&lt;a href=&quot;http://www.ubuntix.ru/2010/06/ustanovka-htop-vo-freebsd/&quot; style=&quot;background-color: transparent; text-align: left;&quot;&gt;http://www.ubuntix.ru/2010/06/ustanovka-htop-vo-freebsd/&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #51555c; font-family: helvetica, arial, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 18px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/4124556297585014765/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2012/01/htop-freebsd.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/4124556297585014765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/4124556297585014765'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2012/01/htop-freebsd.html' title='Установка htop во FreeBSD'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-6795490582121292987</id><published>2011-06-23T00:23:00.000+03:00</published><updated>2011-06-23T00:23:18.842+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="arping"/><category scheme="http://www.blogger.com/atom/ns#" term="ping"/><category scheme="http://www.blogger.com/atom/ns#" term="zabbix"/><category scheme="http://www.blogger.com/atom/ns#" term="пинг"/><category scheme="http://www.blogger.com/atom/ns#" term="сеть"/><title type='text'>Мониторинг количества активных хостов в сети</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Недавно передо мной встала задача определения количества включенных компьютеров  в нескольких подсетях нашей организации. Сеть ужасно запущена: нет ни домена, ни  средств удаленной установки, поэтому поставить на все компьютеры агент  мониторинга не было возможности. С другой стороны, на многих компьютерах был  включен файрвол, из-за чего компьютеры не отвечали на ping-запрос.&lt;br /&gt;
&lt;br /&gt;
Для  решения этой задачи я использовал замечательную утилиту &lt;b&gt;arping&lt;/b&gt;.  &lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;Вот что получилось&quot; src=&quot;http://habrastorage.org/storage/dd04364f/ab15707f/49f903f7/daf340c0.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Arping&quot;&gt;Arping&lt;/a&gt; работает на втором уровне  модели OSI и не блокируется файрволом, т.к. компьютер должен отвечать на  ARP-запросы, чтобы до него доходили IP-пакеты. Минусом arping по сравнению с  ping является то, что arping работает в пределах одной локальной сети и не  маршрутизируется. Однако это ограничение можно обойти с помощью &lt;a href=&quot;http://en.wikipedia.org/wiki/Proxy_ARP&quot;&gt;проксирования ARP&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Для  начала я написал простенький скрипт на PHP (это единственный язык, который я  знаю ☺), использующий arping. Задаются сети и маски, и скрипт в цикле пингует  каждый IP-адрес в них:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;!--?php&lt;/font--&gt;&lt;br /&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;//задаем сети и маски&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000088;&quot;&gt;$subnets&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #990000;&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&quot;192.168.0.0/255.255.255.0&quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;&quot;10.10.8.0/255.255.252.0&quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #000088;&quot;&gt;$up&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;//количество живых хостов&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;foreach&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$subnets&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$subnet&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$addr&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$mask&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #990000;&quot;&gt;explode&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&#39;/&#39;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$subnet&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;//вычисляем начальный и конечный адрес&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000088;&quot;&gt;$start&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #990000;&quot;&gt;ip2long&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$addr&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #990000;&quot;&gt;ip2long&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$mask&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000088;&quot;&gt;$end&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$start&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;~ &lt;span style=&quot;color: #990000;&quot;&gt;ip2long&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$mask&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;//пробегаем все адреса и арпингуем их&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$ip&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$start&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$ip&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$end&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$ip&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000088;&quot;&gt;$response&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #990000;&quot;&gt;shell_exec&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&quot;arping -c 2 &quot;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;.&lt;/span&gt; &lt;span style=&quot;color: #990000;&quot;&gt;long2ip&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$ip&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color: #990000;&quot;&gt;strstr&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;&#39;0 packets received&#39;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$up&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;++;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$up&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;.&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;&quot;&lt;span style=&quot;color: #000099;&quot;&gt;\r&lt;/span&gt;&lt;span style=&quot;color: #000099;&quot;&gt;\n&lt;/span&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: black;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
Но конечно, такой скрипт не  годится для постоянного мониторинга. Во-первых, хотелось бы, чтобы он работал  постоянно в фоновом режиме. Во-вторых, проверку нужно проводить в несколько  потоков — так быстрее.&lt;br /&gt;
&lt;br /&gt;
В итоге я переписал скрипт так: &lt;ul&gt;&lt;li&gt;Настройки и адреса сетей считываются из ini-файла.&lt;/li&gt;
&lt;li&gt;«Папа»-скрипт запускает экземпляр дочернего скрипта для каждой сети и  контролирует его работу.&lt;/li&gt;
&lt;li&gt;Дочерний скрипт проверяет все адреса своей сети по кругу и обновляет  информацию в Memcached. Помимо количества активных узлов запоминается их mac,  dns и netbios имя.&lt;/li&gt;
&lt;li&gt;Из memcached эти данные можно посмотреть на веб-странице или в  zabbix.&lt;/li&gt;
&lt;/ul&gt;Можно посмотреть список компьютеров в аскетичном  веб-интерфейсе:&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage/565abfcf/6ef4f8bc/57638fa5/e3f00453.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Также  я добавил график в Zabbix (см. начало поста).&lt;br /&gt;
Для этого необходимо дописать в  файл zabbix_agentd.conf строчку для каждой  сети:&lt;br /&gt;
&lt;code&gt;UserParameter=network_count.&lt;i&gt;net_name&lt;/i&gt;,/usr/local/bin/php  /&lt;i&gt;путь до скрипта&lt;/i&gt;/get_network_stats.php &lt;i&gt;net_name&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
На  сервере добавить соответствующие item&#39;ы.&lt;br /&gt;
&lt;img src=&quot;http://habrastorage.org/storage/fda1a455/2ff751be/b0ee2c34/9e2dc398.png&quot; /&gt;&lt;br /&gt;
И  настроить график.&lt;br /&gt;
Скрипт get_network_stats.php &amp;lt;имя_сети&amp;gt; выдает  количество активных хостов по имени сети. Я думаю, пользователи других систем  мониторинга смогут без труда прикрутить к ним этот скрипт.&lt;br /&gt;
&lt;br /&gt;
Исходник  приводить не буду, т.к. он большой. &lt;a href=&quot;http://ross.vc/misc/net_count.zip&quot;&gt;Скачайте&lt;/a&gt; его — readme  прилагается.&lt;br /&gt;
Я думаю, кому нужна такая штука, может переписать его под свои  нужды: например, можно использовать вместо memcached обычный файл.&lt;br /&gt;
&lt;br /&gt;
Взято http://habrahabr.ru/blogs/sysadm/119112/ &lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/6795490582121292987/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2011/06/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/6795490582121292987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/6795490582121292987'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2011/06/blog-post.html' title='Мониторинг количества активных хостов в сети'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-4553531648224478293</id><published>2011-04-12T13:43:00.000+03:00</published><updated>2011-04-12T13:43:31.776+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="lvm2"/><category scheme="http://www.blogger.com/atom/ns#" term="vlm"/><title type='text'>LVM — это просто!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.&lt;br /&gt;
&lt;br /&gt;
LVM — это дополнительный слой абстракции от железа, позволяющий собрать кучи разнородных дисков в один, и затем снова разбить этот один именно так как нам хочется.&lt;br /&gt;
&lt;br /&gt;
есть 3 уровня абстракции:&lt;br /&gt;
1. PV (Physical Volume) — физические тома (это могут быть разделы или целые «неразбитые» диски)&lt;br /&gt;
2. VG (Volume Group) — группа томов (объединяем физические тома (PV) в группу, создаём единый диск, который будем дальше разбивать так, как нам хочется)&lt;br /&gt;
3. LV (Logical Volume) — логические разделы, собственно раздел нашего нового «единого диска» ака Группы Томов, который мы потом форматируем и используем как обычный раздел, обычного жёсткого диска.&lt;br /&gt;
это пожалуй вся теория. :) теперь практика:&lt;br /&gt;
для работы нужны пакеты lvm2 и возможность работать с привелегиями root поэтому: &lt;br /&gt;
$ sudo bash&lt;br /&gt;
# apt-get install lvm2&lt;br /&gt;
&lt;br /&gt;
допустим у нас в компе есть жёсткий диск на 40Гб и нам удалось наскрести немного денег и наконец-то купить себе ТЕРАБАЙТНИК! :))) Система уже стоит и работает, и первый диск разбит одним разделом (/dev/sda1 как / ), второй — самый большой, который мы только подключили — вообще не разбит /dev/sdb…&lt;br /&gt;
Предлагаю немножко разгрузить корневой диск, а заодно ускорить (новый диск работает быстрее старого) и «обезопасить» систему с помощью lvm.&lt;br /&gt;
Можно делать на втором диске разделы и добавлять их в группы томов (если нам нужно несколько групп томов),&lt;br /&gt;
а можно вообще не делать на диске разделы и всё устройство сделать физическим разделом (PV)&lt;br /&gt;
&lt;br /&gt;
root@ws:~# pvcreate /dev/sdb&lt;br /&gt;
Physical volume &quot;/dev/sdb&quot; successfully created&lt;br /&gt;
&lt;br /&gt;
Создаём группу томов с говорящим названием, например по имени машины «ws», чтобы когда мы перетащим данный диск на другую машину небыло конфликтов с именами групп томов:&lt;br /&gt;
&lt;br /&gt;
root@ws:~# vgcreate ws /dev/sdb&lt;br /&gt;
Volume group «vg0» successfully created&lt;br /&gt;
&lt;br /&gt;
желательно внести с корневого раздела такие папки как /usr /var /tmp /home, чтобы не дефрагментировать лишний раз корневой раздел и ни в коем случае его не переполнить, поэтому создаём разделы:&lt;br /&gt;
&lt;br /&gt;
root@ws:~# lvcreate -n usr -L10G ws # здесь мы создаём раздел с именем «usr», размером 10Gb &lt;br /&gt;
Logical volume «usr» created&lt;br /&gt;
по аналогии делаем то же для /var, /tmp, /home:&lt;br /&gt;
root@ws:~# lvcreate -n var -L10G ws&lt;br /&gt;
root@ws:~# lvcreate -n tmp -L2G ws&lt;br /&gt;
root@ws:~# lvcreate -n home -L500G ws&lt;br /&gt;
у нас ещё осталось немного свободного места в группе томов (например для будущего раздела под бэкап)&lt;br /&gt;
посмотреть сколько именно можно командой:&lt;br /&gt;
root@ws:~# vgdisplay&lt;br /&gt;
информацию по созданным логическим томам&lt;br /&gt;
root@ws:~# lvdisplay&lt;br /&gt;
информацию по физическим томам&lt;br /&gt;
root@ws:~# pvdisplay&lt;br /&gt;
&lt;br /&gt;
разделы что мы создали появятся в папке /dev/[имя_vg]/, точнее там будут ссылки на файлы, &lt;br /&gt;
lrwxrwxrwx 1 root root 22 2009-08-10 18:35 swap -&amp;gt; /dev/mapper/ws-swap&lt;br /&gt;
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 tmp -&amp;gt; /dev/mapper/ws-tmp&lt;br /&gt;
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 usr -&amp;gt; /dev/mapper/ws-usr&lt;br /&gt;
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 var -&amp;gt; /dev/mapper/ws-var&lt;br /&gt;
и т.д…&lt;br /&gt;
&lt;br /&gt;
дальше lvm уже почти кончается… форматируем наши разделы в любимые файловые системы:&lt;br /&gt;
root@ws:~# mkfs.ext2 -L tmp /dev/ws/tmp&lt;br /&gt;
root@ws:~# mkfs.ext4 -L usr /dev/ws/usr&lt;br /&gt;
root@ws:~# mkfs.ext4 -L var /dev/ws/var&lt;br /&gt;
root@ws:~# mkfs.ext4 -L home /dev/ws/home&lt;br /&gt;
&lt;br /&gt;
кстати, не плохо было бы сделать раздел подкачки:&lt;br /&gt;
root@ws:~# lvcreate -n swap -L2G ws&lt;br /&gt;
root@ws:~# mkswap -L swap /dev/ws/swap&lt;br /&gt;
root@ws:~# swapon /dev/ws/swap&lt;br /&gt;
&lt;br /&gt;
создаём папку и подключая по очереди новообразовавшиеся тома, копируем в них нужное содержимое:&lt;br /&gt;
root@ws:~# mkdir /mnt/target &lt;br /&gt;
root@ws:~# mount /dev/ws/home /mnt/target&lt;br /&gt;
копируем туда всё из папки /home своим любимым файловым менеджером (с сохранением прав доступа), например так ;):&lt;br /&gt;
root@ws:~# cp -a /home/* /mnt/target/&lt;br /&gt;
root@ws:~# umount /mnt/target/&lt;br /&gt;
кстати, для папки temp необходимо только поправить права, копировать туда что-либо необязательно:&lt;br /&gt;
root@ws:~# mount /dev/ws/tmp /mnt/target &amp;amp;&amp;amp; chmod -R a+rwx /mnt/target &amp;amp;&amp;amp; umount /mnt/target/&lt;br /&gt;
добавляем нужные строчки в /etc/fstab, например такие:&lt;br /&gt;
/dev/mapper/ws-home /home ext4 relatime 0 2&lt;br /&gt;
/dev/mapper/ws-tmp /tmp ext2 noatime 0 2&lt;br /&gt;
/dev/mapper/ws-swap none swap sw 0 0&lt;br /&gt;
и перезагружаемся… (продвинутые господа могут обойтись без перезагрузки ;))&lt;br /&gt;
&lt;br /&gt;
На вкусное, хочу предложить более продвинутую штуку:&lt;br /&gt;
допустим у нас есть система с разделом на LVM, а жёсткий диск начал сбоить, тогда мы можем без перезагрузки переместить всю систему на другой жёсткий диск/раздел:&lt;br /&gt;
&lt;br /&gt;
# On-line добавление/удаление жёстких дисков с помощью LVM (пример)&lt;br /&gt;
&lt;br /&gt;
root@ws:~# pvcreate /dev/sda1 # наш эмулятор сбойного диска &lt;br /&gt;
Physical volume &quot;/dev/sda1&quot; successfully created&lt;br /&gt;
&lt;br /&gt;
root@ws:~# pvcreate /dev/sdb1 # наш эмулятор спасательного диска&lt;br /&gt;
Physical volume &quot;/dev/sdb1&quot; successfully created&lt;br /&gt;
&lt;br /&gt;
root@ws:~# vgcreate vg0 /dev/sda1 # создаю группу томов vg0&lt;br /&gt;
Volume group «vg0» successfully created&lt;br /&gt;
&lt;br /&gt;
root@ws:~# lvcreate -n test -L10G vg0 #создаю раздел для «важной» инфы&lt;br /&gt;
Logical volume «test» created&lt;br /&gt;
&lt;br /&gt;
root@ws:~# mkfs.ext2 /dev/vg0/test # создаю файловую систему на разделе&lt;br /&gt;
root@ws:~# mount /dev/mapper/vg0-test /mnt/tmp/ #монтирую раздел &lt;br /&gt;
… # заполняю его информацией, открываю на нем несколько файлов и т.п.&lt;br /&gt;
&lt;br /&gt;
root@ws:~# vgextend vg0 /dev/sdb1 # расширяю нашу групу томов на «спасательный» диск&lt;br /&gt;
Volume group «vg0» successfully extended&lt;br /&gt;
&lt;br /&gt;
root@work:~# pvmove /dev/sda1 /dev/sdb1 #передвигаю содержимое с «умирающего» диска на «спасательный»&lt;br /&gt;
/dev/sda1: Moved: 0.9%&lt;br /&gt;
/dev/sda1: Moved: 1.8%&lt;br /&gt;
…&lt;br /&gt;
/dev/sda1: Moved: 99.7%&lt;br /&gt;
/dev/sda1: Moved: 100.0%&lt;br /&gt;
&lt;br /&gt;
root@work:~# vgreduce vg0 /dev/sda1 # убираю «умирающий» диск из группы томов.&lt;br /&gt;
Removed &quot;/dev/sda1&quot; from volume group «vg0»&lt;br /&gt;
&lt;br /&gt;
Итого:&lt;br /&gt;
Я создал логический раздел, отформатировал его, примонтировал и заполнил нужными данными, затем переместил его с одного устройства на другое, при этом раздел остался примонтирован и данные всё время оставались доступны!&lt;br /&gt;
Подобным образом мне удавалось без перезагрузки перенести всю систему с умирающего диска на рэид-массив. :)&lt;br /&gt;
&lt;br /&gt;
А это моя любимая ссылка по LVM: xgu.ru/wiki/LVM&lt;br /&gt;
&lt;br /&gt;
P.S. Ах, да!!! Самое главное и самый большой минус LVM — он не читается grub&#39;ом&lt;br /&gt;
поэтому раздел /boot должен находиться вне LVM на отдельном разделе жёсткого диска, &lt;br /&gt;
иначе система не загрузится.&lt;br /&gt;
&lt;br /&gt;
Взято с http://habrahabr.ru/blogs/linux/67283/&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/4553531648224478293/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2011/04/lvm.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/4553531648224478293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/4553531648224478293'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2011/04/lvm.html' title='LVM — это просто!'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-6140591096982924338</id><published>2011-02-07T23:35:00.001+02:00</published><updated>2011-02-07T23:35:39.629+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="phoenix bios"/><category scheme="http://www.blogger.com/atom/ns#" term="VT"/><title type='text'>Активируем отключенный VT-x</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Написал однажды мне друг с ноутбуком Samsung r60. Процессор в этом ноутбуке  поддерживает аппаратную виртуализацию, но по умолчанию она отключена, и пункт  включения в биосе отсутствует. Биос — Phoenix. Мы не будем патчить биос, мы  будем патчить NVRAM!&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся:&lt;br /&gt;
• Samsung&#39;s FW Modules  Extractor&lt;br /&gt;
• Phoenix BIOS Editor&lt;br /&gt;
• SYMCMOS — читалка/писалка cmos&lt;br /&gt;
•  NDISASM — дизассемблер x86 кода&lt;br /&gt;
• Загрузочная флешка/дискета с DOS&lt;br /&gt;
&lt;br /&gt;
Ну  что ж, приступим!&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=1844275644917792521&amp;amp;postID=6140591096982924338&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Качаем прошивку с сайта Samsung.  Прошивка идет одним .exe файлом вместе с прошивальщиком, нужно достать сам файл  прошивки. Для этого воспользуемся Samsung&#39;s FW Modules Extractor&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://habreffect.ru/5db/b2f54b824/extractor.png&quot; title=&quot;Хабрэффект.ру&quot;&gt;&lt;img src=&quot;http://habreffect.ru/files/5db/b2f54b824/extractor.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Не все  файлы распаковались, но это не важно.&lt;br /&gt;
&lt;br /&gt;
Открываем прошивку в Phoenix BIOS  Editor, сворачиваем его и достаем файлы BIOSCOD*.ROM из папки TEMP Phoenix BIOS  Editor&#39;а. Он распаковал нашу прошивку. Копируем файлы в другую папку, закрываем  Phoenix BIOS Editor.&lt;br /&gt;
&lt;br /&gt;
Начинается самое интересное. Дизассемблируем файлы  из прошивки, в моем случае их было 7 (0-6):&lt;br /&gt;
&lt;code&gt;$ for i in {0..6}; do  ndisasm -a -p intel -b 16 BIOSCOD0$i.ROM &amp;gt; BIOSCOD0$i.dasm;  done&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Путем гугления выяснилось, что искать нужно команду mov  ecx,0x3a:&lt;br /&gt;
&lt;code&gt;$ grep &#39;mov ecx,0x3a&#39; *.dasm&lt;br /&gt;
BIOSCOD04.dasm:0000BE99  66B93A000000 mov ecx,0x3a&lt;/code&gt;&lt;br /&gt;
Отлично, команда найдена в файле  BIOSCOD04.dasm!&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;0000BE99 66B93A000000 mov ecx,0x3a&lt;br /&gt;
0000BE9F 0F32  rdmsr&lt;br /&gt;
0000BEA1 668BD8 mov ebx,eax&lt;br /&gt;
0000BEA4 83E305 and bx,byte  +0x5&lt;br /&gt;
0000BEA7 B86F06 mov ax,&lt;b&gt;0x66f&lt;/b&gt;&lt;br /&gt;
0000BEAA 9A355400F0 call word  0xf000:0x5435&lt;br /&gt;
0000BEAF C1E002 shl ax,0x2&lt;br /&gt;
0000BEB2 40 inc ax&lt;br /&gt;
0000BEB3  38D8 cmp al,bl&lt;br /&gt;
0000BEB5 7432 jz 0xbee9&lt;/code&gt;&lt;br /&gt;
Из кода видно, что в регистр  ax записывается значение по адресу 0x66f, выполняются сравнения между al и bl, и  если оба значения совпадают — прыгаем на адрес 0xbee9 — адрес отключения  виртуализации.&lt;br /&gt;
&lt;br /&gt;
Пришло время SYMCMOS. Создаем загрузочную флешку/дискету,  записываем программу на носитель, загружаемся и выполняем&lt;br /&gt;
&lt;code&gt;symcmos -v2  -lNVRAM.TXT&lt;/code&gt;&lt;br /&gt;
Теперь у нас есть файл nvram.txt примерного  содержания:&lt;br /&gt;
&lt;code&gt;( SYMBOLIC CMOS EDITOR - Version 643710-035 )&lt;br /&gt;
&lt;br /&gt;
CRC =  350F&lt;br /&gt;
(0015) [0000]&lt;br /&gt;
(0018) [0001]&lt;br /&gt;
(001B) [0001]&lt;br /&gt;
(0021)  [0000]&lt;br /&gt;
(0024) [0001]&lt;br /&gt;
(0027) [0001]&lt;br /&gt;
(002A) [0000]&lt;br /&gt;
(002D)  [0001]&lt;br /&gt;
(0030) [0000]&lt;br /&gt;
(0036) [0000]&lt;br /&gt;
(0039) [0000]&lt;br /&gt;
(003F)  [0001]&lt;br /&gt;
(0042) [0000]&lt;br /&gt;
...&lt;br /&gt;
&lt;b&gt;(066F) [0000]&lt;/b&gt;&lt;br /&gt;
(0672)  [0000]&lt;br /&gt;
(0675) [0000]&lt;br /&gt;
(0678) [0002]&lt;br /&gt;
(067B) [0000]&lt;br /&gt;
(067E)  [0000]&lt;br /&gt;
(0681) [0002]&lt;/code&gt;&lt;br /&gt;
Видно, что значение параметра, отвечающего за  виртуализацию, установлено в 0. Изменим его прямо в этом файле:&lt;br /&gt;
&lt;code&gt;(066F)  [0001]&lt;/code&gt;&lt;br /&gt;
Опять загрузимся в DOS и выполним:&lt;br /&gt;
&lt;code&gt;symcmos -v2  -uNVRAM.TXT&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Перезагружаемся. Та-дам! Аппаратная виртуализация  активирована!&lt;br /&gt;
&lt;br /&gt;
Интересные ссылки:&lt;br /&gt;
&lt;a href=&quot;http://tjworld.net/wiki/Sony/Vaio/FE41Z/HackingBiosNvram&quot;&gt;http://tjworld.net/wiki/Sony/Vaio/FE41Z/HackingBiosNvram&lt;/a&gt;  — программа для активации VT-x без прошивки CMOS для linux&lt;br /&gt;
&lt;a href=&quot;http://forum.notebookreview.com/acer/465936-acer-laptop-phoenix-bios-enable-virtualization-test-machine-acer-aspire-9420-a.html&quot;&gt;http://forum.notebookreview.com/acer/465936-acer-laptop-phoenix-bios-enable-virtualization-test-machine-acer-aspire-9420-a.html&lt;/a&gt;  — С чего все начиналось&lt;br /&gt;
&lt;br /&gt;
Взято с http://habrahabr.ru/blogs/DIY/113223/ &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/6140591096982924338/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2011/02/vt-x.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/6140591096982924338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/6140591096982924338'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2011/02/vt-x.html' title='Активируем отключенный VT-x'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-857780585941081689</id><published>2011-01-08T01:57:00.001+02:00</published><updated>2011-01-08T01:57:42.678+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="replication"/><title type='text'>MySQL: Slave could not parse relay log event entry</title><content type='html'>При использованиии MySQL Master-Slave (или же Master-Master)  репликации бывает ситуация что по разным причинам версия слейва ниже чем  версия мастера.&lt;br /&gt;
Если при этом используется опция &lt;i&gt;binlog_format=MIXED&lt;/i&gt;, в результате возможна ситуация когда мастер запишет в свой binlog запись вида:&lt;br /&gt;
&lt;code&gt;BINLOG &#39;XMawShMEAAAARwAAAEp5UwUAAGkAAAAAAAAACHNhblahblahblah&#39;&lt;/code&gt;&lt;br /&gt;
Которую слейв не сможет выполнить, ибо он ее попросту “еще не умеет”.&lt;br /&gt;
Первой ласточкой того, что это произошло станет сообщение “SLAVE  DOWN” от мониторинговой системы и запись в MySQL-логе слейва сродни  этой:&lt;br /&gt;
&lt;code&gt;090917 14:55:51 [ERROR] Error in Log_event::read_log_event(): &#39;Found invalid event in binary log&#39;, data_len: 71, event_type: 19&lt;br /&gt;
090917 14:55:51 [ERROR] Error reading relay log event: slave SQL thread aborted because of I/O error&lt;br /&gt;
090917 14:55:51 [ERROR] Slave: Could not parse relay log event entry.  The possible reasons are: the master&#39;s binary log is corrupted (you can  check this by running &#39;mysqlbinlog&#39; o&lt;br /&gt;
n the binary log), the slave&#39;s relay log is corrupted (you can check  this by running &#39;mysqlbinlog&#39; on the relay log), a network problem, or a  bug in the master&#39;s or slave&#39;s MySQL&lt;br /&gt;
code. If you want to check the master&#39;s binary log or slave&#39;s relay log,  you will be able to know their names by issuing &#39;SHOW SLAVE STATUS&#39; on  this slave. Error_code: 0&lt;br /&gt;
090917 14:55:51 [ERROR] Error running query, slave SQL thread aborted.  Fix the problem, and restart the slave SQL thread with &quot;SLAVE START&quot;. We  stopped at log &#39;bin-us1.000022&#39; position 17007149&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
Попытки пропустить неугодные записи старым добрым методом:&lt;br /&gt;
&lt;code&gt;slave stop;&lt;br /&gt;
set global sql_slave_skip_counter=1;&lt;br /&gt;
slave start;&lt;/code&gt;&lt;br /&gt;
в данном случае не помогают.&lt;br /&gt;
Как вариант решения предлагаю:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Останавливаем slave: &lt;i&gt;“SLAVE STOP;”&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;“Выуживаем” из текста ошибки имя бинлога и позицию, на которой произошла ошибка.&lt;br /&gt;
В данном случае это &lt;i&gt;bin-us1.000022&lt;/i&gt; и позиция &lt;i&gt;17007149&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;На мастере выполняем запрос &lt;i&gt;“FLUSH LOGS;”&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Делаем дамп бинлога начиная с найденной позиции:&lt;br /&gt;
&lt;code&gt;mysqlbinlog --start-position=17007149 bin-us1.000022&amp;nbsp; &amp;gt;&amp;nbsp; bin-us1-from17007149.sql&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Загружаем полученный дамп на слейве с ключем “–force”&lt;br /&gt;
&lt;code&gt;mysql --force -uuser -ppassword database &amp;lt;  bin-us1-from17007149.sql&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Выполняем на слейве “FLUSH LOGS;”&lt;/li&gt;
&lt;li&gt;В data-директории находим relay-log с максимальным номером и размером около 100 байт (в моем случае это mysqld-relay-bin.000037)&lt;/li&gt;
&lt;li&gt;В той же директории в файле relay-log.info&lt;br /&gt;
первую строку заменяем на имя только что найденного relay-log-а, во  вторую вписываем 0, в третью – следующий после “испорченного” бинлог, в  четвертую – 0&lt;br /&gt;
Получится что-то вроде:&lt;br /&gt;
&lt;code&gt;/var/lib/mysql/mysqld-relay-bin.000037&lt;br /&gt;
0&lt;br /&gt;
bin-us1.000023&lt;br /&gt;
0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Дальше на слейве выполняем:&lt;br /&gt;
&lt;code&gt;CHANGE MASTER TO MASTER_LOG_FILE=&#39;bin-us1.000023&#39;, MASTER_LOG_POS=0;&lt;br /&gt;
SLAVE START;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Ну и потом чтоб удостоверится что все “завелось”&lt;br /&gt;
&lt;code&gt;SHOW SLAVE STATUS\G&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;Должно работать.&lt;br /&gt;
Подозреваю что пункты 4 и 5 можно обьеденить в один, более простой и элегантный.&lt;br /&gt;
Но как это сделать – не гуглил.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://voituk.kiev.ua/2009/09/17/mysql-slave-could-not-parse-relay-log-event-entry/&quot;&gt;Оригинал&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/857780585941081689/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2011/01/mysql-slave-could-not-parse-relay-log.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/857780585941081689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/857780585941081689'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2011/01/mysql-slave-could-not-parse-relay-log.html' title='MySQL: Slave could not parse relay log event entry'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-4684029242580264323</id><published>2010-11-30T02:09:00.000+02:00</published><updated>2010-11-30T02:09:10.298+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amqp"/><category scheme="http://www.blogger.com/atom/ns#" term="rabbitmq"/><title type='text'>RabbitMQ: Введение в AMQP</title><content type='html'>Построение больших и сложных систем всегда связано с решением проблем  обмена данными между различными их узлами. Дополнительные трудности  вносят такие факторы, как требования к отказоустойчивости,  географическое разнесение подсистем, наличие узлов, взаимодействующих  сразу с несколькими другими. Не всегда удобно использовать пресловутую  систему клиент-сервер, да и архитектура точка-точка может оказаться не  самым подходящим представлением связей.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;И вот, в один прекрасный день, собрались инженеры  с духом, и разработали AMQP — Advanced Message Queuing Protocol. Этот  протокол позволяет не задумываться над тем, где находятся получатели  сообщения, сколько их, от кого надо ждать сообщение, когда оно будет  доставлено получателю. Кроме этого, AMQP снимает с разработчика ещё  многие рутинные задачи и позволяет заниматься непосредственной  проблемой, а не обслуживанием процесса разработки.&lt;br /&gt;
&lt;br /&gt;
AMQP имеет три базовых понятия:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Обменник (exchange)&lt;/li&gt;
&lt;li&gt;Очередь (queue)&lt;/li&gt;
&lt;li&gt;Связь, или маршрут (routing key)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Обмен сообщениями осуществляется в пределах одного обменника (есть ещё  цепное связывание, но об этом в другой раз), в котором определены связи,  являющиеся своеобразными маршрутами, по которым идут сообщения,  попавшие в этот обменник. Каждый маршрут связывает обменник с одной или  несколькими очередями. Программное обеспечение, реализующее описанные  действия, называют AMQP-сервером. Узлы, помещающие сообщения в обменники  и получающие их из очередей, называются AMQP-клиентами. Другими  словами, AMQP-сервер предоставляет шину обмена данными, а AMQP-клиенты  используют эту шину для обмена сообщениями между собой.&lt;br /&gt;
Клиенты могут создавать новые обменники (об их типах поговорим позже) и очереди:&lt;br /&gt;
&lt;pre&gt;Exchange.Declare &lt;exchange1&gt; TYPE &lt;type&gt;
Queue.Declare &lt;queue1&gt;
&lt;/queue1&gt;&lt;/type&gt;&lt;/exchange1&gt;&lt;/pre&gt;&lt;br /&gt;
Процесс помещения данных на шину называется публикацией. Когда  AMQP-клиент публикует сообщение на шину, он задаёт имя обменника и имя  связи:&lt;br /&gt;
&lt;pre&gt;Message.Publish &lt;message&gt; TO &lt;exchange1&gt; WITH &lt;route1&gt;
&lt;/route1&gt;&lt;/exchange1&gt;&lt;/message&gt;&lt;/pre&gt;&lt;br /&gt;
До этого момента, один из клиентов должен осуществить связку, указав имя обменника, очереди и маршрут, соответствующий ей:&lt;br /&gt;
&lt;pre&gt;Queue.Bind &lt;queue1&gt; TO &lt;exchange1&gt; WITH &lt;route1&gt;
&lt;/route1&gt;&lt;/exchange1&gt;&lt;/queue1&gt;&lt;/pre&gt;&lt;br /&gt;
В результате, сообщение &lt;message&gt; будет доставлено в очередь  &lt;queue1&gt;.Но на этом ещё не всё, так как путь сообщения очередью не  заканчивается. Один из AMQP-клиентов подписывается на получение  сообщений, попавших в заданную очередь:&lt;br /&gt;
&lt;pre&gt;Queue.Subscribe &lt;pid&gt; TO &lt;queue&gt;
&lt;/queue&gt;&lt;/pid&gt;&lt;/pre&gt;&lt;br /&gt;
где &lt;pid&gt; — идентификатор процесса. Здесь и далее работа с AMQP  будет описываться с точки зрения программирования на Erlang, в  реализациях клиентов на других языках сообщения вычитываются из очереди  явной инструкцией, либо вешаются коллбэки и подписки как таковой нет.  После подписки на очередь, все сообщения, попавшие в неё, будут  пересылаться подписанному процессу. Если на одну очередьподписано  несколько процессов, сообщения будут распределяться по подписчикам  методом round-robin.&lt;br /&gt;
&lt;br /&gt;
Для получения ответа, при отправлении запроса в свойствах сообщения  заполняется полеReply-To, содержащее, как правило, очередь приватного  типа, на которую подписан только отправитель.&lt;br /&gt;
&lt;br /&gt;
На этом пока всё, в следующий раз постараюсь написать про типы  обменников и показать примеры кода, хотя посмотреть их можно уже сейчас &lt;a href=&quot;http://github.com/Zert/amqp-erlang-sample&quot;&gt;вот здесь&lt;/a&gt;.&amp;nbsp;&lt;/pid&gt;&lt;br /&gt;
&lt;br /&gt;
Оригинал: http://habrahabr.ru/blogs/erlang/64192/ &lt;/queue1&gt;&lt;/message&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/4684029242580264323/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/rabbitmq-amqp.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/4684029242580264323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/4684029242580264323'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/rabbitmq-amqp.html' title='RabbitMQ: Введение в AMQP'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-4893213273379592016</id><published>2010-11-30T01:06:00.000+02:00</published><updated>2010-11-30T01:06:29.675+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cydia"/><category scheme="http://www.blogger.com/atom/ns#" term="iPhone"/><title type='text'>Два твика для ускорения Cydia и iPhone</title><content type='html'>Cydia – отличный менеджер пакетов для iPhone, iPod touch и iPad с  джейлбрейком. Но по умолчанию программа работает слишком медленно. Сегодня мы  покажем как легко можно ускорить Cydia и любой “яблочный” гаджет с  джейлбрейком.&lt;span id=&quot;more-10109&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h2&gt;Отключение автоматического обновления Cydia&lt;/h2&gt;Автоматическое обновление в Cydia – одна из самых надоедливых функций  программы. Cydia настойчиво обновляет базу репозиториев при каждой загрузке, и  при большом количестве источников это сильно замедляет старт программы.&lt;br /&gt;
Далее инструкция по отключению автоматического обновления репозиториев в  Cydia:&lt;br /&gt;
&lt;strong&gt;Шаг 1&lt;/strong&gt;: Запустите Cydia и в разделе Search найдите и  установите утилиту SBSettings.&lt;br /&gt;
&lt;strong&gt;Шаг 2&lt;/strong&gt;: Во вкладке Sources добавьте источник  &lt;em&gt;http://repo.modyouri.com/.&lt;/em&gt;&lt;br /&gt;
&lt;strong&gt;Шаг 3&lt;/strong&gt;: Вернитесь в раздел Search, найдите утилиту “NoCyfresh  i4″ (или “NoCyfresh i3″, если у вас iPhone 3G или 3GS) и&amp;nbsp;установите ее.&lt;br /&gt;
&lt;strong&gt;Шаг 4&lt;/strong&gt;: Откройте SBSettings (по умолчанию свайп по строке  статуса iOS). Включите опцию NoCyfresh.&lt;br /&gt;
&lt;strong&gt;Шаг 5&lt;/strong&gt;: Не закрывая SBSettings, нажмите кнопку Respring.&lt;br /&gt;
&lt;strong&gt;Шаг 6&lt;/strong&gt;: Теперь Cydia будет открываться очень быстро и  зависания со строчкой Refresh Database пропадут. Если вам понадобится обновить  репозитории, то сделать это можно вручную. Для этого в Cydia в разделе Changes  достаточно нажать Refresh.&lt;br /&gt;
&lt;h2&gt;Отключение баннеров на уровне iOS&lt;/h2&gt;При просмотре любого пакета в Cydia подгружаются  различные ссылки, описания, баннеры, логотипы и т.д. Это существенно замедляет  работу приложения. В одной из прошлых статей мы рассматривали как&amp;nbsp;&lt;a href=&quot;http://www.macdigger.ru/iphone-ipod/kak-otklyuchit-vsyu-bannernuyu-reklamu-v-cydia.html&quot; target=&quot;_blank&quot;&gt;отключаются баннеры в Cydia&lt;/a&gt; через&amp;nbsp;SSH. Однако твик  SBAdBlockToggle избавляет от всех этих сложностей. При этом  SBAdBlockToggle&amp;nbsp;блокирует баннеры на уровне операционной системы!&lt;br /&gt;
&lt;strong&gt;Шаг 1&lt;/strong&gt;: Если вы уже подключили источник  &lt;em&gt;http://repo.modyouri.com/&lt;/em&gt; для первого твика, то запустите Cydia и во  вкладке Search найдите и установите утилиту SBAdBlockToggle.&lt;br /&gt;
&lt;strong&gt;Шаг 2&lt;/strong&gt;: После Respring в SBSettings появится значок Adblock.  Нажмите у удерживайте его до перезагрузки своего iPhone, iPod touch или  iPad.&lt;br /&gt;
&lt;strong&gt;Шаг 3&lt;/strong&gt;: Теперь, при просмотре любого пакета в Cydia вы  заметите разницу в скорости его запуска. Как я уже говорил, SBAdBlockToggle  отключает баннерную рекламу на уровне iOS. Другими словами баннеров не будет во  всех&amp;nbsp;приложениях, загруженных из Cydia, App Store и даже разработанных Apple,  например Safari!&lt;br /&gt;
&lt;br /&gt;
Источник: http://www.macdigger.ru/iphone-ipod/dva-tvika-dlya-uskoreniya-cydia-i-iphone-dzhejlbrejk.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Macdigger+%28MacDigger.ru%29</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/4893213273379592016/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/cydia-iphone.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/4893213273379592016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/4893213273379592016'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/cydia-iphone.html' title='Два твика для ускорения Cydia и iPhone'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-3932831447544356616</id><published>2010-11-30T00:57:00.000+02:00</published><updated>2010-11-30T00:57:34.099+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="BGP"/><category scheme="http://www.blogger.com/atom/ns#" term="Quagga"/><title type='text'>Играем с BGP в Quagga</title><content type='html'>&lt;div class=&quot;post postpublished&quot; id=&quot;item_38&quot; lang=&quot;ru-RU&quot;&gt;&lt;div class=&quot;content_full&quot;&gt; &lt;div class=&quot;bText&quot;&gt; &lt;strong&gt;BGP&lt;/strong&gt; (англ.&amp;nbsp;&lt;em&gt;Border Gateway Protocol&lt;/em&gt;, протокол  граничного шлюза) — основной протокол динамической маршрутизации в Интернете.  Протокол, о котором можно сказать, что на нем держится весь Интернет. Суть его в  том, что каждый маршрутизатор сообщает соседям, какие сети он маршрутизирует. В  ответ соседи сообщают ему, какие сети доступны через них, через их соседей и  т.д. Имея несколько BGP-линков, появляется возможность выбирать тот линк, через  который маршрут до какой-либо сети будет короче и т.д.&lt;br /&gt;
Но тема этой заметки не о самом протоколе BGP, а о его свободной реализации  —&amp;nbsp;&lt;a href=&quot;http://www.quagga.net/&quot;&gt;quagga&lt;/a&gt;. Следует заметить, что quagga  также поддерживает OSPF и RIP, но мы рассмотрим только BGP. Я приведу несколько  несложных примеров использования quagga с конфигами и логами.&lt;br /&gt;
&lt;a href=&quot;&quot; id=&quot;more38&quot; name=&quot;more38&quot;&gt;&lt;/a&gt; &lt;br /&gt;
&lt;div class=&quot;bMore&quot;&gt;. . .&lt;/div&gt;&lt;strong&gt;Quagga&lt;/strong&gt; состоит из нескольких демонов:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;bgpd,&amp;nbsp;ospfd,&amp;nbsp;ripd&lt;/em&gt; – занимаются соответствующими протоколами.  &lt;/li&gt;
&lt;li&gt;&lt;em&gt;watchquagga&lt;/em&gt; – следит за демонами и перезапускает их, если они  упали.  &lt;/li&gt;
&lt;li&gt;&lt;em&gt;zebra&lt;/em&gt; – основной демон, занимающийся общением с другими демонами и  ядром системы. Именно он прописывает маршруты в системе, получая их от других  демонов. &lt;/li&gt;
&lt;/ul&gt;Конфиги лежат в каталоге /etc/quagga/. Запишем минимальный конфиг  zebra.conf:&lt;br /&gt;
&lt;pre&gt;hostname zebra
password 123
enable password 456
log file /var/log/zebra.log&lt;/pre&gt;Описание опций (с ними вы столкнетесь при настройке любого демона из пакета  quagga):&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;hostname&lt;/em&gt; — имя хоста. Опция служит для удобства, видна в консольном  интерфейса.  &lt;/li&gt;
&lt;li&gt;&lt;em&gt;password&lt;/em&gt; — пароль для входа в консоль.  &lt;/li&gt;
&lt;li&gt;&lt;em&gt;enable password&lt;/em&gt; — пароль для выполнения административных задач.  &lt;/li&gt;
&lt;/ul&gt;После этого демон zebra можно запустить и больше не трогать, менять его  настройки мы не будем. Zebra также позволяет настраивать сетевые интерфейсы, но  мы будем это делать стандартными сетевыми утилитами системы.&lt;br /&gt;
Каждый демон из пакета quagga по умолчанию слушает определенный порт на  127.0.0.1 (2601 для zebra, 2605 для bgpd) и может управляться при помощи telnet.  Интерфейс сделан в стиле Cisco.&lt;br /&gt;
Теперь опишу несколько примеров использования BGP.&lt;br /&gt;
&lt;h3&gt;1. Просто анонсировать одну свою подсеть на один аплинк&lt;/h3&gt;Конфиг bgpd (/etc/quagga/bgpd.conf):&lt;br /&gt;
&lt;pre&gt;hostname test
password 123
enable password 456
log file /var/log/bgpd.log
router bgp 12002
 bgp router-id 1.2.3.42
 network 11.22.33.44.0/23
 neighbor 1.2.3.41 remote-as 12001&lt;/pre&gt;Описание опций:&lt;br /&gt;
&lt;code&gt;router bgp 12002&lt;/code&gt; – указываем, что bgp вообще должен работать;  указываем номер нашей AS – 12002.&lt;br /&gt;
&lt;code&gt;bgp router-id 1.2.3.42&lt;/code&gt; – тут должен быть указан IP нашего  роутера. На самом деле особого значения не имеет, можно указать любой IP. Однако  виден вашим соседям, так что стоит указать основной IP роутера.&lt;br /&gt;
&lt;code&gt;network 11.22.33.44.0/23&lt;/code&gt; – сеть, которую мы будем анонсировать  соседям. Таких записей может быть несколько.&lt;br /&gt;
&lt;code&gt;neighbor 1.2.3.41 remote-as 12001&lt;/code&gt; – описание соседа.  &lt;em&gt;1.2.3.41&lt;/em&gt; –&amp;nbsp;IP, по которому доступен сосед; &lt;em&gt;12001&lt;/em&gt; –AS  соседа.&lt;br /&gt;
Пример связи двух BGP-роутеров приводить думаю смысла нет, перейдем сразу к  более сложным примерам.&lt;br /&gt;
&lt;h3&gt;2. Цепочка из трех роутеров. Первый и последний прямой связи не имеют&lt;/h3&gt;&lt;img alt=&quot;&quot; height=&quot;179&quot; src=&quot;/media/blogs/readme/bgp1.png&quot; width=&quot;700&quot; /&gt;&lt;br /&gt;
Пример использования – связка: ваш аплинк; вы; ваш клиент, имеющий свою AS и  подсеть и физический линк с вами. Привожу конфиг и вывод команды &lt;code&gt;sh ip  bgp&lt;/code&gt; на каждом из трех роутеров. Команда &lt;code&gt;sh ip bgp&lt;/code&gt; показывает  таблицу маршрутизации, сформированную bgpd. router-id я указывал левые, что,  конечно же, не является хорошим примером.&lt;br /&gt;
&lt;pre&gt;hostname bgpd1
password 123
enable password 456
router bgp 12101
 bgp router-id 172.16.1.1
 network 192.168.12.0/24
 neighbor 172.18.0.2 remote-as 12102

bgpd1&amp;gt; sh ip bgp
BGP table version is 0, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, &amp;gt; best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*&amp;gt; 192.168.12.0     0.0.0.0                  0         32768 i
*&amp;gt; 192.168.13.0     172.18.0.2               0             0 12102 i
*&amp;gt; 192.168.14.0     172.18.0.2                             0 12102 12103 i

Total number of prefixes 3



hostname bgpd2
password 123
enable password 456
router bgp 12102
 bgp router-id 172.16.2.2
 network 192.168.13.0/24
 neighbor 172.18.0.1 remote-as 12101
 neighbor 172.19.0.2 remote-as 12103

bgpd2&amp;gt; sh ip bgp
BGP table version is 0, local router ID is 172.16.2.2
Status codes: s suppressed, d damped, h history, * valid, &amp;gt; best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*&amp;gt; 192.168.12.0     172.18.0.1               0             0 12101 i
*&amp;gt; 192.168.13.0     0.0.0.0                  0         32768 i
*&amp;gt; 192.168.14.0     172.19.0.2               0             0 12103 i

Total number of prefixes 3



hostname bgpd3
password 123
enable password 456
router bgp 12103
 bgp router-id 172.16.3.3
 network 192.168.14.0/24
 neighbor 172.19.0.1 remote-as 12102

bgpd3&amp;gt; sh ip bgp
BGP table version is 0, local router ID is 172.16.3.3
Status codes: s suppressed, d damped, h history, * valid, &amp;gt; best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*&amp;gt; 192.168.12.0     172.19.0.1                             0 12102 12101 i
*&amp;gt; 192.168.13.0     172.19.0.1               0             0 12102 i
*&amp;gt; 192.168.14.0     0.0.0.0                  0         32768 i

Total number of prefixes 3&lt;/pre&gt;&lt;h3&gt;3. Четыре роутера, соединенные ромбиком&lt;/h3&gt;&lt;img alt=&quot;&quot; height=&quot;480&quot; src=&quot;/media/blogs/readme/bgp2.png&quot; width=&quot;760&quot; /&gt;&lt;br /&gt;
Пример использования –&amp;nbsp;у вас два аплинка. А также, в силу того, что пример  весьма синтетический, он также демонстрирует отказоустойчивое кольцо: связь  между bgpd1 и bgpd4 не потеряется при падении bgpd2 или bgpd3 (но не обоих  одновременно).&lt;br /&gt;
&lt;pre&gt;router bgp 12101
 bgp router-id 172.16.1.1
 network 192.168.12.0/24
 neighbor 172.16.18.2 remote-as 12102
 neighbor 172.16.19.2 remote-as 12103

bgpd1&amp;gt; sh ip bgp
BGP table version is 0, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, &amp;gt; best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*&amp;gt; 192.168.12.0     0.0.0.0                  0         32768 i
*  192.168.13.0     172.16.19.2                            0 12103 12104 12102 i
*&amp;gt;                  172.16.18.2              0             0 12102 i
*&amp;gt; 192.168.14.0     172.16.19.2              0             0 12103 i
*  192.168.15.0     172.16.18.2                            0 12102 12104 i
*&amp;gt;                  172.16.19.2                            0 12103 12104 i

Total number of prefixes 4&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;router bgp 12102
 bgp router-id 172.16.2.2
 network 192.168.13.0/24
 neighbor 172.16.18.1 remote-as 12101
 neighbor 172.16.20.2 remote-as 12104

bgpd2&amp;gt; sh ip bgp
BGP table version is 0, local router ID is 172.16.2.2
Status codes: s suppressed, d damped, h history, * valid, &amp;gt; best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*&amp;gt; 192.168.12.0     172.16.18.1              0             0 12101 i
*&amp;gt; 192.168.13.0     0.0.0.0                  0         32768 i
*  192.168.14.0     172.16.20.2                            0 12104 12103 i
*&amp;gt;                  172.16.18.1                            0 12101 12103 i
*  192.168.15.0     172.16.18.1                            0 12101 12103 12104 i
*&amp;gt;                  172.16.20.2              0             0 12104 i

Total number of prefixes 4&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;router bgp 12103
 bgp router-id 172.16.3.3
 network 192.168.14.0/24
 neighbor 172.16.19.1 remote-as 12101
 neighbor 172.16.21.2 remote-as 12104

bgpd3&amp;gt; sh ip bgp
BGP table version is 0, local router ID is 172.16.3.3
Status codes: s suppressed, d damped, h history, * valid, &amp;gt; best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*&amp;gt; 192.168.12.0     172.16.19.1              0             0 12101 i
*                   172.16.21.2                            0 12104 12102 12101 i
*  192.168.13.0     172.16.19.1                            0 12101 12102 i
*&amp;gt;                  172.16.21.2                            0 12104 12102 i
*&amp;gt; 192.168.14.0     0.0.0.0                  0         32768 i
*&amp;gt; 192.168.15.0     172.16.21.2              0             0 12104 i

Total number of prefixes 4&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;router bgp 12104
 bgp router-id 172.16.4.4
 network 192.168.15.0/24
 neighbor 172.16.20.1 remote-as 12102
 neighbor 172.16.21.1 remote-as 12103

bgpd4&amp;gt; sh ip bgp
BGP table version is 0, local router ID is 172.16.4.4
Status codes: s suppressed, d damped, h history, * valid, &amp;gt; best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*  192.168.12.0     172.16.21.1                            0 12103 12101 i
*&amp;gt;                  172.16.20.1                            0 12102 12101 i
*&amp;gt; 192.168.13.0     172.16.20.1              0             0 12102 i
*  192.168.14.0     172.16.20.1                            0 12102 12101 12103 i
*&amp;gt;                  172.16.21.1              0             0 12103 i
*&amp;gt; 192.168.15.0     0.0.0.0                  0         32768 i

Total number of prefixes 4&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;postmetadata alt&quot;&gt;&lt;small&gt;Эта запись была сделана Ноябрь 27th, 2010 в 15:42:34 от &lt;a href=&quot;http://blog.peter.am/index.php?disp=user&amp;amp;user_ID=1&quot;&gt;peter&lt;/a&gt; и  назначена на &lt;a href=&quot;http://blog.peter.am/index.php/linux/&quot; title=&quot;Обзор рубрики&quot;&gt;Linux&lt;/a&gt;, &lt;a href=&quot;http://blog.peter.am/index.php/network/&quot; title=&quot;Обзор рубрики&quot;&gt;Сеть&lt;/a&gt;. &lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;1 комментарий&lt;/h3&gt;&lt;div class=&quot;bComment&quot;&gt; &lt;div class=&quot;bCommentTitle&quot;&gt;&lt;a href=&quot;http://blog.peter.am/index.php/2010/11/27/bgp-quagga#c29&quot; rel=&quot;nofollow&quot; title=&quot;Постоянная ссылка на этот комментарий&quot;&gt;Комментарий&lt;/a&gt; от: Andrew A. Sabitov [Посетитель] &lt;/div&gt;&lt;div class=&quot;bCommentText&quot;&gt;Всё карачо, но не рассмотрен самый частый случай: Ваша  АС с БГП-раутером + 2-3 аплинка к провайдерам. Всё настроено по варианту 3, всё  работает, а потом у одного из провайдеров падает _его_ (единственный!!!) аплинк.  Картина маслом... &lt;br /&gt;
&lt;br /&gt;
Это кусочек рабочего конфига, который был в работе лет  9 тому назад. Все возможные совпадения адресов считать случайными  :)&lt;br /&gt;
&lt;br /&gt;
router bgp 25549&lt;br /&gt;
bgp router-id 217.70.98.105&lt;br /&gt;
network  195.49.168.0/22&lt;br /&gt;
&lt;br /&gt;
!default AS (Electrosvyaz)&lt;br /&gt;
neighbor 217.70.98.106  remote-as 16054&lt;br /&gt;
neighbor 217.70.98.106 description Sibirtelecom aka  Elektrosvyaz&lt;br /&gt;
neighbor 217.70.98.106 filter-list 21701 out&lt;br /&gt;
neighbor  217.70.98.106 filter-list 21700 in&lt;br /&gt;
&lt;br /&gt;
! ZSTTK AS&lt;br /&gt;
neighbor 81.1.255.45  remote-as 21127&lt;br /&gt;
neighbor 81.1.255.45 description ZSTTK&lt;br /&gt;
neighbor  81.1.255.45 filter-list 8101 out&lt;br /&gt;
&lt;br /&gt;
ip as-path access-list 21701 permit  ^$&lt;br /&gt;
ip as-path access-list 21701 permit 25549$&lt;br /&gt;
ip as-path access-list 21701  deny .*&lt;br /&gt;
&lt;br /&gt;
ip as-path access-list 21700 deny 21127$&lt;br /&gt;
ip as-path  access-list 21700 deny 20651$&lt;br /&gt;
ip as-path access-list 21700 permit  .*&lt;br /&gt;
&lt;br /&gt;
ip as-path access-list 8101 permit ^$&lt;br /&gt;
ip as-path access-list 8101  permit 25549$&lt;br /&gt;
ip as-path access-list 8101 deny .*&lt;br /&gt;
&lt;br /&gt;
Оригинал: http://blog.peter.am/index.php/2010/11/27/bgp-quagga&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/3932831447544356616/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/bgp-quagga.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3932831447544356616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3932831447544356616'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/bgp-quagga.html' title='Играем с BGP в Quagga'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-8369670475853351342</id><published>2010-11-30T00:47:00.000+02:00</published><updated>2010-11-30T00:47:09.910+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="NAT"/><category scheme="http://www.blogger.com/atom/ns#" term="NETFLOW"/><category scheme="http://www.blogger.com/atom/ns#" term="провайдер"/><category scheme="http://www.blogger.com/atom/ns#" term="шейпинг"/><title type='text'>Linux на службе у провайдера</title><content type='html'>Просмотрев большинство тематических постов на хабре был безмерно удивлён тому  факту, что крайне скудно освещена тема использования ОС Unix/Linux на службе  интернет провайдеров (Internet service provider). Данной статьёй я частично  попытаюсь восполнить данный пробел.&lt;br /&gt;
&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Почему в  сети интернет наблюдается полное отсутствие таких статей догадаться не сложно —  всех кто использует Linux/FreeBSD в ISP сразу же обвиняют в нищебродстве и  советуют купить Cisco или уж на совсем крайний случай Juniper. Именно поэтому  вторая цель данной статьи показать читателю, что некоторые технические решения  на базе ОС Linux по многим показателям на порядки превосходят брэндовые решения  от самых известных вендоров. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;Шейпинг&lt;/h5&gt;&lt;br /&gt;
Наш первый опыт «нестандартного» использования Linux  появился сразу после начала предоставления услуг широкополосного доступа для  физических лиц. Необходимо было чем-то «порезать» внешний канал каждого из наших  пользователей. Здесь ввиду отсутствия собственных наработок на данную тему  пришлось изобретать свой собственный велосипед применяя &lt;a href=&quot;http://www.icir.org/floyd/cbq.html&quot;&gt;cbq&lt;/a&gt; и собственной обвязки к нему.  Данная схема проработала пару месяцев пока мы не осознали всех ее минусов и не  упёрлись в производительность машины. &lt;br /&gt;
&lt;br /&gt;
Все дело в том, что система начала  «съедать» слишком много soft interrupts даже при не большом трафике, на вскидку  при транзитном трафике в 300 мегабит и 30 kpps при 1000 линейных правил cbq (по  2 правила вход/выход на пользователя) на каждом интерфейсе в top si достигал  100%. &lt;br /&gt;
&lt;br /&gt;
Если бы в данный момент перед нами бы встала та же самая задача  при тех де самых технических средствах мы бы решали ее с помошью Linux &lt;a href=&quot;http://luxik.cdi.cz/%7Edevik/qos/htb/manual/userg.htm&quot;&gt;htb&lt;/a&gt; tc + &lt;a href=&quot;http://lartc.org/howto/lartc.adv-filter.hashing.html&quot;&gt;хэш  фильтры&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;NAT&lt;/h5&gt;&lt;br /&gt;
Так как на тот момент мы являлись небольшим местячковым домашним  провайдером, то при подключении абонентов физических лиц у нас остро встал  вопрос выдавать ли клиенту «белый» маршрутизируемый ip адрес, либо ограничиться  выдачей «серых» ip адресов. &lt;br /&gt;
&lt;br /&gt;
Остановились на «серых» адресах, т. к. при  их использовании существенно экономился столько ценных на тот момент материал  как реальные адреса. Также несколько повышалась безопасность и комфортность  работы наших пользователей, т. к. извне их компьютеры не были доступны всей сети  интернет «напрямую». &lt;br /&gt;
&lt;br /&gt;
Для &lt;a href=&quot;http://ru.wikipedia.org/wiki/NAT&quot;&gt;NAT&lt;/a&gt;-а было выбрано оборудование  Cisco в частности Cisco ASA 5505 — на тот момент ее мощности было достаточно  чтобы покрыть потребности наших клиентов. &lt;br /&gt;
&lt;br /&gt;
В то же самое время ВДРУГ  появилась информация, что заказанная нами Cisco ASA несколько подзадержится, и  собственно встал вопрос чем от NAT-ить 100Мбит/с поток. &lt;br /&gt;
&lt;br /&gt;
«На коленке» был  собран тестовый стенд из обычного офисного PC-ка с 2 сетевыми гигабитными  адаптерами и выяснилось, что при небольшом тюнинге этот самый обычный «писюк» с  самыми обычными реалтеками способен отнатить нужный нам поток. &lt;br /&gt;
&lt;br /&gt;
После  замены железа через один из наших NAT серверов в пиках проходило 1800 мбит/с  (да, да это не описка, трафик почти 2 гигабита/с) при сравнительно небольшой  нагрузке на систему. &lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;NETFLOW&lt;/h5&gt;&lt;br /&gt;
Столкнувшись с проблемой сбора статистики работы домашних  пользователей до NAT-а т. е. c «серыми» адресами пришли к простейшей схеме  получения статистики &lt;a href=&quot;http://ru.wikipedia.org/wiki/Netflow&quot;&gt;NETFLOW&lt;/a&gt;.  &lt;br /&gt;
&lt;br /&gt;
Собрали схему при которой мы «выгоняем» копию всего трафика  пользователей (SPAN PORT) в нужные сетевые порты сервера с ОС Linux на борту, а  далее с помощью ipt_NETFLOW формируем поток FLOWS на нужный сервер.  &lt;br /&gt;
&lt;br /&gt;
Более подробно вместе с конфигами схема работы приведена &lt;a href=&quot;http://centos.alt.ru/?p=367&quot;&gt;здесь&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
P.S. Мы в курсе, что  большинство оборудования Cisco может лить уже сформированный NETFLOW поток в  указанный Netflow коллектор, но в нашей схеме сети на тот момент такого  оборудования просто не могло быть :) &lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;Терминация пользовательских сетей.&lt;/h5&gt;&lt;br /&gt;
Изначально хотелось дать  пользователю ip адрес, маску подсети, и шлюз и не грузить его настройками PPPoE,  PPTP, VPN что в конечном итоге должно было несколько разгрузить службу  технической поддержки (что и произошло на практике), так как настройка сети  становилась достаточно тривиальной в любой пользовательской ОС. &lt;br /&gt;
&lt;br /&gt;
Решив  применить наш предыдущий опыт использования ОС Linux пришли к следующей схеме, в  ключевых местах сети устанавливаются Linux сервера с парой четырех-портовых  сетевых адаптеров, один линк «уходит» в сторону ядра сети остальные в сторону  «кластеров». В результате на каждом интерфейсе поднимается куча &lt;a href=&quot;http://ru.wikipedia.org/wiki/VLAN&quot;&gt;VLAN&lt;/a&gt;-ов с несколькими сетями в  каждом из них. &lt;br /&gt;
&lt;br /&gt;
Всего у нас на всю сеть было 4 сервера примерно по 10k  абонентов на каждом. &lt;br /&gt;
&lt;br /&gt;
Пиковый трафик достигаемый каждым сервером в часы  пик стремился к полутора мегапакетам в секунду. Сервера обменивались друг с  другом маршрутами по протоколу &lt;a href=&quot;http://ru.wikipedia.org/wiki/OSPF&quot;&gt;ospf&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Блокирование доступа  пользователям осуществлялось с помошью ipset. &lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;Бордер&lt;/h5&gt;&lt;br /&gt;
Тут бы на этой счастливой ноте и закончить, но хочется  написать о еще одном «не стандартном» применении Linux — в качестве бордера. Так  получилось, что у нас вышла из строя Cisco ASR выполняющая функции бордера на  который приходило 2 full view от двух аплинков. &lt;br /&gt;
&lt;br /&gt;
Здесь следует небольшое  лирическое отступление. Компания Cisco на 100% сдержала свои обязательства и  выслала замену в течении нескольких часов после заполнения необходимых  документов, но как Вы понимаете клиенты не будут ждать сутки пока новое железо  прилетит в наши края. Решение было спонтанным. &lt;br /&gt;
&lt;br /&gt;
Со склада взяли сервер  установили на него Linux + &lt;a href=&quot;http://ru.wikipedia.org/wiki/Quagga&quot;&gt;quagga&lt;/a&gt; и благополучно поставили  вместо вышедшей из строя Cisco. &lt;br /&gt;
&lt;br /&gt;
В час пик это чудо инженерной мысли  «прожевало» входящий поток 1.4Гбит/c, при суммарном kpps на всех интерфейсах  порядка 400. &lt;br /&gt;
&lt;br /&gt;
P.S. В ходе работы нами было собрано и протестировано  множество RPM пакетов для дистрибутива CentOS 5 вот лишь небольшой их список:  &lt;br /&gt;
&lt;ul&gt;&lt;li&gt;ipset&lt;/li&gt;
&lt;li&gt;connlimit&lt;/li&gt;
&lt;li&gt;conntrack-tools&lt;/li&gt;
&lt;li&gt;ipt_netflow&lt;/li&gt;
&lt;li&gt;flow-tools&lt;/li&gt;
&lt;li&gt;quagga&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Cкачать их можно из &lt;a href=&quot;http://centos.alt.ru/?p=120&quot;&gt;данного&lt;/a&gt; репозитория. &lt;br /&gt;
&lt;br /&gt;
P.P.S. Если  у Вас есть свои собственные наработки или заметки по поводу использования *nix  like OS на службе ISP, добро пожаловать.&lt;br /&gt;
&lt;br /&gt;
Оригинал: http://habrahabr.ru/blogs/sysadm/106932/</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/8369670475853351342/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/linux_30.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/8369670475853351342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/8369670475853351342'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/linux_30.html' title='Linux на службе у провайдера'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-3491496180078568997</id><published>2010-11-30T00:45:00.000+02:00</published><updated>2010-11-30T00:45:01.370+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="rabbitmq"/><title type='text'>Процесс запуска RabbitMQ на Linux</title><content type='html'>&lt;h4&gt;Вступление&lt;/h4&gt;Запуск RabbitMQ сервера при более глубоком рассмотрении  выглядит весьма запутанным делом. Почему это так и как все все обстоит на самом  деле можно прочитать под катом. &lt;ol&gt;&lt;li&gt;Версия RabbitMQ-Server — 2.1.0&lt;/li&gt;
&lt;li&gt;ОС: Fedora&lt;/li&gt;
&lt;/ol&gt;&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt; &lt;h4&gt;Коротко&lt;/h4&gt;Внимательно смотрим на PID&#39;ы процессов. Ниже идет объяснение  происходящего:&lt;code&gt;&lt;/code&gt;&lt;pre&gt;-bash-3.2# /etc/init.d/rabbitmq-server start
root  7732  3834  0 11:54 pts/0    00:00:00 /bin/sh /etc/init.d/rabbitmq-server start
root      7733  7732  0 11:54 pts/0    00:00:00 /bin/sh /usr/sbin/rabbitmq-multi start_all 1
root      7740  7733  0 11:54 pts/0    00:00:00 su rabbitmq -s /bin/sh -c /usr/lib/rabbitmq/bin/rabbitmq-multi  &quot;start_all&quot; &quot;1&quot;
rabbitmq  7741  7740  7 11:54 ?        00:00:00 /usr/lib64/erlang/erts-5.7.5/bin/beam.smp -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-  2.1.0/sbin/../ebin -noshell -noinput -hidden -K true -sname rabbitmq_multi7741 -s rabbit_multi -extra start_all 1
rabbitmq  7767  7741  0 11:54 ?        00:00:00 inet_gethost 4
rabbitmq  7768  7767  0 11:54 ?        00:00:00 inet_gethost 4
rabbitmq  7769  7741  0 11:54 ?        00:00:00 /bin/sh /usr/lib/rabbitmq/bin/rabbitmq-server -noinput
rabbitmq  7794  7769  0 11:54 ?        00:00:00 /bin/sh /usr/lib/rabbitmq/bin/rabbitmq-server -noinput
rabbitmq  7795  7794  0 11:54 ?        00:00:00 ps -ef
rabbitmq  7796  7794  0 11:54 ?        00:00:00 grep rabbit
-bash-3.2# echo $$
3834&lt;/pre&gt;&lt;h4&gt;Подробнее&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Из shell (PID = 3834) запускается /etc/init.d/rabbitmq-server start;&lt;/li&gt;
&lt;li&gt;В init.d скрипте (PID = 7732) происходит подгрузка (source) конф. файла  /etc/sysconfig/rabbitmq;&lt;/li&gt;
&lt;li&gt;Из init.d скрипта запускается shell скрипт su rabbitmq -s /bin/sh -c  /usr/lib/rabbitmq/bin/rabbitmq-multi «start_all» «1» (PID = 7740); Из него  подгужается (source) /usr/lib/rabbitmq/bin/rabbitmq-evn, в котором подгужается  /etc/rabbimq/rabbitmq.conf&lt;/li&gt;
&lt;li&gt;В /usr/lib/rabbitmq/bin/rabbitmq-multi запускается erlang (PID = 7741) с  некоторым набором параметром. Наиболее интересным является -s rabbit_multi.  Указывающий функцию, которая будет вызвана вместо start (man erl);&lt;/li&gt;
&lt;li&gt;Из запущенного erlang приложения запускается shell скрипт /bin/sh  /usr/lib/rabbitmq/bin/rabbitmq-server -noinput (PID = 7769), в котором и  происходит запуск самого rabbitmq-server.&lt;/li&gt;
&lt;/ul&gt;Вот код из rabbit_mulri.erl,  в котором происходит вызов shell скрипта:&lt;code&gt;&lt;/code&gt;&lt;pre&gt;220 run_rabbitmq_server() -&amp;gt;
 221     with_os([{unix, fun run_rabbitmq_server_unix/0},
 222              {win32, fun run_rabbitmq_server_win32/0}]).
 223
 224 run_rabbitmq_server_unix() -&amp;gt;
 225     CmdLine = getenv(&quot;RABBITMQ_script_HOME&quot;) ++ &quot;/rabbitmq-server -noinput&quot;,
 226     erlang:open_port({spawn, CmdLine}, [nouse_stdio]).
 227 
 228 run_rabbitmq_server_win32() -&amp;gt;
 229     Cmd = filename:nativename(os:find_executable(&quot;cmd&quot;)),
 230     CmdLine = &quot;\&quot;&quot; ++ getenv(&quot;RABBITMQ_script_HOME&quot;)
 231                                          ++ &quot;\\rabbitmq-server.bat\&quot; -noinput&quot;,
 232     erlang:open_port({spawn_executable, Cmd},
 233                      [{arg0, Cmd}, {args, [&quot;/q&quot;, &quot;/s&quot;, &quot;/c&quot;, CmdLine]},
 234                       nouse_stdio, hide]).&lt;/pre&gt;Настолько нетривиальный процесс запуска явно делается из-за  мультиплатформенности самого приложения. &lt;h5&gt;Переменные окружения&lt;/h5&gt;Теперь у нас есть понимание того, как происходит  процесс запуска rabbitmq-server, но нет понимая того как на него повлиять.  Рассмотрим немного подробнее запуск самих erlang приложений. &lt;h6&gt;Запуск лаунчера (rabbit_multi)&lt;/h6&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;exec erl \
   -pa &quot;${RABBITMQ_HOME}/ebin&quot; \
   -noinput \
   -hidden \
   ${RABBITMQ_MULTI_ERL_ARGS} \
   -sname rabbitmq_multi$$ \
   -s rabbit_multi \
   ${RABBITMQ_MULTI_START_ARGS} \
   -extra &quot;$@&quot;&lt;/pre&gt;&lt;h6&gt;Запуск сервера&lt;/h6&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;exec erl
${RABBITMQ_EBIN_PATH}
   ${RABBITMQ_START_RABBIT}
   -sname ${RABBITMQ_NODENAME}
   -boot ${RABBITMQ_BOOT_FILE}
   ${RABBITMQ_CONFIG_ARG}
   +W w \
   ${RABBITMQ_SERVER_ERL_ARGS} \
   ${RABBITMQ_LISTEN_ARG} \
   -sasl errlog_type error \
   -kernel error_logger &#39;{file,&quot;&#39;${RABBITMQ_LOGS}&#39;&quot;}&#39; \
   -sasl sasl_error_logger &#39;{file,&quot;&#39;${RABBITMQ_SASL_LOGS}&#39;&quot;}&#39; \
   -os_mon start_cpu_sup true \
   -os_mon start_disksup false \
   -os_mon start_memsup false \
   -mnesia dir &quot;\&quot;${RABBITMQ_MNESIA_DIR}\&quot;&quot; \
   ${RABBITMQ_SERVER_START_ARGS} \
   &quot;$@&quot;&lt;/pre&gt;Думаю теперь видно какие переменные окружения влияют на каждый из  erlang процессов. Изменять данные параметры рекомендуется в  /etc/rabbitmq/rabbitmq.conf, который как мы помним подгружается при запуске  /usr/lib/rabbitmq/bin/rabbitmq-multi.Вот так выглядит запущенный сервис с  параметрами по-умолчанию:&lt;code&gt;&lt;/code&gt;&lt;pre&gt;exec erl -noinput -sname rabbit@hostname -boot /var/lib/rabbitmq/mnesia/rabbit@hostname/plugins-scratch/rabbit \    
   -config /etc/rabbitmq/rabbitmq +W w  +K true +A30 +P 1048576 -kernel inet_default_listen_options [{nodelay,true}] \
   -kernel inet_default_connect_options [{nodelay,true}] \
   -sasl errlog_type error -kernel error_logger &#39;{file,&#39;/var/log/rabbitmq/rabbit@hostname.log&#39;}&#39; \
   -sasl sasl_error_logger &#39;{file,&#39;/var/log/rabbitmq/rabbit@hostname-sasl.log&#39;}&#39; \
   -os_mon start_cpu_sup true -os_mon start_disksup false -os_mon start_memsup false -mnesia dir &quot;/var/lib/rabbitmq/mnesia/rabbit@hostname&quot; -noinput&lt;/pre&gt;&lt;h4&gt;Итог по конф. файлам&lt;/h4&gt;В итоге за работу rabbitmq-server отвечают 3 конф.  файла: &lt;ul&gt;&lt;li&gt;/etc/sysconfig/rabbitmq; — В нем принято указывать какие-либо низкоуровневые  параметры (например ulimit)&lt;/li&gt;
&lt;li&gt;/etc/rabbitmq/rabbitmq.conf; — Настраиваются переменные окружения для  запуска erlang&lt;/li&gt;
&lt;li&gt;/etc/rabbitmq/rabbitmq.config. — Настраивается сам  rabbitmq-server&lt;/li&gt;
&lt;/ul&gt;Надеюсь кому-то эта статья сэкономит немного времени. О  том какие именно значения выставлять переменным, влияющим на работу сервера —  это уже дело личное. Возможно я напишу об этом несколько позже.&lt;br /&gt;
&lt;br /&gt;
Оригинал: http://habrahabr.ru/blogs/linux/105364/&lt;br /&gt;
&amp;nbsp;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/3491496180078568997/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/rabbitmq-linux.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3491496180078568997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3491496180078568997'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/rabbitmq-linux.html' title='Процесс запуска RabbitMQ на Linux'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-8660059645623611527</id><published>2010-11-30T00:42:00.000+02:00</published><updated>2010-11-30T00:42:33.310+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="ddos"/><category scheme="http://www.blogger.com/atom/ns#" term="iptables"/><category scheme="http://www.blogger.com/atom/ns#" term="nginx"/><title type='text'>Еще один способ отбиться от небольшого DDOS</title><content type='html'>Все нижеописанное относится к GNU/Linux 2.6.x. ДДОС совершенно тупой,  разномастный: syn/tcp/udp/icmp flood тупо на все открытые порты, мегабит на 60.  UDP срали вообще куда попало. Но основная атака конечно на HTTP. По этому, тушим  сервисы и пишем….&lt;br /&gt;
&lt;span id=&quot;more-190&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;Немного sysctl…&lt;/h3&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt; &lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;vm.min_free_kbytes=70000&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.core.somaxconn=65536&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_tw_reuse=1&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_tw_recycle=1&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.ip_local_port_range = 2000  61000&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_fin_timeout = 25&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_keepalive_time =  600&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_window_scaling =  0&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_timestamps = 0&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.core.rmem_max=16777216&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.core.wmem_max=32777216&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_no_metrics_save=0&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_rmem = 4096 87380  16777216&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_wmem = 4096 187380  32777216&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.core.netdev_max_backlog=16384&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.tcp_max_syn_backlog=4096&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.ip_conntrack_max=600000&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.icmp_echo_ignore_all=1&lt;/div&gt;&lt;div id=&quot;_mcePaste&quot; style=&quot;padding-left: 30px;&quot;&gt;net.ipv4.netfilter.ip_conntrack_max=500000&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;net.netfilter.nf_conntrack_max=500000&lt;/div&gt;&lt;div&gt;Не забываем перезапустить Network.&lt;/div&gt;&lt;h3&gt;Немного iptables….&lt;/h3&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Форвард нам нэ нада&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -P&amp;nbsp;FORWARD DROP&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# BAN – цепочка для помещения туда айпи хостов,  ведущих себя не правильно ) Ну типа&lt;br /&gt;
# iptables – I BAN -s 123.123.123.123 -j  DROP&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -N BAN&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# TRUSTED – цепочка для помещения туда  правильных хостов и хостов откуда мы сидим в шелле. Типа&lt;br /&gt;
# iptables -I  TRUSTED -s 111.111.111.111 -j ACCEPT&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -N TRUSTED&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Стандартный заголовок, eth1 – наш интерфейс  внешний&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# если есть еще интерфейсы, надо их тоже запрячь  правилами разрешения как у lo&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -A INPUT -i lo -j ACCEPT&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -A INPUT -i eth1 -m state –state  ESTABLISHED -j ACCEPT&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -A INPUT -i eth1 -m state –state  RELATED -j ACCEPT&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Проход по белым и черным цепочкам&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -A INPUT -i eth1 -j TRUSTED&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -A INPUT -i eth1 -j BAN&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# У меня висит только сервис http, по этому  здесь такая себе мини защита по данному порту&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Насчет&amp;nbsp;–seconds 10 –hitcount 10, курим маны,  экспериментируем, ставим то, что подойдет.&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Режем всех TCP на порту 80, которые за  последние 10 секунд сделали 10 попыток открыть соединение&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# (кому то может не подойти!)&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -A INPUT -p tcp -m tcp –dport 80 -m  state –state NEW -m recent –update –seconds 10 –hitcount 10 –name httpd –rsource  -j DROP&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# А остальных разрешаем&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables&amp;nbsp;-A INPUT -i eth1 -p tcp -m tcp –dport  80 -j ACCEPT&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Вот по этой теме ддосеры тоже затрахали, по  этому был категоричен&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -A OUTPUT -p udp -j DROP&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -A OUTPUT -p icmp -j DROP&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Здесь добавить разрешения на прочие порты, у  меня прочих не было&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# …&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Здесь добавить (!!!) свои айпи, с которых  сидишь в шелле&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -A TRUSTED -s 111.111.111.111 -j  ACCEPT&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Хорошо подумаем, покурим, затаим дыхание и  напишем….&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;iptables -P INPUT DROP&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;# Что означает зарезать все, что не разрешили на  INPUT’е&lt;/div&gt;&lt;div&gt;А теперь запускаем nginx/httpd и прочую лабуду. Надеюсь заработает. У меня  заработало, как будто ничего и не происходило &lt;img alt=&quot;:)&quot; class=&quot;wp-smiley&quot; src=&quot;http://www.pentarh.com/wp/wp-includes/images/smilies/icon_smile.gif&quot; /&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Оригинал: http://www.pentarh.com/wp/2010/08/11/%d0%95%d1%89%d0%b5-%d0%be%d0%b4%d0%b8%d0%bd-%d1%81%d0%bf%d0%be%d1%81%d0%be%d0%b1-%d0%be%d1%82%d0%b1%d0%b8%d1%82%d1%8c%d1%81%d1%8f-%d0%be%d1%82-%d0%bd%d0%b5%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%be%d0%b3/ &lt;/div&gt;&lt;div&gt;  &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/8660059645623611527/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/ddos_30.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/8660059645623611527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/8660059645623611527'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/ddos_30.html' title='Еще один способ отбиться от небольшого DDOS'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-3973328987303242916</id><published>2010-11-30T00:39:00.000+02:00</published><updated>2010-11-30T00:39:04.552+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="ddos"/><category scheme="http://www.blogger.com/atom/ns#" term="nginx"/><category scheme="http://www.blogger.com/atom/ns#" term="perl"/><title type='text'>Отбил небольшой DDOS ;)</title><content type='html'>&lt;strong&gt;DDOS &lt;/strong&gt;на &lt;strong&gt;HTTP &lt;/strong&gt;20 Мбит входящего. Отбито  софтварным костылем &lt;img alt=&quot;8-)&quot; class=&quot;wp-smiley&quot; src=&quot;http://www.pentarh.com/wp/wp-includes/images/smilies/icon_cool.gif&quot; /&gt; &lt;br /&gt;
Конфигурация машины: Quad Core Xeon / 4G RAM, CentOS 5.3 x86_64&lt;br /&gt;
Сервисы: apache(back) + nginx(front)&lt;br /&gt;
&lt;span id=&quot;more-155&quot;&gt;&lt;/span&gt;&lt;strong&gt;Sysctl&lt;/strong&gt;:&lt;br /&gt;
&lt;div style=&quot;padding-left: 30px;&quot;&gt;kernel.shmall =  4294967296&lt;br /&gt;
vm.min_free_kbytes=70000&lt;br /&gt;
net.core.somaxconn=65536&lt;br /&gt;
net.ipv4.tcp_tw_reuse=1&lt;br /&gt;
net.ipv4.tcp_tw_recycle=1&lt;br /&gt;
net.ipv4.ip_local_port_range  = 2000 61000&lt;br /&gt;
net.ipv4.tcp_fin_timeout = 25&lt;br /&gt;
net.ipv4.tcp_keepalive_time =  600&lt;br /&gt;
net.ipv4.tcp_window_scaling = 0&lt;br /&gt;
net.ipv4.tcp_timestamps =  0&lt;br /&gt;
net.core.rmem_max=8388608&lt;br /&gt;
net.core.wmem_max=16777216&lt;br /&gt;
net.ipv4.tcp_no_metrics_save=0&lt;br /&gt;
net.ipv4.tcp_rmem  = 4096 87380 16777216&lt;br /&gt;
net.ipv4.tcp_wmem = 4096 87380  16777216&lt;br /&gt;
net.core.netdev_max_backlog=65536&lt;br /&gt;
net.ipv4.tcp_max_syn_backlog=4096&lt;br /&gt;
net.ipv4.ip_conntrack_max=300000&lt;/div&gt;&lt;strong&gt;nginx&lt;/strong&gt;:&lt;br /&gt;
&lt;div style=&quot;padding-left: 30px;&quot;&gt;worker_rlimit_nofile 80000;&lt;br /&gt;
events  {&lt;br /&gt;
worker_connections&amp;nbsp; 65536;&lt;br /&gt;
use epoll;&lt;br /&gt;
}&lt;/div&gt;&lt;div style=&quot;padding-left: 30px;&quot;&gt;http {&lt;br /&gt;
gzip off; # &lt;img alt=&quot;;)&quot; class=&quot;wp-smiley&quot; src=&quot;http://www.pentarh.com/wp/wp-includes/images/smilies/icon_wink.gif&quot; /&gt;&lt;br /&gt;
keepalive_timeout&amp;nbsp;  0;&lt;br /&gt;
server_tokens off;&lt;br /&gt;
reset_timedout_connection on;&lt;/div&gt;server {&lt;br /&gt;
listen x.x.x.x default deferred;&lt;br /&gt;
log_format IP  $remote_addr;&lt;br /&gt;
location / {&lt;br /&gt;
proxy_pass  http://127.0.0.1/;&lt;br /&gt;
….&lt;br /&gt;
&lt;strong&gt;access_log /var/log/nginx/ipban  IP;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;apache&lt;/strong&gt;: ServerLimit и MaxClients установить так, чтобы не  засрало более чем 80% памяти. (В top’е можно глянуть сколько памяти потребляет  каждый процесс).&lt;br /&gt;
Собсно скрипт. Запускается по крону раз в минуту и банит нах айпи, которые за  эту минуту обратились к скриптовой части более 20 раз.&lt;br /&gt;
&lt;div style=&quot;padding-left: 30px;&quot;&gt;#!/usr/bin/perl&lt;/div&gt;system(‘mv /var/log/nginx/ipban /var/log/nginx/ipban.proc’);&lt;br /&gt;
system(‘touch  /var/log/nginx/ipban’);&lt;br /&gt;
system(«/etc/init.d/nginx reload»);&lt;br /&gt;
open $f,’/var/log/nginx/ipban.proc’;&lt;br /&gt;
%h=();&lt;br /&gt;
while(&amp;lt;$f&amp;gt;) {&lt;br /&gt;
chomp;&lt;br /&gt;
if (/\d+\.\d+\.\d+\.\d+/) {&lt;br /&gt;
unless  ($h{$_}) {&lt;br /&gt;
$h{$_}=1;&lt;br /&gt;
} else {&lt;br /&gt;
$h{$_}++;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
close $f;&lt;br /&gt;
foreach $k (keys(%h)) {&lt;br /&gt;
if ($h{$k} &amp;gt; 20) {&lt;br /&gt;
system(«iptables -I INPUT  -s $k -j DROP»);&lt;br /&gt;
print «$k banned\n»;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
20 -число вычисленное в ходе проб и ошибок применительно к этому серверу и  location’у nginx. После того как скрипт беспощадно побанил 2к хостов, сервер  начал подавать внешние признаки жизни, после 3к забаненых зомби начала грузицца  морда.&lt;br /&gt;
В процессе работы мой рабочий комп был дважды забанен в ходе экспериментов  ))&lt;br /&gt;
Более серъезный DDOS конечно будет трудно отбивать тупой банилкой.&lt;br /&gt;
&lt;strong&gt;АПДЕЙТ&lt;/strong&gt;. Время шло, таблица бана росла, ддосеры не  унимались.&lt;br /&gt;
Поставил вот эту хрень &lt;a href=&quot;http://www.configserver.com/cp/csf.html&quot;&gt;http://www.configserver.com/cp/csf.html&lt;/a&gt;&lt;br /&gt;
Софтина умеет вообще много чего. Но практически все что она умеет бесполезно.  Кроме temporary ban ip address.&lt;br /&gt;
В конфигах отключил практически все, ибо оно (все) мешало. Мне надо было от  этой проги только то, чтобы она банила айпи с TTL. Т.е. на время. И крон стал  пускать раз в 5 минут.&lt;br /&gt;
Соответственно, в кроновом скрипте поменял&lt;br /&gt;
&lt;div style=&quot;padding-left: 30px;&quot;&gt;if ($h{$k} &amp;gt; 20) {&lt;br /&gt;
system(«iptables -I INPUT  -s $k -j DROP»);&lt;/div&gt;На&lt;br /&gt;
&lt;div style=&quot;padding-left: 30px;&quot;&gt;if ($h{$k} &amp;gt; 60) {&lt;br /&gt;
system(«/usr/sbin/csf  –tempdeny $k 28800″);&lt;/div&gt;Так же цель атаки – страницу, сделал статичной.&amp;nbsp; ДДОС просел, сайт ожил.&lt;br /&gt;
&lt;br /&gt;
Оригинал&amp;nbsp; http://www.pentarh.com/wp/2009/05/02/%d0%9e%d1%82%d0%b1%d0%b8%d0%bb-%d0%bd%d0%b5%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%be%d0%b9-ddos/</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/3973328987303242916/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/ddos.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3973328987303242916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3973328987303242916'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/ddos.html' title='Отбил небольшой DDOS ;)'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-3909546907462611492</id><published>2010-11-26T00:23:00.000+02:00</published><updated>2010-11-26T00:23:04.517+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="client-vlan"/><category scheme="http://www.blogger.com/atom/ns#" term="dhcp"/><category scheme="http://www.blogger.com/atom/ns#" term="ipoe"/><category scheme="http://www.blogger.com/atom/ns#" term="option 82"/><title type='text'>IPoE, а также Client-VLAN и DHCP Option 82</title><content type='html'>В этой статье я опишу что из себя представляет технология доступа в Интернет  IPoE, которой на самом деле не существует. А также расскажу про схему  Client-VLAN и про опцию 82 DHCP (DHCP Option 82), которые стали неотъемлемой  частью этой несуществующей технологии. Все это, конечно же, с технической точки  зрения и с примерами конфигов.&lt;br /&gt;
&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Существует множество  технологий доступа в Интернет для конечных абонентов. В России особенно  популярны две: PPTP и PPPoE. В обоих случаях создается PPP-туннель, производится  аутентификация, и внутри туннеля ходит абонентский IP-трафик. Основное отличие  этих протоколов –&amp;nbsp;они работают на разных уровнях сетевой модели OSI.  &lt;strong&gt;PPPoE&lt;/strong&gt; работает на втором (канальном) уровне, добавляя  специальные теги, идентифицирующие конкретный туннель, в Ethernet-фреймы.  &lt;strong&gt;PPTP&lt;/strong&gt; работает на третьем (сетевом) уровне, упаковывая IP-пакеты  в GRE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;IPoE&lt;/h4&gt;&lt;br /&gt;
&lt;strong&gt;IPoE&lt;/strong&gt; принципиально отличается от PPTP и PPPoE.  Вообще этой технологии не существует. Нет RFC, нет никаких стандартов ее  описывающих. Сам термин придуман, скорее всего, в России и является абстрактным.  Означает он следующее: &lt;strong&gt;&lt;em&gt;IP over Ethernet&lt;/em&gt;&lt;/strong&gt;. Смысл именно  такой, как и расшифровка –&amp;nbsp;IP-трафик поверх Ethernet, грубо говоря, обычная  локалка. Абоненту выдается в лучшем случае статический или динамический белый  IP-адрес, в худшем случае серый IP с NAT. Контроль доступа в данном случае может  осуществляется при помощи привязок IP-MAC на коммутаторах доступа или на&amp;nbsp;BRAS  или выделения VLAN на каждого абонента (так называемый Client-VLAN).&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Client-VLAN&lt;/h4&gt;&lt;br /&gt;
При использовании технологии  &lt;strong&gt;Client-VLAN&lt;/strong&gt; возникает проблема: как сэкономить IP-адреса? Ведь,  если подумать, каждому клиенту надо выделять /30 подсеть. На самом деле проблема  легко решаема. Привожу пример для маршрутизатора на базе Linux:&lt;br /&gt;
&lt;pre&gt;ip route add unreachable 192.0.2.0/24
ip addr add 192.0.2.1/32 dev lo

vconfig add eth0 101
ip link set eth0.101 up
ip route add 192.0.2.101/32 dev eth0.101 src 192.0.2.1&lt;/pre&gt;&lt;br /&gt;
&lt;blockquote&gt;Подсеть 192.0.2.0/24 рекомендована IANA для использования в  примерах.&lt;/blockquote&gt;&lt;br /&gt;
Это классический Cisco&#39;вский&amp;nbsp;&lt;em&gt;ip unnumbered&lt;/em&gt; в  Linux&#39;овой реализации. IP шлюза (192.0.2.1) вешается на loopback-интерфейс,  делается &lt;code&gt;unreachable&lt;/code&gt; для всей подсети, чтобы пакеты ходили только  на хосты, для которых прописан роутинг. Далее поднимается VLAN и прописывается  роутинг на конкретный хост (маска /32) с &lt;code&gt;src&lt;/code&gt; шлюза. А можно сделать  немного иначе (это лишний раз демонстрирует гибкость Linux):&lt;br /&gt;
&lt;pre&gt;ip route add unreachable 192.0.2.0/24

vconfig add eth0 101
ip link set eth0.101 up
ip addr add 192.0.2.1/32 dev eth0.101
ip route add 192.0.2.101/32 dev eth0.101&lt;/pre&gt;&lt;br /&gt;
Или так:&lt;br /&gt;
&lt;pre&gt;ip route add unreachable 192.0.2.0/24

vconfig add eth0 101
ip link set eth0.101 up
ip addr add 192.0.2.1/24 dev eth0.101
ip route del 192.0.2.0/24 dev eth0.101
ip route add 192.0.2.101/32 dev eth0.101&lt;/pre&gt;&lt;br /&gt;
Все эти варианты работают,  можно выбрать тот, при котором интерфейсы отображаются наиболее удобным образом.  Во всех случаях IP абонента – 192.0.2.101/24.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Proxy_arp&lt;/h4&gt;&lt;br /&gt;
Еще одна проблема, с которой вы можете столкнуться –&amp;nbsp;нет  связи между абонентами в разных VLAN и с IP из одной подсети. Действительно,  система абонента видит, что IP-адрес назначения в одной подсети с ней, и шлет  ARP-запросы, чтобы определить MAC, но из этого ничего не выходит, т.к. они в  разных VLAN. Для решения этой проблемы служит технология  &lt;strong&gt;proxy_arp&lt;/strong&gt;. Суть ее в том, что маршрутизатор при получении  ARP-запросов с интерфейса будет проверять есть ли у него запрашиваемый IP на  других интерфейсах. Если есть, то в ответ на ARP-запрос выдаст свой MAC. Таким  образом, пакеты будут отправляться на маршрутизатор, который позаботится об их  доставке. Включается proxy_arp для конкретного интерфейса следующим образом:&lt;br /&gt;
&lt;pre&gt;sysctl net.ipv4.conf.eth0/101.proxy_arp=1&lt;/pre&gt;&lt;br /&gt;
или&lt;br /&gt;
&lt;pre&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/conf/eth0.101/proxy_arp&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;DHCP Option 82&lt;/h4&gt;&lt;br /&gt;
При использовании IPoE DHCP упростит настройку сети  на стороне абонента до нуля. Воткнул патчкорд и ты в сети. Только возникает  вопрос: как DHCP узнает кому какой адрес выдавать? Можно определять по MAC,  особенно если вы уже используете привязки IP-MAC. Но привязки MAC чреваты  частыми звонками в поддержку, т.к. абоненты иногда меняют оборудование.  Справиться с этой проблемой поможет расширение протокола DHCP – &lt;strong&gt;Option  82&lt;/strong&gt;. Опция 82 содержит два поля:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Agent Circuit ID – номер порта DHCP-релэя, на который пришел  DHCP-запрос.&lt;/li&gt;
&lt;li&gt;Agent Remote ID – некий идентификатор самого DHCP-релэя.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
В  качестве DHCP-релэев при этом обычно выступают коммутаторы доступа, к которым  непосредственно подключаются абоненты. В качестве&amp;nbsp;Agent Remote ID обычно  используется MAC коммутатора (по умолчанию в D-Link). Опция 82 поддерживается  широким диапазоном оборудования, в том числе типичными у российских провайдеров  D-Link DES-3526/3028/3200.&lt;br /&gt;
На коммутаторах &lt;strong&gt;D-Link&lt;/strong&gt; есть два  режима DHCP-релэя: dhcp_relay и dhcp_local_relay.&amp;nbsp;dhcp_relay работает глобально,  для всех портов и VLAN, при этом добавляется опция 82 и запрос передается уже не  бродкастом, а непосредственно на DHCP-сервер, т.е. это полноценный  DHCP-релэй.&amp;nbsp;dhcp_local_relay работает для конкретных VLAN, но запрос по сути не  релэится, а в него просто добавляется опция 82.&lt;br /&gt;
Базовые настройки dhcp_relay  на D-Link&#39;ах:&lt;br /&gt;
&lt;pre&gt;enable dhcp_relay
config dhcp_relay option_82 state enable
config dhcp_relay add ipif System 192.168.0.1&lt;/pre&gt;&lt;br /&gt;
192.168.0.1 –&amp;nbsp;IP-адрес  DHCP-сервера, доступного в управляющем VLAN.&lt;br /&gt;
Базовые настройки  dhcp_local_relay:&lt;br /&gt;
&lt;pre&gt;enable dhcp_local_relay
config dhcp_local_relay vlan 101 state enable&lt;/pre&gt;&lt;br /&gt;
И наконец приведу базовый  конфиг для ISC&#39;s DHCP с комментариями:&lt;br /&gt;
&lt;pre&gt;# пишем в лог
log(info, &quot;***&quot;);
if exists agent.circuit-id {
 # присутствует опция 82
 # пишем в лог выданный IP-адрес, Agent Remote ID, Agent Circuit ID
 log( info,concat(&quot;*Leased &quot;,binary-to-ascii(10,8,&quot;.&quot;,leased-address),&quot; (with opt82)&quot;) );
 log( info,concat(&quot;*Remote-ID: &quot;,binary-to-ascii(16,8,&quot;:&quot;,substring(option agent.remote-id,2,6))) );
 log( info,concat(&quot;*Port: &quot;,binary-to-ascii(10,8,&quot;&quot;,suffix(option agent.circuit-id,1))) );
} else {
 # опции 82 нет
 # пишем в лог выданный IP-адрес
 log( info,concat(&quot;*Leased &quot;,binary-to-ascii(10,8,&quot;.&quot;,leased-address),&quot; (without opt82)&quot;) );
}
log(info, &quot;***&quot;);


# в данном примере 192.0.2.101/24 - IP абонента, подключенного к коммутатору с MAC 0:c:29:ec:23:64, на порт 1
# MAC-адрес левый, взят с виртуалки VMWare
# 192.168.0.0/24 - подсеть управления коммутаторами, с адресов в этой подсети будут приходить DHCP-запросы
# эти две подсети следует объединить в одну shared-network для корректной работы

shared-network test {

subnet 192.0.2.0 netmask 255.255.255.0 {

 # определяем класс

 class &quot;v101&quot; {

  # определяем условия соответствия классу:
  # Agent Circuit ID = 1, Agent Remote ID = 0:c:29:ec:23:64
  # обратите внимание - ведущие нули в Agent Remote ID не пишутся (т.е. c вместо 0c и т.д.)

  match if (binary-to-ascii(10,8,&quot;&quot;,suffix(option agent.circuit-id,1)) = &quot;1&quot;) and
   (binary-to-ascii(16,8,&quot;:&quot;,substring(option agent.remote-id,2,6)) = &quot;0:c:29:ec:23:64&quot;);
 }

 # собственно выдаем IP классу

 pool {
  range 192.0.2.101;
  allow members of &quot;v101&quot;;
 }
}

subnet 192.168.0.0 netmask 255.255.255.0 {
}&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;Источник: http://habrahabr.ru/blogs/sysadm/108453/ &lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/3909546907462611492/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/ipoe-client-vlan-dhcp-option-82.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3909546907462611492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/3909546907462611492'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/ipoe-client-vlan-dhcp-option-82.html' title='IPoE, а также Client-VLAN и DHCP Option 82'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-2800516094758332182</id><published>2010-11-26T00:21:00.002+02:00</published><updated>2010-11-26T00:21:53.874+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="awk"/><category scheme="http://www.blogger.com/atom/ns#" term="htb"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="shaping"/><category scheme="http://www.blogger.com/atom/ns#" term="shell scripting"/><category scheme="http://www.blogger.com/atom/ns#" term="шейпинг"/><title type='text'>Шейпирование трафика в Linux. Часть 2</title><content type='html'>Вторая часть статьи об управлении трафиком в Linux. В статье приведены примеры  приоретизации трафика (QoS) и рассказано об использовании hash таблиц при  фильтрации трафика (fast hash tables), использование которых позволяет  существенно увеличить производительность.&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
В первой части  мы остановились на генерации конфигов средней сложность для htbinit. Сегодня мы  поговорим о приоретизации трафика и использовании хэш таблиц в фильтрах. Я  подразумеваю, что Вы прочитали первую часть статьи .&lt;br /&gt;
Предположим, что нам  надоели замечания пользователей о высоком пинге, надоели постоянные детские  вопли на форуме о том, что в counter-strike играть невозможно: «лаги страшные»,  или «у меня странички медленно грузятся, вконтакте открывался 10 минут», а  писать что все замеры нужно производить при отключенном «торренте» уже нету  сил.&lt;br /&gt;
Посему тто бы наша совесть была чиста, и мы могли не кривя душой  сказать: «проблема на стороне провайдера предоставляющего данный  сервис»&lt;s&gt;(обозначить направление движения в сторону южного полюса)&lt;/s&gt; —  озаботимся приоретизацией трафика.&lt;br /&gt;
&lt;br /&gt;
Приоритеты выставим в таком  порядке:&lt;br /&gt;
1. icmp&lt;br /&gt;
2. udp&lt;br /&gt;
3. tcp port 80&lt;br /&gt;
4. bulk  traffic&lt;br /&gt;
&lt;br /&gt;
Рассмотрим ограничение полосы на внутреннем интерфейсе, управлять  будем «скоростью скачивания».&lt;br /&gt;
Напомню. &lt;br /&gt;
В простом варианте изложения  алгоритм нарезки трафика выглядит так:&lt;br /&gt;
1. Создаем корневую дисциплину для  интерфейса и указываем класс куда будет попадать не классифицированный  трафик.&lt;br /&gt;
2. Создаем корневой класс и определяем ширину канала.&lt;br /&gt;
3. Создаем  дочерний класс для шейпирования абонента.&lt;br /&gt;
4. Создаем дисциплину шейпирования  для класса абонента.&lt;br /&gt;
5. Создаем фильтра позволяющие классифицировать трафик  абонента.&lt;br /&gt;
&lt;br /&gt;
Пример&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black;&quot;&gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
#&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;Очищаем&quot;&lt;/span&gt; интерфейс eht1 &lt;br /&gt;
/sbin/tc qdisc del dev eth1  root handle 1: htb &lt;span style=&quot;color: blue;&quot;&gt;default&lt;/span&gt; 15&lt;br /&gt;
#Создаем заново  дисциплину и указываем дефолтный класс&lt;br /&gt;
/sbin/tc qdisc add dev eth1 root  handle 1: htb &lt;span style=&quot;color: blue;&quot;&gt;default&lt;/span&gt; 15&lt;br /&gt;
#Создаем общий для  клиентов класс&lt;br /&gt;
/sbin/tc &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; add dev eth1 parent  1: classid 1:1 htb rate 10Mbit ceil 10Mbit&lt;br /&gt;
&lt;br /&gt;
#Создаем корневой класс  клиента&lt;br /&gt;
/sbin/tc &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; add dev eth1 parent 1:1  classid 1:10 htb rate 512kbit ceil 512kbit&lt;br /&gt;
&lt;br /&gt;
#Создаем 4 подкласса для  каждого из видов трафика&lt;br /&gt;
/sbin/tc &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; add dev  eth1 parent 1:10 classid 1:11 htb rate 1kbit ceil 512kbit prio 1&lt;br /&gt;
/sbin/tc  &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; add dev eth1 parent 1:10 classid 1:12 htb rate  1kbit ceil 512kbit prio 2&lt;br /&gt;
/sbin/tc &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; add dev  eth1 parent 1:10 classid 1:13 htb rate 1kbit ceil 512kbit prio 3&lt;br /&gt;
/sbin/tc  &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; add dev eth1 parent 1:10 classid 1:14 htb rate  1kbit ceil 512kbit prio 4&lt;br /&gt;
&lt;br /&gt;
#Создаем дисциплины шейпирования для конечных  классов&lt;br /&gt;
/sbin/tc qdisc add dev eth1 parent 1:11 handle 11: sfq perturb  10&lt;br /&gt;
/sbin/tc qdisc add dev eth1 parent 1:12 handle 12: sfq perturb  10&lt;br /&gt;
/sbin/tc qdisc add dev eth1 parent 1:13 handle 13: sfq perturb  10&lt;br /&gt;
/sbin/tc qdisc add dev eth1 parent 1:14 handle 14: sfq perturb  10&lt;br /&gt;
&lt;br /&gt;
Создаем 4 фильтра, для каждого из видов трафика&lt;br /&gt;
/sbin/tc filter add  dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.2.2/32 match ip  protocol 1 0xff&amp;nbsp;flowid 1:11&lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0 protocol  ip prio 2 u32 match ip dst 192.168.2.2/32 match ip protocol 17 0xff&amp;nbsp;flowid  1:12&lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip  dst 192.168.2.2/32 match ip protocol 6 0xff match ip sport 80 0xffff flowid  1:13&lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 4 u32 match ip  dst 192.168.2.2/32 flowid 1:14&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: grey;&quot;&gt;* This source code  was highlighted with &lt;a href=&quot;http://virtser.net/blog/post/source-code-highlighter.aspx&quot;&gt;&lt;span style=&quot;color: grey;&quot;&gt;Source Code  Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Думаю из примера  видно, что для реализации приоретизиции трафика мы создали для каждого отдельный  класс. Далее создаем фильтры, причем чем меньше prio, тем больше у трафика  приоритет. Вообще правила обрабатываются согласно тому как их добавляли, в  случае с приоритетами — первыми обслуживаются правила, имеющие наивысший  приоритет. &lt;br /&gt;
Так же вы можете каждому из классов обзначить RATE равный одной  четвертой от RATE корневого класса клиента, что бы уже наверняка.&lt;br /&gt;
Хочу  обратить внимание, на то что нам пришлось создать 4 фильтра, для оного ип, а  если ип 3-4 тысячи, то получим огромный линейный список правил — в итоге  производительность упадет ниже плинтуса.&lt;br /&gt;
Что бы этого избежать воспользуемся  «быстрыми» хэш таблицами.&lt;br /&gt;
О том, что такое хэш таблицы Вы можете посмотреть  на Википедии.&lt;br /&gt;
Создадим 4 таблицы по 256 ячеек, каждая из таблиц будет  оценивать один из октетов ип адреса.&lt;br /&gt;
И в конечном итоге, вместо поиска по  всему списку, как это было бы в классическом варианте, мы уменьшим количество  проверок и значительно снизим нагрузку.&lt;br /&gt;
Пример.&lt;br /&gt;
&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black;&quot;&gt;#Создаем корневой фильтр&lt;br /&gt;
/sbin/tc filter  add dev eth1 parent 1:0 protocol ip u32&lt;br /&gt;
#Создаем 4 хеш таблицы для каждого  октета&lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0 handle 10: protocol ip u32  divisor 256&lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0 handle 11: protocol ip  u32 divisor 256&lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0 handle 12: protocol  ip u32 divisor 256&lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0 handle 13:  protocol ip u32 divisor 256&lt;br /&gt;
#Создаем фильтр направлящий весь трафик в хеш  таблицу с ID 10&lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0 protocol ip u32 ht  801::&amp;nbsp;match ip dst 0.0.0.0/0 hashkey mask 0xff000000 at 16&amp;nbsp;link  10:&lt;br /&gt;
#Добавляем правило в 10 хеш таблицу, если первый октет равен 192, то  оправляем пакет в 11 хеш таблицу &lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0  protocol ip u32 ht 10:c0: match ip dst 192.0.0.0/8&amp;nbsp;&amp;nbsp;hashkey mask 0xff0000 at 16  link 11:&lt;br /&gt;
#Добавляем правило в 11 хеш таблицу, если второй октет равен 168, то  оправляем пакет в 12 хеш таблицу &lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0  protocol ip u32 ht 11:a8: match ip dst 192.168.0.0/16 hashkey mask 0xff00 at 16  link 12:&lt;br /&gt;
#Добавляем правило в 12 хеш таблицу, если третий октет равен 2, то  оправляем пакет в 13 хеш таблицу &lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0  protocol ip u32 ht 12:2:&amp;nbsp;match ip dst 192.168.2.0/24 hashkey mask 0xff at 16  link 13:&lt;br /&gt;
&lt;br /&gt;
#Добавляем правила в 13 хеш таблицу, оцениваем 4 октет и  направляем в необходимый класс, в зависимости от вида трафика&lt;br /&gt;
/sbin/tc filter  add dev eth1 parent 1:0 protocol ip prio 1 u32&amp;nbsp;ht 13:2: match ip dst  192.168.2.2/32 match ip protocol 1 0xff&amp;nbsp;flowid 1:11&lt;br /&gt;
/sbin/tc filter add dev  eth1 parent 1:0 protocol ip prio 2 u32&amp;nbsp;ht 13:2: match ip dst 192.168.2.2/32  match ip protocol 17 0xff&amp;nbsp;flowid 1:12&lt;br /&gt;
/sbin/tc filter add dev eth1 parent 1:0  protocol ip prio 3 u32&amp;nbsp;ht 13:2: match ip dst 192.168.2.2/32 match ip protocol 6  0xff match ip sport 80 0xffff flowid 1:13&lt;br /&gt;
/sbin/tc filter add dev eth1 parent  1:0 protocol ip prio 4 u32&amp;nbsp;ht 13:2: match ip dst 192.168.2.2/32 flowid  1:14&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: grey;&quot;&gt;* This source code was highlighted with &lt;a href=&quot;http://virtser.net/blog/post/source-code-highlighter.aspx&quot;&gt;&lt;span style=&quot;color: grey;&quot;&gt;Source Code  Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;
Ниже приведен листинг  скрипка генерирующего правила для tc включающие в себя приоретизацию и хеш  фильтры.&lt;br /&gt;
Скрип полностью рабочий, думаю не составит большого труда  модифицировать его под себя.&lt;br /&gt;
При переходе с линейных фильтров на хеш таблицы  нагрузка упала почти в 4 раза.&lt;br /&gt;
&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black;&quot;&gt;#!/bin/bash&lt;br /&gt;
mysql=&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;mysql -ppass -u user -h host&quot;&lt;/span&gt;&lt;br /&gt;
#создаем корневуй  дсциплину, класс, корневой фильтр и тиблицы хешей для внешних  интерфейсов&lt;br /&gt;
echo &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;select ext_iface from  system.shaper_view group by ext_iface;&quot;&lt;/span&gt;|$mysql|sed 1d|&lt;br /&gt;
awk &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;{&lt;br /&gt;
print &quot;/sbin/tc qdisc del dev &quot;$1&quot; root handle 1: htb  default 15&quot;;&lt;br /&gt;
print &quot;/sbin/tc qdisc add dev &quot;$1&quot; root handle 1: htb default  15&quot;;&lt;br /&gt;
print &quot;/sbin/tc class add dev &quot;$1&quot; parent 1: classid 1:1 htb rate 10Mbit  ceil 10Mbit&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter add dev &quot;$1&quot; parent 1:1 prio 10 protocol  ip u32&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter add dev &quot;$1&quot; parent 1:0 protocol ip  u32&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter add dev &quot;$1&quot; parent 1:0 handle 10: protocol ip  u32 divisor 256&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter add dev &quot;$1&quot; parent 1:0 handle 11:  protocol ip u32 divisor 256&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter add dev &quot;$1&quot; parent 1:0  handle 12: protocol ip u32 divisor 256&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter add dev &quot;$1&quot;  parent 1:0 handle 13: protocol ip u32 divisor 256&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter  add dev &quot;$1&quot; parent 1:0 protocol ip u32 ht 801::&amp;nbsp;match ip dst 0.0.0.0/0 hashkey  mask 0xff000000 at 16&amp;nbsp;link 10:&quot;;&lt;br /&gt;
}&#39;&lt;/span&gt;&lt;br /&gt;
#создаем корневуй дсциплину,  класс, корневой фильтр и тиблицы хешей для внутренних интерфейсов&lt;br /&gt;
echo &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;select int_iface from system.shaper_view group by  int_iface;&quot;&lt;/span&gt;|$mysql|sed 1d|&lt;br /&gt;
awk &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;{&lt;br /&gt;
print  &quot;/sbin/tc qdisc del dev &quot;$1&quot; root handle 1: htb default 15&quot;;&lt;br /&gt;
print &quot;/sbin/tc  qdisc add dev &quot;$1&quot; root handle 1: htb default 15&quot;;&lt;br /&gt;
print &quot;/sbin/tc class add  dev &quot;$1&quot; parent 1: classid 1:1 htb rate 10Mbit ceil 10Mbit&quot;;&lt;br /&gt;
print &quot;/sbin/tc  filter add dev &quot;$1&quot; parent 1:1 prio 10 protocol ip u32&quot;;&lt;br /&gt;
print &quot;/sbin/tc  filter add dev &quot;$1&quot; parent 1:0 protocol ip u32&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter add  dev &quot;$1&quot; parent 1:0 handle 10: protocol ip u32 divisor 256&quot;;&lt;br /&gt;
print &quot;/sbin/tc  filter add dev &quot;$1&quot; parent 1:0 handle 11: protocol ip u32 divisor 256&quot;;&lt;br /&gt;
print  &quot;/sbin/tc filter add dev &quot;$1&quot; parent 1:0 handle 12: protocol ip u32 divisor  256&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter add dev &quot;$1&quot; parent 1:0 handle 13: protocol ip  u32 divisor 256&quot;;&lt;br /&gt;
print &quot;/sbin/tc filter add dev &quot;$1&quot; parent 1:0 protocol ip  u32 ht 801::&amp;nbsp;match ip src 0.0.0.0/0 hashkey mask 0xff000000 at 12 link  10:&quot;;&lt;br /&gt;
}&#39;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
#создаем классы, фильтры,дисциплины и при  необходимости заполняем таблицы хешей&lt;br /&gt;
echo &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;select  user_id,ip,speed,int_iface,ext_iface from system.shaper_view order by  user_id;&quot;&lt;/span&gt;|$mysql|sed 1d|&lt;br /&gt;
awk &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;&lt;br /&gt;
BEGIN{&lt;br /&gt;
buf=0;&lt;br /&gt;
class_id=255;&lt;br /&gt;
tc_class=&quot;/sbin/tc class  add dev&quot;;&lt;br /&gt;
tc_qdisc=&quot;/sbin/tc qdisc add dev&quot;;&lt;br /&gt;
tc_filter=&quot;/sbin/tc filter  add dev&quot;;&lt;br /&gt;
}&lt;br /&gt;
{&lt;br /&gt;
if(buf!=$1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s\n&quot;, &quot;#  &quot;,class_id,&quot; &quot;class_id&quot; &quot;$2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;client_speed=$3*128;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf  &quot;%s%x%s\n&quot;,tc_class&quot; &quot;$4&quot; parent 1:1 classid 1:&quot;,++class_id,&quot; htb rate  &quot;client_speed&quot;bps ceil &quot;client_speed&quot;bps&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s\n&quot;,tc_class&quot; &quot;$5&quot;  parent 1:1 classid 1:&quot;,class_id,&quot; htb rate &quot;client_speed&quot;bps ceil  &quot;client_speed&quot;bps&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;client_class=class_id;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf  &quot;%s%x%s%x%s\n&quot;,tc_class&quot; &quot;$4&quot; parent 1:&quot;,client_class,&quot; classid 1:&quot;,++class_id,&quot;  htb rate 1024bps ceil &quot;client_speed&quot;bps prio 1&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf  &quot;%s%x%s%x%s\n&quot;,tc_class&quot; &quot;$5&quot; parent 1:&quot;,client_class,&quot; classid 1:&quot;,class_id,&quot;  htb rate 1024bps ceil &quot;client_speed&quot;bps prio 1&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf  &quot;%s%x%s%x%s\n&quot;,tc_qdisc&quot; &quot;$4&quot; parent 1:&quot;,class_id,&quot; handle &quot;,class_id,&quot;: sfq  perturb 10&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_qdisc&quot; &quot;$5&quot; parent 1:&quot;,class_id,&quot;  handle &quot;,class_id,&quot;: sfq perturb 10&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_class&quot; &quot;$4&quot;  parent 1:&quot;,client_class,&quot; classid 1:&quot;,++class_id,&quot; htb rate 1024bps ceil  &quot;client_speed&quot;bps prio 2&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_class&quot; &quot;$5&quot; parent  1:&quot;,client_class,&quot; classid 1:&quot;,class_id,&quot; htb rate 1024bps ceil  &quot;client_speed&quot;bps prio 2&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_qdisc&quot; &quot;$4&quot; parent  1:&quot;,class_id,&quot; handle &quot;,class_id,&quot;: sfq perturb 10&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf  &quot;%s%x%s%x%s\n&quot;,tc_qdisc&quot; &quot;$5&quot; parent 1:&quot;,class_id,&quot; handle &quot;,class_id,&quot;: sfq  perturb 10&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_class&quot; &quot;$4&quot; parent 1:&quot;,client_class,&quot;  classid 1:&quot;,++class_id,&quot; htb rate 1024bps ceil &quot;client_speed&quot;bps prio  3&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_class&quot; &quot;$5&quot; parent 1:&quot;,client_class,&quot; classid  1:&quot;,class_id,&quot; htb rate 1024bps ceil &quot;client_speed&quot;bps prio 3&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf  &quot;%s%x%s%x%s\n&quot;,tc_qdisc&quot; &quot;$4&quot; parent 1:&quot;,class_id,&quot; handle &quot;,class_id,&quot;: sfq  perturb 10&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_qdisc&quot; &quot;$5&quot; parent 1:&quot;,class_id,&quot;  handle &quot;,class_id,&quot;: sfq perturb 10&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_class&quot; &quot;$4&quot;  parent 1:&quot;,client_class,&quot; classid 1:&quot;,++class_id,&quot; htb rate 1024bps ceil  &quot;client_speed&quot;bps prio 4&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_class&quot; &quot;$5&quot; parent  1:&quot;,client_class,&quot; classid 1:&quot;,class_id,&quot; htb rate 1024bps ceil  &quot;client_speed&quot;bps prio 4&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf &quot;%s%x%s%x%s\n&quot;,tc_qdisc&quot; &quot;$4&quot; parent  1:&quot;,class_id,&quot; handle &quot;,class_id,&quot;: sfq perturb 10&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printf  &quot;%s%x%s%x%s\n&quot;,tc_qdisc&quot; &quot;$5&quot; parent 1:&quot;,class_id,&quot; handle &quot;,class_id,&quot;: sfq  perturb 10&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
split($2,ip,&quot;.&quot;);&lt;br /&gt;
if  (ht_1[ip[1]]!=1)&lt;br /&gt;
{&lt;br /&gt;
printf&amp;nbsp;&quot;%s%x%s\n&quot;,tc_filter&quot; &quot;$4&quot; parent 1:0 protocol  ip u32 ht 10:&quot;,ip[1],&quot;: match ip dst &quot;ip[1]&quot;.0.0.0/8 hashkey mask 0xff0000 at 16  link 11:&quot;;&lt;br /&gt;
printf&amp;nbsp;&quot;%s%x%s\n&quot;,tc_filter&quot; &quot;$5&quot; parent 1:0 protocol ip u32 ht  10:&quot;,ip[1],&quot;: match ip src &quot;ip[1]&quot;.0.0.0/8 hashkey mask 0xff0000 at 12 link  11:&quot;;&lt;br /&gt;
ht_1[ip[1]]=1;&lt;br /&gt;
}&lt;br /&gt;
if  (ht_2[ip[2]]!=1)&lt;br /&gt;
{&lt;br /&gt;
printf&amp;nbsp;&quot;%s%x%s\n&quot;,tc_filter&quot; &quot;$4&quot; parent 1:0 protocol  ip u32 ht 11:&quot;,ip[2],&quot;: match ip dst &quot;ip[1]&quot;.&quot;ip[2]&quot;.0.0/16 hashkey mask 0xff00  at 16 link 12:&quot;;&lt;br /&gt;
printf&amp;nbsp;&quot;%s%x%s\n&quot;,tc_filter&quot; &quot;$5&quot; parent 1:0 protocol ip u32  ht 11:&quot;,ip[2],&quot;: match ip src &quot;ip[1]&quot;.&quot;ip[2]&quot;.0.0/16 hashkey mask 0xff00 at 12  link 12:&quot;;&lt;br /&gt;
ht_2[ip[2]]=1;&lt;br /&gt;
}&lt;br /&gt;
if  (ht_3[ip[3]]!=1)&lt;br /&gt;
{&lt;br /&gt;
printf&amp;nbsp;&quot;%s%x%s\n&quot;,tc_filter&quot; &quot;$4&quot; parent 1:0 protocol  ip u32 ht 12:&quot;,ip[3],&quot;: match ip dst &quot;ip[1]&quot;.&quot;ip[2]&quot;.&quot;ip[3]&quot;.0/24 hashkey mask  0xff at 16 link 13:&quot;;&lt;br /&gt;
printf&amp;nbsp;&quot;%s%x%s\n&quot;,tc_filter&quot; &quot;$5&quot; parent 1:0 protocol  ip u32 ht 12:&quot;,ip[3],&quot;: match ip src &quot;ip[1]&quot;.&quot;ip[2]&quot;.&quot;ip[3]&quot;.0/24 hashkey mask  0xff at 12 link 13:&quot;;&lt;br /&gt;
ht_3[ip[3]]=1;&lt;br /&gt;
}&lt;br /&gt;
printf &quot;%s%x%s%x\n&quot;,tc_filter&quot;  &quot;$4&quot; parent 1:0 protocol ip prio 1 u32&amp;nbsp;ht 13:&quot;,ip[4],&quot;: match ip dst &quot;$2&quot;/32  hashkey mask 0x0 at 16 match ip protocol 1 0xff&amp;nbsp;flowid  1:&quot;,client_class&lt;br /&gt;
printf &quot;%s%x%s%x\n&quot;,tc_filter&quot; &quot;$5&quot; parent 1:0 protocol ip  prio 1 u32&amp;nbsp;ht 13:&quot;,ip[4],&quot;: match ip src &quot;$2&quot;/32 hashkey mask 0x0 at 12 match ip  protocol 1 0xff&amp;nbsp;flowid 1:&quot;,client_class&lt;br /&gt;
printf &quot;%s%x%s%x\n&quot;,tc_filter&quot; &quot;$4&quot;  parent 1:0 protocol ip prio 2 u32&amp;nbsp;ht 13:&quot;,ip[4],&quot;: match ip dst &quot;$2&quot;/32 hashkey  mask 0x0 at 16 match ip protocol 17 0xff&amp;nbsp;flowid 1:&quot;,++client_class&lt;br /&gt;
printf  &quot;%s%x%s%x\n&quot;,tc_filter&quot; &quot;$5&quot; parent 1:0 protocol ip prio 2 u32&amp;nbsp;ht 13:&quot;,ip[4],&quot;:  match ip src &quot;$2&quot;/32 hashkey mask 0x0 at 12 match ip protocol 17 0xff&amp;nbsp;flowid  1:&quot;,client_class&lt;br /&gt;
printf &quot;%s%x%s%x\n&quot;,tc_filter&quot; &quot;$4&quot; parent 1:0 protocol ip  prio 3 u32&amp;nbsp;ht 13:&quot;,ip[4],&quot;: match ip dst &quot;$2&quot;/32 hashkey mask 0x0 at 16 match ip  protocol 6 0xff match ip sport 80 0xffff flowid 1:&quot;,++client_class&lt;br /&gt;
printf  &quot;%s%x%s%x\n&quot;,tc_filter&quot; &quot;$5&quot; parent 1:0 protocol ip prio 3 u32&amp;nbsp;ht 13:&quot;,ip[4],&quot;:  match ip src &quot;$2&quot;/32 hashkey mask 0x0 at 12 match ip protocol 6 0xff match ip  dport 80 0xffff flowid 1:&quot;,client_class&lt;br /&gt;
printf &quot;%s%x%s%x\n&quot;,tc_filter&quot; &quot;$4&quot;  parent 1:0 protocol ip prio 4 u32&amp;nbsp;ht 13:&quot;,ip[4],&quot;: match ip dst &quot;$2&quot;/32 hashkey  mask 0x0 at 16 flowid 1:&quot;,++client_class&lt;br /&gt;
printf &quot;%s%x%s%x\n&quot;,tc_filter&quot; &quot;$5&quot;  parent 1:0 protocol ip prio 4 u32&amp;nbsp;ht 13:&quot;,ip[4],&quot;: match ip src &quot;$2&quot;/32 hashkey  mask 0x0 at 12 flowid 1:&quot;,client_class&lt;br /&gt;
buf=$1;&lt;br /&gt;
}&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey;&quot;&gt;* This source code was highlighted with &lt;a href=&quot;http://virtser.net/blog/post/source-code-highlighter.aspx&quot;&gt;&lt;span style=&quot;color: grey;&quot;&gt;Source Code  Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;
Надеюсь данный опус помог  Вам вникнуть в основы управления трафиком в Linux.&lt;br /&gt;
&lt;br /&gt;
Источник: http://habrahabr.ru/blogs/sysadm/89002/</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/2800516094758332182/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/linux-2.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/2800516094758332182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/2800516094758332182'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/linux-2.html' title='Шейпирование трафика в Linux. Часть 2'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-6956749583821378874</id><published>2010-11-26T00:20:00.000+02:00</published><updated>2010-11-26T00:20:47.357+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="htb"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="шейпинг"/><title type='text'>Шейпирование трафика в Linux</title><content type='html'>Под катом описано как шейпировать трафик в Linux и что для этого нужно знать.&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Осуществлять шейпирование трафика будем посредством  утилиты tc из пакета iproute2.&lt;br /&gt;
Знания без которых нельзя осознать всю полноту  управления трафиком в Linux:&lt;br /&gt;
&lt;b&gt;Шейпировать можно только исходящий из  интерфейса трафик.&lt;/b&gt; (в связи с чем возникает проблема с nat, о ней мы  поговорим позже). Предположим, что имеется роутер между «интернетом» и  абонентом. В роутер воткнуто две сетевые карты: eth0 смотрит на абонента, а eth1  в мир. Для ограничения «скорости скачивания» правила шейпирования описываем на  eth0, для ограничения «отдачи» — на eth1.&lt;br /&gt;
&lt;b&gt;Необходимо понимать разницу  между rate и ceil.&lt;/b&gt; Rate — гарантированная полоса пропуская, Ceil —  максимальная полоса которую может получить данный класс, rate не может быть  больше ceil&lt;br /&gt;
&lt;b&gt;Параметры rate и ceil для корневого класса должны  совпадать.&lt;/b&gt; Таким образом мы определяем общую полосу пропускания.  &lt;br /&gt;
&lt;b&gt;Сумма Rate&#39;ов классов-потомков, не должна превышать Rate родительского  класса.&lt;/b&gt; Конечно можно не выполнять этот пункт, но тогда могут возникнуть  проблемы с предоставлением «гарантированной полосы  пропускания».&lt;br /&gt;
&lt;b&gt;Идентификаторы классов указаны в шестнадцатеричной системе,  и должны находиться в пределах от 2 до 2^16&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Для промежуточных классов  необязательно создавать дисциплины и фильтры.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Идентификаторы классов в  пределах интерфейса должны быть уникальны.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
В простом варианте  изложения алгоритм нарезки трафика выглядит так: &lt;br /&gt;
1. Создаем корневую  дисциплину для интерфейса и указываем класс куда будет попадать не  классифицированный трафик.&lt;br /&gt;
2. Создаем корневой класс и определяем ширину  канала.&lt;br /&gt;
3. Создаем дочерний класс для шейпирования абонента.&lt;br /&gt;
4. Создаем  дисциплину шейпирования для класса абонента.&lt;br /&gt;
5. Создаем фильтра позволяющие  классифицировать трафик абонента.&lt;br /&gt;
&lt;br /&gt;
В принципе все просто, но в реальной  жизни придется потратить много нервов, что бы добиться желаемого  результата.&lt;br /&gt;
Один из способов добиться результата не тратя много нервов —  использовать скрипт htbinit (взять его можно с &lt;a href=&quot;http://sourceforge.net/projects/htbinit/&quot;&gt;sourceforge.net/projects/htbinit/&lt;/a&gt;).  Синтаксис конфигов простой, создание классов тоже просто.&lt;br /&gt;
Для построения  конфигураций средней сложность вполне достаточно.&lt;br /&gt;
Пример.&lt;br /&gt;
Имеется  локальная сеть, средних размеров. Вам необходимо ограничивать скорость абонентов  согласно прейскуранту, трансляция адресов (NAT) происходит на другом  сервере.&lt;br /&gt;
&lt;br /&gt;
Получение htbinit&lt;br /&gt;
&lt;code&gt;debian:~# wget &lt;a href=&quot;http://downloads.sourceforge.net/project/htbinit/HTB.init/0.8.5/htb.init-v0.8.5?use_mirror=surfnet&quot;&gt;downloads.sourceforge.net/project/htbinit/HTB.init/0.8.5/htb.init-v0.8.5?use_mirror=surfnet&lt;/a&gt;&lt;br /&gt;
debian:~#  mv htb.init-v0.8.5 /usr/local/sbin/&lt;br /&gt;
debian:~# cd  /usr/local/sbin/&lt;br /&gt;
debian:/usr/local/sbin# mv htb.init-v0.8.5  htb.init&lt;br /&gt;
debian:/usr/local/sbin# chmod +x htb.init&lt;/code&gt;&lt;br /&gt;
По умолчанию  htbinit хранит конфиги в папке /etc/sysconfig/htb.&lt;br /&gt;
&lt;code&gt;debian:~# mkdir -p  /etc/sysconfig/htb&lt;/code&gt;&lt;br /&gt;
Создаем коневую дисциплину для интерфейса eth0  (интерфейс смотрит в локальную сеть, «на абонента»)&lt;br /&gt;
&lt;code&gt;debian:~# touch  /etc/sysconfig/htb/eth0&lt;/code&gt;&lt;br /&gt;
Указываем в какой класс будет попадать  трафик не попавший ни в один из фильтров&lt;br /&gt;
&lt;code&gt;debian:~# mcedit  /etc/sysconfig/htb/eth0&lt;br /&gt;
DEFAULT=42&lt;/code&gt;&lt;br /&gt;
Создаем корневой  класс&lt;br /&gt;
&lt;code&gt;debian:~# touch /etc/sysconfig/htb/eth0-2.root&lt;br /&gt;
debian:~#  mcedit /etc/sysconfig/htb/eth0-2.root&lt;br /&gt;
RATE=100Mbit&lt;/code&gt;&lt;br /&gt;
Можно не  указывать CEIL, тогда он автоматом будет равен RATE.&lt;br /&gt;
&lt;br /&gt;
Создаем класс для не  классифицированного трафика&lt;br /&gt;
&lt;code&gt;debian:~# touch  /etc/sysconfig/htb/eth0-2:42.root&lt;br /&gt;
debian:~# mcedit  /etc/sysconfig/htb/eth0-2:42.root&lt;br /&gt;
RATE=4Kbit&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Создаем общий  клиентский класс. Пускай его ID будет равно «D» и всего для абонентов мы выделим  10 Мбит.&lt;br /&gt;
&lt;code&gt;debian:~# touch  /etc/sysconfig/htb/eth0-2:D.sumamry_cilents_class&lt;br /&gt;
debian:~# mcedit  /etc/sysconfig/htb/eth0-2:D.sumamry_cilents_class&lt;br /&gt;
RATE=10Mbit&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Теперь  можно заняться абонентами.&lt;br /&gt;
Что бы ограничить скорость скачивания в 512 КБит  абоненту Василию нужно:&lt;br /&gt;
Создать класс для абонента Василия. Пускай ID  клиентов будут начинаться с 255. Весьма полезно, если потребуется создать какой  либо «системный» класс. &lt;br /&gt;
&lt;code&gt;debian:~# touch  /etc/sysconfig/htb/eth0-2:D:100.client_login&lt;/code&gt;&lt;br /&gt;
Интерфейс, идентификатор  класса и родительские классы описываются в названии конфига.&lt;br /&gt;
Запись  eth0-2:D:100.client_login означает что&lt;br /&gt;
&lt;b&gt;eth0-&lt;/b&gt; Данный класс принадлежит  к интерфейсу eth0 &lt;br /&gt;
&lt;b&gt;2&lt;/b&gt; Корневой класс&lt;br /&gt;
&lt;b&gt;D&lt;/b&gt; Родительский класс (В  нашем случае общий клиентский класс)&lt;br /&gt;
&lt;b&gt;100&lt;/b&gt; Идентификатор класса  клента&lt;br /&gt;
&lt;b&gt;client_login&lt;/b&gt; Мнемоническая составляющая названия файла, несет  смысловую нагрузку, в генерации классов не используется&lt;br /&gt;
&lt;br /&gt;
Название файла  генерируется таким образом:&lt;br /&gt;
1. Интерфейс к которому принадлежит класс.&lt;br /&gt;
2.  Разделитель &quot;-&quot;(минус)&lt;br /&gt;
3. ID корневого класса&lt;br /&gt;
4. Разделитель  &quot;:&quot;(двоеточие)&lt;br /&gt;
5. ID родительского класса&lt;br /&gt;
6. Разделитель  &quot;:&quot;(двоеточие)&lt;br /&gt;
7. ID клиентского класса&lt;br /&gt;
8. Разделитель &quot;.&quot;(точка)&lt;br /&gt;
9.  Мнемоническая составляющая названия файла&lt;br /&gt;
Пункты 5 и 6 могут отсутствовать, в  зависимость от выбранной Вами стратегии шейпирования.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;debian:~#  mcedit  /etc/sysconfig/htb/eth0-2:D:100.client_login&lt;br /&gt;
RATE=512Kbit&lt;br /&gt;
LEAF=sfq&lt;br /&gt;
RULE=0.0.0.0/0,client_ip/32&lt;/code&gt;&lt;br /&gt;
По  минимуму в конфиге должно быть 3 строки.&lt;br /&gt;
RATE — полоса предоставляемая  абоненту.&lt;br /&gt;
LEAF — указатель на то, что класс конечный и для него необходимо  создать создать дисциплину, в нашем случае sfq («псевдочестное» распределение  полосы)&lt;br /&gt;
RULE — определяем что попадает в класс.Фильтровать можно по ип  адресам, подсетям ип адресов, портам. Количество записей RULE может быть более  одной.&lt;br /&gt;
&lt;br /&gt;
Если нам нужно шейпировать трафик и натить на том же руотере, то  вместо RULE нужно использовать MARK. Единственное придется маркировать  пакеты.&lt;br /&gt;
Пример скрипта генерирующего конфиги для htbinit в конфигурации с  NATом.&lt;br /&gt;
&lt;code&gt;#!/bin/bash&lt;/code&gt;&lt;br /&gt;
#определяем переменные&lt;br /&gt;
&lt;code&gt;declare -a  rules&lt;br /&gt;
inif=&quot;eth0&quot;&lt;br /&gt;
outif=&quot;eth1&quot;&lt;br /&gt;
vlan=&quot;10&quot;&lt;br /&gt;
workdir=&quot;/home/netup&quot;&lt;br /&gt;
vardir=&quot;${workdir}/var&quot;&lt;br /&gt;
htb_dir=&quot;/etc/sysconfig/htb&quot;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;mysql=&quot;/usr/bin/mysql  -h host -u user -ppassword -D  base&quot;&lt;br /&gt;
ipt=&quot;/usr/local/sbin/iptables&quot;&lt;br /&gt;
IPT_UNLIM=&quot;UNLIM_&quot;${vlan}&lt;br /&gt;
utm_rules=&quot;${vardir}/htb_rules_htb&quot;&lt;br /&gt;
htb_rules=&quot;${vardir}/htb_rules_utm&quot;&lt;/code&gt;&lt;br /&gt;
#подготавливаем  конфиги при первом запуске&lt;br /&gt;
&lt;code&gt;[ -e ${htb_rules} ] || touch  ${htb_rules}&lt;/code&gt;&lt;br /&gt;
#полная регенерация конфигов&lt;br /&gt;
&lt;code&gt;if [ &quot;${1}&quot; =  &quot;zopa&quot; ];then&lt;br /&gt;
echo &quot;&quot;&amp;gt; ${htb_rules};&lt;br /&gt;
fi&lt;/code&gt;&lt;br /&gt;
#получаем данные (id  в шестнадцатиричной системе)&lt;br /&gt;
&lt;code&gt;echo &quot;select id,ip,mask,speed from  view_shaper order by id;&quot;|$mysql|sed &#39;1d&#39; &amp;gt; ${utm_rules};&lt;/code&gt;&lt;br /&gt;
#если  достучались к базе и есть разница с текущим конфигом&lt;br /&gt;
&lt;code&gt;exp=&quot;${utm_rules}  ${htb_rules}&quot;&lt;br /&gt;
[ -s ${utm_rules} ] &amp;amp;&amp;amp; if [ -n &quot;`diff ${exp}`&quot;  ]&lt;br /&gt;
then&lt;/code&gt;&lt;br /&gt;
#удаляем конфиги надобность в которых отпала&lt;br /&gt;
&lt;code&gt;for i  in `diff ${exp}|awk &#39;{if (NF==5)print $2}&#39;|sort  -n|uniq`&lt;br /&gt;
do&lt;br /&gt;
inshaper=${htb_dir}/${inif}-2:${i}.rule_${i};&lt;br /&gt;
[ -e  ${inshaper} ] &amp;amp;&amp;amp; rm  ${inshaper};&lt;br /&gt;
outshaper=${htb_dir}/${outif}-2:${i}.rule_${i};&lt;br /&gt;
[ -e  ${outshaper} ] &amp;amp;&amp;amp; rm ${outshaper};&lt;br /&gt;
done;&lt;/code&gt;&lt;br /&gt;
#формируем новые  конфиги&lt;br /&gt;
&lt;code&gt;rules=(`diff ${exp}|grep &quot;&amp;lt;&quot;|awk &#39;{if (NF==5)print  $2,$3,$4,$5}&#39;`)&lt;br /&gt;
for i in `seq 1 4  ${#rules[@]}`;&lt;br /&gt;
do&lt;br /&gt;
id=${rules[$i-1]};&lt;br /&gt;
ip=${rules[$i]};&lt;br /&gt;
mask=${rules[$i+1]};&lt;br /&gt;
rate=${rules[$i+2]};&lt;/code&gt;&lt;br /&gt;
#Формируем  названия  конфигов&lt;br /&gt;
&lt;code&gt;inshaper=${htb_dir}&quot;/&quot;${inif}-2:${id}.rule_${id};&lt;br /&gt;
outshaper=${htb_dir}/${outif}-2:${id}.rule_${id};&lt;/code&gt;&lt;br /&gt;
#Рассчитываем  марки для пакетов &lt;br /&gt;
&lt;code&gt;inmark=&quot;0x&quot;`echo &quot;obase=16;  $((0x${id}*2))&quot;|bc`&lt;br /&gt;
outmark=&quot;0x&quot;`echo &quot;obase=16;  $((0x${id}*2+1))&quot;|bc`&lt;/code&gt;&lt;br /&gt;
#Удаляем «старые» правила  маркировки&lt;br /&gt;
&lt;code&gt;${ipt} -t mangle -S ${IPT_UNLIM}|grep -w ${ip}|awk -v  ipt=${ipt} &#39;{$1=&quot;-D&quot;;system(ipt&quot; -t mangle &quot;$0)}&#39;;&lt;/code&gt;&lt;br /&gt;
#Создаем конфиг и  правила на внутреннем интерфейсе&lt;br /&gt;
&lt;code&gt;if [ -e ${inshaper} ]; then&lt;br /&gt;
#echo  &quot;RULE=&quot;0.0.0.0/0,&quot;${ip}&quot;/&quot;${mask}&quot;&amp;gt;&amp;gt; ${inshaper}&lt;br /&gt;
${ipt} -t mangle -A  ${IPT_UNLIM} -s ${ip} -j MARK --set-mark ${inmark}&lt;br /&gt;
else&lt;br /&gt;
echo  &quot;RATE=4096bit&quot; &amp;gt; ${inshaper}&lt;br /&gt;
echo &quot;CEIL=&quot;$((${rate}*1024))&quot;bit&quot;  &amp;gt;&amp;gt;${inshaper}&lt;br /&gt;
echo &quot;LEAF=sfq&quot; &amp;gt;&amp;gt; ${inshaper}&lt;br /&gt;
#echo  &quot;RULE=0.0.0.0/0,&quot;${ip}&quot;/&quot;${mask}&amp;gt;&amp;gt; ${inshaper};&lt;br /&gt;
echo  &quot;MARK=&quot;${inmark}&amp;gt;&amp;gt; ${inshaper};&lt;br /&gt;
${ipt} -t mangle -A ${IPT_UNLIM} -d  ${ip}/${mask} -j MARK --set-mark ${inmark}&lt;br /&gt;
fi&lt;/code&gt;&lt;br /&gt;
#Создаем конфиг и  правила на внутреннем интерфейсе&lt;br /&gt;
&lt;code&gt;if [ -e $outshaper ]; then&lt;br /&gt;
#echo  &quot;RULE=&quot;${ip}&quot;/&quot;${mask}&quot;,0.0.0.0/0&quot; &amp;gt;&amp;gt; ${outshaper}&lt;br /&gt;
${ipt} -t mangle -A  ${IPT_UNLIM} -s ${ip}/${mask} -j MARK --set-mark ${outmark}&lt;br /&gt;
else&lt;br /&gt;
echo  &quot;RATE=4096bit&quot; &amp;gt; ${outshaper}&lt;br /&gt;
echo &quot;CEIL=&quot;$((${rate}*1024))&quot;bit&quot; &amp;gt;&amp;gt;  ${outshaper}&lt;br /&gt;
echo &quot;LEAF=sfq&quot; &amp;gt;&amp;gt; ${outshaper}&lt;br /&gt;
#echo  &quot;RULE=&quot;${ip}&quot;/&quot;${mask}&quot;,0.0.0.0/0&quot; &amp;gt;&amp;gt; ${outshaper}&lt;br /&gt;
echo  &quot;MARK=&quot;${outmark}&amp;gt;&amp;gt; $outshaper;&lt;br /&gt;
${ipt} -t mangle -A ${IPT_UNLIM} -s  ${ip}/${mask} -j MARK --set-mark ${outmark}&lt;br /&gt;
fi&lt;br /&gt;
echo $ip&lt;br /&gt;
done;&lt;br /&gt;
cp  ${exp}&lt;br /&gt;
[ -e /var/cache/htb.init ] &amp;amp;&amp;amp; rm  /var/cache/htb.init&lt;br /&gt;
/usr/local/sbin/htb.init restart&lt;br /&gt;
fi&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Для  конфигураций до 1000-1500 фильтров такой вариант подойдет. Для более крупных уже  нужно использовать быстрые хэш фильтры, о ни и о приоретизации трафика я  расскажу в следующей статье.&lt;br /&gt;
&lt;br /&gt;
Источник: http://habrahabr.ru/blogs/sysadm/88624/</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/6956749583821378874/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/linux.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/6956749583821378874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/6956749583821378874'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/linux.html' title='Шейпирование трафика в Linux'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-1346795191347277317</id><published>2010-11-26T00:19:00.000+02:00</published><updated>2010-11-26T00:19:28.832+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firewall"/><category scheme="http://www.blogger.com/atom/ns#" term="ipset"/><category scheme="http://www.blogger.com/atom/ns#" term="iptables"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="netfilter"/><title type='text'>Повышение производительности netfilter, использование ipset</title><content type='html'>&lt;h2 class=&quot;entry-title single-entry-title&quot;&gt;&lt;span class=&quot;topic&quot; title=&quot;http://habrahabr.ru/blogs/sysadm/108691/&quot;&gt;&lt;/span&gt; &lt;/h2&gt;&lt;div class=&quot;content&quot;&gt;&lt;b&gt;iptables&lt;/b&gt; — интерфейс к файрволу Linux  (&lt;i&gt;netfilter&lt;/i&gt;). При большом количестве правил iptables нагрузка может быть  достаточно высокой и создавать проблемы. В этой заметке я постараюсь описать,  что влияет на производительность iptables и как ее повысить.&lt;br /&gt;
&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h4&gt;Основная причина нагрузки&lt;/h4&gt;&lt;br /&gt;
Для начала: из-за чего вообще возникает  нагрузка при большом количестве правил? Из-за того, что каждому сетевому пакету,  обрабатываемому ядром, приходится проходить сравнение по всему списку правил  каждой цепочки. Приведу схему, которая отражает цепочки netfilter и порядок  прохождения по ним пакетов:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://upload.wikimedia.org/wikipedia/ru/thumb/a/ad/Netfilter-diagram-rus.png/449px-Netfilter-diagram-rus.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
На  схеме видно через какие цепочки пройдет тот или иной пакет и можно оценить  нагрузку. Возьмем одно простейшее правило:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;-A INPUT -s 10.1.1.1/32  -p tcp --dport 25 -j DROP&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Это правило указывает файрволлу  отбрасывать все пакеты с IP-адреса 10.1.1.1 на порт 25 локальной машины. Таблицу  (-t) я не указываю, поэтому будет использоваться дефолтная (-t filter), что нам  и нужно. Понятно, что действие DROP выполняется далеко не всегда. Однако,  сравнение IP-адреса источника будет проходить &lt;b&gt;&lt;i&gt;любой&lt;/i&gt;&lt;/b&gt; входящий на  локальную машину пакет. А если таких правил тысяча?&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Что делать?&lt;/h4&gt;&lt;br /&gt;
Теперь подумаем, как можно ускорить работу файрволла.  Первый ответ очевиден — сокращать количество правил. Но вряд ли удастся серьезно  оптимизировать записи, особенно если они изначально составлялись грамотно.  Где-то вместо правил на несколько IP-адресов можно написать одно правило на  подсеть. Где-то вместо правил на несколько портов можно использовать &lt;code&gt;-m  multiport&lt;/code&gt; и &lt;code&gt;--dports&lt;/code&gt;/&lt;code&gt;--sports a,b,c&lt;/code&gt; (a,b,c —  номера портов). И так далее.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Ветвление правил, дополнительные цепочки&lt;/h4&gt;&lt;br /&gt;
А есть еще второй вариант —  использование ветвлений правил. Суть его в том, что однотипные правила  группируются в отдельную цепочку, а в основной цепочке остается одно правило,  которое перенаправляет пакет в отдельную цепочку в зависимости от какого-то  общего признака пакетов. Приведу пример. Имеются три правила:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;-A  INPUT -s 10.1.1.1/32 -p icmp -j ACCEPT&lt;br /&gt;
-A INPUT -s 10.1.1.2/32 -p icmp -j  ACCEPT&lt;br /&gt;
-A INPUT -s 10.1.1.3/32 -p icmp -j ACCEPT&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Что объединяет  эти правила? Одинаковый протокол — icmp. Вот по этому признаку и  ст&lt;b&gt;&lt;i&gt;о&lt;/i&gt;&lt;/b&gt;ит сгруппировать правила. Вообще в данном случае эффективнее  использовать ipset, но об этом дальше. Для группировки необходимо создать новую  цепочку, а затем создать правило, которое будет отправлять пакеты в эту  цепочку.&lt;br /&gt;
Создать цепочку PROT_ICMP:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;iptables -N  PROT_ICMP&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Определить правила в этой цепочке:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;-A  PROT_ICMP -s 10.1.1.1/32 -j ACCEPT&lt;br /&gt;
-A PROT_ICMP -s 10.1.1.2/32 -j  ACCEPT&lt;br /&gt;
-A PROT_ICMP -s 10.1.1.3/32 -j ACCEPT&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Как видите,  протокол (-p) в этой цепочке мы уже не проверяем, т.к. отправлять в эту цепочку  будем только ICMP пакеты. И наконец отправить все пакеты ICMP в эту  цепочку:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;-A INPUT -p icmp -g PROT_ICMP&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Теперь  входящий пакет, если он не ICMP, будет проходить лишь через одно правило вместо  трех.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;ipset&lt;/h4&gt;&lt;br /&gt;
А теперь предположим следующую ситуацию:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;-A INPUT  -s 10.1.1.1/32 -j DROP&lt;br /&gt;
-A INPUT -s 10.1.1.2/32 -j DROP&lt;br /&gt;
-A INPUT -s  10.1.1.3/32 -j DROP&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Несколько однотипных правил, но сгруппировать  их или сделать дополнительную цепочку не представляется возможным. В таких  случаях, когда необходимо делать проверку по большому количеству IP-адресов  и/или портов, на помощь приходит &lt;b&gt;ipset&lt;/b&gt;. &lt;a href=&quot;http://ipset.netfilter.org/&quot;&gt;ipset&lt;/a&gt; представляет из себя модуль ядра  &lt;i&gt;ip_set&lt;/i&gt;, ряд вспомогательных библиотек и утилиту &lt;i&gt;ipset&lt;/i&gt; для задания  параметров. Наверняка есть в репозиториях вашего дистрибутива, так что с  установкой не должно быть проблем.&lt;br /&gt;
Используется следующим образом:&lt;br /&gt;
*  Создается список:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;ipset -N dropips iphash&lt;/code&gt;&lt;br /&gt;
dropips —  название списка, iphash — тип списка. Типы списков можно посмотреть в man ipset,  они есть на любой вкус — для работы с ip-адресами, подсетями, портами,  mac-адресами. iphash служит для хранения IP-адресов, использование хэширования  предотвращает добавление в список дублирующих IP-адресов.&lt;br /&gt;
* Добавляется  IP-адрес в список:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;ipset -A dropips 10.1.1.1&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
*  Создается правило для использования списка:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;iptables -A INPUT -m  set --set dropips src -j DROP&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;-m set&lt;/code&gt; указывает на  использование модуля ipset, &lt;code&gt;--set dropips&lt;/code&gt; указывает список  IP-адресов, &lt;code&gt;src&lt;/code&gt; указывает на то, что сверять нужно только  IP-источника. Таким образом, будут отбрасываться все пакеты с IP-адресов,  указанных в списке dropips.&lt;br /&gt;
&lt;br /&gt;
В статье я не стал описывать тюнинг сетевых  параметров ядра, а сделал упор на рациональную организацию правил файрволла.  Информации о тюнинге очень много можно найти в сети, это различные net.*mem*, в  случае большого количества соединений и использования conntrack — параметры  net.netfilter.nf_conntrack_max, net.netfilter.nf_conntrack*timeout и  т.д.&lt;/div&gt;&lt;div class=&quot;content&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;content&quot;&gt;Источник http://habrahabr.ru/blogs/sysadm/108691/&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/1346795191347277317/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/11/netfilter-ipset.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/1346795191347277317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/1346795191347277317'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/11/netfilter-ipset.html' title='Повышение производительности netfilter, использование ipset'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1844275644917792521.post-7852794886473897157</id><published>2010-05-16T22:47:00.000+03:00</published><updated>2010-05-16T22:47:06.994+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="munin"/><category scheme="http://www.blogger.com/atom/ns#" term="removespikes"/><category scheme="http://www.blogger.com/atom/ns#" term="rrd"/><category scheme="http://www.blogger.com/atom/ns#" term="rrdtool"/><category scheme="http://www.blogger.com/atom/ns#" term="пики"/><title type='text'>Срезаем пики с RRD графиков на примере Munin</title><content type='html'>Любой linux администратор наверняка наблюдал аномальные пики на RRD графиках.  Пики появляются вследствие нарушения процесса сбора отслеживаемой величины и  портят картину на графике. Это нормальное явление для RRD.&lt;br /&gt;
&lt;br /&gt;
На графике  трафика пики могут появится после перезапуска сетевого интерфейса или после  перезагрузки сервера, что по сути одно и тоже. В обоих случаях процесс подсчета  будет прерван из-за остановки устройства.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;image&quot; src=&quot;http://kuzmin.tv/_habr/munin_spikes/munin_traf_pics_600.gif&quot; /&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;&quot; name=&quot;habracut&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
При появлении пиков необходимо удалить аномальные  значения из базы RRD, чтобы график снова стал информативен. Это можно сделать с  помощью утилиты rrdtool:&lt;br /&gt;
а) в ручную &lt;br /&gt;
rrdtool dump -&amp;gt; xml (находим и  удаляем пики) -&amp;gt; rrdtool restore&lt;br /&gt;
&lt;br /&gt;
б) или запустив скрипт  removespikes.pl, в нем происходит тоже самое, но без вашего участия. &lt;br /&gt;
&lt;br /&gt;
Я  использую removespikes.pl. Процесс срезания пиков занимает не более 1  минуты.&lt;br /&gt;
На моих серверах установлен мониторинг Munin, поэтому примеры  приведены с использованием этого мониторинга. Метод будет работать с любым  мониторингов на основе RRD.&lt;br /&gt;
&lt;br /&gt;
Срезаем пики с графиков eth0  трафика&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;## переключаем пользователя (подробнее см. «Подводные  камни»)&lt;br /&gt;
su – munin&lt;br /&gt;
&lt;br /&gt;
## утасновка скрипта removespikes.pl на  сервере&lt;br /&gt;
wget &lt;a href=&quot;http://oss.oetiker.ch/rrdtool/pub/contrib/removespikes-20080226-mkn.tar.gz&quot;&gt;oss.oetiker.ch/rrdtool/pub/contrib/removespikes-20080226-mkn.tar.gz&lt;/a&gt;&lt;br /&gt;
tar  xvzf removespikes-20080226-mkn.tar.gz&lt;br /&gt;
rm  removespikes-20080226-mkn.tar.gz&lt;br /&gt;
&lt;br /&gt;
## Корректировка rrd файлов&lt;br /&gt;
##  Указываем маску только тех файлов в которых необходимо срезать пики и не трогаем  бекапы *.rrd.old при повторных запусках.&lt;br /&gt;
for f in `find ~/localdomain/ -name  &quot;localhost.localdomain-if_eth0*.rrd&quot;` &lt;br /&gt;
do &lt;br /&gt;
## я использую  removespikes.pl-orig. &lt;br /&gt;
## в removespikes.pl добавлен новый функционал и  изменен метод среза пиков так, что можно запороть всю RRD базу. (подробнее см.  «Подводные камни»)&lt;br /&gt;
~/removespikes/removespikes.pl-orig  $f;&lt;br /&gt;
done;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
После запуска скрипта вы должны увидеть что-то  вроде&lt;br /&gt;
&lt;code&gt;Chopping peak at &lt;!--– 2010-04-25 17:00:00 EEST / 1133247800 
–--&gt;&lt;br /&gt;
Chopping peak at &lt;!--– 2010-04-25 19:00:00 EEST / 1130359100 
–--&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Графики Munin eth0 traffic после removespikes.pl&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;image&quot; src=&quot;http://kuzmin.tv/_habr/munin_spikes/munin_peacs_after_600.gif&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Подводные камни&lt;/h4&gt;&lt;br /&gt;
&lt;b&gt;Камень №1&lt;/b&gt;&lt;br /&gt;
Внимание: запускайте скрипт  removespikes.pl под пользователем вашего мониторинга или проверяйте права на rdd  файлы созданные скриптом, иначе сбор данных станет не возможен!&lt;br /&gt;
&lt;br /&gt;
На  графике выше отмечен разрыв, который произошел, вследствие того что я запускал  removespikes.pl из под root. Исправленные rrd файлы были созданы с владельцем  root и munin не мог записывать в них данные.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Камень №2&lt;/b&gt;&lt;br /&gt;
В архиве  removespikes-20080226-mkn.tar.gz две модификации скрипта: оригинальная  (removespikes.pl-orig) и с доп. функциями (removespikes.pl).&lt;br /&gt;
&lt;br /&gt;
Корректность  работы removespikes.pl-orig неоднократно мною проверена на разных серверах.  &lt;br /&gt;
&lt;br /&gt;
А вот запустив removespikes.pl я получил неожиданный результат. График  как утюгом разгладило :(.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;image&quot; src=&quot;http://kuzmin.tv/_habr/munin_spikes/munin_peacs_bug1_600.gif&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
В  скрипте есть параметр removespikes.pl&lt;br /&gt;
# Threshhold for cutting. Exponents  above it will be chopped – срезаются все точки выше этого значения. &lt;br /&gt;
my  $THRESH=10000;, что соответствует примерно 140Мбит/с.&lt;br /&gt;
Мой трафик был больше  140 и попал под это ограничение.&lt;br /&gt;
Если у вас обычные 100Мбит/с то это  ограничение не окажет влияния на конечный результат.&lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;Заключение &lt;/h5&gt;&lt;br /&gt;
Скрипт автоматически создает бекап файлы с именами  *.rrd.old, так что всегда можно вернутся к исходному состоянию. Главное  правильно создать шаблон поиска файлов для прохода removespikes.pl в цикле for…  in.&lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;Источники&lt;/h5&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.void.gr/kargig/blog/2006/01/15/howto-remove-spikes-from-rrd-graphs/&quot;&gt;howto-remove-spikes-from-rrd-graphs&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://oss.oetiker.ch/rrdtool/doc/index.en.html/&quot;&gt;rrdtool doc&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdocent.blogspot.com/feeds/7852794886473897157/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://sdocent.blogspot.com/2010/05/rrd-munin.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/7852794886473897157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1844275644917792521/posts/default/7852794886473897157'/><link rel='alternate' type='text/html' href='http://sdocent.blogspot.com/2010/05/rrd-munin.html' title='Срезаем пики с RRD графиков на примере Munin'/><author><name>Docent</name><uri>http://www.blogger.com/profile/08135401512552907248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>