<?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>Записки на полях &#187; linux</title>
	<atom:link href="http://snake.khd.ru/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://snake.khd.ru</link>
	<description>Логи начинающего сисадмина</description>
	<lastBuildDate>Sun, 25 Jul 2010 00:55:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Скрипт для обработки записей asterisk</title>
		<link>http://snake.khd.ru/2010/06/skript-dlya-obrabotki-zapisej-asterisk/</link>
		<comments>http://snake.khd.ru/2010/06/skript-dlya-obrabotki-zapisej-asterisk/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 03:52:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=404</guid>
		<description><![CDATA[Немного поправил сам скрипт, теперь файлы раскидываются в папки вида &#8220;имя_месяца/число&#8221; независимо от того, под каким пользователем запускается скрипт. Можнадокому.


#!/bin/bash
#20100611 - Author: Gregg Hansen. Modified by Snake
#version 0.5
#http://www.khd.ru
#Make sure to install Lame and copy mlame to your .wav dir
#If you specify your own filenames, use NO spaces.
recorddir=&#34;/var/spool/asterisk/monitor&#34;
for i in `ls $recorddir/*.wav`; do
month=`ls -l --time-style +'%b [...]]]></description>
			<content:encoded><![CDATA[<p>Немного поправил сам скрипт, теперь файлы раскидываются в папки вида &#8220;имя_месяца/число&#8221; независимо от того, под каким пользователем запускается скрипт. Можнадокому.<br />
<span id="more-404"></span></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;">#20100611 - Author: Gregg Hansen. Modified by Snake</span>
<span style="color: #666666; font-style: italic;">#version 0.5</span>
<span style="color: #666666; font-style: italic;">#http://www.khd.ru</span>
<span style="color: #666666; font-style: italic;">#Make sure to install Lame and copy mlame to your .wav dir</span>
<span style="color: #666666; font-style: italic;">#If you specify your own filenames, use NO spaces.</span>
<span style="color: #007800;">recorddir</span>=<span style="color: #ff0000;">&quot;/var/spool/asterisk/monitor&quot;</span>
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #007800;">$recorddir</span><span style="color: #000000; font-weight: bold;">/*</span>.wav<span style="color: #000000; font-weight: bold;">`</span>; <span style="color: #000000; font-weight: bold;">do</span>
<span style="color: #007800;">month</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #660033;">--time-style</span> +<span style="color: #ff0000;">'%b %d'</span> <span style="color: #007800;">$i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $6}'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">day</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #660033;">--time-style</span> +<span style="color: #ff0000;">'%b %d'</span> <span style="color: #007800;">$i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $7}'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">mp3</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;_&quot;</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span>- <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/.wav/.mp3/g'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #c20cb9; font-weight: bold;">lame</span> <span style="color: #660033;">-d</span> <span style="color: #660033;">-h</span> <span style="color: #660033;">-m</span> j <span style="color: #660033;">-b</span> <span style="color: #000000;">128</span> <span style="color: #007800;">$i</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$mp3</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${recorddir}</span>/<span style="color: #007800;">${month}</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
    <span style="color: #000000; font-weight: bold;">then</span>    
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${recorddir}</span>/<span style="color: #007800;">${month}</span>/<span style="color: #007800;">${day}</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
            <span style="color: #000000; font-weight: bold;">then</span>
                <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${mp3}</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
            <span style="color: #000000; font-weight: bold;">else</span>
                <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
                <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${mp3}</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
    <span style="color: #000000; font-weight: bold;">else</span> 
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
        <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${mp3}</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #666666; font-style: italic;">#Uncomment the below line if you want your .wavs moved to a different directory.</span>
<span style="color: #666666; font-style: italic;">#This way you can review the timestamps and mp3 files before deleting the .wav</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span>wav_recordings
<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$i</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span>wav_recordings<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/06/skript-dlya-obrabotki-zapisej-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Дело Петрика живет!</title>
		<link>http://snake.khd.ru/2010/06/delo-petrika-zhivet/</link>
		<comments>http://snake.khd.ru/2010/06/delo-petrika-zhivet/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 13:11:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[кунсткамера]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=391</guid>
		<description><![CDATA[У товарища Петрика появились последователи. Школьник из Нижнего Тагила написал не что-нибудь, а целую ОС. Правда, в основе лежит Убунту, но автор не получает галоперидол не сдается, и в планах у него написать даже свое ядро.

Цитирую:
Bolgenos — операционная система созданная на базе Ubuntu Linux. Этот дистрибутив используется в качестве базы для моей операционной системы. Я [...]]]></description>
			<content:encoded><![CDATA[<p>У товарища Петрика появились последователи. Школьник из Нижнего Тагила написал не что-нибудь, а целую ОС. Правда, в основе лежит Убунту, но автор <s>не получает галоперидол</s> не сдается, и в планах у него написать даже свое ядро.<br />
<span id="more-391"></span><br />
Цитирую:</p>
<blockquote><p>Bolgenos — операционная система созданная на базе Ubuntu Linux. Этот дистрибутив используется в качестве базы для моей операционной системы. Я намерен создать универсальную операционную систему содержащую все необходимое для пользователя любого профиля. А это означает, что система подходит для пользователей Интернета («Чатланина»), офисных работников (таблицы, документы), вебмастера, дизайнера и программиста. Но главными отличиями являются:</p>
<p>— Сравнительный размер системы на жеском диске. После установки система занимает всего 1.7 гигабайт свободного места. (Некоторые люди меня останавливали и предлагали использовать существующие дистрибутивы eeeXubuntu, Lubuntu и подобные, однако мне нужно иметь рабочий стол GNOME, потребность в библиотеке Qt (некоторые приложения нуждаются в этой библиотеке, в том числе и мои программы — Антивирус Попова и OgenBrowse (в ближайшее время пакет программ увеличится и будет увеличиваться до тех пор пока не будет создано полностью свое ядро и компилятор))</p>
<p>— Красивое оформление (темы, значки, фоновые рисунки рабочего стола. (К сожалению некоторые пользователи отрицательно оценили оформление системы, но я учту это, и в версии 1.5 появится полностью универсальное оформление рассчитанное на вкусы всех пользователей)).</p>
<p>— По сравнению с несколькими дистрибутивами Linux системы, а так же со сторонними системами (Windows и прочие), Bolgenos нацелен на простой пакет офисных программ (так как не всем пользователям требуется полный пакет офисных приложений включающий все функции), однако вы можете установить и полный пакет,, к примеру OpenOffice. На данный момент в этот простой пакет входят приложения: Abiword (текстовый процессор, альтернатива MS Word), Gnumeric (табличный процессор, альтернатива MS Excel).</p>
<p>— По мнению большинства разработчиков и программистов-любителей, легковесная среда разработки Geany является лучшим инструментом в этой области. Так как в школах проводятся олимпиады по программированию, а проходят они в большинстве случаев на языке Паскаль, то в состав Bolgenos был включен компилятор этого языка (fpc — Free Pascal Compiler). Для его графического использования, пользователь может использовать IDE Geany, указав подсветку языка Паскаль. Так же пользователи могут использовать среду разработки на библиотеке Qt.</p>
<p>— Работа с интернетом стала еще быстрее. Теперь в состав Bolgenos входит OgenBrowse, веб-браузер разработанный специально для дистрибутива Bolgenos на базе кода Arora (Webkit), поддерживающий режим вкладок, воспроизведение Flash анимации, javascript, сохранение паролей и приватный режим. В качестве торрент клиента используется удобный Deluge.</p>
<p>Планы на будущее:</p>
<p>— Создать офисный пакет Офис Попова (несколько версий: полная и облегченная)</p>
<p>— Дописать существующий браузер — OgenBrowse — избавится от кода Arora, полностью перейти на свой. Устранить недавно выявленные ошибки браузера, и оптимизировать код.</p>
<p>— Антивирус Попова — сделать полностью завершенный антивирусный пакет позволяющий защитить компьютер от вирусов, вторжений и руткитов.</p>
<p>— QuadBDE — среда рабочего стола которая заменит GNOME (почти доработана, но запускается как обычное приложение). Использует Qt 4.6, и выигрывает в производительности по сравнению с GNOME.</p>
<p>Будет разработана новая версия Bolgenos Education, рассчитанная на образовательные учреждения и содержащая весь спектр образовательных программ.</p>
<p>Проект Bolgenos — проект с долгосрочной поддержкой, позволит Вам взглянуть на мир по другому. Ubuntu — это хорошо удобно, но Bolgenos станет лучшей заменой этой системы. Windows — тоже хорошая система, но к сожалению она платная (не малых денег стоит ее лицензия), а так же много ошибок во время работы системы.</p></blockquote>
<p>Ну не прелесть ли?<br />
Как выясняется, среди достижений автора написание оболочки для wget и &#8220;своего&#8221; антивируса, который не что иное как clamAv. Паренек уже отметился на <a href="http://quadregus.habrahabr.ru/blog/95087/#comments">хабре</a>, <a href="http://quadregus.livejournal.com/">жж</a> и <a href="http://www.linux.org.ru/forum/development/4387601">ЛОРе</a>.</p>
<blockquote><p>#  Так же я представлю новую форму компьютера, с заранее вмонтированным моим дистрибутивом. И монитор и клавиатура и мышь будут вмонтированы в корпус.<br />
# Дописал на qt4 программы для GNOME<br />
# Я же не говорю что я буду делать простую фигню я буду делать полностью проработанную систему с дальнейшим ее развитием. Например позже я напишу своё ядро&#8230;<br />
# Я один в совершенстве владею QT4, bash, php, html. Так же профессионально работаю в GIMP, оформляю всякие мелочи. Раньше администрировал Solaris, и экспериментировал с Minix и UnixWare. Восхищался Mac OS X ее сглаживанием, шрифтами и прочими ее примочками. Испробовал пости все ОС, совместимые с современными компьютерами. Пробовал на разных языках писать (например начинал на BASIC). Владею английским и немного испанским.</p></blockquote>
<p>В целом, вброс кошерен. Уже запасся попкорном :)</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/06/delo-petrika-zhivet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux и zfs</title>
		<link>http://snake.khd.ru/2010/06/linux-i-zfs/</link>
		<comments>http://snake.khd.ru/2010/06/linux-i-zfs/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 23:33:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=388</guid>
		<description><![CDATA[Пропустил хорошую новость. Допилен модуль для ядра Linux, реализующий нативную поддержку zfs. Пока работает только для x64 сборки, но думаю, за x86 дело не станет.
Теперь можно держать файловый архив в zfs и не бояться перехода на freebsd или соляру.
]]></description>
			<content:encoded><![CDATA[<p>Пропустил хорошую <a href="http://habrahabr.ru/blogs/linuxnotforall/95186/#habracut">новость</a>. Допилен модуль для ядра Linux, реализующий нативную поддержку zfs. Пока работает только для x64 сборки, но думаю, за x86 дело не станет.<br />
Теперь можно держать файловый архив в zfs и не бояться перехода на freebsd <s>или соляру</s>.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/06/linux-i-zfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian linux gpg error</title>
		<link>http://snake.khd.ru/2010/06/debian-linux-gpg-error/</link>
		<comments>http://snake.khd.ru/2010/06/debian-linux-gpg-error/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 00:06:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=384</guid>
		<description><![CDATA[Нужно тут было обновить репозиторий на debian-машине. А он мне вот что:

W: GPG error: ftp://ftp.debian.org/ testing Release: 
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010908312D230C5F
&#160;
W: There is no public key available for the following key IDs:
010908312D230C5F

Решение, в общем-то, тривиальное, и ищется в гугле секунд за тридцать. Но пусть [...]]]></description>
			<content:encoded><![CDATA[<p>Нужно тут было обновить репозиторий на debian-машине. А он мне вот что:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">W: GPG error: <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>ftp.debian.org<span style="color: #000000; font-weight: bold;">/</span> testing Release: 
The following signatures couldn<span style="color: #ff0000;">'t be verified because the public key is not available: NO_PUBKEY 010908312D230C5F
&nbsp;
W: There is no public key available for the following key IDs:
010908312D230C5F</span></pre></div></div>

<p>Решение, в общем-то, тривиальное, и ищется в гугле секунд за тридцать. Но пусть будет:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">debian<span style="color: #666666; font-style: italic;"># gpg --keyserver subkeys.pgp.net --recv-keys 2D230C5F</span>
debian<span style="color: #666666; font-style: italic;"># gpg -a --export 2D230C5F | sudo apt-key add -</span></pre></div></div>

<p>Есть еще один нюанс &#8211; тот самый дебиан стоял под XenServer, так что придется скачать еще и ключи для Xen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-q</span> http:<span style="color: #000000; font-weight: bold;">//</span>updates.vmd.citrix.com<span style="color: #000000; font-weight: bold;">/</span>XenServer<span style="color: #000000; font-weight: bold;">/</span>5.5.0<span style="color: #000000; font-weight: bold;">/</span>GPG-KEY <span style="color: #660033;">-O-</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">apt-key</span> add -</pre></div></div>

<p>Ну вот теперь точно все. Можно с чистой совестью делать apt-get update</p>
<p>P.S. Если обновление не происходит, а адреса репозитория резолвятся в ipv6-адреса, смените в /etc/apt/sources.list адрес источника обновлений на</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">deb http:<span style="color: #000000; font-weight: bold;">//</span>ftp.us.debian.org<span style="color: #000000; font-weight: bold;">/</span>debian<span style="color: #000000; font-weight: bold;">/</span> lenny main
deb-src http:<span style="color: #000000; font-weight: bold;">//</span>ftp.us.debian.org<span style="color: #000000; font-weight: bold;">/</span>debian<span style="color: #000000; font-weight: bold;">/</span> lenny main</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/06/debian-linux-gpg-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка печати в Linux из Samba</title>
		<link>http://snake.khd.ru/2010/05/nastrojka-pechati-v-linux-iz-samba/</link>
		<comments>http://snake.khd.ru/2010/05/nastrojka-pechati-v-linux-iz-samba/#comments</comments>
		<pubDate>Fri, 07 May 2010 02:50:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cups]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=359</guid>
		<description><![CDATA[Да, это просто. Наверное. Но если принтер подключен к виндовой машине и просто расшарен, то могут возникнуть проблемы.
1. Ставим CUPS c поддержкой SMB (samba-client-cups)
2. Скачиваем дрова на ваш принтер, устанавливаем
3. Добавляем принтер. В настройках подключения будет что-то типа smb://root@192.168.0.1/CanonMF
4. Далее стандартно &#8211; выбираем вашу модель и наслаждаемся. 
Нюанс был именно в пятом третьем пункте &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Да, это просто. Наверное. Но если принтер подключен к виндовой машине и просто расшарен, то могут возникнуть проблемы.<br />
1. Ставим CUPS c поддержкой SMB (samba-client-cups)<br />
2. Скачиваем дрова на ваш принтер, устанавливаем<br />
3. Добавляем принтер. В настройках подключения будет что-то типа smb://root@192.168.0.1/CanonMF<br />
4. Далее стандартно &#8211; выбираем вашу модель и наслаждаемся. </p>
<p>Нюанс был именно в <s>пятом</s> третьем пункте &#8211; если просто написать адрес машины, ничего не заработает.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/05/nastrojka-pechati-v-linux-iz-samba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Дело о найденом бубне. Часть 1</title>
		<link>http://snake.khd.ru/2010/05/delo-o-najdenom-bubne-chast-1/</link>
		<comments>http://snake.khd.ru/2010/05/delo-o-najdenom-bubne-chast-1/#comments</comments>
		<pubDate>Wed, 05 May 2010 03:54:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=352</guid>
		<description><![CDATA[Как-то от нехер делать решил снести винду и перейти на более свободное ПО. В качестве такового была выбрана убунта 9.10, которая тут же была обновлена до 10.04 (ну влом мне было качать образ, а потом еще и писать его). Теперь, собственно, о:
1) Оно реально шустро работает :) нет ощущения неповоротливости, которое возникало при работе с [...]]]></description>
			<content:encoded><![CDATA[<p>Как-то от <s>нехер делать</s> решил снести винду и перейти на более свободное ПО. В качестве такового была выбрана убунта 9.10, которая тут же была обновлена до 10.04 (ну влом мне было качать образ, а потом еще и писать его). Теперь, собственно, о:<br />
1) Оно реально шустро работает :) нет ощущения неповоротливости, которое возникало при работе с &#8220;семеркой&#8221;<br />
2) Дрова на видео встали в два клика (у меня карточка от NVIDIA).<br />
3) Компиз запустился с полпинка &#8211; красивая штука, однако :)<br />
4) Проигрывание HD Video &#8211; MPlayer + VDPau. Загрузка проца процентов 10 и ниже, все обрабатывается видеокартой, ремукс &#8220;Аватара&#8221; в 1080р ничуть не уступает таковому в винде<br />
5) Аудио &#8211; Audacious однозначно. Во-первых, русские кодировки искаропки, во-вторых, WinAmp style, в третьих &#8211; простота (ну влом мне было разбираться с mpd). Правда, в версии 2.3 вырезали скробблер last.fm, но я просто скачал исходники плагинов версии 2.2 и собрал вручную (только надо поставить dev-пакет audacious)</p>
<p>Дальше будет больше, надо полагать) Ну а в целом &#8211; я доволен. Поиск нужного приложения в пакетах &#8211; крайне полезная штука, но об этом я знал еще давно</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/05/delo-o-najdenom-bubne-chast-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Уроки русского. Ubuntu, rdesktop и русская раскладка</title>
		<link>http://snake.khd.ru/2010/04/uroki-russkogo-ubuntu-rdesktop-i-russkaya-raskladka/</link>
		<comments>http://snake.khd.ru/2010/04/uroki-russkogo-ubuntu-rdesktop-i-russkaya-raskladka/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 05:47:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rdesktop]]></category>
		<category><![CDATA[rdp]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=340</guid>
		<description><![CDATA[Имеем: терминальный сервер на вин2008, убунту 9.10
Проблема: при работе в RDP сессии раскладка не преключается, или при переключении наблюдаются глюки в виде неработающих стрелок, кнопок б,ю и т.д.
Одно из решений:

 сначала по заветам товарищей ставим патченную версию rdesktop:
для x86
или x86-64
нажимаем

sudo dpkg -r rdesktop
sudo dpkg -i rdesktop_1.6.0-alt1*
cd /usr/lib
sudo ln -s libcrypto.so.0.9.8 libcrypto.so.6

и подключаемся:

rdesktop -5 -z -y [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Имеем</strong>: терминальный сервер на вин2008, убунту 9.10<br />
<strong>Проблема</strong>: при работе в RDP сессии раскладка не преключается, или при переключении наблюдаются глюки в виде неработающих стрелок, кнопок б,ю и т.д.<br />
<strong>Одно из решений</strong>:<br />
<span id="more-340"></span><br />
 сначала по <a href="http://habrahabr.ru/blogs/ubuntu/28264/" target="_blank">заветам товарищей</a> ставим патченную версию rdesktop:</p>
<p><a href="http://sys-admin.org/files1/rdesktop/rdesktop_1.6.0-alt1_i386.deb">для x86</a><br />
или <a href="http://sys-admin.org/files1/rdesktop/rdesktop_1.6.0-alt1_amd64.deb">x86-64</a></p>
<p>нажимаем</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-r</span> rdesktop
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-i</span> rdesktop_1.6.0-alt1<span style="color: #000000; font-weight: bold;">*</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> libcrypto.so.0.9.8 libcrypto.so.6</pre></div></div>

<p>и подключаемся:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rdesktop <span style="color: #660033;">-5</span> <span style="color: #660033;">-z</span> <span style="color: #660033;">-y</span> <span style="color: #660033;">-u</span> пользователь <span style="color: #660033;">-p</span> пароль <span style="color: #660033;">-g</span> разрешениеxэкрана IP_удаленного_компьютера</pre></div></div>

<p>главная опция &#8220;-y&#8221; &#8211; она говорит использовать raw клавиатуру</p>
<p>Кому-то помогает, кому-то нет. Мне не помогло, а потому продолжаем поиски :)<br />
Следующее средство найдено было на форуме убунты:</p>
<p>Меняем содержимое файлов /usr/share/rdesktop/keymaps/ru и /usr/share/rdesktop/keymaps/en-us на следущее:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># generated from XKB map ru</span>
include common
map 0x419
grave 0x29
asciitilde 0x29 <span style="color: #7a0874; font-weight: bold;">shift</span>
asciicircum 0x07 <span style="color: #7a0874; font-weight: bold;">shift</span>
backslash 0x2b
bar 0x2b <span style="color: #7a0874; font-weight: bold;">shift</span>
apostrophe 0x28
greater 0x34 <span style="color: #7a0874; font-weight: bold;">shift</span>
<span style="color: #c20cb9; font-weight: bold;">less</span> 0x33 <span style="color: #7a0874; font-weight: bold;">shift</span></pre></div></div>

<blockquote><p>В итоге, все кнопки работают и в русской и в английской раскладке что в патченной версии, что в оригинальной. Причем, можно не указывать в параметрах запуска ключ -k с англицкой раскладкой, все работает и с русской раскладкой тоже. Ключ -y указывать НЕ НАДО!! Проверено на терминалах Win2k3 Server и на XP со вторым паком.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/04/uroki-russkogo-ubuntu-rdesktop-i-russkaya-raskladka/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Проблемы с частотой обновления экрана в Ubuntu 9.10</title>
		<link>http://snake.khd.ru/2010/04/problemy-s-chastotoj-obnovleniya-ekrana-v-ubuntu-9-10/</link>
		<comments>http://snake.khd.ru/2010/04/problemy-s-chastotoj-obnovleniya-ekrana-v-ubuntu-9-10/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 12:39:47 +0000</pubDate>
		<dc:creator>onion</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nVidia]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[монитор]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=334</guid>
		<description><![CDATA[автор: Onion
Установив намедни Ubuntu 9.10, столкнулся с очень неприятной проблемой:
Частота обновления экрана не поднималась выше 60-ти герц. Впрочем, ниже тоже не опускалась. Проблема плоха тем, что очень сильно устают глаза и работать более 10 минут крайне тяжело.
Монитор у меня старый &#8211; LG Flatron F700B, но поддерживает частоту 85 герц. Видеокарта &#8211; 8600й GeForce.
Я, естественно, сразу [...]]]></description>
			<content:encoded><![CDATA[<p>автор: Onion<br />
Установив намедни Ubuntu 9.10, столкнулся с очень неприятной проблемой:<br />
Частота обновления экрана не поднималась выше 60-ти герц. Впрочем, ниже тоже не опускалась.<span id="more-334"></span> Проблема плоха тем, что очень сильно устают глаза и работать более 10 минут крайне тяжело.<br />
Монитор у меня старый &#8211; LG Flatron F700B, но поддерживает частоту 85 герц. Видеокарта &#8211; 8600й GeForce.<br />
Я, естественно, сразу обновил драйверы для видюхи, благо, nVidia их выпускает и под линукс. Но эффекта никакого это действие не возымело.<br />
Тогда я перещел к ковырянию файла xorg.conf, проживающего по адресу: /etc/X11/. Выглядел он зело странно, отсутсвовала секция Section &#8220;Monitor&#8221;, которая-то и представляла интерес. &#8220;Ага, вот откуда ноги растут!&#8221;, &#8211; подумал я и добавил эту самую секцию туда, включив туда нужные параметры(какие именно &#8211; скажу позже). Перезгрузился &#8211; и, о чудо!, ничего не изменилось. &#8220;Хм&#8221;, &#8211; подумал я и начал ковырять дальше. Как только я не изголялся, как только не пытался сделать все как надо, но ничего не работало.<br />
Тогда я решил просто переустановить линух. Да, вот так кардинально &#8211; сказывается довольно долгий опыт общения с виндой:)) Сама собой проблема, естественно, не исправилась.<br />
Сразу решил разобраться с xorg.conf, не устанавливая дрова. Открываю папку постоянного обитания этого злосчастного файла и не обнаруживаю его там. Следующая моя мысль &#8211; надо перезаписать логи и переконфигурировать иксы(как это делается мне ответил гугл):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>Xorg.0.log <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>Xorg.1.log
<span style="color: #c20cb9; font-weight: bold;">sudo</span> Xorg <span style="color: #660033;">-configure</span> :<span style="color: #000000;">1</span></pre></div></div>

<p>и в домашнем каталоге моего пользователя появился файл xorg.conf.new. Он был довольно большой и полный, но секция &#8220;Монитор&#8221; была убогой. Нужные мне параметры я получил командой:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">gtf <span style="color: #000000;">1024</span> <span style="color: #000000;">768</span> <span style="color: #000000;">85</span></pre></div></div>

<p>1024 768 &#8211; это разрешение, 85 &#8211; это частота обновления. Ответ выглядел как-то так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">  <span style="color: #666666; font-style: italic;"># 1024x768 @ 85.00 Hz (GTF) hsync: 68.60 kHz; pclk: 94.39 MHz</span>
  Modeline <span style="color: #ff0000;">&quot;1024x768_85.00&quot;</span>  <span style="color: #000000;">94.39</span>  <span style="color: #000000;">1024</span> <span style="color: #000000;">1088</span> <span style="color: #000000;">1200</span> <span style="color: #000000;">1376</span>  <span style="color: #000000;">768</span> <span style="color: #000000;">769</span> <span style="color: #000000;">772</span> <span style="color: #000000;">807</span>  - HSync +Vsync</pre></div></div>

<p>Дальше гуглим параметры HorizSync и VertRefresh для своего монитора.<br />
Потом объединяем результаты наших трудов в этой секции. Она принимает вид примерно такой:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Section <span style="color: #ff0000;">&quot;Monitor&quot;</span>
	Identifier   <span style="color: #ff0000;">&quot;Monitor0&quot;</span>
	VendorName   <span style="color: #ff0000;">&quot;Monitor Vendor&quot;</span>
  	ModelName      <span style="color: #ff0000;">&quot;LG F700B&quot;</span>
        HorizSync       <span style="color: #000000;">30.0</span> - <span style="color: #000000;">71.0</span>
        VertRefresh     <span style="color: #000000;">50.0</span> - <span style="color: #000000;">160.0</span>
	Modeline <span style="color: #ff0000;">&quot;1024x768_85.00&quot;</span>  <span style="color: #000000;">94.39</span>  <span style="color: #000000;">1024</span> <span style="color: #000000;">1088</span> <span style="color: #000000;">1200</span> <span style="color: #000000;">1376</span>  <span style="color: #000000;">768</span> <span style="color: #000000;">769</span> <span style="color: #000000;">772</span> <span style="color: #000000;">807</span>  <span style="color: #660033;">-HSync</span> +Vsync
EndSection</pre></div></div>

<p>Перезагружаемся и все работает как надо. Вот теперь можно приступить к дальнейшей настройке системы. Следующий шаг &#8211; это установка драйверов. Я обновился из репозитория через утилиту Synaptic. Проблем с этим не возникло вообще никаких. И уже после установки видеодрайверов все работало отлично. Утилита nVidia X Server Settings порадовала обилием поддерживаемых режимов, чем не могла порадовать в прошлый раз.<br />
Таким образом, весьма расространенная(судя по обилию вопросов на форумах) проблема с частотой обновления экрана оказалось не такой уж и нерешаемой.</p>
<p>P.S. выложил свою версию решения данной проблемы с описанием всех моих действий. На идеальность решения не претендую.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/04/problemy-s-chastotoj-obnovleniya-ekrana-v-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#!/bin/bash для чайников:))</title>
		<link>http://snake.khd.ru/2009/10/binbash-dlya-chajnikov/</link>
		<comments>http://snake.khd.ru/2009/10/binbash-dlya-chajnikov/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 15:04:31 +0000</pubDate>
		<dc:creator>onion</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell-скрипты]]></category>
		<category><![CDATA[stargazer]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=132</guid>
		<description><![CDATA[Многие пользователи часто сталкиваются с выполнением рутинных операций. Будь то каждодневное монтирование диска при запуске системы или запуск приложения с одними и теми же параметрами. Все эти операции можно с легкостью выполнить множеством способов.
В рамках данного мануала я покажу один из способов автоматизации рутинных операций с помощью shell-скриптов на примере конкретной задачи. Но для начала [...]]]></description>
			<content:encoded><![CDATA[<p>Многие пользователи часто сталкиваются с выполнением рутинных операций. Будь то каждодневное монтирование диска при запуске системы или запуск приложения с одними и теми же параметрами. Все эти операции можно с легкостью выполнить множеством способов.<br />
В рамках данного мануала я покажу один из способов автоматизации рутинных операций с помощью shell-скриптов на примере конкретной задачи.<span id="more-132"></span> Но для начала немного теории.</p>
<p>Итак, что же такое shell-скрипты и как их поставить себе на вооружение?</p>
<p>Shell &#8212; это командная оболочка. Но еще это и мощный язык программирования. Программы на языке shell называют сценариями, или скриптами. Для использования в скриптах доступен полный набор команд, утилит и программ UNIX и плюс внутренние команды shell &#8212; условные операторы, операторы циклов и пр., которые увеличивают мощь и гибкость сценариев. </p>
<p>Структуру скрипта можно описать в семи словах следующим образом: «вызов командного интерпретатора — тело скрипта — завершение скрипта». Пишутся скрипты с помощью  любого текстового редактора, сохраняются они как текстовые файлы. Но, чтобы было удобнее, я сохраняю их с расширением «*.sh». Но давайте посмотрим на все это на примере конкретной задачи.</p>
<p>Итак, постановка задачи. Есть приложение, которое требуется запускать с довольно большим набором параметров. Запускать придется часто, а каждый раз вводить эти параметры лень:)) Чтоб было нагляднее, посмотрим, как выглядит это действие:</p>
<p><em>/home/Admin/soft/sgconf/sgconf -s 10.10.10.1 -p 5555 -a Admin -w 112233 -u user -c 100</em></p>
<p>Что же делает эта команда? Вкратце опишу ситуацию. Есть сервер, раздающий интернет пользователям. Пользователи сидят в инете  по цене n рублей за мегабайт. Когда средства на балансе заканчиваются, юзеры приносят деньги, администратор начисляет их им на баланс и пользователи могут снова сидеть в инете за n руб/метр. Сервер находится по адресу  10.10.10.1, порт сервера — 5555, администратора зовут Admin, его пароль — 112233. Требуется на пользователя user положить 100 рублей.  Первые 4 параметра — адрес и порт сервера, логин и пароль администратора будут неизменными, а последние два — имя юзера и сумма платежа буду каждый раз разными. Соответственно, нам нет нужды каждый раз вводить 4 неизменных параметра, можно жестко прописать их в теле скрипта, а последние 2 — у нас будут переменными.</p>
<p>Приступим непосредственно к написанию скрипта.</p>
<p>Что же должен делать скрипт? Считывать две переменные(назовем их «user» и «cash»), подставлять их в параметры запуска и запускать приложение. В принципе, все, но так как разработчиками приложения не были предусмотрены некоторые полезные функции, мы можем сами добавить их. Например, мне было бы очень удобно, если бы у меня велся лог пополнений баланса.</p>
<p>Открываем текстовый редактор и пишем код.</p>
<p>Первым делом нам нужен вызов интерпретатора. Для данного скрипта будем использовать интерпретатор bash.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span></pre></div></div>

<p>Далее добавим небольшое описание того, что требуется сделать пользователю. Вывод текста осуществляется командой echo. Параметром данной команды является сам текст, который нужно вывести. Пользователь вводит значение переменной, которую считывает оператор read. Параметром этой команды является имя переменной, значение которой задает пользователь. Выглядит это так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">--------</span> sgconf.sh v <span style="color: #000000;">0.1</span> <span style="color: #660033;">--------</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> Имя пользователя:
&nbsp;
	<span style="color: #c20cb9; font-weight: bold;">read</span> user
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> Сумма платежа:
&nbsp;
	<span style="color: #c20cb9; font-weight: bold;">read</span> cash
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">---------------------------------</span></pre></div></div>

<p>Первая и последняя строки добавлены для удобства пользователя, чтобы было видно, где начинается выполнение скрипта.<br />
Этого кода достаточно, чтобы скрипт выполнял свою основную задачу — запуск приложения с параметрами. Добавим эту операцию с учетом введенных переменных:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>soft<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf <span style="color: #660033;">-s</span> 10.10.10.1 <span style="color: #660033;">-p</span> <span style="color: #000000;">5555</span> <span style="color: #660033;">-a</span> Admin <span style="color: #660033;">-w</span> <span style="color: #000000;">112233</span> <span style="color: #660033;">-u</span> <span style="color: #007800;">$user</span> <span style="color: #660033;">-c</span> <span style="color: #007800;">$cash</span></pre></div></div>

<p>Обратите внимание, что вызов переменной обозначается знаком «<strong>$</strong>», т.е если имя переменной указано со знаком $, то мы обращаемся к ее значению.</p>
<p>Все, теперь нам не нужно каждый раз запускать программу с длиннющими параметрами. Запускаем скрипт, вводим имя плательщика, платеж и все. Но мы договорились еще и вести логи. Займемся решением этой задачи.</p>
<p>Логи у нас будут лежать в виде файла sgconf.log, находящимся в удобной для нас папке. Что нужно для ведения нормальных логов? Во-первых — отметка о выполненной операции, во-вторых — время, когда эта операция была выполнена. Наша операция — это платеж, проведенный на имя пользователя. То есть запись будет иметь следующий формат:</p>
<blockquote><p>Баланс пользователя &#8220;$user&#8221; пополнен на &#8220;$cash&#8221; рублей в $time</p></blockquote>
<p>И если с переменными $user и $cash мы уже разобрались, то откуда берется значение переменной time? </p>
<p>В консоли линукса есть очень полезный оператор, который показывает нам точное время. Вот это точное время мы и будем использовать в качестве значения переменной time. Делается это просто:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;"><span style="color: #000000; font-weight: bold;">time</span></span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #000000; font-weight: bold;">`</span></pre></div></div>

<p>То есть переменная определяется как результат, возвращаемый оператором date.</p>
<p>Теперь разберемся с записью файла sgconf.log. Если он уже существует, то в конце добавим новую запись, если нет — то создадим его и внесем туда данные о нашей операции.</p>
<p>Текст, который будем вносить в логи будет таким:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">text</span>=<span style="color: #ff0000;">&quot;Баланс пользователя &quot;</span><span style="color: #007800;">$user</span><span style="color: #ff0000;">&quot; пополнен на &quot;</span><span style="color: #007800;">$cash</span><span style="color: #ff0000;">&quot; рублей в <span style="color: #007800;">$time</span>&quot;</span></pre></div></div>

<p>Переменная text меняется в зависимости от переменных user, cash и time</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log <span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">then</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log 
&nbsp;
	<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log
&nbsp;
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Проверка условия производится с помощью конструкции <em>if — then — else — fi</em>. Если выполняется условие, заданное в квадратных скобках, то выполняем один код, если это условие не выполняется — другой, затем заканчиваем проверку.</p>
<p>Конструкция <em>[ -e /home/Admin/scripts/sgconf/sgconf.log ]</em><br />
  &#8211; это проверка существования файла /home/Admin/scripts/sgconf/sgconf.log, об этом говорит операция <strong>-e</strong>: если файл существует, она возвращает значение true и выполняется код  <em>echo $text &gt;&gt; /home/Admin/scripts/sgconf/sgconf.log</em>. Если он не существует — то код <em>echo $text &gt; /home/Admin/scripts/sgconf/sgconf.log</em> В первом случае мы добавляем значение переменной text в конец файла(это делается с помощью символа « <strong>&gt;&gt;</strong> »), во втором случае — мы записываем значение text в новый файл(« <strong>&gt;</strong> »).</p>
<p>Все, теперь завершаем наш скрипт командой <em>exit</em>.<br />
Сохраняем код в любое удобное место под именем «sgconf.sh» и пользуемся.</p>
<p>Полный код скрипта выглядит так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!bin/bash</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#************************************************#</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#                  sgconf.sh                     #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#           autor: Sergey Kondrashov             #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#                 10 25, 2009                    #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#                                                #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#    how to use sgconfig without hemorrhoids     #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#************************************************#</span>
&nbsp;
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">--------</span> sgconf.sh v <span style="color: #000000;">0.1</span> <span style="color: #660033;">--------</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> Имя пользователя:
&nbsp;
	<span style="color: #c20cb9; font-weight: bold;">read</span> user
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> Сумма платежа:
&nbsp;
	<span style="color: #c20cb9; font-weight: bold;">read</span> cash
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">---------------------------------</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>soft<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf <span style="color: #660033;">-s</span> 10.10.10.1 <span style="color: #660033;">-p</span> <span style="color: #000000;">5555</span> <span style="color: #660033;">-a</span> Admin <span style="color: #660033;">-w</span> <span style="color: #000000;">112233</span> <span style="color: #660033;">-u</span> <span style="color: #007800;">$user</span> <span style="color: #660033;">-c</span> <span style="color: #007800;">$cash</span>
&nbsp;
<span style="color: #007800;"><span style="color: #000000; font-weight: bold;">time</span></span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #007800;">text</span>=<span style="color: #ff0000;">&quot;Баланс пользователя &quot;</span><span style="color: #007800;">$user</span><span style="color: #ff0000;">&quot; пополнен на &quot;</span><span style="color: #007800;">$cash</span><span style="color: #ff0000;">&quot; рублей в <span style="color: #007800;">$time</span>&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log <span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">then</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log 
&nbsp;
	<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log
&nbsp;
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span></pre></div></div>

<p>Теперь, когда нам нужно положить кому-нибудь денежку, мы запускаем скрипт командой «sh sgconf.sh», вводим имя плательщика и сумму платежа. Никаких длинных строчек, никакой головной боли с постоянным вводом одних и тех же значений.</p>
<p>Но на этом я не остановился. Мне показалось неудобным то, что функционал программы предусматривает гораздо больше операций, нежели просто пополнение баланса. Коды этих операций передаются программе так же с помощью параметров. А используя приведенный выше способ, мне пришлось бы писать отдельный скрипт под каждую операцию, что было бы не слишком удобно. Выход очевиден: запуск скрипта с параметрами, которые будут переданы программе. Делается это еще проще, чем то, что мы сделали раньше.</p>
<p>За считывание параметров запуска отвечает переменная &#8220;@&#8221;. То есть, если мы запускаем скрипт с параметрами, они будут сохранены в эту переменную:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sh</span> sgconf.sh <span style="color: #660033;">-u</span> user <span style="color: #660033;">-c</span> <span style="color: #000000;">100</span></pre></div></div>

<p>Теперь мы просто подставим значение этой переменной в команду, выполняемую скриптом:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>soft<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf <span style="color: #660033;">-s</span> 10.10.10.1 <span style="color: #660033;">-p</span> <span style="color: #000000;">5555</span> <span style="color: #660033;">-a</span> Admin <span style="color: #660033;">-w</span> <span style="color: #000000;">112233</span> <span style="color: #ff0000;">&quot;$@&quot;</span></pre></div></div>

<p>Все! Согласитесь, это куда более удобно, чем то, что было раньше.</p>
<p>Дальше нам нужно подправить ведение логов. Для этого просто редактируем переменную text:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">text</span>=<span style="color: #ff0000;">&quot;$@&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$time</span>&quot;</span></pre></div></div>

<p>Таким образом, мы сможем в логах видеть не только имя плательщика, и сумму денег, внесенную им, но и код операции, будь то платеж или кредит и т.д.</p>
<p>Полный код второй версии скрипта выглядит так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!bin/bash</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#************************************************#</span>
<span style="color: #666666; font-style: italic;">#                  sgconf.sh                     #</span>
<span style="color: #666666; font-style: italic;">#           autor: Sergey Kondrashov             #</span>
<span style="color: #666666; font-style: italic;">#                 10 25, 2009                    #</span>
<span style="color: #666666; font-style: italic;">#                                                #</span>
<span style="color: #666666; font-style: italic;">#    how to use sgconfig without hemorrhoids     #</span>
<span style="color: #666666; font-style: italic;">#************************************************#</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> sgconf.sh v <span style="color: #000000;">0.2</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>soft<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf <span style="color: #660033;">-s</span> 10.10.10.1 <span style="color: #660033;">-p</span> <span style="color: #000000;">5555</span> <span style="color: #660033;">-a</span> Admin <span style="color: #660033;">-w</span> <span style="color: #000000;">112233</span> <span style="color: #ff0000;">&quot;$@&quot;</span>
<span style="color: #007800;"><span style="color: #000000; font-weight: bold;">time</span></span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">text</span>=<span style="color: #ff0000;">&quot;$@&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$time</span>&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>onion<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log <span style="color: #7a0874; font-weight: bold;">&#93;</span>
	<span style="color: #000000; font-weight: bold;">then</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>onion<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log 
	<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>onion<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log
<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">exit</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2009/10/binbash-dlya-chajnikov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Нестандартное подключение. pptp в Linux</title>
		<link>http://snake.khd.ru/2009/09/nestandartnoe-podklyuchenie-pptp-v-linux/</link>
		<comments>http://snake.khd.ru/2009/09/nestandartnoe-podklyuchenie-pptp-v-linux/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 14:34:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ppp]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=86</guid>
		<description><![CDATA[Имеется &#8211; компьютер в локальной сети с Ubuntu 9.04, подключаемый к интернету с помощью двух vpn-соединений. первое нужно для связи с vpn-сервером провайдера, второе &#8211; для непосредственно выхода в инетернет.

Перво-наперво ставим пакеты ppp и pptp.
Затем необходимо (в моем случае) прописать необходимые маршурты к первому vpn-серверу (да, вот такие извращения&#8230;):

#!/bin/sh
route add -net 10.12.5.0/24 gw 10.12.5.1
route add [...]]]></description>
			<content:encoded><![CDATA[<p>Имеется &#8211; компьютер в локальной сети с Ubuntu 9.04, подключаемый к интернету с помощью двух vpn-соединений. первое нужно для связи с vpn-сервером провайдера, второе &#8211; для непосредственно выхода в инетернет.<br />
<span id="more-86"></span><br />
Перво-наперво ставим пакеты ppp и pptp.<br />
Затем необходимо (в моем случае) прописать необходимые маршурты к первому vpn-серверу (да, вот такие извращения&#8230;):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
route add <span style="color: #660033;">-net</span> 10.12.5.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> gw 10.12.5.1
route add <span style="color: #660033;">-net</span> 10.12.51.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> gw 10.12.5.1
route add <span style="color: #660033;">-net</span> 10.12.4.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> gw 10.12.5.1
route add <span style="color: #660033;">-host</span> 10.10.10.10 gw 10.12.5.1
route add <span style="color: #660033;">-host</span> 10.10.10.78 gw 10.12.5.1</pre></div></div>

<p>Лучше всего будет прописать их в настройках ethernet соединения, чтобы вставали автоматически.</p>
<p>Затем создаем файлик /etc/ppp/peers/vpn</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">$sudo</span> <span style="color: #660033;">-i</span> <span style="color: #000000; font-weight: bold;">//</span>чтобы лишний раз не заморачиваться насчет прав
<span style="color: #666666; font-style: italic;">#cd /etc/ppp/peers</span>
<span style="color: #666666; font-style: italic;">#touch vpn</span>
<span style="color: #666666; font-style: italic;">#mcedit vpn</span></pre></div></div>

<p>Содержание файла:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pty <span style="color: #ff0000;">&quot;pptp 10.12.51.226 --nolaunchpppd&quot;</span> <span style="color: #000000; font-weight: bold;">//</span>ип сервера, с которым соединяемся
user yourlogin
password <span style="color: #ff0000;">&quot;YoUrPaSsWoRd&quot;</span> <span style="color: #000000; font-weight: bold;">//</span>обязательно в кавычках<span style="color: #000000; font-weight: bold;">!</span>
nodeflate
nobsdcomp
noauth
require-mppe-<span style="color: #000000;">128</span>
mtu <span style="color: #000000;">1460</span>
refuse-eap
refuse-chap
refuse-mschap</pre></div></div>

<p>Далее открываем файлик /etc/ppp/ip-up и добавляем в конец строки:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">route add <span style="color: #660033;">-net</span> 10.255.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> dev ppp0</pre></div></div>

<p>Этот маршрут необходим, чтобы связаться с сервером провайдера именно через это vpn-соединение</p>
<p>Пробуем:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#pppd call vpn debug nodetach</span></pre></div></div>

<p>Последние две опции необходимы для отладки. Наблюдаем в консоли примерно такую картину:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">using channel <span style="color: #000000;">2</span>
Using interface ppp0
Connect: ppp0 <span style="color: #000000; font-weight: bold;">&lt;</span>--<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>pts<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfReq <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>asyncmap 0x0<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x33368137<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>pcomp<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>accomp<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfReq <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>auth chap MD5<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x36da4966<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfAck <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>auth chap MD5<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x36da4966<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfReq <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>asyncmap 0x0<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x33368137<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>pcomp<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>accomp<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfAck <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>asyncmap 0x0<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x33368137<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>pcomp<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>accomp<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP EchoReq <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x0 <span style="color: #007800;">magic</span>=0x33368137<span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>CHAP Challenge <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>f872f6df5542429b46d6cf7e89a3386c<span style="color: #000000; font-weight: bold;">&gt;</span>, name = <span style="color: #ff0000;">&quot;bras8&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>CHAP Response <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>ebb4965e871c49a07565b148dc2dbf29<span style="color: #000000; font-weight: bold;">&gt;</span>, name = <span style="color: #ff0000;">&quot;unicorn2&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP EchoRep <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x0 <span style="color: #007800;">magic</span>=0x36da4966<span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>CHAP Success <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #ff0000;">&quot;&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
CHAP authentication succeeded
CHAP authentication succeeded
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfReq <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>compress VJ 0f 01<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>addr 0.0.0.0<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfReq <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 195.14.38.8<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfAck <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 195.14.38.8<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfRej <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>compress VJ 0f 01<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfReq <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x2 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 0.0.0.0<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfNak <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x2 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 89.178.77.182<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfReq <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x3 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 89.178.77.182<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfAck <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">id</span></span>=0x3 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 89.178.77.182<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
Cannot determine ethernet address <span style="color: #000000; font-weight: bold;">for</span> proxy ARP
<span style="color: #7a0874; font-weight: bold;">local</span>  IP address 89.178.77.182
remote IP address 195.14.38.8
Script <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ppp<span style="color: #000000; font-weight: bold;">/</span>ip-up started <span style="color: #7a0874; font-weight: bold;">&#40;</span>pid <span style="color: #000000;">4072</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
Script <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ppp<span style="color: #000000; font-weight: bold;">/</span>ip-up finished <span style="color: #7a0874; font-weight: bold;">&#40;</span>pid <span style="color: #000000;">4072</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, status = 0x0</pre></div></div>

<p>У нас появилось новое сетевое устройство ppp0.</p>
<p>Пингуем vpn провайдера:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#ping 10.255.0.1</span></pre></div></div>

<p>Если ответ есть, значит все прекрасно. Если нет &#8211; проверяем маршруты и настройки соединения.</p>
<p>Далее создаем файлик /etc/ppp/peers/internet:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pty <span style="color: #ff0000;">&quot;pptp 10.255.0.2 --nolaunchpppd&quot;</span> <span style="color: #000000; font-weight: bold;">//</span>адрес vpn-сервера провайдера
user yourlogin
password <span style="color: #ff0000;">&quot;YoUrPaSsWorD&quot;</span>
nodeflate
nobsdcomp
noauth
require-mppe-<span style="color: #000000;">128</span>
mtu <span style="color: #000000;">1460</span>
refuse-eap
refuse-chap
refuse-mschap</pre></div></div>

<p>В конец файла /etc/ppp/ip-up дописываем:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">route add default dev ppp1</pre></div></div>

<p>Соединяемся:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pppd call internet debug nodetach</pre></div></div>

<p>Если все прошло успешно, у нас должен появится инет. Если нет &#8211; курим маршруты и настройки соединения.</p>
<p>теперь vpn можно поднимать двумя командами:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pppd call vpn
pppd call internet</pre></div></div>

<p>Только прошу обратить внимание, что демон pppd требует рутовых прав :)</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2009/09/nestandartnoe-podklyuchenie-pptp-v-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
