<?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>Nablog</title>
	<atom:link href="http://nablog.kiev.ua/feed/" rel="self" type="application/rss+xml" />
	<link>http://nablog.kiev.ua</link>
	<description>Блог компьютерщика-интернетчика</description>
	<lastBuildDate>Sat, 22 Jan 2011 01:06:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Nginx + gitweb + gitosis</title>
		<link>http://nablog.kiev.ua/2010/11/nginx-gitweb-gitosis/</link>
		<comments>http://nablog.kiev.ua/2010/11/nginx-gitweb-gitosis/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 23:55:01 +0000</pubDate>
		<dc:creator>Nab</dc:creator>
				<category><![CDATA[Линукс]]></category>
		<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=151</guid>
		<description><![CDATA[Продолжаю изучать nginx, и постепенно перевожу все сайты под него. Продакшен сервер, потому используется только стабильная ветка Lenny. Основной вопрос который будет рассмотрен это запуск gitweb под nginx. Nginx умеет только FastCGI. А gitweb это скрипт на перл использующий простой CGI. Ставим софт: $sudo apt-get install git gitweb gitosis Gitosis Позволяет организовать работу пользователей с [...]]]></description>
			<content:encoded><![CDATA[<p>Продолжаю изучать nginx, и постепенно перевожу все сайты под него.</p>
<p>Продакшен сервер, потому используется только стабильная ветка Lenny.</p>
<p>Основной вопрос который будет рассмотрен это запуск gitweb под nginx. Nginx умеет только FastCGI. А gitweb это скрипт на перл использующий простой CGI.<br />
<span id="more-151"></span></p>
<p>Ставим софт:<br />
$sudo apt-get install git gitweb gitosis</p>
<h2>Gitosis</h2>
<p>Позволяет организовать работу пользователей с репозиторием, не заводя для каждого аккаунт в системе. Работает через одного пользователя, и использует rsa ключи для идентификации разработчиков.</p>
<p>Конфигурация находится в репозитории gitosis-admin. Правится и сохраняется посредством git. Собственно push в удаленный репозиторий и является сохранением конфигурации и релоадом сервиса.</p>
<p>Дебиановская поставка создает не общепринятого пользователя git, а пользователя без пароля gitosis с домашником в /srv/gitosis. И именно с этим каталогом будем работать в дальнейшем и gitweb пропишем там же.</p>
<p>Права в конфиге выдаются не пользователям, а ключам. И чтобы этим всем было проще рулить, рекомендую перед добавлением ключа переименовывать его в ник пользователя.</p>
<p>$sudo cp /home/ник_админа_гитосиса/.ssh/id_rsa.pub /tmp/ник_админа_гитосиса.pub</p>
<p>Теперь инициализируем gitosis:</p>
<p>$sudo -H -u git gitosis-init &lt; /tmp/ник_админа_гитосиса.pub</p>
<p>Ключ -H указан для gitosis. Он использует переменную окружения $HOME, и чтобы он не в вашем домашнике создал этот репозиторий он и нужен.</p>
<p>Конфигурирование и добавление пользователей и репозитории я опишу после полной установки.</p>
<h2>Git daemon &#8211; Доступ для клонирования наших репозиториев.</h2>
<p>Команда запуска демона находится в /etc/sv/git-daemon/run.</p>
<p>Заменим строку запуска на вот такую, с новым расположением репозиториев:<br />
exec git-daemon &#8211;verbose &#8211;reuseaddr &#8211;base-path=/srv/gitosis/repositories /srv/gitosis/repositories</p>
<p>И рестартонем демона:<br />
$sudo sv restart git-daemon</p>
<h2>GitWeb</h2>
<p>Стандартный веб-интерфейс к git.</p>
<p>Для запуска его как FastCGI воспользуемся вот этой оберткой:<br />
<a href="/files/gitweb.fcgi">gitweb.fcgi</a>.</p>
<p>Скопируйте ее в /usr/lib/cgi-bin, рядом  с самим  gitweb.cgi.</p>
<p>Файл запуска нашего FastCGI приложения положите в /etc/init.d:<br />
<a href="/files/spawn-gitweb.sh">spawn-gitweb.sh</a>.</p>
<pre>
#!/bin/sh
su gitosis -c /home/gitosis/gitweb/gitweb.fcgi \
  --fcgi-socket=127.0.0.1:7000 \
  --cgi-bin=/usr/lib/cgi-bin/gitweb.cgi &#038;
</pre>
<p>Запуск будет производится от имени gitosis.</p>
<p>Создайте каталог  для статических элементов gitweb</p>
<p>$sudo -u gitosis mkdir -p /srv/gitosis/gitweb/static</p>
<p>Скопируйте туда файлы стилей и картинки.</p>
<p>$sudo -u gitosis cp /usr/share/gitweb/* /srv/gitosis/gitweb/static/</p>
<p>Есть два способа включить репозитории в список проектов gitweb.<br />
Первый это указать файл в котором будет находится список доступных проектов.<br />
Мы им и воспользуемя, этот файл нам автоматически будет генерировать gitosis.</p>
<p>Второй, используется в случае самостоятельного сканирования директории с репозиториями. Присвоив $export_ok имя файла которое при сканирование должно присутствовать в каталоге проекта, мы разрешаем публикацию этого проекта.</p>
<pre>
$projects_list = $projectroot;
# Покажет в списке только проекты которые разрешены для git-daemon.
$export_ok = "git-daemon-export-ok";
</pre>
<p>Конфиг gitweb  /etc/gitweb.conf:</p>
<pre># path to git projects (&lt;project&gt;.git)
# путь к проектам
$projectroot = "/srv/gitosis/repositories";

# directory to use for temp files
# временная директория
$git_temp = "/tmp";

# target of the home link on top of all pages
$home_link = $my_uri || "/";

# html text to include at home page
$home_text = "indextext.html";

# file with project list; by default, simply scan the projectroot dir.
# Файл содержащий список проектов.
# Если указано имя каталога, gitweb применит сканирование
# и определит все репозитории внутри него.
# Но нам это не нужно, наш список публичных проектов
# мы будем определять через gitosis.
# Потому указываем конкретный файл.
#$projects_list = $projectroot;
$projects_list = "/srv/gitosis/gitosis/projects.list";

# stylesheet to use
# относительный урл стилевого файла
$stylesheet = "/static/gitweb.css";

# logo to use
# относительный урл лого
$logo = "/static/git-logo.png";

# the 'favicon'
# относительный урл иконки сайта
$favicon = "/static/git-favicon.png";

# By default, gitweb will happily let people browse any repository
# they guess the name of. This may or may not be what you want.
# I prefer to set these, to allow exactly the repositories in
# projects.list to be browsed.
$export_ok = "";
$strict_export = "true";

# устанавливаем формат тарболлов по умолчанию
$feature{'snapshot'}{'default'} = ['zip'];

# Способы доступа к репозиториям
#@git_base_url_list = ('git+ssh://gitosis@domain.tld');
@git_base_url_list = ('git://domain.tld', 'ssh://gitosis@domain.tld');
</pre>
<h2>Nginx</h2>
<p>Конфигурируем свой виртуальный домен:</p>
<pre>upstream fcgi-gitweb {
        server 127.0.0.1:1027;
}

server {
        listen          YouIP:80;
        server_name     domain.tld;

        access_log      /var/log/nginx/domain.tld.access.log;
        error_log       /var/log/nginx/domain.tld.error.log;

        location / {
                include        /etc/nginx/fastcgi_params;
                fastcgi_pass   fcgi-gitweb;
        }

        location /static {
                root        /srv/gitosis/gitweb;
        }
}</pre>
<h2>Настройка и публикация репозиториев</h2>
<p>Теперь необходимо настроить gitosis, и именно его настроек хватит чтобы рулить всем хозяйством сразу.</p>
<p>Получаем репозиторий с конфигураций. Эта операция должна производится от имени ник_админа_гитосиса, которого мы определили в первой части.</p>
<p>$git clone gitosis@domain.tld:gitosis-admin.git</p>
<p>$cp gitosis-admin</p>
<p>Там будут находится файл gitosis.conf и каталог с ключами keydir. В каталог будем копировать ключи разработчиков под их именами, а gitosis.conf имеет такие возможности:</p>
<pre># В этой секции находятся глобальные настройки
# если вы собираетесь публиковать через веб все свои репозитории,
# то достаточно будет указать в этом разделе параметр gitweb = yes.
# но предполагается что к публикации
# для каждого проекта будет подход особый.
[gitosis]

[group gitosis-admin]
writable = gitosis-admin
members = ник_админа_гитосиса 

# Определяем группы для использования в дальнейшем
# Все используемые имена разработчиков это имена ключей,
# которые должны лежать в keydir
# leader1.pub developer2.pub ... и т.д.
[group team-leader]
members = leader1 leader2

[group developers]
members = developer1 developer2 developer3

# доступ  команде разработчиков и пользователю user1
# к репозиториям dev и fixes на запись
# и к репозиторию release на чтение
[group dev]
writable = dev fixes
readonly = release
members = @developers user1

# доступ  ведущим разработчикам  и пользователю user2
# к репозиторию release на запись
[group releases]
writable = release
members = @team-leader user2

# есть еще пользовать @all
# и по идее вот такая вот запись позволит ему забрать релиз
[group reader]
readonly = release
members = @all

# теперь определим наши репозитории
# публикуем наши релизы
[repo release]
# публикуем в gitweb
gitweb = yes
# публикуем через git-daemon
daemon = yes
# Описание
description = Релизы нашего проекта
# Видимое имя владельца
owner = Architector

# Девелоперский не публикуем
# В принципе его здесь и описывать не нужно было
[repo dev]
description = Репозиторий разработки
owner = Leader

# а фиксы опубликуем
[repo fixes]
gitweb = yes
daemon = yes
description = Фиксы
owner = Developer
</pre>
<p>Добавляем файлы ключей под контроль git:<br />
$git add .</p>
<p>После этого коммитим наши изминения<br />
$git commit -am &laquo;Первичная настройка и публикация репозиториев&raquo;</p>
<p>И отправляем это все на наш удаленный gitosis.<br />
$git push</p>
<p>Репозитории автоматом не создадутся, только при первом коммите.<br />
И тогда же они появятся в списке проектов gitweb.</p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2010/11/nginx-gitweb-gitosis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nginx + spawn-fcgi + PHP for Lenny</title>
		<link>http://nablog.kiev.ua/2010/10/nginx-spawn-fcgi-php-for-lenny/</link>
		<comments>http://nablog.kiev.ua/2010/10/nginx-spawn-fcgi-php-for-lenny/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 17:56:32 +0000</pubDate>
		<dc:creator>Nab</dc:creator>
				<category><![CDATA[Линукс]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=140</guid>
		<description><![CDATA[Думаю таких статей много, но с ходу полного варианта я не нашел, потому почитав несколько, расскажу как я собирал свой вариант под Lenny. Nginx и PHP установил как обычно: # apt-get install nginx php5 spawn-fcgi &#8211; утилита проекта lighttpd.  C некоторых пор доступна как отдельный проект spawn-fcgi.  Но я ставил еще из lighttpd. Загружаем без [...]]]></description>
			<content:encoded><![CDATA[<p>Думаю таких статей много, но с ходу полного варианта я не нашел, потому почитав несколько, расскажу как я собирал свой вариант под Lenny.</p>
<p><a href="http://sysoev.ru/nginx/">Nginx</a> и PHP установил как обычно:</p>
<p><code># apt-get install nginx php5<span id="more-140"></span></code></p>
<p>spawn-fcgi &#8211; утилита проекта <a href="http://www.lighttpd.net/">lighttpd</a>.  C некоторых пор доступна как отдельный проект <a title="spawn-fcgi" href="http://redmine.lighttpd.net/projects/spawn-fcgi">spawn-fcgi</a>.  Но я ставил еще из lighttpd.</p>
<p>Загружаем без установки пакет:</p>
<p><code># apt-get -d install lighttpd</code></p>
<p>потом идем в /var/cache/apt/archives находим там полученный файлик и извлекаем из него утилиту в /usr/bin.</p>
<p>Файла запуска конечно лучше было бы самому написать, правильный, но я воспользовался родным. Его нет в скачанном пакете под Debian, потому идем на <a href="http://www.lighttpd.net/download/">страницу загрузки</a> и качаем исходники. Оттуда берем файлик /doc/scripts/spawn-php.sh и копируем его в /etc/init.d</p>
<p>В нем правим пути:<br />
<code>## ABSOLUTE path to the spawn-fcgi binary<br />
SPAWNFCGI="/usr/bin/spawn-fcgi"<br />
## ABSOLUTE path to the PHP binary<br />
FCGIPROGRAM="/usr/bin/php-cgi"</code></p>
<p>И прописываем пользователя:<br />
<code>## if this script is run as root, switch to the following user<br />
USERID=www-data<br />
GROUPID=www-data<br />
</code></p>
<p>Конфиг nginx:</p>
<pre>server {
  listen          80;
  server_name     your_site.tld;

  location / {
    root   /var/www/your_site.tld;
    index  index.html index.php;
  }

  location ~ \.php$ {
    fastcgi_pass   127.0.0.1:1026;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /var/www/your_site.tld$fastcgi_script_name;
    include        /etc/nginx/fastcgi_params;
  }
}</pre>
<p>Все, наше хозяйство можно запускать:<br />
#invoke-rc.d nginx restart<br />
#/etc/init.d/spawn-php.sh</p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2010/10/nginx-spawn-fcgi-php-for-lenny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Скрипт для проброса портов на гостевой домен.</title>
		<link>http://nablog.kiev.ua/2010/08/script-for-forward-ports-to-guest-domain/</link>
		<comments>http://nablog.kiev.ua/2010/08/script-for-forward-ports-to-guest-domain/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 00:22:28 +0000</pubDate>
		<dc:creator>Nab</dc:creator>
				<category><![CDATA[xen]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=118</guid>
		<description><![CDATA[Иногда необходимо запустить несколько VDS, а IP адрес всего один. При этом необходимо чтобы эти VDS были доступны извне на определенных портах. К примеру для разделения сервисов: под DNS свой сервер, а под почту свой. В этом случае можно использовать NAT для доступа из гостевых наружу, и DNAT в правилах PREROUTING цепочки nat для проброса [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда необходимо запустить несколько VDS, а IP адрес всего один. При этом необходимо чтобы эти VDS были доступны извне на определенных портах. К примеру для разделения сервисов: под DNS свой сервер, а под почту свой.</p>
<p>В этом случае можно использовать NAT для доступа из гостевых наружу, и DNAT в правилах PREROUTING цепочки nat для проброса необходимых портов.</p>
<p>Написан скрипт, решающий эти задачи, основанный на стандартном vif-nat, но с добавлением обработки необходимых параметров:<br />
<a href="/xen-scripts/vif-nat-pfwd">vif-nat-pfwd</a></p>
<p>Для использования этих возможностей необходимо добавить в описание интерфейса в файле конфигурации гостевого домена два параметра:</p>
<ul>
<li><strong>ext_ip</strong> &#8211; указывает с какого внешнего адреса будут пробрасыватся порты</li>
<li><strong>ports</strong> &#8211; описывает, разделенные &#8216;-&#8217;, пары портов, разделенные &#8216;:&#8217;</li>
</ul>
<p>Пример:</p>
<p><code>vif = [ 'ext_ip=1.2.3.4 ports=3422:22-25-80:8080-3306-53' ]</code></p>
<p>На адрес гостевого домена будут проброшены с внешнего адреса 1.2.3.4 порты 3422 на 22 порт для управления, 25 на 25 для почты, 80 на порт 8080 для сайта и 3306 и 53 на такие же порты гостевого домена.</p>
<p>Вместе с <a href="http://nablog.kiev.ua/2010/06/xen-network-with-nat-dhcp/">DHCP</a>, это позволит не заботится о настройке сети внутри гостевых доменов. Внешне это будет выглядеть как один физический сервер, а внутри будет представлять собой несколько VDS, с четко ограниченными и выделенными для необходимого сервиса ресурсами.</p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2010/08/script-for-forward-ports-to-guest-domain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка сети для XEN с поддержкой NAT и DHCP.</title>
		<link>http://nablog.kiev.ua/2010/06/xen-network-with-nat-dhcp/</link>
		<comments>http://nablog.kiev.ua/2010/06/xen-network-with-nat-dhcp/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 21:13:04 +0000</pubDate>
		<dc:creator>Nab</dc:creator>
				<category><![CDATA[xen]]></category>
		<category><![CDATA[Линукс]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=95</guid>
		<description><![CDATA[При настройке серверов в продакшн, такая конфигурация встречается редко. Обычно каждому VPS/VDS выдается реальный IP и все поднимается с помощью (net-script network-bridge) и (vif-sсript vif-bridge) и жестко прописанных параметров для сети. Но при ограниченном адресном ресурсе или как в моем случае, для изучения и тестирования схема с NAT и выдачей параметров сети по DHCP имеет [...]]]></description>
			<content:encoded><![CDATA[<p>При настройке серверов в продакшн, такая конфигурация встречается редко. Обычно каждому VPS/VDS выдается реальный IP и все поднимается с помощью (net-script network-bridge) и (vif-sсript vif-bridge) и жестко прописанных параметров для сети.</p>
<p>Но при ограниченном адресном ресурсе или как в моем случае, для изучения и тестирования схема с NAT и выдачей параметров сети по DHCP имеет право на жизнь. Тем более что с сетью в xen можно вытворять и не такие вещи <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <span id="more-95"></span></p>
<p>Другое дело что такой вариант нигде не описывается особенно, по крайней мере я не нашел. Вернее нашел вот этот наббл: <a href=" Параметр dhcp = ">http://old.nabble.com/-PATCH&#8211;get-dhcp-working-for-network-nat-td14897831.html</a>. Но так патчить дефолтные скрипты считаю не лучшим решением, тем более что они достаточно конфигурируются и без таких телодвижений.</p>
<p>Параметр dhcp = &laquo;dhcp&raquo; в конфиге гостевых доменов, если честно, я так и не понял зачем нужен. Ибо подключается dhcp совсем не так.</p>
<p>Все нижележащее справедливо для debian lenny. Для других дистрибутивов могут отличатся детали.</p>
<p>Для начала устанавливаем dhcp-server:<br />
<code>#apt-get install dhcp3-server</code><br />
Далее, корректируем его конфиг на использование нашего сервера имен. В /etc/dhcp3/dhcpd.conf прописываем имя домена и наши dns:<br />
<code><br />
# option definitions common to all supported networks...<br />
option domain-name "example.org";<br />
option domain-name-servers ns1.example.org, ns2.example.org;<br />
</code><br />
В принципе это минимально достаточные параметры, чтобы гостевые операционки нормально становились видны и с них можно было начинать работать.</p>
<p>Если у нас все домены будут подключатся через dhcp, то достаточно будет указать в главном конфиге xen (/etc/xen/xend-config.sxp) так:<br />
<code><br />
(net-script 'network-nat dhcp=yes')<br />
(vif-sсript 'vif-nat dhcp=yes')<br />
</code></p>
<p>далее рестартуем xen:<br />
<code>xend restart</code><br />
Xen рестартует и dhcp сервер. И скорее всего он не запустится, и выдаст ошибку:<br />
<code><br />
# xend restart<br />
Stopping DHCP server: dhcpd3 failed!<br />
Starting DHCP server: dhcpd3check syslog for diagnostics. failed!<br />
failed!<br />
</code><br />
Не обращайте на нее внимания, в конфиге действительно пока не описано ни одной подсети к которой он смог бы привязаться, исключая случай когда у вас это все тоже локалка и она подходит под 10.0.0.0/255.255.0.0. Именно эту подсеть создает на этой машине скрипт network-nat.</p>
<p>Если вас это не устраивает, то можете указать подходящую сеть в /etc/dhcp3/dhcpd.conf, и включать dhcp для network-script будет не обязательно. Но тогда и ip для каждого домена вам необходимо будет прописать в конфигах необходимые. </p>
<p>Или создать свой скрипт на основе network-nat, скопировав и подправив его по своим нуждам. Только тогда в /etc/xen/xend-config.sxp необходимо указать свой скрипт вместо network-nat.</p>
<p>В любом случае сервер dhcp запустится при запуске первого же гостевого домена.</p>
<p>В конфиге домена можно указать ip и mac для этого интерфейса. Тогда они автоматом будут добавлены в конфиг dhcp и будут доступны для гостевого домена. Если ip не указывать  то будет выбран адрес 10.XX.YY.1, где XX и YY это номер домена 1..256*256.</p>
<p>MAC адреса выделенные для использования с xen начинаются с 00:16:3E:*. Остальные 3 числа вы можете назначать по своему усмотрению. Если они не указаны, xen сам назначит их случайным образом из этого же диапазона.</p>
<p>В качестве дефолтного шлюза будет назначен адрес+127. То есть если вы указали ip 10.0.1.1 то в качестве шлюза для него будет создан и поднят vif интерфейс 10.0.1.128, и на нем будут прописаны правила маскарадинга для адреса 10.0.1.1.</p>
<p>Или автоматически будет выдано для домена с ID = 3:<br />
10.0.3.1 и шлюз 10.0.3.128 на интерфейсе vif3.0.<br />
для домена с ID = 259:<br />
10.1.4.1 и шлюз 10.1.4.128 на интерфейсе vif259.0.</p>
<p>Если вам не нужно чтобы все домены стартовали с dhcp, то необходимо при конфигурировании сетевого интерфейса указать использование скрипта и dhcp отдельно:<br />
<code>vif = [ 'ip=10.0.1.2,script=vif-nat,mac=00:16:3E:00:01:01' ]</code></p>
<p>Или наоборот, в главном конфиге не указывать использование dhcp для vif-script, а для конкретного домена указать так:<br />
<code>vif = [ 'script=vif-nat dhcp=yes,ip=10.0.1.3' ]</code><br />
Тогда dhcp будет использован только для этого гостевого домена.</p>
<p>Так как маска подсети, создаваемой xen, /16, то все эти гостевые домены, даже учитывая что у каждого из них свой дефолтный шлюз,  будут находится в одной сети. И мы получим такую себе локалку на одной машине с которой можем ставить различные эксперименты. Один из доменов же можно пробросить наружу с помощью портфорвардинга или правил iptables -t nat -A PREROUTING &#8230; Тут уже как ваша фантазия разыграется <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2010/06/xen-network-with-nat-dhcp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Установка Debian с USB-flash</title>
		<link>http://nablog.kiev.ua/2010/04/install-debian-from-usb-flash/</link>
		<comments>http://nablog.kiev.ua/2010/04/install-debian-from-usb-flash/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 01:45:04 +0000</pubDate>
		<dc:creator>Nab</dc:creator>
				<category><![CDATA[Линукс]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[grub4dos]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[usb-flash]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=65</guid>
		<description><![CDATA[Есть детально описанные способы инсталляции и в документации, и в wiki и еще много статей на блогах дебианщиков. Но мой случай мне ни разу не встретился. Дело в том что у меня есть мультизагрузочная флешка созданная с помощью GRUB for DOS. С нее уже грузится и RIP Linux и DRWeb Live и Alkid WindowsXP и [...]]]></description>
			<content:encoded><![CDATA[<p>Есть детально описанные способы инсталляции и в документации, и в wiki и еще много статей на блогах дебианщиков. Но мой случай мне ни разу не встретился.</p>
<p>Дело в том что у меня есть мультизагрузочная флешка созданная с помощью <a title="Grub4Dos homepage" href="https://gna.org/projects/grub4dos/">GRUB for DOS</a>. С нее уже грузится и RIP Linux и DRWeb Live и Alkid WindowsXP и целая куча досовских дискет и еще несколько мелких вещей.<span id="more-65"></span></p>
<p>И естественно хотелось бы чтобы и дебиан можно было установить с нее. Тем более возникла нужда. Мне выделили два тазика у нового киевского провайдера <a href="http://ini.net.ua/">INI.net</a>. Один под игровой сервак, второй под xen vds. Ну а CDROM там один на всю стойку. <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Промучавшись c разными вариантами и обкурившись манов я таки нашел заветную комбинацию для GRUB4DOS, которая нормально подхватила все необходимое.<br />
А именно мой файлик deb_inst.lst:<br />
<code><br />
title Debian amd64 Net-Install<br />
map (hd0) (hd1)<br />
map (hd1) (hd0)<br />
map --hook<br />
find --set-root --ignore-floppies /deb_amd64/vmlinuz<br />
kernel /deb_amd64/vmlinuz vga=normal -- quiet<br />
initrd /deb_amd64/initrd.gz</p>
<p>title Debian i386 Net-Install<br />
map (hd0) (hd1)<br />
map (hd1) (hd0)<br />
map --hook<br />
find --set-root --ignore-floppies /deb_i386/vmlinuz<br />
kernel /deb_i386/vmlinuz vga=normal -- quiet<br />
initrd /deb_i386/initrd.gz</p>
<p>title Previous Menu<br />
find --set-root /menu.lst<br />
configfile /menu.lst<br />
</code></p>
<p>Секции две первых аналогичны, просто для разных архитектур, а последняя это возврат в главное меню.</p>
<p>В корне флешки у меня две вот такие директории:</p>
<pre>
\deb_amd64
    \debian-504-amd64-businesscard.iso
    \initrd.gz
    \vmlinuz

\deb_i386
    \debian-504-i386-businesscard.iso
    \initrd.gz
    \vmlinuz
</pre>
<p>504 сборка образа текущая на данный момент. Все устроено так что имя образа нигде не указывается, потому просто заменив все три файла на последние версии вам больше ничего не нужно будет делать, все заработает сразу.</p>
<p>businesscard &#8211; означает что установка будет производится из минимального дистрибутива и по сети. Его запросто можно сменить на netinst.iso как имеющий больше возможностей, так и на полный, в особенности если планируется установка без подключения к инету. Для меня был важен размер, потому и использован формат businesscard.</p>
<p>Образы дисков берутся здесь: <a href="http://www.debian.org/distrib/netinst">Установка Debian GNU/Linux через Интернет</a>. Там же из раздела сетевой загрузки из директории hd-media берутся только ядро и рамдиск. Все остальное не нужно.</p>
<p>В принципе с помощью grub4dos можно было попытаться загрузится c .iso образа напрямую, но у меня почему то этот метод не пошел. </p>
<p><strong>!!!Важно:</strong> образы .iso должны лежать в каталоге первого уровня, более глубокая вложенность не позволит автоматически найти необходимый образ.</p>
<p>Первые две команды map, которые меняют нумерацию дисков в системе, понадобились для установки grub. В противном случае при установке в главную загрузочную запись он будет установлен на флешку. Ведь она будет перым диском несущим загрузочную запись. К сожалению с программным RAID это не сработало, потому grub устанавливал не автоматически, а принудительно указав ему &#8216;/dev/sda&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2010/04/install-debian-from-usb-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Новейший способ установки Debian в DomU.</title>
		<link>http://nablog.kiev.ua/2009/07/new-install-debian-in-domu/</link>
		<comments>http://nablog.kiev.ua/2009/07/new-install-debian-in-domu/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 17:45:22 +0000</pubDate>
		<dc:creator>Nab</dc:creator>
				<category><![CDATA[xen]]></category>
		<category><![CDATA[Линукс]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[виртуализация]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=30</guid>
		<description><![CDATA[Раньше это было как с любым другим дистром. Создавался образ или выделялся раздел и примонтировав его к себе в файловую систему на него натравливался debootstrap. Сейчас умный дядька Joey Hess, слабал конфигурационнай файл для гостевого домена таким образом что если в командной строке указать install=true, установка начнется автоматически. Будут подгружены необходимые ядро и initramfs, и [...]]]></description>
			<content:encoded><![CDATA[<p>Раньше это было как с любым другим дистром. Создавался образ или выделялся раздел и примонтировав его к себе в файловую систему на него натравливался debootstrap.</p>
<p>Сейчас умный дядька <a href="http://kitenet.net/~joey/">Joey Hess</a>, слабал <a href="http://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/xen/xm-debian.cfg">конфигурационнай файл</a> для гостевого домена таким образом что если в командной строке указать install=true, установка начнется автоматически. Будут подгружены необходимые ядро и initramfs, и с них начнется загрузка. Единственное, это что сам диск должен быть уже создан. Раздел это или образ не важно, главное что не понадобиться его потом монтировать и чтото изменять. Процесс становиться также прост как и обычная установка. Все гибко настраиваеться, но и дефолтные настройки абсолютно рабочие.<br />
<span id="more-30"></span><br />
Итак, по ссылке <a href="http://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/xen/">http://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/xen/</a> находятся 3 файла, ядро, рам-диск и конфиг. Качайте себе только конфиг.</p>
<p>Я в данном случае хотел создать переносимое решение в прямом смысле, потому установку делал в файл образа размером в 1Gb созданный такой командой:</p>
<p><code>dd if=/dev/zero of=/xen/images/debian-host1.img bs=1M count=1024<br />
mkfs.ext3 /xen/images/debian-host1.img</code></p>
<p>Подготовка раздела диска описана хорошо вот здесь: <a href="http://xgu.ru/wiki/Linux_в_Xen">http://xgu.ru/wiki/Linux_в_Xen</a> . Из этой статьи вам понадобиться только первая часть, подготовка дисков. Все остальное мы и пытаемся профилонить <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Да и устарела там инфа для lenny к сожалению.</p>
<p>Раздел подкачки создавайте по необходимости:</p>
<p><code>dd if=/dev/zero of=/xen/images/swap1.img bs=1M count=256<br />
mkswap /xen/images/swap1.img</code></p>
<p>Далее правите полученный конфиг. Так как начиная с lenny поддерживаються только xvd  устройства, то у меня диски выглядят примерно так:</p>
<p><code>disk = [<br />
'file:/xen/images/debian-host1.img,xvda1,w',<br />
'file:/xen/images/swap1.img,xvda2,w'<br />
]<br />
</code></p>
<p>Сеть, ее обязательно нужно настроить до начала установки, иначе установки никакой не будет <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>У меня все по дефолту и юзаеться dhcp:<br />
<code>vif = ['']</code><br />
ну а у вас если есть сложности, то вот сюда: <a href="http://xgu.ru/wiki/Сеть_в_Xen">http://xgu.ru/wiki/Сеть_в_Xen</a></p>
<p>Далее установка:<br />
<code>xm create -c install=true xm-debian.cfg</code></p>
<p>Она стандартна, и если вы все верно настроили у вас произойдет всего одна ошибка, а именно ошибка установки GRUB. Но он нам то и не нужен, так что можете смело пропускать этот шаг. Но в файл конфигурации своего VDS необходимо будет добавить строки которые вместо GRUB будут указывать откуда брать ядро, рам-диск и какое устройство будет root:</p>
<p><code>kernel      = 'vmlinuz-2.6.26-2-686-bigmem'<br />
ramdisk     = 'initrd.img-2.6.26-2-686-bigmem'<br />
root='/dev/xvda1'<br />
</code></p>
<p>Ядро из репозитория lenny не поддерживает 64-битные гостевые домены, потому по дефолту ставится *-bigmem. Вам его необходимо будет скопировать с гостевого домена в директорию /usr/lib/xen-3.2-1/boot:</p>
<p><code>mount /xen/images/debian-host1.img /mnt -o loop<br />
cp /mnt/boot/vmlinuz-2.6.26-2-686-bigmem /usr/lib/xen-3.2-1/boot/<br />
cp /mnt/boot/initrd.img-2.6.26-2-686-bigmem /usr/lib/xen-3.2-1/boot/<br />
umount /mnt<br />
</code></p>
<p>Также из конфига я убрал все что касалось инсталляции, и добавил вот эти строки:</p>
<p><code>on_poweroff = 'destroy'<br />
on_reboot   = 'restart'<br />
on_crash    = 'destroy'<br />
</code></p>
<p>После успешного старта, устанавливаю необходимый для меня софт <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><code># apt-get install ssh mc screen</code></p>
<p>Все, установка готова.</p>
<p>По желанию можете изменить размер диска:<br />
<code>dd if=/dev/zero of=debian-host1.img  bs=1M conv=notrunc count=1 seek=5000<br />
# сначала узнаем первый свободный девайс<br />
losetup -f<br />
# Осторожно! Если вы подключите не к свободному, ошибку losetup не покажет, но косяки гарантированы<br />
losetup /dev/loop2 debian-host1.img<br />
resize2fs /dev/loop2<br />
e2fsck -f /dev/loop2<br />
losetup -d /dev/loop2<br />
</code><br />
Пункт e2fsck -f /dev/loop2 возможно необходимо будет выполнить перед resize2fs /dev/loop2. Но он сам вам об этом скажет <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Установка и смена локали по умолчанию<br />
<code>dpkg-reconfigure locales</code></p>
<p>Также столкнулся с ошибкой <a href="http://wiki.debian.org/Xen#A.27clocksource.2BAC8-0.3ATimewentbackwards.27">&#8216;clocksource/0: Time went backwards&#8217;</a>. Дело в том что на продакшен серваке комп в suspend mode врядли уйдет, потому возможно вы такого не увидите. Я поднял этот образ на своем десктопе, ну и при простое, он у меня подвис.</p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2009/07/new-install-debian-in-domu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ошибка сохранения состояния xend</title>
		<link>http://nablog.kiev.ua/2009/05/%d0%be%d1%88%d0%b8%d0%b1%d0%ba%d0%b0-%d1%81%d0%be%d1%85%d1%80%d0%b0%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f-%d1%81%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%b8%d1%8f-xend/</link>
		<comments>http://nablog.kiev.ua/2009/05/%d0%be%d1%88%d0%b8%d0%b1%d0%ba%d0%b0-%d1%81%d0%be%d1%85%d1%80%d0%b0%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f-%d1%81%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%b8%d1%8f-xend/#comments</comments>
		<pubDate>Fri, 22 May 2009 18:40:41 +0000</pubDate>
		<dc:creator>Nab</dc:creator>
				<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=24</guid>
		<description><![CDATA[Приблизительно вот такой лог я впервые увидал при переходе на lenny еще в марте: [2009-03-27 13:24:22 4599] INFO (SrvDaemon:331) Xend Daemon started [2009-03-27 13:24:22 4599] INFO (SrvDaemon:335) Xend changeset: unavailable. [2009-03-27 13:24:22 4599] INFO (SrvDaemon:342) Xend version: Unknown. [2009-03-27 13:24:22 4599] ERROR (SrvDaemon:353) Exception starting xend (no element found: line 1, column 0) Traceback (most [...]]]></description>
			<content:encoded><![CDATA[<p>Приблизительно вот такой лог я впервые увидал  при переходе на lenny еще в марте:</p>
<pre>[2009-03-27 13:24:22 4599] INFO (SrvDaemon:331) Xend Daemon started
[2009-03-27 13:24:22 4599] INFO (SrvDaemon:335) Xend changeset: unavailable.
[2009-03-27 13:24:22 4599] INFO (SrvDaemon:342) Xend version: Unknown.
[2009-03-27 13:24:22 4599] ERROR (SrvDaemon:353) Exception starting xend (no element found: line 1, column 0)
Traceback (most recent call last):
File "/usr/lib/xen-3.2-1/bin/../lib/python/xen/xend/server/SrvDaemon.py", line 345, in run
servers = SrvServer.create()
File "/usr/lib/xen-3.2-1/bin/../lib/python/xen/xend/server/SrvServer.py", line 251, in create
root.putChild('xend', SrvRoot())
File "/usr/lib/xen-3.2-1/bin/../lib/python/xen/xend/server/SrvRoot.py", line 40, in __init__
self.get(name)
File "/usr/lib/xen-3.2-1/bin/../lib/python/xen/web/SrvDir.py", line 82, in get
val = val.getobj()
File "/usr/lib/xen-3.2-1/bin/../lib/python/xen/web/SrvDir.py", line 52, in getobj
self.obj = klassobj()
File "/usr/lib/xen-3.2-1/bin/../lib/python/xen/xend/server/SrvNode.py", line 30, in __init__
self.xn = XendNode.instance()
File "/usr/lib/xen-3.2-1/bin/../lib/python/xen/xend/XendNode.py", line 709, in instance
inst = XendNode()
File "/usr/lib/xen-3.2-1/bin/../lib/python/xen/xend/XendNode.py", line 60, in __init__
saved_host = self.state_store.load_state('host')
File "/usr/lib/xen-3.2-1/bin/../lib/python/xen/xend/XendStateStore.py", line 104, in load_state
dom = minidom.parse(xml_path)
File "/usr/lib/python2.5/xml/dom/minidom.py", line 1915, in parse
return expatbuilder.parse(file)
File "/usr/lib/python2.5/xml/dom/expatbuilder.py", line 924, in parse
result = builder.parseFile(fp)
File "/usr/lib/python2.5/xml/dom/expatbuilder.py", line 211, in parseFile
parser.Parse("", True)
ExpatError: no element found: line 1, column 0
[2009-03-27 13:24:22 4597] INFO (SrvDaemon:219) Xend exited with status 1.</pre>
<p><span id="more-24"></span>Достаточно долго шнырял по инету в поисках решения, два раза полностью сносил xen и ставил по новой, пока експериментально не нашел где заковыка.</p>
<p>Так как я ее решил, а по сравнению с проблемами видео, это оказалось мелочью, то решение и забылось&#8230;</p>
<p>Сейчас опять возникло&#8230; правда не уверен в причине, но подозреваю недавний сбой электроенергии&#8230; Пришлось поднапрячься чтобы вспомнить как я починил, и вот:</p>
<p>Проблема оказалась в /var/lib/xend/state. Все файлы там были пустые.  Пересоздавать их xen не хотел. Потому, чтобы не переустанавливать с очисткой и этих каталогов просто скопировал эту папку с другой инсталляции.</p>
<p>Xend их прочел и принял верное решение, обновить <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Видно ему xml структуры в них не хватало чтобы заменить текущими данными.</p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2009/05/%d0%be%d1%88%d0%b8%d0%b1%d0%ba%d0%b0-%d1%81%d0%be%d1%85%d1%80%d0%b0%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f-%d1%81%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%b8%d1%8f-xend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Прикладной софт.</title>
		<link>http://nablog.kiev.ua/2009/04/%d0%bf%d1%80%d0%b8%d0%ba%d0%bb%d0%b0%d0%b4%d0%bd%d0%be%d0%b9-%d1%81%d0%be%d1%84%d1%82/</link>
		<comments>http://nablog.kiev.ua/2009/04/%d0%bf%d1%80%d0%b8%d0%ba%d0%bb%d0%b0%d0%b4%d0%bd%d0%be%d0%b9-%d1%81%d0%be%d1%84%d1%82/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 13:07:40 +0000</pubDate>
		<dc:creator>Nab</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[Линукс]]></category>
		<category><![CDATA[FAR]]></category>
		<category><![CDATA[keepas]]></category>
		<category><![CDATA[mc]]></category>
		<category><![CDATA[truecrypt]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[xneut]]></category>
		<category><![CDATA[yakuake]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=7</guid>
		<description><![CDATA[Как вы знаете у Дебиан, есть ветки репозиториев stable, unstable и testing. Ветка testing в один прекрасный момент становиться unstable, а unstable становиться новой мастер весткой stable, и цикл начинаеться сначала. В принципе я не собирался садиться на тестируемую или нестабильную ветку, но будучи разработчиком и имея необходимость отслеживать последние новшества , это практически нереально [...]]]></description>
			<content:encoded><![CDATA[<p>Как вы знаете у Дебиан, есть ветки репозиториев stable, unstable и testing. Ветка testing в один прекрасный момент становиться unstable, а unstable становиться новой мастер весткой stable, и цикл начинаеться сначала. В принципе я не собирался садиться на тестируемую или нестабильную ветку, но будучи разработчиком и имея необходимость отслеживать последние новшества , это практически нереально и возможно только в первые несколько месяцев после выхода новой стабильной ветки. Для корпоративщиков и рабочих серверов, это недопустимо, и как правило они сидят на stable, немного устаревшем но стабильном софте. Большинство же десктопщиков используют unstable как основную. Так как я только перешел с винды, и на ней осталось еще очень много хвостов, то я расскажу об универсальных кросплатформенных программах, которые использовал под виндой, именно потому что они свободные, и в будущем позволят перейти на линукс не заботясь о совместимости.<span id="more-7"></span></p>
<p>Две програмы которые меня очень интересовали, это <a href="http://keepass.info/">keepass</a> (точнее версия под линукс <a href="http://www.keepassx.org/">keepassX</a>) и <a href="http://www.truecrypt.org/">TrueCrypt</a>.</p>
<p>TrueCrypt наконец стала вполне функциональной, и годиться для любого криптования, как образов, так и физических разделов.  Конечно под линукс существует достаточно большое разнообразие систем шифрования. Есть как на уровне ядра, так и user-space. Но кросплатформенных решений не так много. А TrueCrypt меня устраивал более чем.</p>
<p>Когда-то на <a title="LinuxForum" href="http://linuxforum.ru/">http://linuxforum.ru/</a> кто-то поднял вопрос о менеджере паролей, было интересное обсуждение, и был упомянут keepass. Меня в нем привлекла именно кросплатформенность. Я тогда имел еще не так много паролей, и как правило, они подходили не к одному моему аккаунту <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Но со временем все меняеться, и сейчас у меня в базе keepass около 300 записей. В действительности функционал не ограничиваеться хранением паролей, но я не пиарить эти продукты хочу <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Главный плюс обоих этих программ, это их портабельность. Они обе прекрасно запускаються прям с usb-флешки, и засекреченные данные находяться тамже. Тоесть даже если флешка потеряеться, данные не попадут в чужие руки.</p>
<p>Обоих этих программы тогда не было в стабильном репозитории, а truecrypt я и сейчас там не наблюдаю, хотя и доступны deb пакеты обоих программ. Ну и как в дополнение, они не желали установливаться на стабильную ветку, ругаясь на библиотеки. Поэтому мне пришлось  прописать у себя в sources.list ветку unstable, будущий дистрибутив lenny.</p>
<p>Следующий софт который мне был необходим, это переключалка клавиатуры. Ранее, под виндой я пользовался PuntoSwitcher, но уж слишком он глюкавый был, и единственноый огромный плюс, это его дневник. Позже, я нашел очень хорошу разработку, Ninja, практически ничем не уступавшую пунто. Ей и пользовался до момента перехода на линукс. Под линуксом я пересмотрел несколько решений, поковырял немного xxkb, нашел у него несколько очень интересных фич, но всеже это было не то <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . <a title="Xneur" href="http://gq.net.ru/tag/xneur/">Xneur</a> я нашел одним из первых, но благодаря своей глюкавости он не был основным претендентом <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  С консолью не дружил, да и щас не очень с ней дружит. Но при всем при этом, это было самое подходящее для меня. Позже, я его немного поднастроил, потом нашел его trac и вики, где описано как добавить его для обновлений. Хорошо то, что автор его совсем не забросил, а даже очень наоборот, продолжает <a href="http://gq.net.ru/2008/07/25/xneur-091-is-out/">развивать</a> , за что ему огромное спасибо.</p>
<p>Так как мой основной инструмент как разработчика под виндой был FAR и его встроенный редактор, то из всего многообразия опробованных и просмотренных редакторов и IDE, я остановился на vi и встроенном редакторе mc. Из графических файловых менеджеров меня не устроил ни один. Разве что Krusader очень неплох. Но к примеру нормально работать с удаленной стороной по ssh/scp он все одно не умеет <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Поэтому и здесь мой выбор это mc.</p>
<p>Так как mc консольное приложение, то нужен мне был и терминал, благо под линуксом выбор много шире <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Пересмотрел некоторое количество различных. Очень понравился дефолтный из KDE, возможно на нем бы и остановился, но случайно наткнулся на yakuake. Это было прозрение&#8230; Жаль у меня такого инструмента не было под виндой. Хотя у FARa есть много других преимуществ, которых мне до сих пор не хватает, но все же того удобства которое я имею сейчас по управлению десятком открытых локальных и удаленных консолей, я под виндой не имел.</p>
<p>Из того софта который мне был нужен на первых порах еще отмечу star-dict и opera. Удалены были дефолтные экранная клавиатура (gok) и dasher, утилиты для людей с нарушениями, слишком активно дававшие о себе знать <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2009/04/%d0%bf%d1%80%d0%b8%d0%ba%d0%bb%d0%b0%d0%b4%d0%bd%d0%be%d0%b9-%d1%81%d0%be%d1%84%d1%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Миграция, запоздалое продолжение.</title>
		<link>http://nablog.kiev.ua/2009/04/%d0%bc%d0%b8%d0%b3%d1%80%d0%b0%d1%86%d0%b8%d1%8f-%d0%b7%d0%b0%d0%bf%d0%be%d0%b7%d0%b4%d0%b0%d0%bb%d0%be%d0%b5-%d0%bf%d1%80%d0%be%d0%b4%d0%be%d0%bb%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5/</link>
		<comments>http://nablog.kiev.ua/2009/04/%d0%bc%d0%b8%d0%b3%d1%80%d0%b0%d1%86%d0%b8%d1%8f-%d0%b7%d0%b0%d0%bf%d0%be%d0%b7%d0%b4%d0%b0%d0%bb%d0%be%d0%b5-%d0%bf%d1%80%d0%be%d0%b4%d0%be%d0%bb%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 11:41:22 +0000</pubDate>
		<dc:creator>Nab</dc:creator>
				<category><![CDATA[Линукс]]></category>
		<category><![CDATA[ati]]></category>
		<category><![CDATA[radeon]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=6</guid>
		<description><![CDATA[После моей первой заметки прошло более полугода Я ее не окончил, потому сейчас немного вспомню, что тогда не дописал, а позже продолжу о опыте перехода на Lenny. После того как я запустил полноценно xen, необходимо было ставить графическую оболочку. Первая проблема которая возникла, это драйвера для встроенного видео Radeon X1250. Так как я с десктопом [...]]]></description>
			<content:encoded><![CDATA[<p>После моей первой заметки прошло более полугода <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Я ее не окончил, потому сейчас немного вспомню, что тогда не дописал, а позже продолжу о опыте перехода на Lenny.</p>
<p>После того как я запустил полноценно xen, необходимо было ставить графическую оболочку.</p>
<p>Первая проблема которая возникла, это драйвера для встроенного видео Radeon X1250. Так как я с десктопом на Линуксе знаком слабо, потому пошел неправильным путем, а именно, скачав официальные проприетарные дрова с сайта ATI. В основном потому что лежащая на поставляемом диске версия была именно оттуда, но немного старая и она не устанавливалась. Новая также не устанавливалась, потому помучавшись я решил пока переключиться на вторую проблему.<span id="more-6"></span></p>
<p>Вторая проблема, это проблема со звуком. Я очень сожалею что не задокументировал ее решение по гарячим следам, но пляски с бубном там были однозначно. И пляски серьезные, вплоть до убития системы в неподъемное состояние <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  После переустановки начисто я решил поставить драйвера на звук, а заодно и на видео до установки иксов. И о счастье, они встали без каких либо проблем, практически с полуоборота.</p>
<p>Полазив немного по манам, я умудрился, хоть и достаточно коряво настроить вторую видеокарту и монитор, и получил достаточно удобную двухголовую систему. Конечно в винде это считалось как один большой десктоп, и я мог перетащить окошко с одного монитора на другой, ну кроме видеоплеера, оно там другой драйвер пыталось заюзать и винда иногда подвисала намертво. Но здесь, это были обособленные десктопы, и такое не прокатывало. На каждом таком десктопе я получил по 4 дефолтных виртуальных.</p>
<p>В конечном итоге я остался доволен полученным результатом, и занялся установкой и настройкой прикладного софта, но об этом в следующем посте <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2009/04/%d0%bc%d0%b8%d0%b3%d1%80%d0%b0%d1%86%d0%b8%d1%8f-%d0%b7%d0%b0%d0%bf%d0%be%d0%b7%d0%b4%d0%b0%d0%bb%d0%be%d0%b5-%d0%bf%d1%80%d0%be%d0%b4%d0%be%d0%bb%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Миграция. Точка отправки.</title>
		<link>http://nablog.kiev.ua/2008/07/migration-start-point/</link>
		<comments>http://nablog.kiev.ua/2008/07/migration-start-point/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 04:17:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[xen]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[виртуализация]]></category>
		<category><![CDATA[Линукс]]></category>
		<category><![CDATA[миграция]]></category>

		<guid isPermaLink="false">http://nablog.kiev.ua/?p=1</guid>
		<description><![CDATA[Я админ, немного рулю нашей домовой сетью. Я виндузятник. Опытный. Продвинутый можно сказать.  Программист. Начинал с DOS. На XP так и не перешел. До последнего времени сидел на 2000. Хотя друзьям ставил и настраивал все что просили. Я линуксоид. Консольный. Имею под управлением несколько различных серверов, роутеры FREESCO, хостинг-сервера под Debian и Fedora. Также управляю [...]]]></description>
			<content:encoded><![CDATA[<p>Я админ,  немного рулю нашей домовой сетью.</p>
<p>Я виндузятник. Опытный. Продвинутый можно сказать.  Программист. Начинал с DOS. На XP  так и не перешел. До последнего времени сидел на 2000. Хотя друзьям ставил и настраивал все что просили.</p>
<p>Я линуксоид. Консольный. Имею под управлением несколько различных серверов, роутеры <a href="http://freesco.org.ua/" target="_blank">FREESCO</a>, хостинг-сервера под Debian и  Fedora. Также управляю игровыми сервисами под CentOS. Начинал приблизительно во времена Slackware 2.x. Для разработок под никсы я использовал VMWare.</p>
<p>Главное, что хочу сказать, практического опыта работы в иксах не имею.  Я бы и дальше сидел под Win2000, и рулил линуксами, но&#8230;<span id="more-1"></span></p>
<p>Но тут наложилось несколько событий, и они меня сподвигли на миграцию:</p>
<ul>
<li>Полетел рабочий винт. Это самое ужасное.</li>
<li>Арендуемый сервер перестал устраивать. Решил ставить свой дедик в UA-IX. Естественно с несколькими VDS.</li>
<li>Назревал Upgrade компа.</li>
<li>Да и созрел я полностью.</li>
</ul>
<p>Взаимосвязь некоторых пунктов проследить не просто. Но я постараюсь объяснить.<br />
Благодаря винту переустанавливать систему всеже нужно было бы, то я и решил что пора пришла пересесть на линукс. И он и я созрели <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Потом уже, при копировании данных я заметил что я свою винду не переустанавливал 8 лет. Первые файлы в ней были созданы в феврале 2000 года.</p>
<p>Знакомство с Xen началось со статьи <a href="http://dreamcatcher.ru/docs/linux_xen.html">Виртуализация с помощью Xen в Linux</a> достаточно давно. Вообще эта статья донесла до меня мир виртуализации на более глубоком уровне, чем виртуальные машины типа VirtualPC или Qemu. Это потом, копнув глубже узнал про KVM, OpenVZ и т.д. Главное что меня заинтересовало, это что я скорее всего смогу запускать винду практически нативно. К сожалению по некоторым причинам я еще долго не смогу от нее полностью отказаться. Также я смогу разрабатывать свои приложения, тестируя их наверно в самом изолированном окружении, и в различных операционных системах.</p>
<p>Ну и именно на Xen я собирался строить свой дедик. Оттестировав и освоившись с технологией у себя, я смогу сделать сервер со всеми необходимыми мне фичами. Так как винда не может быть запущена в паравиртуальном режиме, а только в режиме аппаратной виртуализации поддерживаемом более новыми версиями процессоров и материнских плат, то именно учитывая эти факторы я и искал рабочую платформу.</p>
<p>Ознакомившись с информацией по <a href="http://wiki.xensource.com/xenwiki/VirtualPrivateServerProviders?action=fullsearch&amp;context=180&amp;value=HVM&amp;titlesearch=%D0%9F%D0%BE+%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%B0%D0%BC">HVM</a> и <a href="http://inpc.com.ua/data/ordering/current.html#tableheading6" target="_blank">наиболее вероятными кандидатами на мой дедик</a>, я выбрал для себя такую конфигурацию: ASUS M2A-VM, Athlon X2 4600+, Transcend 4Gb DDR2. Учитывая ограниченный бюджет, цена получилась более чем приемлемой во многом благодаря магазину где я это все приобрел. <a href="http://vilka.com.ua/">Vilka.com.ua</a>, порадовал не только низкими ценами и реальным наличием, но еще и очень хорошим отношением к клиентам. Как оказалось, я случайно при заказе указал кулер под SoketA. Мне перезвонили и уточнили этот момент. Кулер был заменен на более подходящий. Доставили в субботу как я и просил, до 4 вечера, а точнее намного раньше.</p>
<p>Сборка в и запуск были произведены успешно.</p>
<p>Первое что меня нечаянно порадовало и отлегло от сердца, это то,  что винт мой рабочий таки не полетел <img src='http://nablog.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Полетел внешний блок питания его питавший. Дело в том что SATA  интерфейса в старом компе у меня не было и винт был подключен через внешний USB адаптер. Для проверки рабочего окружения и наличия всего что было нужно, была по быстрячку установлена одна из имевшихся сборок XP, а именно ZverCD. И как оказалось винда полноценно на моей сборке железок работать принципиально отказывалась. Дело в том что у меня к моему тазику подключены три монитора. Два PCI видео-адаптера ATI RAGE PRO, один с 8 метрами памяти, другой с 16, наряду с основной видеокартой обеспечивали мне более чем комфортную работу. на 3 мониторах. Винда же сказала, что запустить PCI видеокарты одновременно с встроенной RADEON X1250 не сможет. Кстати это еще одна из причин миграции. Я правда не был уверен, но понадеялся, и как оказалось не зря, что линукс с этой задачей справиться лучше.</p>
<p>В качестве дистрибутива был выбран Debian, как наиболее xen-ориентированный, а также наиболее удобоваримый для широчайшего круга задач, по моему скромному мнению&#8230;<br />
Основным источником информации по xen, является сайт-вики <a href="http://xgu.ru/">xgu.ru</a>. Именно с его изучения стоит начать свое знакомство с виртуализацией на xen.</p>
<p>Имея 2 мегабита в мир и 100 мегабит в UA-IX, я решил ставиться со специального <a href="http://www.debian.org/distrib/netinst">сетевого CD</a>, размером 130Mb, где загружаеться минимальная конфигурация, а все остальное ставиться по сети.</p>
<p>Приятный графический инсталлятор, я так понимаю он взят из lenny, и прикручен к etch, практически полностью русифицированый. Устанавливал в экспертном режиме. Ничего особенно сложного нет, просто есть возможность вернуться к любому предыдущему пункту и перенастроить любые параметры. Понравилось такая возможность, как продолжение установки по ssh после поднятия сети.</p>
<p>Также решено было, что опять же для изучения, буду устанавливать систему на <a href="http://gazette.linux.ru.net/rus/articles/taleLinuxLVM.html">LVM</a> разделы. Во время установки cделал swap и одну группу LVM c двумя разделами, / и /home. У меня в сети DHCP, поэтому сеть завелась с полуоборота. В качестве зеркала был выбран предлагаемый debian.org.ua. Из приложений, я графическую оболочку пока не ставил. Хотя если устанавливать как рабочую станцию, а не как сервер, то можно и сразу ставить. Из инета будут вытащены только несколько объемных недостающих пакетов. Которые мне в последствии все равно пришлось стянуть.</p>
<p>Больше ничего особенно не настраивая я завершил установку в минимальной конфигурации, пока что без X-ов.</p>
<p>Установил последний доступный xen:<br />
<code>apt-get install xen-linux-system-2.6.18-6-xen-amd64</code><br />
Перезагрузка&#8230; и тут облом.  Xen требует для установки GRUB, а как оказалось GRUB на данном этапе, не может быть установлен на LVM. Пришлось переустанавливать систему, выделив еще один первичный раздел /boot. Только после этого Xen стартовал нормально и без сбоев.</p>
<p>На данном этапе я имел рабочую систему. Дальнейшая борьба была с железом, драйверами, иксами, мониторами и обновлениями. Но о них я расскажу в следующих постах.</p>
]]></content:encoded>
			<wfw:commentRss>http://nablog.kiev.ua/2008/07/migration-start-point/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.772 seconds -->

