<?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: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-2662530420189562013</id><updated>2012-02-16T07:17:11.173-08:00</updated><title type='text'>Watchman's place</title><subtitle type='html'>About my experience in Linux, Debian and System Administration</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-764931141886647271</id><published>2010-03-24T02:39:00.001-07:00</published><updated>2010-03-24T02:42:23.879-07:00</updated><title type='text'>Миссия: разбудить Beeline</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Как я говорил в &lt;a href='http://jona-web.blogspot.com/2010/03/cron.html'&gt;предыдущем посте&lt;/a&gt;, у &lt;a href='http://beeline.ua'&gt;провайдера&lt;/a&gt; моего есть одна неприятная особенность. Соединение "залипает". Это проявляется в следующих симптомах: ВПН-соединение не обрывается, демон остается уверен, что все работает отлично. Пинги входят и выходят, а интернета - нету. Сайты не отображаются, аська не работает, торренты не качают. Когда у меня был железячный роутер, проблема решалась только перезагрузкой. Причиной называлась перегруженность сервера vpn2.beeline.ua.&lt;br/&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Но вот, Билайн объявил, что специально для Киева и пригородов в начале марта был поднят новый сервер: tp.beeline.ua. Админы активно приглашали тестить и радовали тем, что  нагрузка на нем не поднимается даже до 1%. На радостях, я настроил l2tp-соединение с новым сервером. Но, оказалось, что залипания, хоть и стали намного реже, однако же не пропали совсем. Проблему решил исправить, сваяв небольшой скриптик, который пытается скачать страничку с какого-то всегда доступного сайта в интернете, и если у него это не получается, то перегружать демон xl2tpd.&lt;br/&gt;Собственно, вот сам скрипт:&lt;br/&gt;&lt;big&gt;&lt;span style='font-family: monospace;'&gt;#!/bin/sh&lt;br/&gt;clear&lt;br/&gt;date &amp;gt; /home/jona/test.log&lt;br/&gt;if [ -r index.html ]&lt;br/&gt;    then rm /root/index.html*&lt;br/&gt;fi&lt;br/&gt;echo "trying ya.ru" &amp;gt;&amp;gt; /home/jona/test.log&lt;br/&gt;wget -T 10 -t 1 ya.ru&lt;br/&gt;if [ ! -r index.html ]&lt;br/&gt;    then wget -T 10 -t 1 google.com.ua&lt;br/&gt;    echo "trying google.com.ua" &amp;gt;&amp;gt; /home/jona/test.log&lt;br/&gt;fi&lt;br/&gt;if [ ! -r index.html ]&lt;br/&gt;    then&lt;br/&gt;        /etc/init.d/xl2tpd restart&lt;br/&gt;        date &amp;gt;&amp;gt; /home/jona/restart.log&lt;br/&gt;fi&lt;br/&gt;exit 0&lt;/span&gt;&lt;/big&gt;&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-764931141886647271?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/764931141886647271/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=764931141886647271' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/764931141886647271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/764931141886647271'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2010/03/beeline.html' title='Миссия: разбудить Beeline'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-3842420570588758632</id><published>2010-03-23T03:55:00.001-07:00</published><updated>2010-03-23T04:04:36.698-07:00</updated><title type='text'>Такой интересный CRON</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Понадобилось мне как-то добавить в систему скрипт, который проверял наличие xl2tpd-соединения, поскольку у моего "любимого" провайдера оно периодически "залипает". Скрипт-то я написал, но... возник вопрос, как заставить систему выполнять его каждых 5 минут. Google мне помог. Наш ответ - CRON.&lt;br /&gt;&lt;br /&gt;&lt;span class='fullpost'&gt;&lt;br /&gt;Согласно Вики&lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;, &lt;/span&gt;&lt;/span&gt;cron&lt;/b&gt; — это &lt;a title="Демон (программа)" href="http://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BC%D0%BE%D0%BD_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%29"&gt;демон&lt;/a&gt;-&lt;a title="Планировщик задач (сервис)" href="http://ru.wikipedia.org/wiki/%D0%9F%D0%BB%D0%B0%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D1%89%D0%B8%D0%BA_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87_%28%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%29"&gt;планировщик задач&lt;/a&gt; в &lt;a title="UNIX" href="http://ru.wikipedia.org/wiki/UNIX"&gt;UNIX&lt;/a&gt;-подобных &lt;a title="Операционная система" href="http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0"&gt;операционных системах&lt;/a&gt;, использующийся  для периодического выполнения заданий в заданное время. Каждый пользователь системы имеет свой файл заданий &lt;b&gt;crontab&lt;/b&gt;, в  котором описано, в какое время и какие программы запускать от имени  этого пользователя. Для редактирования файла &lt;tt&gt;crontab&lt;/tt&gt;  используется специальная одноименная программа &lt;span style="font-weight: bold;"&gt;crontab&lt;/span&gt;,  позволяющая не прерывать процесс на время редактирования.&lt;br /&gt;&lt;br /&gt;Вот&lt;br /&gt;&lt;br /&gt;Как и сказано в Вики, запускаем&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(51, 51, 51);"&gt;&lt;span style="font-family:monospace;"&gt;$ crontab -e&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;Если это первый запуск, тогда программа скажет, что для этого пользователя еще не определен редактор для &lt;span style="font-weight: bold;"&gt;crontab-а&lt;/span&gt; и предложит выбрать из всех консольных текстовых редакторов, установленных в системе.&lt;br /&gt;&lt;br /&gt;Далее нам предлагается ввести свою новую задачу&lt;br /&gt;&lt;br /&gt;Синтаксис файла такой:&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(51, 51, 51);"&gt;&lt;span style="font-family:monospace;"&gt;* * * * * команда на исполнение&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:monospace;"&gt;- - - - -&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:monospace;"&gt;| | | | |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:monospace;"&gt;| | | | ----- День недели (0 - 7) (Воскресенье=0 or 7)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:monospace;"&gt;| | | ------- Месяц (1 - 12)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:monospace;"&gt;| | --------- День месяца (1 - 31)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:monospace;"&gt;| ----------- Час (0 - 23)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:monospace;"&gt;------------- Минута (0 - 59)&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;Здесь, в принципе, все должно быть понятно&lt;br /&gt;&lt;br /&gt;* - любое возможное значение&lt;br /&gt;*/5 - каждых 5 минут (часов, дней, месяцев)&lt;br /&gt;1,2,3 - запятая имеет значение "или"&lt;br /&gt;9-17 - любое значение из промежутка&lt;br /&gt;&lt;br /&gt;Вот и вся премудрость&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-3842420570588758632?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/3842420570588758632/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=3842420570588758632' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/3842420570588758632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/3842420570588758632'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2010/03/cron.html' title='Такой интересный CRON'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-1598140274668591247</id><published>2010-02-03T05:05:00.000-08:00</published><updated>2010-02-03T05:10:24.156-08:00</updated><title type='text'>Может описание поменять? :)</title><content type='html'>Благодаря Google вспомнил, что у меня есть блог. Зашел, посмотрел, а в нем последнее сообщение еще 2007-ым годом датировано. Да... давненько я тут не появлялся. В описании висит информация о том, что блог о моем опыте работы с Debian, хотя уже давным давно у меня везде установлена Ubuntu.&lt;br /&gt;Поскольку появилось много мыслей и информации, которой можно поделиться и желание сделать это, то пожалуй буду выводить блог из коматоза. Теперь он будет об Ubuntu, Linux и разнообразном опыте использования этих систем и их администрирования.&lt;br /&gt;В общем, с Богом!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-1598140274668591247?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/1598140274668591247/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=1598140274668591247' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/1598140274668591247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/1598140274668591247'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2010/02/blog-post.html' title='Может описание поменять? :)'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-4264931153067430523</id><published>2007-11-08T01:23:00.001-08:00</published><updated>2007-12-28T00:20:51.816-08:00</updated><title type='text'>Легкий и красивый десктопчик (fluxbox+xcompmgr)</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Признаться честно, у меня было довольно сильное предубеждение относительно всяческих рюшечек на десктопе: тени, полупрозрачность и прочее. Тем более, что на рабочем столе у меня &lt;b&gt;Fluxbox&lt;/b&gt;, а у него своей прозрачности нет (есть правда псевдопрозрачность, но это штука гадкая). Однако, путешествуя по различным блогам наткнулся на интересную весч - &lt;b&gt;xcompmgr&lt;/b&gt;. Автор использовал ее вместе с &lt;b&gt;transset&lt;/b&gt;, однако, как выяснилось в последствии, он мне не пригодился. На работе выдалось свободный часик, и я решил попробовать...&lt;br /&gt;&lt;span class='fullpost'&gt;&lt;br /&gt;Как оказалось, в репозитариях Debian Lenny этого пакета не оказалось, однако же он нашелся в ветке &lt;b&gt;Experimental&lt;/b&gt;. Опасаясь неприятностей с неудовлетворенными зависимостями и прочих трудностей, решил собрать этот пакет из исходников в своем окружении.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Насторойка apt-get&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;В список репозитариев &lt;b&gt;/etc/apt/sources.list&lt;/b&gt; добавляем строчку:&lt;br /&gt;&lt;em&gt;deb-src [WWW] http://ftp.debian.org/debian experimental main contrib non-free&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;После этого: &lt;br /&gt;&lt;br /&gt;&lt;em&gt;#apt-get update&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Будем считать систему готовой к дальнейшим действиям&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Получение и распаковка исходников:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;$apt-get source package&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;В нашем случае &lt;b&gt;package=xcompmgr&lt;/b&gt; поэтому делаем&lt;br /&gt;&lt;br /&gt;&lt;em&gt;$apt-get source xcompmgr&lt;br /&gt;Читання переліків пакетів... Виконано&lt;br /&gt;Побудова дерева залежностей                &lt;br /&gt;Reading state information... Виконано               &lt;br /&gt;Потрібно завантажити 72,5kB архівів з вихідними текстами.&lt;br /&gt;Отр:1 http://ftp.debian.org experimental/main xcompmgr 1.1.1+cvs.20051218-1 (dsc) [844B]&lt;br /&gt;Отр:2 http://ftp.debian.org experimental/main xcompmgr 1.1.1+cvs.20051218-1 (tar) [70,2kB]&lt;br /&gt;Отр:3 http://ftp.debian.org experimental/main xcompmgr 1.1.1+cvs.20051218-1 (diff) [1470B]&lt;br /&gt;Отримано 72,5kB за 2sB (35,9kB/s)&lt;br /&gt;gpg: Signature made пн, 19-гру-2005 04:57:34 +0200 EET using DSA key ID 37155778&lt;br /&gt;gpg: Can't check signature: public key not found&lt;br /&gt;dpkg-source: extracting xcompmgr in xcompmgr-1.1.1+cvs.20051218&lt;br /&gt;dpkg-source: unpacking xcompmgr_1.1.1+cvs.20051218.orig.tar.gz&lt;br /&gt;dpkg-source: applying ./xcompmgr_1.1.1+cvs.20051218-1.diff.gz&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Ну вот, все получили, хотя были предупреждения о том, что не найден public key, ну да это не критично.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Зависимости для сборки:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Это может оказаться как самый простой вопрос, так и самый сложный. Ситуация состоит в следующем. Майнтенер пакета, как правило является человеком хорошо разбирающимся во внутреннем устройстве Debian поэтому майнтенеры зачастую раньше других переходят на использование testing/unstable веток. Кроме того аплоад пакетов в Debian происходит прежде всего в unstable, а потому во первых: майнтенер часто оттестировал сборку своего пакета только под testing/unstable, а во вторых прописал Build-зависимости на те версии библиотек которые у него были на момент сборки. Довольно редко авторы программ указывают версионные зависимости для своих детищ, а потому такое поведение майнтенера, зачастую, является наиболее логичным. Выяснять с какой версией той или иной библиотеки перестанет собираться программа занимает много времени и сил, а зачастую и не очень нужно. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Установка зависимостей:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Делаем&lt;br /&gt;&lt;br /&gt;&lt;em&gt;# apt-get build-dep xcompmgr&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Тут возможны два варианта: &lt;br /&gt;1 - все получилось с первого раза. Мы облегченно вздыхаем, создаем .deb-пакет и радуемся.&lt;br /&gt;2 - есть неудовлетворенные зависимости. Тогда придется еще немного поплясать.&lt;br /&gt;&lt;br /&gt;Есть разные варианты решения этой проблемы, но 100% результат дает метод - проверить, каких пакетов не хватает, и рекурсивно, по этому же руководству их установить. Как правило их перечень не настолько большой чтобы испугать настойчивого человека.&lt;br /&gt;&lt;br /&gt;Для того чтобы узнать что еще не установлено для сборки пакета, запустите утилиту &lt;b&gt;dpkg-checkbuilddeps&lt;/b&gt; в каталоге с исходными текстами. Эта утилита выведет список того что требуется для сборки, но еще не установлено в Вашей системе. Для перехода к следующему шагу Вам необходимо добиться того чтобы утилита &lt;b&gt;dpkg-checkbuilddeps&lt;/b&gt; не выдавала сообщений о неудовлетворенных зависимостях.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. Сборка пакета:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Переходим в каталог с распакованными исходниками и набираем:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;$ fakeroot ./debian/rules binary&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;В результате в родительском каталоге будет собран .deb-пакет, ради которого все и затеивалось. В нашем случае это &lt;b&gt;xcompmgr&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ну а дальше просто:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;#dpkg -i xcompmgr_1.1.1+cvs.20051218-1_i386.deb&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;И сердце учащенно бьется ожидая, когда же мы увидим заветную прозрачность и тени... :)&lt;br /&gt;&lt;br /&gt;Для этого в консоли набираем:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;$xcompgr &amp;amp;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;И тут возникает вопрос: "Почему ничего не происходит?.."&lt;br /&gt;А все дело в том, что мы забыли включить необходимые опции в файле &lt;span style="font-style:italic;"&gt;/etc/X11/xorg.conf&lt;/span&gt; :)&lt;br /&gt;&lt;br /&gt;Идем в xorg.conf и добавляем туда такой раздел:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Section "Extensions"&lt;br /&gt;    Option "Composite" "Enable"&lt;br /&gt;    Option "RENDER" "Enable"&lt;br /&gt;EndSection&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Пробуем еще раз:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;$xcompgr &amp;amp;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Это добавит нам прозрачности. Чтобы установить прозрачность окошка, кликаем правой кнопкой мыши на заголовке интересующего нас окошка и мышкой устанавливаем значения прозрачности. Левая кнопка - уменьшить, Правая - увеличить. Потом желательно пойти в раздел: &lt;i&gt;Запомнить&lt;/i&gt;, и значения прозрачности запомнить, поставив галочку напротив пункта &lt;i&gt;Прозрачность&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Если хочется теней вокруг окошек, то делаем так:&lt;br /&gt;&lt;em&gt;$xcompmgr -c &amp;amp;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;А если хочется еще и эффекта затухания, тогда делаем так:&lt;br /&gt;&lt;em&gt;$xcompmgr -cf &amp;amp;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Для того чтобы эта радость сопровождала нас каждый сеанс работы за компьютером, идем в &lt;b&gt;~/.fluxbox/startup&lt;/b&gt;  и дописываем туда &lt;i&gt;xcompmgr -c &amp;amp;&lt;/i&gt; перед &lt;i&gt;exec /usr/bin/fluxbox&lt;/i&gt;&lt;br /&gt;Вот что у нас получилось...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NoOKuoEVNSQ/RzLaHhMmJZI/AAAAAAAAABU/n6JIY0zzS8Q/s1600-h/snapshot-2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_NoOKuoEVNSQ/RzLaHhMmJZI/AAAAAAAAABU/n6JIY0zzS8Q/s320/snapshot-2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5130402748233557394" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NoOKuoEVNSQ/RzLZ_xMmJYI/AAAAAAAAABM/-sFFQ47TW0w/s1600-h/snapshot-1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_NoOKuoEVNSQ/RzLZ_xMmJYI/AAAAAAAAABM/-sFFQ47TW0w/s320/snapshot-1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5130402615089571202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Статья о том, как устанавливать пакеты из unstable и experimental лежит &lt;a href="http://wiki.debian.org/DebianRussian/DebinstPackages"&gt;здесь&lt;/a&gt;&lt;br /&gt;А вот &lt;a href="http://iportnov.blogspot.com/2006/11/ion3.html"&gt;здесь&lt;/a&gt; я взял саму идею. Спасибо авторам.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-4264931153067430523?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/4264931153067430523/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=4264931153067430523' title='6 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/4264931153067430523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/4264931153067430523'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2007/11/fluxboxxcompmgr.html' title='Легкий и красивый десктопчик (fluxbox+xcompmgr)'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NoOKuoEVNSQ/RzLaHhMmJZI/AAAAAAAAABU/n6JIY0zzS8Q/s72-c/snapshot-2.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-3325190576914276081</id><published>2007-10-23T03:34:00.001-07:00</published><updated>2007-11-22T03:42:57.585-08:00</updated><title type='text'>Поднимаем сервер для небольшого оффиса (DHCP, IpTables, NAT, PPTP, Samba...)</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;По долгу службы столкнулся я с необходимостью организовать связь между оффисами, которые находятся в разных городах. Собственно, бухгалтерия из Киева хотела видеть базы 1С которые находятся на компьютере в удаленном оффисе. &lt;br/&gt;&lt;br/&gt;Нужно сказать, что оффис тот не блистал компьютерной оснащенностью. Было несколько компов, напрямую подключенных к провайдеру, чтобы интернет доставать, вот и все, что там было. Почесав репу, я понял, сделаем все как у белых людей. Поставим серверок, на который подвесим все компы, всем раздадим инернет, всех осчастливим... ну и заодно поднимем VPN (Virtual Private Network) между оффисами. Вот и все будут счастливы.&lt;span class='fullpost'&gt;&lt;br/&gt;&lt;br/&gt;Все, что будет изложено ниже - всего лишь базовая (минимальная конфигурация), для того чтобы сделать все более безопасным и функциональным, вам придется потрудиться самостоятельно.&lt;br/&gt;&lt;br/&gt;Первым делом я позвонил провайдеру и попросил, чтобы нам выделили 1 &lt;b&gt;(один, а больше нам и не надо:) )&lt;/b&gt; белый IP-адресс, который можно будет видеть снаружи. Пров сказал "есть! бу сде!" и всего лишь через 3 дня прислал письмецо с уведомлением о том, что IP-шник присовоен а также адресс гейта, за которым нас спрятали.&lt;br/&gt;&lt;br/&gt;Тем временем, я пошел в кладовочку и начал рыться в железках. Нашел там машинку, не шибко новую, но и не совсем уж старую. Так, рабочий такой компьютер с винтом сороковкой, с 256 Мб ОЗУ и встроеной сетевухой. Ну, большего мне пожалуй и не нужно. В соседнем ящике нашел еще одну сетевуху, которую удачно воткнул в подходящий разъем и приступил к установке &lt;b&gt;GNU/Linux Debian Etch 4.0&lt;/b&gt;. &lt;br/&gt;&lt;br/&gt;Детально описывать процесс установки оси я не буду, думаю и сами не раз это делали, единственно отмечу, что нам нужна минимальная конфигурация. Все остальное доставим ручками.&lt;br/&gt;&lt;br/&gt;И вот, ситема установленна. Первым делом я бы рекомендовал установить пакет &lt;b&gt;sudo&lt;/b&gt;, хотя в принципе можете работать и как root, однако это не кошерно :)&lt;br/&gt;&lt;br/&gt;Если все же решили поставить, то после этого добавьте себя в &lt;b&gt;/etc/sudoers&lt;/b&gt;:&lt;br/&gt;&lt;em&gt;root ALL=(ALL) ALL&lt;br/&gt;sys-admin    ALL=(ALL) ALL&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Теперь можете выходить из под рута, и логиниться в свою обычную учетную запись. Все у вас получится!&lt;br/&gt;&lt;br/&gt;(Советую также сразу установить &lt;b&gt;mc&lt;/b&gt; и &lt;b&gt;vim&lt;/b&gt; для удобства дальнейшей работы с системой)&lt;br/&gt;&lt;br/&gt;Пришло время настроить сетевые интерфейсы нашей системы:&lt;br/&gt;Пусть &lt;b&gt;eth0&lt;/b&gt; смотрит внутрь сети, а &lt;b&gt;eth1&lt;/b&gt; во внешний мир тогда файл &lt;b&gt;/etc/network/interfaces&lt;/b&gt; будет иметь такой вид:&lt;br/&gt;&lt;br/&gt;&lt;em&gt;auto lo&lt;br/&gt;iface lo inet loopback&lt;br/&gt;&lt;br/&gt;auto eth0 eth1&lt;br/&gt;&lt;br/&gt;iface eth1 inet static&lt;br/&gt;        address x.x.x.x&lt;br/&gt;        netmask 255.255.255.y&lt;br/&gt;        gateway x.x.x.z&lt;br/&gt;&lt;br/&gt;iface eth0 inet static&lt;br/&gt;        address 192.168.1.1&lt;br/&gt;        netmask 255.255.255.0&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Где x.x.x.x - внешний ip, который вам выдал провайдер, ну и соответственно остальные параметры: маска подсети и гейт за которым вы сидите.&lt;br/&gt;&lt;br/&gt;Не забудьте подправить файл &lt;b&gt;/etc/resolv.conf&lt;/b&gt; и ввести туда данные о днс-серверах, которые дал вам провайдер.&lt;br/&gt;&lt;br/&gt;Теперь, пожалуй нужно поставить все, что необходимо для сервера:&lt;br/&gt;&lt;br/&gt;&lt;em&gt;1. sudo apt-get install dhcp3-server dhcp3-client&lt;br/&gt;2. sudo apt-get install samba samba-client smbfs smbclient&lt;br/&gt;3. sudo apt-get install pptp-linux pptpd ppp&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Это пока все, что нам понадобится на первое время&lt;br/&gt;&lt;br/&gt;Теперь рассмотрим настройку всех этих серверов детальнее...&lt;br/&gt;&lt;br/&gt;&lt;b&gt;1. &lt;a href='http://www.isc.org/index.pl?/sw/dhcp/'&gt;DHCP&lt;/a&gt;(Dynamic Host Configuration Protocol) &lt;/b&gt;- этот сервер будет динамически раздавать сетевые адреса всем клиентам подключенным к нему. Любимый Debian все сделает сам, все, что потребуется от вас - указать как это сделать в единственном конфигурационном файле - &lt;b&gt;/etc/dhcp3/dhcpd.conf:&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;em&gt;option domain-name-servers a.a.a.a, b.b.b.b; # DNS-сервера, которые вам выдал пров.&lt;br/&gt;default-lease-time 7200;&lt;br/&gt;max-lease-time 10800;&lt;br/&gt;option subnet-mask 255.255.255.0;&lt;br/&gt;option routers 192.168.1.1;subnet 192.168.1.0 netmask 255.255.255.0 {&lt;br/&gt;        range 192.168.1.50 192.168.1.150;        # Диапазон выдаваемых адресов}&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Теперь DHCP-сервер будет выдавать всем клиентам адреса с 192.168.1.50 по 192.168.1.150, а также давать информацию о DNS-серверах автоматически.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;2. &lt;a href='http://us3.samba.org/samba/'&gt;Samba&lt;/a&gt;&lt;/b&gt; - на сервере мы заведем общую папочку, в которую все клиенты смогут записывать/читать информацию.&lt;br/&gt;Для этого создаем папочку &lt;b&gt;storage&lt;/b&gt;, в которую будем складывать всю общую информацию, а далее правим файл &lt;b&gt;/etc/samba/smb.conf&lt;/b&gt;:&lt;br/&gt;&lt;br/&gt;&lt;em&gt;[global]&lt;br/&gt;    workgroup = Office&lt;br/&gt;    server string = %h server&lt;br/&gt;    security = SHARE&lt;br/&gt;    obey pam restrictions = Yes&lt;br/&gt;    passdb backend = tdbsam    passwd program = /usr/bin/passwd %u    passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .&lt;br/&gt;    syslog = 0&lt;br/&gt;    log file = /var/log/samba/log.%m&lt;br/&gt;    max log size = 1000&lt;br/&gt;    dns proxy = No&lt;br/&gt;    panic action = /usr/share/samba/panic-action %d&lt;br/&gt;    invalid users = root&lt;br/&gt;&lt;br/&gt;[homes]&lt;br/&gt;    comment = Home Directories&lt;br/&gt;    valid users = %S&lt;br/&gt;    create mask = 0700&lt;br/&gt;    directory mask = 0700&lt;br/&gt;    browseable = No&lt;br/&gt;&lt;br/&gt;[printers]&lt;br/&gt;    comment = All Printers&lt;br/&gt;    path = /var/spool/samba&lt;br/&gt;    create mask = 0700&lt;br/&gt;    printable = Yes&lt;br/&gt;    browseable = No&lt;br/&gt;&lt;br/&gt;[print$]&lt;br/&gt;    comment = Printer Drivers&lt;br/&gt;    path = /var/lib/samba/printers&lt;br/&gt;&lt;br/&gt;[public]&lt;br/&gt;    comment = Central Storage on Server&lt;br/&gt;    path = /home/admin/storage&lt;br/&gt;    read only = No&lt;br/&gt;    guest only = Yes&lt;br/&gt;    guest ok = Yes&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Так мы расшарили папку storage для всех. При желании можете поиграться с правами доступа, тогда нужно будет сменить security=share на security=user, и завести всех пользователей, ну и в общем... man smb.conf :)&lt;br/&gt;&lt;br/&gt;&lt;b&gt;3. VPN-сервер.&lt;/b&gt; Он будет обеспечивать связь между офисом и удаленными клиентами, шифровать и компрессировать передаваемую информацию.&lt;br/&gt;&lt;br/&gt;Есть несколько вариантов организации виртуальной частной сети (OpenVPN, Free SWAN и т.д.), но мы воспользуемся самым простым и унивресальным средством - &lt;b&gt;&lt;a href='http://www.poptop.org/'&gt;PoPToP&lt;/a&gt;&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;В принципе можем поднимать его и так, но тогда пакеты не будут ни шифроваться, ни сжиматься. Вернее будут, но если вы хотите, чтобы к серверу подсоединялся Windows-клиент и при этом выполнялось шифрование и компрессия, то обязательно нужно, чтобы в ядро подргружался модуль ppp_mppe_mppc (&lt;a href='http://en.wikipedia.org/wiki/Microsoft_Point-to-Point_Encryption'&gt;MPPE&lt;/a&gt; и &lt;a href='http://en.wikipedia.org/wiki/Microsoft_Point-to-Point_Compression'&gt;MPPC&lt;/a&gt;). В ядра начиная с 2.6.15 включен модуль ppp_mppe по умолчанию. Это шифрование, но без компрессии. Лично мне так и не удалось завести соединение с этим модулем, поэтому пришлось пересобирать ядро (у меня 2.6.18) патч для ядра можно взять &lt;a href='http://isn.front.ru/files/patches/'&gt;здесь&lt;/a&gt; (кстати присутствуют также и для ядер 2.6.16-2.6.19). Пересобираем ядро (о сборке ядер можете почитать &lt;a href='http://freeshells.ch/%7Epfactum/myfiles/kernel.html'&gt;здесь&lt;/a&gt; и &lt;a href='http://www.linuxcenter.ru/lib/articles/system/kernel26_install.phtml'&gt;здесь&lt;/a&gt;), предварительно наложив на него этот патч, и после пары часов ожидания занимаемся правкой конфигурационных файлов.&lt;br/&gt;&lt;br/&gt;a) &lt;b&gt;/etc/pptpd.conf:&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;em&gt;ppp /usr/sbin/pppd&lt;br/&gt;option /etc/ppp/options.pptpd    #Файл настроек для pppd&lt;br/&gt;debug&lt;br/&gt;logwtmp&lt;br/&gt;localip 192.168.1.1                #IP который получит ваш сервер, когда соединится с удаленным клиентом&lt;br/&gt;remoteip 192.168.1.2-20      #Диапазон адрессов, которые будут выдаваться клиентам, подсоединившимся к серверу&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;b) &lt;b&gt;/etc/ppp/options.pptpd:&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;em&gt;name pptpd&lt;br/&gt;refuse-pap&lt;br/&gt;refuse-chap&lt;br/&gt;refuse-mschap&lt;br/&gt;require-mschap-v2           #соединемся только по протоколу mschap-v2 (необходим для MPPE)&lt;br/&gt;require-mppe&lt;br/&gt;require-mppe-128            #включаем MPPE-MPPC с 128 битным ключем шифрования&lt;br/&gt;proxyarp&lt;br/&gt;lock&lt;br/&gt;nobsdcomp&lt;br/&gt;novj&lt;br/&gt;novjccomp&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Детальней об этих опциях можете почитать в &lt;b&gt;man pppd&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;В файл &lt;b&gt;/etc/init.d/pptpd&lt;/b&gt; в раздел, там где говорится о старте дописываем такие строчки:&lt;br/&gt;&lt;em&gt;    modprobe ppp_mppe_mppc&lt;br/&gt;    modprobe ppp_deflate&lt;br/&gt;    modprobe ppp_async&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;В принципе, могу привести и весь файл:&lt;br/&gt;&lt;em&gt;#!/bin/sh&lt;br/&gt;# Copyright Rene Mayrhofer, Gibraltar, 1999&lt;br/&gt;# This script is distibuted under the GPL&lt;br/&gt;&lt;br/&gt;PATH=/bin:/usr/bin:/sbin:/usr/sbin&lt;br/&gt;DAEMON=/usr/sbin/pptpd&lt;br/&gt;PIDFILE=/var/run/pptpd.pid&lt;br/&gt;FLAGS="defaults 50"&lt;br/&gt;&lt;br/&gt;case "$1" in&lt;br/&gt;  start)&lt;br/&gt;    echo -n "Starting PPTP Daemon: "&lt;br/&gt;    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \&lt;br/&gt;        -- &amp;amp;lt; /dev/null &amp;amp;gt; /dev/null&lt;br/&gt;&lt;font color='#ff0000'&gt;    modprobe ppp_mppe_mppc&lt;br/&gt;    modprobe ppp_deflate&lt;br/&gt;    modprobe ppp_async&lt;/font&gt;&lt;br/&gt;    echo "pptpd."&lt;br/&gt;    ;;&lt;br/&gt;  stop)&lt;br/&gt;    echo -n "Stopping PPTP: "&lt;br/&gt;    start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON&lt;br/&gt;    echo "pptpd."&lt;br/&gt;    ;;&lt;br/&gt;  force-reload|restart)&lt;br/&gt;    echo "Restarting PPTP: "&lt;br/&gt;    sh $0 stop&lt;br/&gt;    sh $0 start&lt;br/&gt;    ;;&lt;br/&gt;    status)&lt;br/&gt;        if [ ! -r $PIDFILE ]; then&lt;br/&gt;            # no pid file, process doesn't seem to be running correctly&lt;br/&gt;            exit 3&lt;br/&gt;        fi&lt;br/&gt;        PID=`cat $PIDFILE | sed 's/ //g'`&lt;br/&gt;        EXE=/proc/$PID/exe&lt;br/&gt;        if [ -x "$EXE" ] &amp;amp;&amp;amp; &lt;br/&gt;                [ "`ls -l \"$EXE\" | cut -d'&amp;amp;gt;' -f2,2 | cut -d' ' -f2,2`" = \&lt;br/&gt;                "$DAEMON" ]; then&lt;br/&gt;            # ok, process seems to be running&lt;br/&gt;            exit 0&lt;br/&gt;        elif [ -r $PIDFILE ]; then&lt;br/&gt;            # process not running, but pidfile exists&lt;br/&gt;            exit 1&lt;br/&gt;        else&lt;br/&gt;            # no lock file to check for, so simply return the stopped status&lt;br/&gt;            exit 3&lt;br/&gt;        fi&lt;br/&gt;        ;;&lt;br/&gt;  *)&lt;br/&gt;    echo "Usage: /etc/init.d/pptpd {start|stop|restart|force-reload}"&lt;br/&gt;    exit 1&lt;br/&gt;    ;;&lt;br/&gt;esac&lt;br/&gt;&lt;br/&gt;exit 0&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;Теперь пожалуй пришло время для скриптов IpTables и NAT&lt;br /&gt;Признаться честно я в этом не очень силен (я не волшебник, я только учусь :) ), поэтому воспользовался скриптом, созданном другими людьми, только немного его подправил, чтобы он работал с pptpd.&lt;br /&gt;Скрипт взял &lt;a href="http://lafox.net/support/index.php?act=findpost&amp;hl=masq&amp;pid=151658"&gt;здесь&lt;/a&gt;, спасибо господам Tsyma и Acid_Jack.&lt;br /&gt;&lt;br /&gt;Ну а вот с моими изменениями:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;$ cat /etc/init.d/masq&lt;br /&gt;#! /bin/sh&lt;br /&gt;#&lt;br /&gt;# skeleton      Example initscript&lt;br /&gt;#               This file should be used to construct scripts to be&lt;br /&gt;#               placed in /etc/init.d.&lt;br /&gt;#&lt;br /&gt;# Author:       Miquel van Smoorenburg &lt;miquels@cistron.nl&gt;.&lt;br /&gt;#               Ian Murdock &lt;imurdock@gnu.ai.mit.edu&gt;.&lt;br /&gt;#&lt;br /&gt;#               Please remove the "Author" lines above and replace them&lt;br /&gt;#               with your own name if you copy and modify this script.&lt;br /&gt;#&lt;br /&gt;# Version:      @(#)skeleton  2.85-23  28-Jul-2004  miquels@cistron.nl&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;#####################################################################################################################&lt;br /&gt;EXTIF_LIST="eth1"&lt;br /&gt;INTIF="eth0"&lt;br /&gt;#PORT_LIST="80 8080" # redirect to 3128&lt;br /&gt;MOD_LIST="ip_nat_pptp ip_tables ip_conntrack ip_conntrack ip_conntrack_ftp ip_conntrack_irc iptable_nat ip_nat_ftp ip_nat_irc"&lt;br /&gt;#####################################################################################################################&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;set -e&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;DESC="MASQ daemon"&lt;br /&gt;NAME=masq&lt;br /&gt;DAEMON='/etc/ln/$NAME'&lt;br /&gt;STOP="iptables -F"&lt;br /&gt;PIDFILE=/var/run/$NAME.pid&lt;br /&gt;SCRIPTNAME=/etc/init.d/$NAME&lt;br /&gt;&lt;br /&gt;IPTABLES=/sbin/iptables&lt;br /&gt;DEPMOD=/sbin/depmod&lt;br /&gt;MODPROBE=/sbin/modprobe&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#echo $DAEMON&lt;br /&gt;# Gracefully exit if the package has been removed.&lt;br /&gt;#test -x $DAEMON || exit 0&lt;br /&gt;# echo "ssssss"&lt;br /&gt;# Read config file if it is present.&lt;br /&gt;#if [ -r /etc/default/$NAME ]&lt;br /&gt;#then&lt;br /&gt;#       . /etc/default/$NAME&lt;br /&gt;#fi&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#       Function that starts the daemon/service.&lt;br /&gt;#&lt;br /&gt;d_start()&lt;br /&gt;{&lt;br /&gt;    echo&lt;br /&gt;    echo "LOADING $DESC"&lt;br /&gt;    echo&lt;br /&gt;    echo "   External Interface(s):  $EXTIF_LIST"&lt;br /&gt;    echo "   Internal Interface   :  $INTIF"&lt;br /&gt;    echo&lt;br /&gt;&lt;br /&gt;echo "   ---[KERNEL MODULES]------------------------------------"&lt;br /&gt;for MOD in $MOD_LIST; do&lt;br /&gt;    echo -en "   * loading kernel module :\t $MOD ... \t"&lt;br /&gt;    $MODPROBE $MOD&lt;br /&gt;    echo "OK"&lt;br /&gt;done&lt;br /&gt;echo "   -------------------------------------------------------"&lt;br /&gt;&lt;br /&gt;echo -en "   Enabling forwarding ..."&lt;br /&gt;echo "1" &gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;echo "OK"&lt;br /&gt;&lt;br /&gt;# Dynamic IP users:&lt;br /&gt;#&lt;br /&gt;#   If you get your IP address dynamically from SLIP, PPP, or DHCP,&lt;br /&gt;#   enable this following option.  This enables dynamic-address hacking&lt;br /&gt;#   which makes the life with Diald and similar programs much easier.&lt;br /&gt;#&lt;br /&gt;echo -en "   Enabling DynamicAddr..."&lt;br /&gt;echo "1" &gt; /proc/sys/net/ipv4/ip_dynaddr&lt;br /&gt;echo "OK"&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;# Enable simple IP forwarding and Masquerading&lt;br /&gt;#&lt;br /&gt;#  NOTE:  In IPTABLES speak, IP Masquerading is a form of SourceNAT or SNAT.&lt;br /&gt;#&lt;br /&gt;#  NOTE #2:  The following is an example for an internal LAN address in the&lt;br /&gt;#            192.168.0.x network with a 255.255.255.0 or a "24" bit subnet mask&lt;br /&gt;#            connecting to the Internet on external interface "eth0".  This&lt;br /&gt;#            example will MASQ internal traffic out to the Internet but not&lt;br /&gt;#            allow non-initiated traffic into your internal network.&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;#         ** Please change the above network numbers, subnet mask, and your&lt;br /&gt;#         *** Internet connection interface name to match your setup&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#Clearing any previous configuration&lt;br /&gt;#&lt;br /&gt;#  Unless specified, the defaults for INPUT and OUTPUT is ACCEPT&lt;br /&gt;#    The default for FORWARD is DROP (REJECT is not a valid policy)&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo&lt;br /&gt;echo -n "   Clearing any existing rules and setting default policy.."&lt;br /&gt;$IPTABLES -P INPUT ACCEPT&lt;br /&gt;$IPTABLES -F INPUT&lt;br /&gt;$IPTABLES -P OUTPUT ACCEPT&lt;br /&gt;$IPTABLES -F OUTPUT&lt;br /&gt;$IPTABLES -P FORWARD DROP&lt;br /&gt;$IPTABLES -F FORWARD&lt;br /&gt;$IPTABLES -t nat -F&lt;br /&gt;echo OK&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for EXTIF in $EXTIF_LIST; do&lt;br /&gt;    echo -en  "   $EXTIF | Allow FORWARD [$EXTIF=&gt;$INTIF]: "&lt;br /&gt;    $IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;    echo -n "OK, "&lt;br /&gt;    echo -en  "[$INTIF =&gt; $EXTIF]:"&lt;br /&gt;    $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT&lt;br /&gt;    $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p gre -j ACCEPT&lt;br /&gt;    $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp -m tcp --dport 1723 -j ACCEPT&lt;br /&gt;    echo -n "OK | "&lt;br /&gt;    echo -en "MASQUERADE: "&lt;br /&gt;    $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE&lt;br /&gt;    echo "OK."&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo -e "\n   ports redirect : "&lt;br /&gt;for PORT in $PORT_LIST; do&lt;br /&gt;    echo -e -n "       * REIRECT $INTIF:$PORT\t=&gt; lo:3128\n";&lt;br /&gt;    $IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --dport $PORT   -j REDIRECT --to-port 3128&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo "done."&lt;br /&gt;&lt;br /&gt;# -- BEGIN OF BLOCK ADDED BY ACID JACK --&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;#&lt;br /&gt;#       Function that stops the daemon/service.&lt;br /&gt;#&lt;br /&gt;d_stop() {&lt;br /&gt;    $IPTABLES -F&lt;br /&gt;    $IPTABLES -t nat -F&lt;br /&gt;    $IPTABLES -F&lt;br /&gt;    $IPTABLES -t nat -F&lt;br /&gt;    for EXTIF in $EXTIF_LIST; do&lt;br /&gt;        echo -n " $EXTIF "&lt;br /&gt;    done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#       Function that sends a SIGHUP to the daemon/service.&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;  start)&lt;br /&gt;        echo -n "Starting $DESC: $NAME ::: "&lt;br /&gt;        d_start&lt;br /&gt;        echo "."&lt;br /&gt;        ;;&lt;br /&gt;  stop)&lt;br /&gt;        echo -n "Stopping $DESC: $NAME ::: "&lt;br /&gt;        d_stop&lt;br /&gt;        echo "."&lt;br /&gt;        ;;&lt;br /&gt;        #       If the daemon can reload its configuration without&lt;br /&gt;        #       restarting (for example, when it is sent a SIGHUP),&lt;br /&gt;        #       then implement that here.&lt;br /&gt;        #&lt;br /&gt;        #       If the daemon responds to changes in its config file&lt;br /&gt;        #       directly anyway, make this an "exit 0".&lt;br /&gt;        #&lt;br /&gt;        # echo -n "Reloading $DESC configuration..."&lt;br /&gt;        # d_reload&lt;br /&gt;        # echo "done."&lt;br /&gt;  #;;&lt;br /&gt;  reload|restart|force-reload)&lt;br /&gt;        #&lt;br /&gt;        #       If the "reload" option is implemented, move the "force-reload"&lt;br /&gt;        #       option to the "reload" entry above. If not, "force-reload" is&lt;br /&gt;        #       just the same as "restart".&lt;br /&gt;        #&lt;br /&gt;        echo -n "Restarting $DESC: $NAME"&lt;br /&gt;        d_stop&lt;br /&gt;        sleep 1&lt;br /&gt;        d_start&lt;br /&gt;        echo "."&lt;br /&gt;        ;;&lt;br /&gt;  *)&lt;br /&gt;        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" &gt;&amp;2&lt;br /&gt;        exit 1&lt;br /&gt;        ;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;exit 0&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-3325190576914276081?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/3325190576914276081/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=3325190576914276081' title='1 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/3325190576914276081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/3325190576914276081'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2007/10/dhcp-iptables-nat-pptp-samba_23.html' title='Поднимаем сервер для небольшого оффиса (DHCP, IpTables, NAT, PPTP, Samba...)'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-1332643960799104882</id><published>2007-08-28T02:18:00.001-07:00</published><updated>2007-08-28T07:06:21.803-07:00</updated><title type='text'>Делаем красивыми XTerm и mc</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Думаю, у большинства людей первой ассоциацией к слову &lt;i&gt;"Linux"&lt;/i&gt; будет слово &lt;i&gt;"Консоль"&lt;/i&gt;. И это не удивительно. Большинство действий по настройке и повседневному использованию этой ОС выполняется именно в консоли. Благо, терминалов для работы с ней хватает. Начиная от стандартных &lt;b&gt;Konsole&lt;/b&gt; и &lt;b&gt;Gnome-terminal&lt;/b&gt;, Quake-подобных &lt;a href='http://yakuake.uv.ro'&gt;yakuake&lt;/a&gt; и &lt;a href='http://tilda.sourceforge.net/'&gt;tilda&lt;/a&gt;, и заканчивая классическим &lt;b&gt;XTerm&lt;/b&gt;.&lt;span class='fullpost'&gt;&lt;br/&gt;Чем пользоваться - ваш выбор. Лично я остановился на той самой классике - XTerm. Почему? Потому что в нем есть все, что мне нужно. А такой недостаток, как отсутствие вкладок (tabs), компенсируется использованием в качестве оконного менеджера &lt;b&gt;fluxbox&lt;/b&gt;, который позволяет обьединять в одном окне несколько копий одного и того же приложения (как в Firefox, одно окно и в нем куча вкладок).&lt;br/&gt;Остается одна несущественная, но неприятная деталь... дело в том, что при запуске с настройками по-умолчанию XTerm имеет довольно таки убогий вид. Вот о том, чтобы его причесать и поговорим далее.&lt;br/&gt;&lt;br/&gt;Все настройки XTerm хранятся в файле XTerm в вашей домашней папке. Заметьте, это не скрытый файл, не &lt;b&gt;".XTerm"&lt;/b&gt;, а именно &lt;b&gt;"XTerm"&lt;/b&gt;. Если его у вас нет, то создайте. Далее, лично мне нравиться терминал с черным фоном и зеленым шрифтом, но это - на ваше личное усмотрение. Формат файла интуитивно понятен, я просто приведу здесь пример своего:&lt;br/&gt;&lt;br/&gt;&lt;em&gt;XTerm*rightScrollBar: True&lt;br/&gt;XTerm*scrollBar: True&lt;br/&gt;XTerm*saveLines: 1000&lt;br/&gt;XTerm*font: -*-terminus-medium-r-normal-*-14-*-*-*-*-*-iso10646-1&lt;br/&gt;XTerm*boldFont: -*-terminus-medium-r-normal-*-14-*-*-*-*-*-iso10646-1&lt;br/&gt;XTerm*foreground: green&lt;br/&gt;XTerm*cursorColor: grey&lt;br/&gt;XTerm*background: black&lt;br/&gt;XTerm*geometry: 105x35&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Ну и вот расшифровка каждой строчки:&lt;br/&gt;1. и 2. &lt;b&gt;ScrollBar&lt;/b&gt; поместить справа и включить его использование&lt;br/&gt;3. Запоминать 1000 строк текста&lt;br/&gt;4. и 5. Используемые в терминале шрифты&lt;br/&gt;6., 7. и 8. Цвета соответственно шрифта, курсора и фона&lt;br/&gt;9. Размеры (строк x колонок)&lt;br/&gt;&lt;br/&gt;Вот такой это имеет вид:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://1.bp.blogspot.com/_NoOKuoEVNSQ/RtPsN5-0ioI/AAAAAAAAAAc/Xjy_dvbsUe8/s1600-h/xterm.jpg' onblur='try {parent.deselectBloggerImageGracefully();} catch(e) {}'&gt;&lt;img border='0' id='BLOGGER_PHOTO_ID_5103682526387669634' alt='' src='http://1.bp.blogspot.com/_NoOKuoEVNSQ/RtPsN5-0ioI/AAAAAAAAAAc/Xjy_dvbsUe8/s320/xterm.jpg' style='margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Ну и в довесок, секция &lt;b&gt;[Colors]&lt;/b&gt; для &lt;b&gt;mc&lt;/b&gt; (Midnight Commander):&lt;br/&gt;Файл: ~/.mc/ini&lt;br/&gt;&lt;em&gt;[Colors]&lt;br/&gt;base_color=normal=brightgray,default:marked=yellow,default:directory=green,default:marked=yellow,&lt;br/&gt;default:errors=red,default:marked=yellow,default:executable=brightgreen,default:marked=yellow,&lt;br/&gt;default:link=brightblue,default:marked=yellow,default:device=brightmagenta,default:marked=yellow&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Выглядит это вот так:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://2.bp.blogspot.com/_NoOKuoEVNSQ/RtPsaJ-0ipI/AAAAAAAAAAk/7T7RWk9COgM/s1600-h/mc.jpg' onblur='try {parent.deselectBloggerImageGracefully();} catch(e) {}'&gt;&lt;img border='0' id='BLOGGER_PHOTO_ID_5103682736841067154' alt='' src='http://2.bp.blogspot.com/_NoOKuoEVNSQ/RtPsaJ-0ipI/AAAAAAAAAAk/7T7RWk9COgM/s320/mc.jpg' style='margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-1332643960799104882?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/1332643960799104882/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=1332643960799104882' title='1 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/1332643960799104882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/1332643960799104882'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2007/08/xterm-mc.html' title='Делаем красивыми XTerm и mc'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NoOKuoEVNSQ/RtPsN5-0ioI/AAAAAAAAAAc/Xjy_dvbsUe8/s72-c/xterm.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-9186176021427078146</id><published>2007-08-27T03:54:00.001-07:00</published><updated>2007-10-09T06:51:26.115-07:00</updated><title type='text'>Установка драйвера Nvidia (не мое)</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Описание установки драйвера Nvidia для Debian, предоставленное многоуважаемым elipse в одном из топиков форума &lt;a href='http://lafox.net/forum'&gt;Lafox&lt;/a&gt;&lt;b&gt;&lt;br/&gt;&lt;br/&gt;Метод 1&lt;/b&gt;&lt;br/&gt;&lt;b&gt;Установка драйвера Nvidia из репозитария non-free Debian Sid&lt;/b&gt;&lt;span class='fullpost'&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;1. Подготовка&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;em&gt;#apt-get install build-essential module-assistant kernel-package libncurses5 fakeroot #apt-get install linux-headers-$(uname -r) nvidia-kernel-common&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;1.1&lt;/b&gt; &lt;em&gt;#apt-get install gcc-4.0&lt;/em&gt;&lt;br/&gt;&lt;b&gt;1.2&lt;/b&gt; &lt;em&gt;#export CC=gcc-4.0&lt;/em&gt;&lt;br/&gt;*&lt;i&gt;действия 1.1 и 1. 2 необходимы только для дистрибутивных ядер версий 2.6.15 и 2.6.16 , ядра &amp;amp;gt; 2.6.17 - уже собраны gcc-4.1 и в этих процедурах нет надобности.&lt;br/&gt;Версию ядра можно узнать командой uname -r.&lt;br/&gt;Каким компилятором собиралось ядро узнать можно командой:&lt;br/&gt;&lt;em&gt;#cat /proc/version&lt;/em&gt;&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;1.3&lt;/b&gt; Добавим (нужно только для Etch возможно и Sid) в &lt;b&gt;/etc/apt/sources.list&lt;/b&gt;&lt;br/&gt;&lt;b&gt;deb &lt;a href='http://ftp.debian.org.ua/debian/' target='_blank'&gt;http://ftp.debian.org.ua/debian/&lt;/a&gt; etch non-free&lt;/b&gt; и выполнить:&lt;br/&gt;&lt;em&gt;#apt-get update&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;2.0 Загрузка , сборка и установка nvidia-kernel  &lt;/b&gt;&lt;br/&gt;&lt;em&gt;#m-a prepare#m-a a-i nvidia  &lt;/em&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;3.0 Установка nvidia-glx &lt;/b&gt;&lt;br/&gt;&lt;em&gt;#apt-get install nvidia-glx&lt;/em&gt; &lt;br/&gt;&lt;br/&gt;&lt;b&gt;4.0 Правим /etc/X11/xorg.conf секцию Device к виду:&lt;/b&gt;&lt;br/&gt;пример:&lt;br/&gt;&lt;em&gt;Section "Device"    Identifier     "NVIDIA Corporation NV43 [GeForce 6600]"    Driver         "nvidia"EndSection&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;подгружаем nvidia-kernel&lt;br/&gt;&lt;br/&gt;&lt;em&gt;#modprobe nvidia&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;5.0 Перезапускаем X11&lt;/b&gt;&lt;br/&gt;без перезапуска ядра&lt;br/&gt;&lt;em&gt;   1 #/etc/init.d/gdm stop   2 #/etc/init.d/gdm start&lt;/em&gt;или &lt;br/&gt;&lt;em&gt;      #reboot&lt;/em&gt;&lt;br/&gt;Если все прошло успешно , то после перезапуска X11 должен появится логотип nvidia.&lt;br/&gt;&lt;br/&gt;&lt;i&gt;***&lt;br/&gt;Преимущества метода:&lt;br/&gt;1. Возможность выполнять все работы в X11&lt;br/&gt;2. Для повторной (или новой) установки понадобятся только nvidia-kernel-common&lt;br/&gt;и nvidia-glx ,/usr/src/nvidia-kernel-XXX.deb  - в этом случае, их сохранить отдельно.&lt;br/&gt;Не забывая при этом , что версия nvidia-kernel связана  с версией  устанавливаемого ядра Debian.&lt;br/&gt;3. Использование локальных ( в частности  украинских ) зеркал  для получения&lt;br/&gt;nvidia драйвера.&lt;br/&gt;4. Возможность использования доработок в nvidia-kernel-source  выполненных&lt;br/&gt;командой Debian.&lt;br/&gt;&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Метод 2&lt;br/&gt;Установка оригинального драйвера Nvidia &lt;/b&gt;&lt;br/&gt;&lt;b&gt;1. Выкачать из сайта Nvidia актуальную версию драйвера для вашего дитрибутива&lt;/b&gt;&lt;br/&gt;&lt;b&gt;2. Подготовка&lt;/b&gt;&lt;br/&gt;&lt;em&gt;#apt-get install build-essential linux-headers-$(uname -r)&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;2.1&lt;/b&gt; &lt;em&gt;#apt-get install gcc-4.0&lt;/em&gt;&lt;br/&gt;&lt;b&gt;2.2&lt;/b&gt; &lt;em&gt;#export CC=gcc-4.0&lt;/em&gt;&lt;br/&gt;&lt;i&gt;* действия 2.1 и 2. 2 необходимы только для дистрибутивных ядер версий 2.6.15 и 2.6.16 , ядро 2.6.17 - уже собрано gcc-4.1 и в этих процедурах нет надобности.&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;3. Установка nvidia&lt;/b&gt;&lt;br/&gt;&lt;b&gt;3.1 Останавливаем X11 если они запущены:&lt;/b&gt;&lt;br/&gt;&lt;em&gt;#/etc/init.d/gdm stop  // или kdm stop&lt;/em&gt;&lt;br/&gt;&lt;b&gt;3.2&lt;/b&gt;&lt;br/&gt;&lt;em&gt;#sh NVIDIA-Linux-x86-1.0-8762-pkg1.run -a --x-module-path=/usr/lib/xorg/modules&lt;/em&gt;&lt;br/&gt;&lt;b&gt;3.3 Перезапускаем  X11&lt;/b&gt;&lt;br/&gt;&lt;em&gt;#/etc/init.d/gdm start  // или kdm start&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Если все прошло успешно , то после перезапуска X11 должен появится логотип nvidia.&lt;br/&gt;&lt;br/&gt;&lt;i&gt;***&lt;br/&gt;Преимущества метода:&lt;br/&gt;1. Визуально более простой&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt; Тестирование&lt;/b&gt;&lt;br/&gt;&lt;b&gt;1 Тест шестеренок:&lt;/b&gt;&lt;br/&gt;&lt;em&gt;#apt-get install mesa-utils#glxgears -printfps&lt;/em&gt;или&lt;br/&gt;&lt;em&gt;#glxgears -info&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Получаем условную производительность видеокарты через заданные интералы времени.&lt;br/&gt;&lt;br/&gt;2 На мой взгяд ,более обьективный результат о визуальном качестве работы драйвера nvidia дает установка набора Really Slick Screensavers:&lt;br/&gt;&lt;em&gt;#apt-get install rss-glx&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Примечание&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;1. Для Xorg 7.1 использовать драйвера версий не ниже 8774 &lt;br/&gt;2. Для старых видеокарт использовать драйвера из раздела legacy nvidia (7184) и&lt;br/&gt;соответствующий индекс файлов  в архиве non-free Debian ,&lt;br/&gt;пример: nvidia-glx-legacy&lt;br/&gt;&lt;br/&gt;Оригинал статьи &lt;a href='http://lafox.net/support/index.php?showtopic=11348&amp;amp;view=findpost&amp;amp;p=102711'&gt;здесь&lt;/a&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-9186176021427078146?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/9186176021427078146/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=9186176021427078146' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/9186176021427078146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/9186176021427078146'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2007/08/nvidia_27.html' title='Установка драйвера Nvidia (не мое)'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-4225183927185913984</id><published>2007-08-26T23:38:00.001-07:00</published><updated>2007-08-27T03:50:45.756-07:00</updated><title type='text'>Работа с различными кодировками в Vim</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Часто, работая с текстами, приходится сталкиваться с тем, что кодировка системы одна, а текст создан в совсем другой. В моем случае это особенно досадно проявилось, когда нужно было редактировать файлы списков контента поддерживаемого мною сайта, или же добавлять новые документы. Все бы нормально, но действующая кодировка в моей системе - &lt;b&gt;UTF-8&lt;/b&gt;, а сайт создавался под &lt;b&gt;cp-1251&lt;/b&gt;... и это не приятно.&lt;span class='fullpost'&gt;&lt;br/&gt;Есть множество вариантов решения этой проблемы. Например, использовать &lt;b&gt;iconv&lt;/b&gt;, но это не удобно, так тогда прийдется перегонять сначала из 1251 в utf, а потом обратно каждый файл. Можно было бы перевести весь сайт на utf, но это слишком радикальный шаг. А можно было бы использовать оффис: редактировать в нем и записывать сразу в нужной кодировке. Но оффис - тяжелый... тоже не кошерно, тем более, что есть такой замечательный редактор, как &lt;b&gt;Vim&lt;/b&gt;.&lt;br/&gt;Итак, находим файл &lt;b&gt;.vimrc&lt;/b&gt; и добавляем в него следующие строки:&lt;br/&gt;&lt;em&gt;&lt;br/&gt;set encoding=utf8  &lt;br/&gt;set termencoding=utf8  &lt;br/&gt;set wildmenu  set wcm=&lt;Tab&gt;  &lt;br/&gt;menu Enc.koi8-u  :e +enc=koi8-u&lt;CR&gt;  &lt;br/&gt;menu Enc.windows-1251 :e ++enc=cp1251&lt;CR&gt;  &lt;br/&gt;menu Enc.ibm-866  :e +enc=ibm866&lt;CR&gt;  &lt;br/&gt;menu Enc.866  :e ++enc=cp866&lt;CR&gt;  &lt;br/&gt;menu Enc.utf-8  :e ++enc=utf-8&lt;CR&gt;  &lt;br/&gt;map &lt;F7&gt;   :emenu Enc.&lt;TAB/&gt;&lt;/F7&gt;&lt;/CR&gt;&lt;/CR&gt;&lt;/CR&gt;&lt;/CR&gt;&lt;/CR&gt;&lt;/Tab&gt;&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Что нам это дает?&lt;br/&gt;Открывая файл посредством &lt;b&gt;Vim&lt;/b&gt;, или еще лучше &lt;b&gt;GVim&lt;/b&gt; (Vim с gui интерфейсом), мы находим новое меню &lt;b&gt;Enc&lt;/b&gt;. В котором позиции переключаются посредством клавиши &lt;b&gt;F7&lt;/b&gt;. Теперь, можем править любой текст в его родной кодировке не заморачивая себе мозги лишними действиями.&lt;br/&gt;&lt;div&gt;&lt;br/&gt;&lt;a onblur='try {parent.deselectBloggerImageGracefully();} catch(e) {}' href='http://1.bp.blogspot.com/_NoOKuoEVNSQ/RtJ0tJ-0imI/AAAAAAAAAAM/Dl4C3JI-VGk/s1600-h/vim.jpg'&gt;&lt;img style='margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;' src='http://1.bp.blogspot.com/_NoOKuoEVNSQ/RtJ0tJ-0imI/AAAAAAAAAAM/Dl4C3JI-VGk/s320/vim.jpg' alt='' id='BLOGGER_PHOTO_ID_5103269646886537826' border='0'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;div&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;br/&gt;&lt;br/&gt;&lt;a onblur='try {parent.deselectBloggerImageGracefully();} catch(e) {}' href='http://1.bp.blogspot.com/_NoOKuoEVNSQ/RtJ0tJ-0inI/AAAAAAAAAAU/xPuhWqBGWpI/s1600-h/gvim.jpg'&gt;&lt;img style='margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;' src='http://1.bp.blogspot.com/_NoOKuoEVNSQ/RtJ0tJ-0inI/AAAAAAAAAAU/xPuhWqBGWpI/s320/gvim.jpg' alt='' id='BLOGGER_PHOTO_ID_5103269646886537842' border='0'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;/div&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;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Вот так это выглядит&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-4225183927185913984?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/4225183927185913984/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=4225183927185913984' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/4225183927185913984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/4225183927185913984'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2007/08/vim_285.html' title='Работа с различными кодировками в Vim'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NoOKuoEVNSQ/RtJ0tJ-0imI/AAAAAAAAAAM/Dl4C3JI-VGk/s72-c/vim.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-8221989886185354748</id><published>2007-08-03T02:54:00.000-07:00</published><updated>2007-08-27T03:55:07.412-07:00</updated><title type='text'>Debian: Как собрать все пакеты, установленные в системе, и перенести их на другой комп</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Несколько раз собирался написать этот пост да все терпения не хватало, теперь все таки сохраню, чтобы не пришлось опять собирать эти рецепты по всему инету :)&lt;br/&gt;&lt;br/&gt;Значит так: есть компьютер с Дебом подключенный к интернету, и есть в другом месте компьютер не подключенный к инету. Нужно: поставить на не подключенный комп все те же программы, которые есть на продвинутом.&lt;br/&gt;&lt;span class='fullpost'&gt;&lt;br/&gt;Шаг первый: собираем все пакеты в одном месте&lt;br/&gt;В этом нам поможет простенький скрипт&lt;br/&gt;&lt;br/&gt;                       &lt;span style='font-family:courier new;'&gt;dpkg --get-selections | \&lt;br/&gt;           grep -v "deinstall" | \&lt;br/&gt;           awk '{print $1}' | \&lt;br/&gt;           xargs dpkg-repack&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;Запаситесь терпением, ибо это процесс не мгновенный. По крайней мере можно сделать себе кофе :)&lt;br/&gt;&lt;br/&gt;Шаг второй: Теперь нам предстоит из всей этой купы файлов сделать образ диска, который будет воспринят программой apt-cdrom для этого делаем так:&lt;br/&gt;&lt;br/&gt;1. Создаем каталоги: &lt;span style='font-family:courier new;'&gt;pool/main/ и dists/etch/main/binary-i386/&lt;/span&gt;&lt;br/&gt;2. Все файлы *.deb перемещаем в каталог &lt;span style='font-family:courier new;'&gt;pool/main/&lt;/span&gt;&lt;br/&gt;3. Делаем так:&lt;span style='font-family:courier new;'&gt; apt-ftparchive packages pool/main/  | gzip -9c &amp;gt; dists/etch/main/binary-i386/Packages.gz&lt;/span&gt;&lt;br/&gt;4. Создаем файл &lt;span style='font-family:courier new;'&gt;~/myapt.conf&lt;/span&gt; такого вида:&lt;br/&gt;&lt;br/&gt;&lt;span style='font-family:courier new;'&gt;APT::FTPArchive::Release {&lt;br/&gt;Origin "APT-Move";&lt;br/&gt;Label "APT-Move";&lt;br/&gt;Suite "etch";&lt;br/&gt;Codename "etch";&lt;br/&gt;Architectures "i386";&lt;br/&gt;Components "main";&lt;br/&gt;Description "Etch Updates CD";&lt;br/&gt;};&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;5. Потом так: &lt;span style='font-family:courier new;'&gt;apt-ftparchive -c ~/myapt.conf release dists/dapper/ &amp;gt; dists/etch/Release&lt;/span&gt;&lt;br/&gt;6. Создаем файл&lt;span style='font-family:courier new;'&gt; info&lt;/span&gt;:&lt;br/&gt;&lt;br/&gt;&lt;span style='font-family:courier new;'&gt;mkdir .disk&lt;br/&gt;echo Etch-Updates `date +%Y-%m-%d` &amp;gt; .disk/info&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;7. Вот и все, осталось создать из этого iso-образ и зажечь его на диск (не забудьте перед этим убрать все ограничения доступа к файлам, иначе потом не сможете диск открыть)&lt;br/&gt;&lt;br/&gt;&lt;span style='font-family:courier new;'&gt;mkisofs -r -A "Etch Updates `date +%Y%m%d`" -o etch-updates.iso /mirrors/debian&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;Ссылки:&lt;br/&gt;Хорошая статья по теме управления пакетами в Debian лежит &lt;a href='http://citkit.ru/articles/130/'&gt;здесь&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-8221989886185354748?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/8221989886185354748/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=8221989886185354748' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/8221989886185354748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/8221989886185354748'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2007/08/debian.html' title='Debian: Как собрать все пакеты, установленные в системе, и перенести их на другой комп'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-7804871856583585346</id><published>2007-08-03T02:51:00.000-07:00</published><updated>2007-08-27T03:55:27.163-07:00</updated><title type='text'>Как я восстанавливал комп в оффисе</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;strong&gt;Преамбула:&lt;/strong&gt;&lt;br/&gt;Был себе комп, на нем стояла винда, а точнее несколько на С: - Win98 и на D: - ЗлоХР. Усугубляло ситуацию то, что диск D: был логическим.&lt;br/&gt;Еще на компе жил себе ALTLinux 2.2. Жили они долго и счастливо до тех пор, пока комп не переехал в новый оффис, сменилось несколько админов и уже никто не помнил какой же там рутовый пароль.&lt;br/&gt;&lt;span class='fullpost'&gt;&lt;br/&gt;Еще в оффисе жил молодой программист, по совместительству сис-админ, который начал свое знакомство с Linux не так давно.&lt;br/&gt;И вот, пока сис-админ где-то ходил, этот молодой человек переустановил линукс, чтобы обновить пароли. В процессе переустановки у него что-то там случилось с партициями на винте, и вот результат - не грузится винда. Не долго думая, он вставил установочный диск со ЗлоХР и вошел в консоль восстановления. Оттуда он позатирал загрузочные сектора и на компе перестало грузится вобще что-либо.&lt;br/&gt;В таком состоянии этот комп ко мне и попал.&lt;br/&gt;Сказать честно, времени на него я угрохал уйму, но вот - он работает! Ура! Слава Господу, дающему мудрость просто и без упреков!&lt;br/&gt;Итак, как это было:&lt;br/&gt;&lt;br/&gt;Первым делом я выкачал замечательный дистрибутив &lt;strong&gt;KNOPPIX 5.1 - UA&lt;/strong&gt; - благодарю всех тех, кто принял участие в его разработке и составлении - это действительно прекрасный продукт, к тому же так близок к родному Debian :)&lt;br/&gt;Загрузившись с LiveCD, я запустил&lt;strong&gt; GParted&lt;/strong&gt; и начал колдовать над винтом.&lt;br/&gt;Оказалось, что при установке АЛТЛинукса, что-то случилось с единственным примари диском - С:, поэтому не смотря ни на какие действия при загрузке обнаружить NTLDR там не удавалось, хотя он там точно был.&lt;br/&gt;Первым делом я сделал диск D: из логического - в примари, освободив место на винте, и потом просто скопировав весь раздел, а тот, старый (логический) потом удалил.&lt;br/&gt;Потом из консоли восстановления ЗлоХР на этот диск были переписаны: NTLDR, NTDETECT.COM и boot.ini. Но, чтобы с него загружаться - его нужно было сделать активным. Тут возникла другая проблема - став активным, он перестал быть D:, он стал C:. Поэтому, хотя виндя уже начинала грузиться, и все могли радоваться глядя на голубой экранчик с логотипом виновс. Но дальше дело не шло, поскольку все программы были прописаны для работы с диска D:. Поменять букву диска тоже не представлялось возможным, да и не хотелось, честно говоря.&lt;br/&gt;Загрузившись еще раз с любимого KNOPPIX, я снова сделал активным диск с Вин98, тот, который раньше был С:. Примонтировал раздели с АльтЛинуксом и установил продвинутый бут-менеджер GRUB c такой опцией:&lt;br/&gt;&lt;br/&gt;&lt;span style='font-family:courier new;'&gt;grub-install --recheck --no-floppy --root-directory=/media/hda5/ /dev/hda&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;Потом создал файл в &lt;strong&gt;/media/hda5/boot/grub/menu.lst&lt;/strong&gt; такого вида:&lt;br/&gt;&lt;br/&gt;&lt;span style='font-family:courier new;'&gt;default         0&lt;br/&gt;timeout         5&lt;br/&gt;color cyan/blue white/blue&lt;br/&gt;&lt;br/&gt;title           Linux&lt;br/&gt;root           (hd0,4)&lt;br/&gt;kernel        /boot/vmlinuz-2.6.18-3-486 root=/dev/hda5 ro&lt;br/&gt;initrd          /boot/initrd.img-2.6.18-3-486&lt;br/&gt;savedefault&lt;br/&gt;&lt;br/&gt;title           Microsoft Windows XP Professional RU&lt;br/&gt;root            (hd0,1)&lt;br/&gt;savedefault&lt;br/&gt;&lt;br/&gt;title           Reboot&lt;br/&gt;reboot&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;После этого вынял все медиа носители и перезагрузил компьютер.&lt;br/&gt;Ура, слава Богу, все работает и запускается.&lt;br/&gt;Снова диски названы своими именами, снова все программы запускаются.&lt;br/&gt;В завершение хочу сказать: насколько просто было решить все восстановлением АЛТЛинукс, настолько сложно было париться с Виндой. А когда-то я думал, что Линукс сложнее :)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-7804871856583585346?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/7804871856583585346/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=7804871856583585346' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/7804871856583585346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/7804871856583585346'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2007/08/blog-post_03.html' title='Как я восстанавливал комп в оффисе'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662530420189562013.post-3453518031279564790</id><published>2007-08-03T02:43:00.000-07:00</published><updated>2007-08-03T02:46:23.411-07:00</updated><title type='text'>Первая запись</title><content type='html'>Ну вот, решил завести блог. Буду записывать здесь свои решения в освоении нелегкой профессии сис-админа. В основном "для себя" чтобы потом не забыть как и что я делал, но если кому еще пригодится, то буду только рад.&lt;br /&gt;Ну, в общем вреред!.. и с Богом&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2662530420189562013-3453518031279564790?l=jona-web.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jona-web.blogspot.com/feeds/3453518031279564790/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2662530420189562013&amp;postID=3453518031279564790' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/3453518031279564790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662530420189562013/posts/default/3453518031279564790'/><link rel='alternate' type='text/html' href='http://jona-web.blogspot.com/2007/08/blog-post.html' title='Первая запись'/><author><name>Jona</name><uri>http://www.blogger.com/profile/12157069329756164316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://images.jonaweb.multiply.com/logo/1'/></author><thr:total>0</thr:total></entry></feed>
