<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ChooseLinux &#187; Настройка</title>
	<atom:link href="http://chooselinux.org.ua/category/configs/feed/" rel="self" type="application/rss+xml" />
	<link>http://chooselinux.org.ua</link>
	<description>Choose Life. Choose a job. Choose a career. Choose a family. Choose linux...</description>
	<lastBuildDate>Fri, 03 Feb 2012 05:03:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Установка wkhtmltopdf в CentOS 6.2</title>
		<link>http://chooselinux.org.ua/ustanovka-wkhtmltopdf-v-centos-6-2/</link>
		<comments>http://chooselinux.org.ua/ustanovka-wkhtmltopdf-v-centos-6-2/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 05:03:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Сервер]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[wkhtmltopdf]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=369</guid>
		<description><![CDATA[В ходе одного эксперимента мне пришлось столкнуться с проблемой установки wkhtmltopdf в Centos 6.2 minimal дистрибутиве. Я достаточно много времени потратил на то, что б разобраться как это сделать, в конце концов нашел на англоязычном ресурсе мануал, для 5.5 версии дистрибутива. Немного адоптировав я выложу его сюда. Устанавливаем инструменты разработчика и подключаем epel репозиторий: # [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chooselinux.org.ua/wp-content/uploads/2012/02/html-pdf.jpg" alt="" title="Установка wkhtmltopdf в Centos" width="400" height="338" class="aligncenter size-full wp-image-370" /><br />
В ходе одного эксперимента мне пришлось столкнуться с проблемой установки wkhtmltopdf в Centos 6.2 minimal дистрибутиве. Я достаточно много времени потратил на то, что б разобраться как это сделать, в конце концов нашел на англоязычном ресурсе мануал, для 5.5 версии дистрибутива. Немного адоптировав я выложу его сюда.<br />
<span id="more-369"></span><br />
Устанавливаем инструменты разработчика и подключаем epel репозиторий:</p>
<p><code># yum groupinstall "Development Tools"<br />
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm<br />
# yum install git-core</code></p>
<p>Устанавливаем пакеты необходимые для сборки wkhtmltopdf:</p>
<p><code>$ yum install openssl-devel libXrender-devel libXext-devel libXft-devel</code></p>
<p>Вытягиваем свежие исходники wkhtmltopdf:<br />
<code>$ git clone git://github.com/antialize/wkhtmltopdf.git wkhtmltopdf<br />
$ git clone git://gitorious.org/+wkhtml2pdf/qt/wkhtmltopdf-qt.git wkhtmltopdf-qt</code></p>
<p>Собираем специальную версию Qt:<br />
<code>$ cd wkhtmltopdf-qt<br />
$ ./configure -nomake tools,examples,demos,docs,translations -opensource -prefix "../wkqt"<br />
$ make -j3 &#038;&#038; make install</code></p>
<p>Собираем wkhtmltopdf:<br />
<code>$ cd ../wkhtmltopdf<br />
$ ../wkqt/bin/qmake<br />
$ make<br />
# make install </code></p>
<p>Все, после этих простых шагов пакет собран и установлен. Оригинал тут : http://code.google.com/p/wkhtmltopdf/wiki/compilation .</p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/ustanovka-wkhtmltopdf-v-centos-6-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNS Tunneling &#8211; обход ограничений в локальной сети</title>
		<link>http://chooselinux.org.ua/dns-tunneling-obxod-ogranichenij-v-lokalnoj-seti/</link>
		<comments>http://chooselinux.org.ua/dns-tunneling-obxod-ogranichenij-v-lokalnoj-seti/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 17:20:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Безопасность]]></category>
		<category><![CDATA[Сеть]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[tunneling]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[интернет]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=339</guid>
		<description><![CDATA[Я уже писал когда-то про обход ограничений интернет провайдера в отеле с помощью ICMP туннеля. Вот, недавно я столкнулся с новым подобным ограничением, но в этот раз мой интернет провайдер по ошибке решил что я не уплатил за услуги. Так как был уже поздний вечер, связаться с тех поддержкой не получилось. Это подтолкнуло меня немного [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chooselinux.org.ua/dns-tunneling-obxod-ogranichenij-v-lokalnoj-seti/olympus-digital-camera/" rel="attachment wp-att-341"><img src="http://chooselinux.org.ua/wp-content/uploads/2011/11/tunnel.jpg" alt="" title="Tunnel" width="640" height="479" class="aligncenter size-full wp-image-341" /></a></p>
<p>Я уже писал когда-то про обход ограничений интернет провайдера в отеле с помощью <a href="http://chooselinux.org.ua/besplatnyj-internet-v-otele-cherez-icmp-tunnel/">ICMP туннеля</a>. Вот, недавно я столкнулся с новым подобным ограничением, но в этот раз мой интернет провайдер по ошибке решил что я не уплатил за услуги. Так как был уже поздний вечер, связаться с тех поддержкой не получилось. Это подтолкнуло меня немного поисследовать провайдерскую сеть. В первую очередь проверил ICMP, но пропинговать 8.8.8.8 не получилось. Второй проверкой была попытка обратится к DNS серверу Google. Когда команды <strong>dig @8.8.8.8  google.com</strong> вернула мне адрес вернула мне IP адрес, я понял что смогу использовать технику DNS туннелирования для полноценного доступа в Интернет. Собственно об этом я и расскажу в данном посте.<br />
<span id="more-339"></span></p>
<p>Вкратце расскажу о том, как работает DNS туннелинг. Этот вид туннелинга позволяет заворачивает полезный для нас трафик (web,ssh) в UDP пакеты. Эти пакеты посылаются на управляемый нами сервер, на котором работает приложение, слушающее 53 порт. Приложение распаковывает пакеты, извелкает из них данные и дальше уже на основе этих данных, устанавливает TCP соединение с нужным сервером/сервисом. После того как наш DNS-прокси сервер получает ответы по TCP, он упаковывает эти данные обратно в  UDP пакет и отвечает запрашивающей стороне.  На стороне клиента происходит повторное изьятие данных из пакета. С токи зрения интернет-провайдера (если не вчитываться в содержимое пакета) все выглядит так, будто бы вы со своей клиентской машине активно пытаетесь резолвить доменные имена с одного DNS сервера.</p>
<p>Теперь ближе к реализации. Думаю всем понятно, что для того что б все заработало, надо либо что б все было предварительно настроено, либо воспользоваться альтернативным подключением к Интернету для настройки. Сам тунель подымается с помощью набора perl скриптов под названием OzymanDNS, с сайта <a href="http://dnstunnel.de">dnstunnel.de</a>.  По каким-то причинам линка на скрипт на официальном сайте битая, но гугл мне помог и я нашел копию скриптов и выложил у себя. </p>
<p><strong><a href='http://chooselinux.org.ua/wp-content/uploads/2011/11/dnstunnel.tar.gz'>Скачать скрипты для DNS туннелинга.</a></strong></p>
<p>Для того что б все заработало необходимо иметь следующее:<br />
1. Свой домен (к примеру бесплатный из org.ua зоны<br />
2. Сервер с выделенным IP адресом и рутовыми правами на нем (для запуска серверной части и возможности работать по 53 порту), perl. Выполняет роль DNS-тунеллинг прокси сервера.<br />
3. Клиентский компьютер, желательно по Linux. На нем нужен perl и openssh-client.</p>
<p>Настройка этого всего состоит из трех этапов:<br />
1. Настройка доменной зоны<br />
2. Настройка сервера<br />
3. Настройка клиента</p>
<p><strong>Настройка доменной зоны</strong><br />
На этом этапе надо заставить нашего клиента обращаться именно на наш сервер с DNS запросами. Делаеться это путем делегирования части вашего домена другому  DNS серверу. В моем случае я просто зашел в админку, в которой обслуживается мой домен, и добавил следующие записи в описание зоны:<br />
<code>dnstun.example.com. IN NS ns3.example.com<br />
ns3.example.com IN A 12.12.12.12</code><br />
Теперь при попытке узнать адрес любого из поддоменовв зоне dnstun.example.com, запросы будут автоматически отправлятся на сервер с адресмо 12.12.12.12. Адрес должен указывать на тот сервер, где у вас будет запущена серверная часть DNS туннелинг скриптов.</p>
<p><strong>Настройка сервера</strong><br />
Создаем директорию /opt/dnstunnel:<br />
<code># mkdir -p /opt/dnstunnel</code><br />
Качаем туда архив:<br />
<code># cd /opt/dnstunnel<br />
# wget http://chooselinux.org.ua/wp-content/uploads/2011/11/dnstunnel.tar.gz<br />
# tar zxvf dnstunnel.tar.gz<br />
# rm -f dnstunnel.tar.gz</code><br />
 Доставляем нужные пакеты:<br />
<code># apt-get install screen libnet-dns-perl libmime-base32-perl liblwp-useragent-determined-perl</code><br />
Редактируем /opt/dnstunnel/dnstunneld.wrapper, вписываем следующее:<br />
<code>DNSHOST="ns3.example.com"          # имя моего сервера<br />
REPLYIP="127.0.0.1"                    # что отвечать на реальные DNS запросы на этот сервер<br />
OPTIONS="-l 12.12.12.12 -u nobody -g nogroup" # IP, на котором будет работать DNS туннель</code><br />
Создаем симлинк в /etc/init.d для удобного запуска скрипта:<br />
<code># ln -s /opt/dnstunnel/dnstunneld.init /etc/init.d/dnstunnel</code><br />
Запускаем:<br />
<code># /etc/init.d/dnstunnel start</code></p>
<p><strong>Настройка клиента</strong><br />
Ставим необходимые пакеты:<br />
<code># apt-get install libnet-dns-perl libmime-base32-perl</code><br />
Качаем и ставим  DNStunnel:<br />
<code># cd /tmp<br />
# wget http://chooselinux.org.ua/wp-content/uploads/2011/11/dnstunnel.tar.gz<br />
# tar zxvf dnstunnel.tar.gz dnstunnelc<br />
# mv dnstunnelc /usr/bin/<br />
# rm -f dnstunnel.tar.gz</code></p>
<p>Подключеяемся:<br />
<code>$ ssh -C -D5500 -o ProxyCommand="dnstunnelc sshdns.dnstun.example.com" user@12.12.12.12</code></p>
<p>После ввода пароля тунель можно считать установленным. Теперь только остается прописать в настройках браузера SOCKS прокси 127.0.0.1:5500 и все.</p>
<p>Я попытался протестировать скорость закачки файлов при таком туннелировании и получил результат около 15-20КБайт/с. По нынешним меркам это очень мало, но тем не менее, это доказывает что такой способ туннелирования работает.</p>
<p>Удачи!</p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/dns-tunneling-obxod-ogranichenij-v-lokalnoj-seti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Оптимизация Ubuntu 11.04 под SSD</title>
		<link>http://chooselinux.org.ua/optimizaciya-ubuntu-11-04-pod-ssd/</link>
		<comments>http://chooselinux.org.ua/optimizaciya-ubuntu-11-04-pod-ssd/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 19:52:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Система]]></category>
		<category><![CDATA[fstab]]></category>
		<category><![CDATA[noop]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[sysctl]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Ubuntu 11.04]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=331</guid>
		<description><![CDATA[Есть у меня небольшой одноплатный компьютер, который какое-то время валялся без дела. Но вот недавно я настроил на его сонове систему видеонаблюдения с использованием веб камеры. В качестве накпоителя в нем используется compact flash карта. В данной посте я дам несколько простых советов которые продлят время жизни SSD или любого другого флеш накопителя используемого в [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chooselinux.org.ua/wp-content/uploads/2011/07/SSD_logo1.jpg" alt="" title="SSD_logo" width="450" height="450" class="aligncenter size-full wp-image-334" /><br />
Есть у меня небольшой одноплатный компьютер, который какое-то время валялся без дела. Но вот недавно я настроил на его сонове систему видеонаблюдения с использованием веб камеры. В качестве накпоителя в нем используется compact flash карта. В данной посте я дам несколько простых советов которые продлят время жизни SSD или любого другого флеш накопителя используемого в качестве системного диска.</p>
<p><span id="more-331"></span><br />
1. Начнем с самого простого, но, навернео, самого важного &#8211; монтируем корневую файловую систему (и все другие файловые системы этого диска) с опцией <em>noatime</em>. Она отвечает за запись в файловую систему данных о том, когда к файлу обращались в последний раз. Следовательно при любом открытии файла на чтение или выполнение в файловую систему заноситься пометка. Можете себе представить к сколько сотен тысяч раз система дергает тот или иной файл во время работы.<br />
Опцию необходимо добавить в файл  /etc/fstab как в моем примере:<br />
<code>/dev/sda1       /               ext4    noatime,errors=remount-ro 0       1</code></p>
<p>2. Переносим /tmp, /var/tmp и /var/log в память. Во время работы Ubuntu 11.04, да и другие версии и дистрибутивы ОС Linux, регулярно создают временные файлы в /tmp, реже в /var/tmp. От обращений к диску при работе с временными файлами можно избавиться если перенести их в память. Так же, если системные логи вам не осоо нужны, можете перенести в память и иректорию /var/log. Стоит учитывать что все логи и временные файлы будут удаляться при каждой перезагрузке. С другой стороны это позволит избавиться от очередной пачки обращений к диску.<br />
В тот же /etc/fstab следует внести следующие строки:<br />
<code>tmpfs /var/log tmpfs defaults 0 0<br />
tmpfs /tmp tmpfs defaults 0 0<br />
tmpfs /var/tmp tmpfs defaults 0 0</code></p>
<p>3. Просим систему не использовать раздел подкачки. При работе с системой, если ей не хватает памяти, она начинает делать дампы памяти в раздел подкачки. Это тоже приводит к большому количеству записей на SSD диск. Избежать этого можно указав системе что раздел подкачки следует использовать только в самом крайнем случае. Для этого в файле /etc/sysctl.conf следующий необходимо добавить параметр:<br />
<code>vm.swappiness = 1</code><br />
Изменение вступит в силу после следующей перезагрузке или после выполнения команды:<br />
<code># sysctl -p</code></p>
<p>4. Последняя рекомендация затронет планировщик который используется ядром для работы с диском. Оптимизированным под ssd является noop планировщик. Просмотреть какой именно в данный момент используется системой можно выполнив следующюю команду:<br />
<code>boffin@ubuntu:~$ cat /sys/block/sda/queue/scheduler<br />
noop deadline [cfq]</code><br />
По умолчанию в Ubuntu 11.04 установлен универсальный планировщик cfq.<br />
Включить noop можно при работающей системе с помощью команды:<br />
<code>echo noop > /sys/block/sda/queue/scheduler</code><br />
Для того что б изменения сохранились после перезагрузки, необходимо подправить конфигурационный файл загрузчика ядра. Для этого в файл /etc/default/grub в опции GRUB_CMDLINE_LINUX_DEFAULT необходимо добавить параметр elevator=noop. В моем случае вся строчка выглядит вот так:<br />
<code>GRUB_CMDLINE_LINUX_DEFAULT="quiet elevator=noop"</code><br />
После этого следует уведомить загрузчик об изменениях, выполнив команду:<br />
<code># update-grub</code></p>
<p>Все! Для вступления в силу изменений с разделами жесткого диска следует перезагрузить систему. Теперь ваш SSD диск прослужит значительно дольше. Более того, вы наверняка ощутите прирость скорости системы, так как она станет меньше писать на диск.</p>
<p>Если кто-то знает еще способы &laquo;разгрузить&raquo; SSD, пишите в комментариях, обсудим.</p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/optimizaciya-ubuntu-11-04-pod-ssd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Трансляция с вебкамеры в Ubuntu 11.04 с помощью VLC</title>
		<link>http://chooselinux.org.ua/translyaciya-s-vebkamery-v-ubuntu-11-04-s-pomoshhyu-vlc/</link>
		<comments>http://chooselinux.org.ua/translyaciya-s-vebkamery-v-ubuntu-11-04-s-pomoshhyu-vlc/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 15:28:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Медиа]]></category>
		<category><![CDATA[Сервер]]></category>
		<category><![CDATA[cctv]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[vlc]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=321</guid>
		<description><![CDATA[Иногда возникает желание устроить что-то на подобии видео наблюдения дома. Иметь возможность проверять все ли впорядке удаленно, из офиса. Собственно поэтому я решил настроить трансляцию видео с вебкамеры по сети с помощью VLC. Есть у меня небольшой одноплатный компьютер, с 500Мгц процессором на котором установлена Ubuntu 11.04. Соответственно все изложенные действия проверены только в 11.04 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chooselinux.org.ua/wp-content/uploads/2011/07/cctv2.jpg" alt="" title="cctv2" width="297" height="400" class="aligncenter size-full wp-image-323" /><br />
Иногда возникает желание устроить что-то на подобии видео наблюдения дома. Иметь возможность проверять все ли впорядке удаленно, из офиса. Собственно поэтому я решил настроить трансляцию видео с вебкамеры по сети с помощью VLC.<br />
<span id="more-321"></span><br />
Есть у меня небольшой одноплатный компьютер, с 500Мгц процессором на котором установлена Ubuntu 11.04. Соответственно все изложенные действия проверены только в 11.04 но скорее всего будут работать успешно и в других версия ОС. Кстати стоить отметить, что сделать тоже самое, на том же железе но под Debian у меня не получилось, скорее всего проблема с кодеками, хотя я и ставил их с debian-multimedia.org.</p>
<p>Порядок действий:<br />
1. Подключаем USB камеру к компьютеру и проверяем распознала ли ее систима:<br />
<code>boffin@fortress:~$ ls -la /dev/video*<br />
crw-rw----+ 1 root video 81, 0 2011-07-17 17:35 /dev/video0</code><br />
2. Ставим VLC:<br />
<code>apt-get install vlc</code><br />
3. Запускаем потоковое вещание:<br />
<code>vlc -I dummy v4l2:///dev/video0 --sout '#transcode{vcodec=mp4v,vb=800}:standard{access=http,mux=ogg,dst=192.168.1.123:8080}'</code><br />
Разберем параметры:<br />
<strong>-I dummy</strong> &#8211; VLC запустится без графического интерфейса<br />
<strong>vcodec=mp4v,vb=800</strong> &#8211; кодек для видео и битрейт<br />
<strong>dst=192.168.1.123:8080</strong> &#8211; по какому адресу и порту будет доступен видео поток<br />
4. Запускаем VLC на клиентской машине, Media -> Open Network Stream, вводим в поле адрес <em>http://192.168.1.123:8080/</em><br />
Все, готово.<br />
<br />
К сожалению подобный способ трансляции имеет отставание видео которое может доходить до 5 секунд. Трансляция видео 640&#215;480 грузила мой процессор на 100%. С целью разгрузить процессор и уменьшить отставание я понизил разрешение, битрейт и количество кадров в секунду. Получилась такая команда:<br />
<code>vlc -I dummy v4l2:///dev/video0 --sout '#transcode{vcodec=mp4v,vb=400,width=320,height=240,fps=15}:standard{access=http,mux=ogg,dst=192.168.1.123:8080}'</code><br />
В итоге нагрузка на процессор во время трансляции не подымается выше 45% а видео с отставанием 1-2 секунды передается успещно по Wi-Fi сети.</p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/translyaciya-s-vebkamery-v-ubuntu-11-04-s-pomoshhyu-vlc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Как ускорить Ubuntu 10.10</title>
		<link>http://chooselinux.org.ua/kak-uskorit-ubuntu-10-10/</link>
		<comments>http://chooselinux.org.ua/kak-uskorit-ubuntu-10-10/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 21:47:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Система]]></category>
		<category><![CDATA[preload]]></category>
		<category><![CDATA[swappiness]]></category>
		<category><![CDATA[sysctl]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vfs_cache_pressure]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=309</guid>
		<description><![CDATA[После установки Ubuntu 10.10 мне стала не нравится производительность системы. Периодически приходится ждать пока прорисуются окна, пока появится приглашение в терминале после его запуска. В этом посте немного рекомендаций о том, как заставить вашу Ubuntu работать быстрее. 1. Выключить ненужные сервисы К примеру я периодически ставлю веб-сервер, mysql и другие сервисы для всяких экспериментов. Но [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chooselinux.org.ua/wp-content/uploads/2010/11/ubuntu_logo.jpg" alt="" title="ubuntu_logo" width="514" height="471" class="aligncenter size-full wp-image-311" /><br />
После установки Ubuntu 10.10 мне стала не нравится производительность системы. Периодически приходится ждать пока прорисуются окна, пока появится приглашение в терминале после его запуска. В этом посте немного рекомендаций о том, как заставить вашу Ubuntu работать быстрее.<br />
<span id="more-309"></span></p>
<p><strong>1. Выключить ненужные сервисы</strong><br />
К примеру я периодически ставлю веб-сервер, mysql и другие сервисы для всяких экспериментов. Но через какое-то время я перестаю ими пользоваться. А процессы остаются запущенными и при каждой загрузки системы отбирают часть оперативки и процессорного времени. Поэтому, периодически смотрим на<br />
<code>ps auxf</code><br />
и<br />
<code>netstat -lnp</code></p>
<p>видим, какие ненужные сервисы запущены и удаляем их из автозагрузки:<br />
<code>sudo update-rc.d -f mysqld remove</code></p>
<p><strong>2. Избавляемся от визуальных эффектов</strong><br />
Думаю все уже смирились что Compiz и другие графические примочки линуксоиды включают только для того, что б показать &laquo;Вот, смотри как Линукс может,а винде так слабо&raquo;. В повседневной жизни не вижу в них смысла, а уже тем более в пространстве ограниченных ресурсов нетбука. Поэтому отключаю эффекты:<br />
<div id="attachment_314" class="wp-caption aligncenter" style="width: 610px"><img src="http://chooselinux.org.ua/wp-content/uploads/2010/11/appearance.jpg" alt="" title="appearance" width="600" height="550" class="size-full wp-image-314" /><p class="wp-caption-text">System -> Preferences -> Appearance,  вкладка Visual Effects, выбираем None.</p></div></p>
<p><strong>3. Подгрузка часто выполняемых программ в память.</strong><br />
Если на вашем компьютере оперативной памяти более 1Гб &#8211; можно поставить демон preload. Суть его работы заключается в том, что пока он запущен, он собирает статистику о наиболее часто выполняемых программах и подгружает в оперативную память исполняемые файлы этих программ. Таким образом при последующем обращении к программе, вместо того что б операционная система читала исполняемые файлы с диска, она читает их из кеша в оперативной памяти.</p>
<p>Установка:<br />
<code>apt-get install preload</code></p>
<p><strong>4. Ядерные настройки кэша</strong><br />
Редактируем файл /etc/sysctl.conf и добавляем такие строчки:<br />
<code><br />
vm.swappiness = 1<br />
vm.vfs_cache_pressure = 50<br />
</code></p>
<p><strong>vm.swappiness</strong> &#8211; если это значение близкое к нулю, ядро будет пытаться хранить приложения в памяти как можно дольше и не наращивать кэши. Если это значение близится к 100 &#8211; то линукс будет выкидывать приложения на свап и выделять больше памяти на файловые кеши. Стандартное значение &#8211; 60. Отсюда вывод, если компьютер используется для обработки данных, значение надо выбирать между 50 и 100. Для обычных же десктопов важнее отзывчивость приложений, поэтому лично я поставил значение = 1.</p>
<p><strong>vm.vfs_cache_pressure</strong> &#8211; если это значение близится к 1, то ядро будет отдавать предпочтение хранить в памяти кеши о inod-ах файловой системы (данные о структуре файлов и папок) вместо кеширования самих данных. Данный параметр лучше приблизить к 50, так как это будет оптимальное значение для системы используемой ежедневно.</p>
<p>После изменения файла sysctl.cnf необходимо применить новые параметры:<br />
<code>sudo sysctl -p</code></p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/kak-uskorit-ubuntu-10-10/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>People.net и Utel в линуксе (Ubuntu)</title>
		<link>http://chooselinux.org.ua/people-net-i-utel-v-linukse-ubuntu/</link>
		<comments>http://chooselinux.org.ua/people-net-i-utel-v-linukse-ubuntu/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 18:00:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Сеть]]></category>
		<category><![CDATA[people.net]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[utel]]></category>
		<category><![CDATA[wvdial]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=274</guid>
		<description><![CDATA[Так как я люблю иметь возможность выходить в интернет в любом месте, мобильный интернет для меня единственный выход. Когда-то давно заключил контракт с People.net, а через какое-то время купил 3g телефон и подключился к Utel. Эти два оператора прекрасно друг друга дополняют, там где плохо работает один, хорошо ловит другой =). В этом посте расскажу [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chooselinux.org.ua/wp-content/uploads/2010/10/inet.jpg" alt="" title="inet" width="500" height="375" class="aligncenter size-full wp-image-280" /><br />
Так как я люблю иметь возможность выходить в интернет в любом месте, мобильный интернет для меня единственный выход. Когда-то давно заключил контракт с People.net, а через какое-то время купил 3g телефон и подключился к Utel. Эти два оператора прекрасно друг друга дополняют, там где плохо работает один, хорошо ловит другой =). В этом посте расскажу как подключаться в интернет через модем ZTE AC8700 к People.net и через телефон Sony Ericsson P1i к Utel.<br />
<span id="more-274"></span></p>
<p>Итак, для подключения я пользуюсь консольной утилитой wvdial. Установка ее проста:<br />
<code>apt-get install wvdial</code></p>
<p>Дальше необходимо отредактировать файл настроек /etc/wvdial.conf.</p>
<p>Для People.net он выглядит следующим образом:<br />
<code>[Dialer Defaults]<br />
Init1 = ATZ<br />
Init2 = ATQ0 V1 E1 S0=0 &#038;C1 &#038;D2 +FCLASS=0<br />
Phone = #777<br />
Modem Type = Analog Modem<br />
Stupid Mode = 1<br />
Baud = 9600<br />
New PPPD = 1<br />
Dial Command = ATD<br />
Modem = /dev/ttyUSB0<br />
ISDN = 0<br />
Username = 80921111111@people.net.ua<br />
Password = 123456<br />
</code></p>
<p>Для Utel:<br />
<code>[Dialer Defaults]<br />
Init1 = ATZ<br />
Init2 = ATQ0 V1 E1 S0=0 &#038;C1 &#038;D2 +FCLASS=0<br />
Init3 = AT+CGDCONT=1,"IP","3g.utel.ua"<br />
Phone = *99#<br />
Modem Type = USB Modem<br />
Baud = 460800<br />
New PPPD = yes<br />
Modem = /dev/ttyACM21<br />
ISDN = 0<br />
Username = 123   ;не имеет значения<br />
Password = 0   ;не имеет значения<br />
</code></p>
<p>После подключения модема или телефона, лучше убедится что он подключился как правильное устройство. Я выполняю wvdialconf, который опрашивает все устройства, и если модем найден, будет выведена информация о нем, а в конфиг в поле Modem подставится имя нужного устройства.</p>
<p>Подключения:<br />
<code><br />
root@warbook:~# wvdial<br />
--> WvDial: Internet dialer version 1.60<br />
--> Cannot get information for serial port.<br />
--> Initializing modem.<br />
--> Sending: ATZ<br />
OK<br />
--> Sending: ATQ0 V1 E1 S0=0 &#038;C1 &#038;D2 +FCLASS=0<br />
ATQ0 V1 E1 S0=0 &#038;C1 &#038;D2 +FCLASS=0<br />
OK<br />
--> Modem initialized.<br />
--> Sending: ATDT#777<br />
--> Waiting for carrier.<br />
ATDT#777<br />
CONNECT<br />
~!E` [03]W%  q[11]E1Cb[01]z^x[07]_Kd77 o[11][08]d1:ad2:id20:UP2[19]7>_$uIk ,T eJ%[0c][1e]6:target20:[7B{J8B}^d+43Hv[1e]!&#038;fehe1:q9:find_node1:t4:/[14]  1:v4:UT@v1:y1:qej4~<br />
--> Carrier detected.  Waiting for prompt.<br />
~!E` [03]}]u  v[11]y7N[0b][17]{^x[07]_[03]T77 oy'd1:ad2:id20:[(N[7f] J?qk$#4S[16]h XD[0f]I6:target20:[7@*zR*=}]s[05]x[_Z[07]=[18]Te1:q9:find_node1:t4:y"  1:v4:UTTR1:y1:qeQ[16]~<br />
--> Don't know what to do!  Starting pppd and hoping for the best.<br />
--> Starting pppd at Thu Oct  7 18:23:30 2010<br />
--> Pid of pppd: 2162<br />
--> Using interface ppp0<br />
--> pppd: 0��<br />
--> pppd: 0��<br />
--> pppd: 0��<br />
--> pppd: 0��<br />
--> pppd: 0��<br />
--> local  IP address 94.248.7.95<br />
--> pppd: 0��<br />
--> remote IP address 77.109.0.225<br />
--> pppd: 0��<br />
--> primary   DNS address 77.109.1.8<br />
--> pppd: 0��<br />
--> secondary DNS address 77.109.1.9<br />
--> pppd: 0��<br />
</code></p>
<p>Все, после того, как присвоен адрес подключение осуществлено. </p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/people-net-i-utel-v-linukse-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка ufw в Ubuntu</title>
		<link>http://chooselinux.org.ua/nastrojka-ufw-v-ubuntu/</link>
		<comments>http://chooselinux.org.ua/nastrojka-ufw-v-ubuntu/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 15:09:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Сервер]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ufw]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=254</guid>
		<description><![CDATA[Начиная с версии Ubuntu 8.04 в ее состав по умолчанию включена новая упрощенная оболочка для работы с файрволом – ufw (Uncomplicated firewall – «незамысловатый» брэндмауер). Как известно Linux по умолчанию имеет очень мощный встроенный сетевой фильтр – netfilter. Стандартной утилитой для управления настройками netfilter является утилита iptables. Ufw создан для того что бы сделать более [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chooselinux.org.ua/wp-content/uploads/2010/01/firewall.jpg" alt="ubuntu ufw настройка" title="ubuntu ufw настройка" width="400" height="291" class="aligncenter size-full wp-image-261" /><br />
Начиная с версии Ubuntu 8.04 в ее состав по умолчанию включена новая упрощенная оболочка для работы с файрволом – ufw (Uncomplicated firewall – «незамысловатый» брэндмауер). Как известно Linux по умолчанию имеет очень мощный встроенный сетевой фильтр – netfilter. Стандартной утилитой для управления настройками netfilter является утилита iptables. Ufw создан для того что бы сделать более простым настройку netfilter-а. По сути ufw – это скрипт, который получает команды в одном формате и преобразует их в формат iptables.<br />
<span id="more-254"></span><br />
Так как ufw является упрощенной утилитой настройки файрвола, он так же является и более ограниченным в своих возможностях по сравнения с iptables. Практика показывает что большинству пользователей вполне достаточно функционала который предоставляет ufw. В то же время, в случае необходимости всегда можно дописать нужное правило с помощью iptables.</p>
<p><strong>Функционал ufw</strong><br />
Основными функциями файрвола ufw является:<br />
1.	Работа в одном из двух режимов: разрешено все кроме того что описано правилами, запрещено все, кроме описанного правилами.<br />
2.	Создание правил для фильтрации пакетов с действиями allow, deny, reject<br />
3.	Создание правил с учетом адреса и порта получателя и отправителя, используемого протокола<br />
4.	Логирование пакетов подпадающих под правило<br />
5.	Блокировка частых неправильных попыток авторизации по ssh<br />
6.	Настраиваемые профили для приложений</p>
<p><strong>Запуск ufw</strong><br />
Ufw может быть включен или выключен системным администратором сервера, для этого используется команад:<br />
<code># ufw enable</code><br />
Межсетевой экран активен и будет запущен при запуске системы<br />
<code># ufw disable</code><br />
Файрвол остановлен и деактивирован при загрузке</p>
<p>Просматривать состояние можно с помощью команды:<br />
<code># ufw status [numbered]<br />
Статус: активно</code></p>
<p>Параметр numbered может быть использован для отображения правил файрвола с соответствующей нумерацией.</p>
<p>Изменение политики по умолчания:<br />
<code># ufw default allow [in|out]<br />
# ufw default deny [in|out]<br />
# ufw default reject [in|out]</code></p>
<p>Где allow подразумевает что все пакеты будут пропущены, кроме тех, для которых есть запрещающее правило: deny – все пакеты будут заблокированы, кроме тех, для которых есть разрешающие правила; reject – все пакеты будут заблокированы с соответствующим уведомлением подключающуюся сторону.<br />
Параметры in|out указывают для какого направления мы хотим применять политику, для входящих или исходящих пакетов соответственно.</p>
<p>Управление правилами осуществляется с помощью команд allow, deny, reject, delete, insert.<br />
allow – добавить разрешающее правило<br />
deny – добавить запрещающее правило (файрвол не предпринимает действий при попадании в это правило)<br />
reject – добавить запрещающее правило (файрвол даст знать подключающемуся что этот порт закрыт)<br />
limit – добавляет ограничивающее правило для указанного порта. В случае если с одного и того же адреса в течении 30 секунд будет произведено 6 и более неуспешных попыток авторизации в службу удаленного доступа ssh, ufw заблокирует удаленный адрес.<br />
delete – удалить добавленное ранее правило<br />
insert – вставить правило в определенную позицию в цепочке</p>
<p><strong>Построение правил файрвола</strong><br />
Конструкция построения правил<br />
<code>ufw allow|deny|reject|limit [in|out on INTERFACE] [log|log-all] [proto protocol] [from ADDRESS [port PORT]] [to ADDRESS [port PORT]]</code><br />
Подробнее о параметрах:<br />
allow|deny|reject|limit – указываем что будет делать это правило (см. описание выше).<br />
[in|out on INTERFACE] – указываем будет это правило относится к входящему трафику (in) или исходящему (out) и хотим ли мы ограничить данное правило отдельным сетевым интерфейсом (к примеру eth0).<br />
[log|log-all] – при желании можно логировать события которые подпадают под правило. По умолчанию лог пишется в /var/log/syslog. При использовании опции log – в файл будут записаны лишь пакеты участвующие при установке соединения с сервером. Используя опцию log-all в лог файл будут записаны все пакеты подпадающие под правило.<br />
[proto protocol] – в правиле можно указать для какого протокола оно действует: tcp или udp.<br />
[from ADDRESS [port PORT]] – адрес и порт источника пакета<br />
[to ADDRESS [port PORT]] – адрес и порт получателя пакета</p>
<p><strong>Профили приложений</strong><br />
Ufw позволяет создавать профили приложений. в которых можно указать все порты которые используются и удобно добавлять их в правила. Так к примеру можно создать профиль для веб-сервера Apache, указав что слушает он 80 и 443 порты по протоколу tcp.<br />
Профили приложений являются текстовыми файлами и могут быть отредактированы любым текстовым редактором. все файлы хранятся в директории /etc/ufw/applications.d:<br />
<code>root@server:/etc/ufw/applications.d# pwd<br />
/etc/ufw/applications.d<br />
root@server:/etc/ufw/applications.d# ls -l<br />
итого 12<br />
-rw-r--r-- 1 root root 406 2009-11-13 00:52 apache2.2-common<br />
-rw-r--r-- 1 root root 145 2009-10-22 22:50 openssh-server<br />
-rw-r--r-- 1 root root 241 2009-09-22 16:52 postfix<br />
</code><br />
Рассмотрим пример профиля приложения apache2.2-common:<br />
<code>[Apache]<br />
title=Web Server<br />
description=Apache v2 is the next generation of the omnipresent Apache web server.<br />
ports=80/tcp<br />
[Apache Secure]<br />
title=Web Server (HTTPS)<br />
description=Apache v2 is the next generation of the omnipresent Apache web server.<br />
ports=443/tcp<br />
[Apache Full]<br />
title=Web Server (HTTP,HTTPS)<br />
description=Apache v2 is the next generation of the omnipresent Apache web server.<br />
ports=80,443/tcp</code><br />
В одном файле может находится несколько профилей. В данном примере 3: Apache, Apache Secure, Apache Full. Структура записей проста: сначала имя профиля в квадратных скобка ([Apache Full]), далее развернутое наименования приложения, далее описание приложения и список портов с указанием протокола которые задействованы в профиле (80,443/tcp).</p>
<p>Вывести список профилей можно с помощью команды:<br />
<code># ufw app list<br />
Доступные приложения:<br />
Apache<br />
Apache Full<br />
Apache Secure<br />
OpenSSH<br />
Postfix<br />
Postfix Submission</code></p>
<p>Детальную информацию по профилю можно просмотреть с помощью команды:<br />
<code># ufw app info OpenSSH<br />
Профиль: OpenSSH<br />
Название: Secure shell server, an rshd replacement<br />
Описание: OpenSSH is a free implementation of the Secure Shell<br />
protocol.<br />
Порт:<br />
22/tcp</code><br />
После добавления или изменения профиля приложения (в файле) необходимо дать знать файрволу о новом профиле:<br />
<code># ufw app update OpenSSH</code></p>
<p>Для того что б новый профиль сразу вступил в силу, необходимо добавить опцию &#8211;add-new:</p>
<p><code># ufw app update --add-new OpenSSH</code></p>
<p>По умолчанию добавленные с помощью &#8211;add-new профили не будут обрабатываться файрволом. Рекомендуется вначале задать политику для новых профилей приложений:<br />
ufw app default allow|deny<br />
После чего все новые профили приложений будут добавляться в цепочку файрвола с указанной политикой.</p>
<p>Использовать профили приложений можно также при создании обычных правил, например:<br />
<code># ufw allow OpenSSH</code></p>
<p><strong>Настройка профиля безопасности</strong><br />
1. Ограничение входящих подключений к FTP и Веб серверу<br />
Пример настройки файрвола для ситуации, когда необходимо заблокировать доступ к FTP и Веб серверу с адреса 192.168.100.100. В примере 192.168.1.11 &#8211; сервер на котором настраивается файрвол:</p>
<p><code>root@server:/etc/ufw/applications.d# ufw deny proto tcp from 192.168.100.100 to 192.168.1.11 port 21,80<br />
Правило добавлено<br />
root@server:/etc/ufw/applications.d# ufw status<br />
Статус: активно<br />
До                       Действие            От<br />
----                       --------------------<br />
192.168.1.11 21,80/tcp     DENY        192.168.100.100</code></p>
<p>Теперь при попытках подключения с хоста 192.168.100.100 к 21 или 80 порту хоста 192.168.1.11 клиент будет висеть пока не отвалится по таймауту.</p>
<p>Удалим это правило и добавить аналогичное но с действием reject:<br />
<code># ufw delete deny proto tcp from 192.168.100.100 to 192.168.1.11 port 21,80<br />
# ufw reject proto tcp from 192.168.100.100 to 192.168.1.11 port 21,80</code></p>
<p>Теперь при попытке подключения к 21 порту сервера удаленный клиент получит ответ Connection refused:<br />
<code>$ telnet 192.168.1.11 21<br />
Trying 192.168.1.11...<br />
telnet: Unable to connect to remote host: Connection refused<br />
</code><br />
Просканируем порты сервера:<br />
<code>:~# nmap -sT 192.168.1.100<br />
Starting Nmap 5.00 ( http://nmap.org ) at 2009-12-28 22:56 EET<br />
Interesting ports on 192.168.1.100:<br />
Not shown: 992 closed ports<br />
PORT     STATE    SERVICE<br />
21/tcp   filtered ftp<br />
22/tcp   open	ssh<br />
80/tcp   filtered http<br />
139/tcp  open     netbios-ssn<br />
445/tcp  open     microsoft-ds<br />
2323/tcp open     unknown<br />
3128/tcp open     squid-http<br />
5900/tcp open     vnc<br />
MAC Address: 00:18:F3:67:85:9E (Asustek Computer)<br />
Nmap done: 1 IP address (1 host up) scanned in 17.52 seconds</code></p>
<p>2. Ограничение исходящих подключений к указанному серверу<br />
Цель &#8211; запретить исходящие подключения с сервера к адресу 195.214.195.105:</p>
<p><code># ufw deny proto tcp to 195.214.195.105</code></p>
<p>3. Ограничение попыток авторизации  по ssh<br />
<code># ufw limit 22</code></p>
<p>Произведем несколько попыток подключения к 22 порту сервера с введением заведомо неправильного пароля:<br />
<code>user@remote:~$ ssh 192.168.1.100<br />
user@192.168.1.100's password:<br />
Permission denied, please try again.<br />
user@192.168.1.100's password:<br />
user@remote:~$ ssh 192.168.1.100<br />
user@192.168.1.100's password:<br />
Permission denied, please try again.<br />
user@192.168.1.100's password:<br />
user@remote:~$ ssh 192.168.1.100<br />
user@192.168.1.100's password:<br />
Permission denied, please try again.<br />
user@192.168.1.100's password:<br />
user@remote:~$<br />
user@remote:~$ ssh 192.168.1.100<br />
ssh: connect to host 192.168.1.100 port 22: Connection refused<br />
user@remote:~$ ssh 192.168.1.100<br />
ssh: connect to host 192.168.1.100 port 22: Connection refused</code></p>
<p>Как видим после нескольких неудачных попыток файрвол блокирует IP адрес с которого исходят попытки подключения и в логах появится соответсвтующяя запись:<br />
<code>Dec 28 22:59:13 fortress kernel: [273659.578463] [UFW LIMIT BLOCK] IN=eth0 OUT= MAC=00:18:f3:67:85:9e:00:26:5e:46:40:86:08:00 SRC=192.168.1.156 DST=192.168.1.100 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3150 DF PROTO=TCP SPT=33783 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0<br />
Dec 28 22:59:15 fortress kernel: [273661.231264] [UFW LIMIT BLOCK] IN=eth0 OUT= MAC=00:18:f3:67:85:9e:00:26:5e:46:40:86:08:00 SRC=192.168.1.156 DST=192.168.1.100 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=763 DF PROTO=TCP SPT=33784 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0</code></p>
<p>4. Логирование пакетов<br />
<code># ufw allow log 22</code></p>
<p>С помощью этого правила файрвол будет логировать пакеты установки соединиения по указанному 22 порту. В логах появятся следующие записи:<br />
<code>Dec 28 23:04:18 fortress kernel: [273964.364715] [UFW ALLOW] IN=eth0 OUT= MAC=00:18:f3:67:85:9e:00:26:5e:46:40:86:08:00 SRC=192.168.1.156 DST=192.168.1.100 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=6564 DF PROTO=TCP SPT=58069 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0</code></p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/nastrojka-ufw-v-ubuntu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Распределенное управление с помощью dsh</title>
		<link>http://chooselinux.org.ua/raspredelennoe-upravlenie-s-pomoshhyu-dsh/</link>
		<comments>http://chooselinux.org.ua/raspredelennoe-upravlenie-s-pomoshhyu-dsh/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 15:18:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Сервер]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=237</guid>
		<description><![CDATA[Я уже рассказывал в статье Настройка ssh авторизации по ключу о том как заходить на ваши наиболее часто используемые сервера не заморачиваясь вводом пароля. Сегодня речь пойдет о том, как удобно и быстро производить однотипные операции на множестве серверов одновременно. Итак, представим ситуацию, вы управляете 10 серверами, и на каждом к примеру вам надо установить [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chooselinux.org.ua/wp-content/uploads/2009/12/cluster.jpeg" alt="linux dsh настройка" title="linux dsh настройка" width="600" height="450" class="aligncenter size-full wp-image-243" /><br />
Я уже рассказывал в статье <a href="http://chooselinux.org.ua/nastrojka-ssh-atvorizacii-po-klyuchu/">Настройка ssh авторизации по ключу</a> о том как заходить на ваши наиболее часто используемые сервера не заморачиваясь вводом пароля. Сегодня речь пойдет о том, как удобно и быстро производить однотипные операции на множестве серверов одновременно.<br />
<span id="more-237"></span></p>
<p>Итак, представим ситуацию, вы управляете 10 серверами, и на каждом к примеру вам надо установить одинаковый софт. Что первое приходит в голову? Заходить на каждый из серверов и вставлять из буфера обмена команды для установки нужного вам ПО? Но ведь это не Linux Style!</p>
<p>Добрые люди давно придумали средство для распределенного администрирования серверов &#8211; dsh (Distributed shell). Другими словами &#8211; это программа которая получает на вход команду и распространяет ее по необходимому количеству серверов, выполняет там и выдает вам результат. </p>
<p>Для начала надо определится с какого сервера мы будет давать команды. Этот сервер я буду называть главным. Именно на нем и надо поставить пакет dsh:</p>
<pre><code>sudo apt-get install dsh</code></pre>
<p>Дальше необходимо на каждом из серверов, которым мы будем управлять поставить сертификаты для входа по ssh без пароля (желаетельно сертификаты делять для полтьзователя root, тогда не возникнет проблем, к примеру, при установке ПО или перезапуске Apache):</p>
<pre><code>$ sudo -i
# ssh-keygen -t rsa
# scp id_rsa.pub server1:~/.ssh/authorized_keys
# scp id_rsa.pub server2:~/.ssh/authorized_keys
...
# scp id_rsa.pub server10:~/.ssh/authorized_keys
</code></pre>
<p>Теперь с главного должно быть возможным логинится на подчиненные по ssh без пароля. Если не получилось, обратитесь к статье <a href="http://chooselinux.org.ua/nastrojka-ssh-atvorizacii-po-klyuchu/">Настройка ssh атворизации по ключу</a>.</p>
<p>Далее необходимо настроить группы серверов.<br />
В файле <em>/etc/dsh/group/all</em> перечисляем все наши сервера:<br />
<code>server1<br />
server2<br />
server3<br />
server4<br />
server5<br />
server6<br />
server7<br />
server8<br />
server9<br />
server10</code></p>
<p>К примеру сервера 1,2 &#8211; сервера баз данных, 3,4 &#8211; файловые сервера, а 5-10 &#8211; веб ноды. Тогда есть смысл сгрпировать их по предназначению. Для этого создаем файлики:<br />
<code>/etc/dsh/group/db:<br />
server1<br />
server2</code></p>
<p><code>/etc/dsh/group/ftp<br />
server3<br />
server4</code></p>
<p><code>/etc/dsh/group/web<br />
server5<br />
server6<br />
server7<br />
server8<br />
server9<br />
server10</code></p>
<p>Когда dsh настроен, приступаем к использованию.<br />
Пробуем выполнить:<br />
<code>dsh -g all uptime</code><br />
если установка сертификатов прошла успешно, dsh выполнит uptime на всех серверах и выведет вам результат. Если вы увидите запрос на ввод пароля, значит сертификаты не поставились правильно и их желательно поправить.</p>
<p>По умолчанию, dsh выводит просто результат выполнения команды. Очень часто важно видеть с какого-же сервера пришел ответ. Для этого нужен ключ -M, который в начале строки будет отображать имя машины, на которой выполнена команда (имя берется из конфигурационного файла dsh, а не из hostname машины).</p>
<p><code># dsh -g web -M "/etc/init.d/apache2 status"<br />
server5:  * Apache is running (pid 26433).<br />
server6:  * Apache is running (pid 24787).<br />
server7:  * Apache is running (pid 21304).<br />
server8:  * Apache is running (pid 19856).<br />
server9:  * Apache is running (pid 17266).<br />
server10:  * Apache is running (pid 26343).</code></p>
<p>Ну вот и все, это и есть основы dsh. Немножко больше можно научится делать, почитав man.</p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/raspredelennoe-upravlenie-s-pomoshhyu-dsh/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Настройка Wifi на нетбуке Compaq mini 110c, Ubuntu 9.10</title>
		<link>http://chooselinux.org.ua/nastrojka-wifi-na-netbuke-compaq-mini-110c-ubuntu-9-10/</link>
		<comments>http://chooselinux.org.ua/nastrojka-wifi-na-netbuke-compaq-mini-110c-ubuntu-9-10/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 14:03:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Система]]></category>
		<category><![CDATA[broadcom]]></category>
		<category><![CDATA[compaq mini 110c]]></category>
		<category><![CDATA[karmic koala]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=199</guid>
		<description><![CDATA[Так сложилось, что нетбук Compaq mini 110c появился у меня приблизительно в то-же время, когда была выпущена Кармическая Коала. Поэтому долго выбирать операционную систему для нетбука не пришлось. На десктопе была создана загрузочная флешка дистрибутива и система успешно установилась на нетбук. На удивление все работало хорошо и быстро. Однако wifi распознан не был. Итак, дял [...]]]></description>
			<content:encoded><![CDATA[<p>Так сложилось, что нетбук Compaq mini 110c появился у меня приблизительно в то-же время, когда была выпущена Кармическая Коала. Поэтому долго выбирать операционную систему для нетбука не пришлось. На десктопе была создана загрузочная флешка дистрибутива и система успешно установилась на нетбук. На удивление все работало хорошо и быстро. Однако wifi распознан не был.<br />
<span id="more-199"></span><br />
<img src="http://chooselinux.org.ua/wp-content/uploads/2009/11/compaq_mini_110c.jpg" alt="compaq_mini_110c" title="compaq_mini_110c" width="645" height="548" class="aligncenter size-full wp-image-205" /><br />
Итак, дял начала пришлось определить, какой-же wifi адаптер используется в нетбуке:<br />
<code>boffin@laptop:~$ lspci<br />
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)<br />
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)<br />
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)<br />
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)<br />
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)<br />
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)<br />
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)<br />
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)<br />
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)<br />
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)<br />
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)<br />
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)<br />
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)<br />
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)<br />
<strong>01:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)</strong><br />
02:00.0 Ethernet controller: Attansic Technology Corp. Atheros AR8132 / L1c Gigabit Ethernet Adapter (rev c0)<br />
</code></p>
<p>После этого были скачаны драйвера с сайта производителя. Они были в виде exe установщика, так-что пришлось распаковать их в виртуальной машине. Сам драйвер, готовый для установки в Ubuntu, можно скачать <a href="http://chooselinux.org.ua/wp-content/uploads/2009/11/bcmwl5.tar.gz">здесь</a>.</p>
<p>Распаковываем драйвер:<br />
<code>boffin@laptop:~$ tar zxvf bcmwl5.tar.gz<br />
boffin@laptop:~$ cd bcmwl5</code></p>
<p>Далее был установлен ndiswrapper (который и позволит использовать windows драйвер в linux-е):<br />
<code>boffin@laptop:~/bcmwl5$ sudo apt-get install ndiswrapper</code></p>
<p>Проинсталлируем наш драйвер в ndiswrapper:<br />
<code>boffin@laptop:~/bcmwl5$ sudo ndiswrapper -i bcmwl5.inf<br />
</code></p>
<p>И проверим, действительно ли он поставился:<br />
<code>boffin@laptop:~/bcmwl5$ ndiswrapper -l<br />
bcmwl5 : driver installed<br />
        device (14E4:4315) present (alternate driver: ssb)<br />
</code></p>
<p>Как видим, Убунта уже пытается использовать какой-то ssb драйвер для нашего wifi адаптера. Теперь он нам не нужен, а следовательно:<br />
<code>boffin@laptop:~/bcmwl5$ sudo echo blacklist b43 >> /etc/modprobe.d/blacklist<br />
boffin@laptop:~/bcmwl5$ sudo echo blacklist ssb >> /etc/modprobe.d/blacklist<br />
boffin@laptop:~/bcmwl5$ sudo rmmod b43<br />
boffin@laptop:~/bcmwl5$ sudo rmmod ssb<br />
</code><br />
Модуль ssb не выгрузится, если предварительно не выгрузить b43. Мы занесли эти модули в черный список, это не даст им загрузиться при старте системы.</p>
<p>Загружаем модуль ndiswrapper (который и содержит наш драйвер):<br />
<code>boffin@laptop:~/bcmwl5$ sudo ndiswrapper -m<br />
boffin@laptop:~/bcmwl5$ sudo modprobe ndiswrapper<br />
boffin@laptop:~/bcmwl5$ sudo echo ndiswrapper >> /etc/modules<br />
</code></p>
<p>После данных манипуляций Wifi должен начать работать. Работать будет даже кнопка на корпусе, которая включает/выключает wifi адаптер и при этом меняет цвет.</p>
<p>Проверяем:</p>
<pre><code>boffin@laptop:~/bcmwl5$ iwlist scanning
lo        Interface doesn't support scanning.
eth0      Interface doesn't support scanning.
pan0      Interface doesn't support scanning.
wlan0     Scan completed :
          Cell 01 - Address: 00:1B:11:A3:2D:CA
                    ESSID:"AP-01"
                    Protocol:IEEE 802.11g
                    Mode:Managed
                    Frequency:2.417 GHz (Channel 2)
                    Quality:100/100  Signal level:-23 dBm  Noise level:-96 dBm
                    Encryption key:on
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                              9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
                              48 Mb/s; 54 Mb/s
                    Extra:bcn_int=100
                    Extra:atim=0
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (1) : TKIP
                        Authentication Suites (1) : PSK
</code></pre>
<p>Все, wifi на Compaq mini 110c настроен и работает.</p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/nastrojka-wifi-na-netbuke-compaq-mini-110c-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Разворачиваем свой VPS на основе OpenVZ + Ubuntu</title>
		<link>http://chooselinux.org.ua/razvorachivaem-svoj-vps-na-osnove-openvz-ubuntu/</link>
		<comments>http://chooselinux.org.ua/razvorachivaem-svoj-vps-na-osnove-openvz-ubuntu/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 18:53:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Сервер]]></category>
		<category><![CDATA[openvz]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=173</guid>
		<description><![CDATA[Порой каждый задумывается начать зарабатывать деньги своим умом в интернете. Один из самых простых вариантов для человека обладающего базовыми навыками в администрировании Linux &#8211; предоставление виртуального хостинга. Для этого достаточно взять в аренду выделенный сервер, желательно помощнее, и установить на нем ОС + OpenVZ. 0. Введение А теперь по порядку. Для начала необходимо установить операционную [...]]]></description>
			<content:encoded><![CDATA[<p>Порой каждый задумывается начать зарабатывать деньги своим умом в интернете. Один из самых простых вариантов для человека обладающего базовыми навыками в администрировании Linux &#8211; предоставление виртуального хостинга. Для этого достаточно взять в аренду выделенный сервер, желательно помощнее, и установить на нем ОС + OpenVZ.<br />
<span id="more-173"></span><br />
<img src="http://chooselinux.org.ua/wp-content/uploads/2009/09/openvz.jpg" alt="openvz" title="openvz" width="152" height="147" class="aligncenter size-full wp-image-177" /><br />
<strong>0. Введение</strong><br />
А теперь по порядку. Для начала необходимо установить операционную систему на сервер. Мой выбор пал на Ubuntu 9.04 Server, так как это самая свежая стабильная версия. Далее необходимо установить на нее виртуальную машину &#8211; OpenVZ. Особенностью OpenVZ является то, что виртуализация происходит на очень низком уровне, за счет чего достигается высокая производительность гостевых систем. Однако для достижения высокой производительности придется использовать специальную версию ядра, так что не бойтесь если при установке OpenVZ предложит скачать новую версию ядра. Далее необходимо скачать образ гостевой системы, которая и будет разворачиваться на виртуальной(гостевой) машине. И еще, для полноценной работы VPS как сервиса, который будет приносить деньги, необходимо каждому виртуальному серверу выдать по IP адресу.</p>
<p>Итак, преимущества виртуальных серверов в том, что они предоставляют изолированное окружение, и клиенты получают рутовый пароль на систему. Так-же следует отметить что в таком случае безопасность внутри виртуальных машин будут отвечать сами клиенты, а злоумышленник с рутовым доступом на виртуальной машине не сможет навредить физическому серверу или соседним виртуальным машинам. </p>
<p>Важно постараться поставить как можно меньше программного обеспечения на физический сервер, в идеале это только OpenVZ и OpenSSH.</p>
<p>Ну а теперь непосредственно процедура установки и настройки OpenVZ (в моих примерах предполагается что у вас установлена свежая Ubuntu 9.04 Server, без дополнительного ПО):</p>
<p><strong>1. Подготовка места на диске для хранения виртуальных машин</strong><br />
Для удобства работы и масштабируемости сервера рекомендуется иметь отдельный жесткий диск ( а лучше два, в рейде, для зеркалирования данных пользователя). Предлагаю в корне создать директорию /vz. В эту директорию монтировать жесткий диск. Для этого в /etc/fstab необходимо добавить строчку:<br />
<code>/dev/sdb1 /vz               ext3    defaults 0       0</code><br />
где /dev/sdb1 &#8211; ваш жесткий диск для хранения виртуальных машин.</p>
<p><strong>2. Установка ядра системы с поддержкой виртуализации</strong><br />
Для этого стоит выполнить команду:<br />
<code># apt-get install vzctl</code><br />
пакетный менеджер автоматически подтянет ядро с поддержкой openvz нужной версии. В моем случае был установлен linux-image-2.6.26-2-openvz.<br />
После перезагрузки необходимо произвести настройку ядра, редактируем файл /etc/sysctl.conf и меняем следующие строки:<br />
<code><br />
net.ipv4.ip_forward=1<br />
net.ipv4.conf.default.forwarding=1<br />
net.ipv4.conf.default.proxy_arp = 0<br />
net.ipv4.conf.all.rp_filter = 1<br />
net.ipv4.conf.default.send_redirects = 1<br />
net.ipv4.conf.all.send_redirects = 0<br />
kernel.sysrq = 1<br />
</code><br />
После сохранения файла необходимо применить новые параметры ядра:<br />
<code># sysctl -p </code></p>
<p><strong>3. Установка виртуальной машины (гостевой системы)</strong><br />
Для начала необходимо скачать образ операционной системы, которая будет использоваться в гостевой системе. Для этого выбираем на образ на сайте <a href="http://openvz.org/download/template/cache/">http://openvz.org/download/template/cache/</a> и скачиваем его в директорию /vz/template/cache:<br />
<code><br />
# mkdir -p /vz/template/cache<br />
# cd /vz/template/cache<br />
# wget http://download.openvz.org/template/precreated/ubuntu-9.04-x86_64.tar.gz<br />
</code><br />
В моем случае для гостевой операционной системы была выбрана Ubuntu  9.04.</p>
<p>Далее необходимо создать непосредственно виртуальную машину, на основе нашего образа. Так как на VPS хостинге эту задачу надо будет повторять неоднократно, удобно использовать скрипт:<br />
<code><br />
root_pw="root_password"              # пароль пользователя root в гостевой системе<br />
os_template="ubuntu-9.04-x86_64" # имя образа ОС для гостевой системы<br />
vm_id="1"                      # идентификатор гостевой системы<br />
/usr/sbin/vzctl create ${vm_id} --ostemplate ${os_template} --config vps.basic #создание гостевой системы на основе образа<br />
/usr/sbin/vzctl set ${vm_id} --onboot yes --save # запускать гостевую при старте системы<br />
/usr/sbin/vzctl set ${vm_id} --hostname vps${vm_id}.domain.com --save #установить hostname гостевой<br />
/usr/sbin/vzctl set ${vm_id} --ipadd 192.168.1.190 --save #установить IP адрес<br />
/usr/sbin/vzctl set ${vm_id} --nameserver 192.168.1.12 --save #установить адрес ДНС сервера<br />
/usr/sbin/vzctl set ${vm_id} --userpasswd root:${root_pw} --save #установить пароль пользователя root<br />
/usr/sbin/vzctl set ${vm_id} --cpulimit 15 --save #установка процессорной квоты 15%<br />
#установка дисковой квоты 9 GB (10 GB в течении промежутка 600 секунд)<br />
/usr/sbin/vzctl set ${vm_id} --diskspace 9000000:10000000 --save<br />
/usr/sbin/vzctl set ${vm_id} --quotatime 600 --save<br />
#установка квоты на виртуальную память 160M (168M в течение quotatime - см.выше)<br />
#с гарантией выделения до 120M (128M)<br />
/usr/sbin/vzctl set ${vm_id} --privvmpages 160M:168M --save<br />
/usr/sbin/vzctl set ${vm_id} --vmguarpages 120M:128M --save<br />
/usr/sbin/vzctl start ${vm_id} #запуск новой гостевой системы<br />
</code></p>
<p>Все, теперь в гостевую систему можно логинится по ssh.</p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/razvorachivaem-svoj-vps-na-osnove-openvz-ubuntu/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
