<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:posterous="http://posterous.com/help/rss/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Max Korenkov's Blog</title>
    <link>http://korenkov.info</link>
    <description>When twitter is not enough</description>
    <generator>posterous.com</generator>
    <link xmlns="http://www.w3.org/2005/Atom" href="http://posterous.com/api/sup_update#36653ea69" type="application/json" rel="http://api.friendfeed.com/2008/03#sup" />
    
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mkorenkov" /><feedburner:info uri="mkorenkov" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://posterous.superfeedr.com/" /><item>
      <pubDate>Sun, 06 May 2012 13:01:00 -0700</pubDate>
      <title>Generate password Ubuntu</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/ToscOyuhmpE/generate-password-ubuntu</link>
      <guid isPermaLink="false">http://korenkov.info/generate-password-ubuntu</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Для тех, кто не хочет знать свой пароль есть утилита apg.&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;sudo apt-get install apg&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Теперь попробоуем сгенерить себе новый пароль:&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;hello@world-server:~$ apg
Please enter some random data (only first 16 are significant)
(eg. your old password):&amp;gt;
bontIfDooj6 (bont-If-Dooj-SIX)
Mocnudkidd5 (Moc-nud-kidd-FIVE)
mifojElWolt5 (mif-oj-El-Wolt-FIVE)
epidpaj5Od1 (ep-id-paj-FIVE-Od-ONE)
BufShegyus4 (Buf-Sheg-yus-FOUR)
HygunEld6 (Hyg-un-Eld-SIX)&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/generate-password-ubuntu"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/generate-password-ubuntu#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/ToscOyuhmpE" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/generate-password-ubuntu</feedburner:origLink></item>
    <item>
      <pubDate>Sun, 06 May 2012 12:51:00 -0700</pubDate>
      <title>nopasswd for sudoers</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/Z6uOqAZrLUI/nopasswd-for-sudoers</link>
      <guid isPermaLink="false">http://korenkov.info/nopasswd-for-sudoers</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Сделать sudo беспарольным операция вполне обычная. Но я как-то устал каждый раз набирать в гугле что да как.&lt;/p&gt;
&lt;p&gt;1. Добавляем себя в sudo группу для Ubuntu. (для Fedora можно wheel)&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;sudo usermod -a -G sudo $USER&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;2. Редактируем /etc/sudoers&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;sudo vim /etc/sudoers&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;строчка с %sudo должна принять вид. (для Fedora %wheel опять-же)&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;%sudo ALL=(ALL) NOPASSWD: ALL&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Спасибонезачто.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/nopasswd-for-sudoers"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/nopasswd-for-sudoers#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/Z6uOqAZrLUI" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/nopasswd-for-sudoers</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 22 Mar 2012 13:30:00 -0700</pubDate>
      <title>ipad_charge util updated</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/i451AnCQLC8/ipadcharge-util-updated</link>
      <guid isPermaLink="false">http://korenkov.info/ipadcharge-util-updated</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2012-03-22/FvEnycobznzbhvBFrgwffoqEcAozhFEhGqFxjrClngwAHwnlBhzhyuokHeAx/ipad3.jpg.scaled1000.jpg"&gt;&lt;img alt="Ipad3" height="376" src="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2012-03-22/FvEnycobznzbhvBFrgwffoqEcAozhFEhGqFxjrClngwAHwnlBhzhyuokHeAx/ipad3.jpg.scaled500.jpg" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
ipad_charge util (&lt;a href="https://github.com/mkorenkov/ipad_charge"&gt;https://github.com/mkorenkov/ipad_charge&lt;/a&gt;) was updated.&lt;/p&gt;
&lt;p&gt;Now it supports iPad 3 among other devices. Full list of supported devices:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;iPad&lt;/li&gt;
&lt;li&gt;iPad2&lt;/li&gt;
&lt;li&gt;iPad3&lt;/li&gt;
&lt;li&gt;iPod Touch 2G&lt;/li&gt;
&lt;li&gt;iPod Touch 3G&lt;/li&gt;
&lt;li&gt;iPod Touch 4G&lt;/li&gt;
&lt;li&gt;iPhone 3GS&lt;/li&gt;
&lt;li&gt;iPhone 4&lt;/li&gt;
&lt;li&gt;iPhone 4S&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Installation guide:&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;sudo aptitude install libusb-1.0-0 libusb-1.0-0-dev
git clone https://github.com/mkorenkov/ipad_charge.git
cd ./ipad_charge
make
sudo make install&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/ipadcharge-util-updated"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/ipadcharge-util-updated#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/i451AnCQLC8" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/ipadcharge-util-updated</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 10 Mar 2012 03:22:00 -0800</pubDate>
      <title>OS X in VirtualBox - fix resolution</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/qds4UU1t6P4/os-x-in-virtualbox-fix-resolution</link>
      <guid isPermaLink="false">http://korenkov.info/os-x-in-virtualbox-fix-resolution</guid>
      <description>&lt;p&gt;
	&lt;p&gt;There's an easy way to fix resolution of your guest VirtualMachine.&lt;/p&gt;
&lt;p&gt;You should execute something like the following command on your host machine:&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;VBoxManage setextradata osx CustomVideoMode1 &amp;quot;1920x1080x32&amp;quot;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Where "osx" is your virtual machine name and "1920x1080x32" is your target resolution.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/os-x-in-virtualbox-fix-resolution"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/os-x-in-virtualbox-fix-resolution#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/qds4UU1t6P4" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/os-x-in-virtualbox-fix-resolution</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 08 Mar 2012 03:10:00 -0800</pubDate>
      <title>OpenStack logical architecture - Essex</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/Up-muf3m8i8/openstack-logical-architecture-essex</link>
      <guid isPermaLink="false">http://korenkov.info/openstack-logical-architecture-essex</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I started to look for some picture of OpenStack components since the moment I started to work with it.&amp;nbsp;And a few days ago I was shown this awesome diagram:&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2012-03-08/JxpcezfbJqglfmBiwxGgywktdeqAGeebodGdBBluwFzmFfyAjopDdxerxuAr/nova-logical-arch-essex.jpg.scaled1000.jpg"&gt;&lt;img alt="Nova-logical-arch-essex" height="487" src="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2012-03-08/JxpcezfbJqglfmBiwxGgywktdeqAGeebodGdBBluwFzmFfyAjopDdxerxuAr/nova-logical-arch-essex.jpg.scaled500.jpg" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;The rest of the article is available here&amp;nbsp;&lt;a href="http://ken.pepple.info/openstack/2012/02/21/revisit-openstack-architecture-diablo/"&gt;http://ken.pepple.info/openstack/2012/02/21/revisit-openstack-architecture-diablo/&lt;/a&gt;.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/openstack-logical-architecture-essex"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/openstack-logical-architecture-essex#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/Up-muf3m8i8" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/openstack-logical-architecture-essex</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 01 Mar 2012 11:14:00 -0800</pubDate>
      <title>OpenStack testing setup with devstack and tempest</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/cdDoRJn4Ut0/openstack-testing-setup-with-devstack-and-tem</link>
      <guid isPermaLink="false">http://korenkov.info/openstack-testing-setup-with-devstack-and-tem</guid>
      <description>&lt;p&gt;
	&lt;p&gt;If you have ever made any changes into &lt;a href="http://openstack.org/"&gt;OpenStack&lt;/a&gt; code, you will wonder how to test it. Even if you run unit tests before committing changes, this is not enough. Such complex system requires some level of integration testing. There is an OpenStack project called &lt;a href="https://github.com/openstack/tempest"&gt;tempest&lt;/a&gt;. That is OpenStack integration test suite.&lt;/p&gt;
&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="Download" height="225" src="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2012-03-01/CDBexDDBHusidouCJdbbHmcvvGfvEtEkqmienItJwoxgAgczkCenCzmaCuAC/download.jpg.scaled500.jpg" width="225" /&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;This project is not the first try to do integration tests in OpenStack, however, it selected to be the standard one. It is not yet mature and it leaves some servers running after it is completed.&amp;nbsp;Further more, running tempest takes a lot of time, so it is clear nobody will run it before commit or push.&lt;/p&gt;
&lt;p&gt;Those kind of testing you will probably do via Continious Integration server. And&amp;nbsp;I will describe how to create an isolated test box with &lt;a href="http://vagrantup.com/"&gt;vagrant&lt;/a&gt;, &lt;a href="http://www.opscode.com/chef/"&gt;chef&lt;/a&gt; and &lt;a href="http://devstack.org/"&gt;devstack&lt;/a&gt; for testing purposes.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you already have a vagrant installed, you can skip to step #3.&lt;/p&gt;
&lt;p&gt;1. &lt;a href="https://www.virtualbox.org/wiki/Linux_Downloads"&gt;Install VirtualBox&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2. &lt;a href="http://vagrantup.com/docs/getting-started/index.html"&gt;Install Vagrant&lt;/a&gt;&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;sudo aptitude install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 libreadline-ruby1.8 libruby1.8 libopenssl-ruby wget rubygems
sudo update-alternatives --config ruby
sudo REALLY_GEM_UPDATE_SYSTEM=1 gem update --system
sudo gem install vagrant&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;3. Adding a base image&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;vagrant box add os-oneiric http://vagrant.mirantis.com/files/os-oneiric.box&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;4. Moving vagrant out of home (optional)&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;sudo mkdir /media/VMs
sudo chown $USER:root /media/VMs
mkdir /media/VMs/vagrant/
mv ~/.vagrant.d/* /media/VMs/vagrant/
rm -rf ~/.vagrant.d/
ln -s /media/VMs/vagrant/ ~/.vagrant.d&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;5. Cloning wheel repo&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;git clone git://github.com/mkorenkov/wheel.git&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;6. Change Vagrantfile&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;cd wheel
vim Vagrantfile&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;7. And check the following recipes are enabled&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;chef.add_recipe &amp;quot;wheel::stack&amp;quot;
chef.add_recipe &amp;quot;wheel::tempest&amp;quot;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;8. Run setup&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;cd wheel
vagrant up openstack&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;It will automatically install you an OpenStack and run tempest over it. Code of the recipes is pretty simple and comprehensive (available at&amp;nbsp;&lt;a href="https://github.com/mkorenkov/wheel"&gt;https://github.com/mkorenkov/wheel&lt;/a&gt;).&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/openstack-testing-setup-with-devstack-and-tem"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/openstack-testing-setup-with-devstack-and-tem#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/cdDoRJn4Ut0" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/openstack-testing-setup-with-devstack-and-tem</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 11 Feb 2012 13:12:00 -0800</pubDate>
      <title>Vagrant</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/ky2dZTbA71A/vagrant</link>
      <guid isPermaLink="false">http://korenkov.info/vagrant</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Сел разбираться с &lt;a href="http://www.opscode.com/chef/"&gt;Chef&lt;/a&gt;. Первый рецепт готов. Пора проверять... но где?&lt;/p&gt;
&lt;p&gt;Отладить на домашнем десктопе - неправильно, снесу - что-нибудь, жалко будет. Значит, запускаем &lt;a href="https://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt; и плодим виртуалки. Но когда это восьмая и девятая, начинаешь задумываться - а нет ли management механизма для этого.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="Vagrant_chilling" height="350" src="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2012-02-11/IoInanDlFgpHmeAzAAHgJEDcpIFommuvJwtbxhjgnIIEkkokDufjpqCdrDhy/vagrant_chilling.png.scaled500.png" width="350" /&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Особо циничный читатель уже понимает, что такой механизм есть и именно о нем я собираюсь рассказать в текущем посте.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Vagrant - это ruby gem для управления машинками VirtualBox. Но особая его прелесть в том, что он из коробки поддерживает Puppet и Chef. Это превращает его просто в must-have tool. Например, так можно поднять VM с Ubuntu 10.04:&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
vagrant init lucid32
vagrant up&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;При этом, базовый образ скачается только 1 раз.&lt;/p&gt;
&lt;p&gt;Итак, инсталляция:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Установка &lt;a href="https://www.virtualbox.org/wiki/Linux_Downloads"&gt;VirtualBox&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Vagrant&lt;/strong&gt;&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;sudo aptitude install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 libreadline-ruby1.8 libruby1.8 libopenssl-ruby wget rubygems
sudo update-alternatives --config ruby
sudo REALLY_GEM_UPDATE_SYSTEM=1 gem update --system
sudo gem install vagrant&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;3. Зарегистрируем базовый image&lt;/strong&gt;&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;vagrant box add lucid32 http://files.vagrantup.com/lucid32.box&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;4. Переместим Vagrant из home директории в более концептуальное место&lt;/strong&gt;&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;sudo mkdir /media/VMs
sudo chown $USER:root /media/VMs
mkdir /media/VMs/vagrant/
mv ~/.vagrant.d/* /media/VMs/vagrant/
rm -rf ~/.vagrant.d/
ln -s /media/VMs/vagrant/ ~/.vagrant.d&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;5. Запуск&lt;/strong&gt;&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;vagrant init lucid32
vagrant up&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;После запуска, вы увидите сообщение с портом, на который форвардится ssh вновь созданной VM. Заходим (пароль &lt;strong&gt;vagrant&lt;/strong&gt;):&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;ssh vagrant@127.0.0.1 -p 2222&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Для создания базовых образов можно воспользоваться следующитми руководствами:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.yodi.me/blog/2011/10/26/build-base-box-vagrant-ubuntu-oneiric-11.10-server/"&gt;http://www.yodi.me/blog/2011/10/26/build-base-box-vagrant-ubuntu-oneiric-11.10-server/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://vagrantup.com/docs/base_boxes.html"&gt;http://vagrantup.com/docs/base_boxes.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Или воспользоваться уже существующей коллекцией: &lt;a href="http://vagrantbox.es/"&gt;http://vagrantbox.es/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPD:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://player.vimeo.com/video/9976342?title=0&amp;amp;byline=0&amp;amp;portrait=0" frameborder="0" height="225" width="400"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/9976342"&gt;Vagrant - Getting Started&lt;/a&gt; from &lt;a href="http://vimeo.com/mitchellh"&gt;Mitchell Hashimoto&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/vagrant"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/vagrant#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/ky2dZTbA71A" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/vagrant</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 31 Jan 2012 12:19:00 -0800</pubDate>
      <title>Ubuntu 11.10 x64 fix Skype after update</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/vc0vV-qG0_4/ubuntu-1110-x64-fix-skype-after-update</link>
      <guid isPermaLink="false">http://korenkov.info/ubuntu-1110-x64-fix-skype-after-update</guid>
      <description>&lt;p&gt;
	&lt;p&gt;После апдейта поломался скайп. Падает с ошибкой&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;skype: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Есть зарепорченый баг в launchpad:&amp;nbsp;&lt;a href="https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/830440"&gt;https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/830440&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Лечить так:&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;echo foreign-architecture i386 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch
sudo apt-get install libxss1:i386 libqtcore4:i386 libqt4-dbus:i386 libqtgui4:i386&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/ubuntu-1110-x64-fix-skype-after-update"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/ubuntu-1110-x64-fix-skype-after-update#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/vc0vV-qG0_4" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/ubuntu-1110-x64-fix-skype-after-update</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 30 Jan 2012 15:06:00 -0800</pubDate>
      <title>Fetching updates from another git repo</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/egAsuTU_UQY/fetching-updates-from-another-git-repo</link>
      <guid isPermaLink="false">http://korenkov.info/fetching-updates-from-another-git-repo</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Original article:&amp;nbsp;&lt;a href="http://bassistance.de/2010/06/25/git-fu-updating-your-github-fork/"&gt;http://bassistance.de/2010/06/25/git-fu-updating-your-github-fork/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Чувствую, еще не раз пригодится. Обновить source код вашего fork репозитория можно так:&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;git remote add --track master source git://github.com/openstack/tempest.git
git fetch source
git merge source/master
git push&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/fetching-updates-from-another-git-repo"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/fetching-updates-from-another-git-repo#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/egAsuTU_UQY" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/fetching-updates-from-another-git-repo</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 27 Jan 2012 16:31:00 -0800</pubDate>
      <title>Нездоровая канитель</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/Hoq_uT4rMvU/96522169</link>
      <guid isPermaLink="false">http://korenkov.info/96522169</guid>
      <description>&lt;p&gt;
	&lt;blockquote class="posterous_short_quote"&gt;
&lt;p&gt;Голос с хрипотцой говорит: Сынок, ты еще не знаешь, что такое нездоровая канитель...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2012-01-27/FsGkFoDtHurcyerdxCyxtCgkuepakkqevmHJlsvoIJkkGDHxirhfkAknoFdy/1280038106_1267032097_angelina-jolie21.jpg.scaled1000.jpg"&gt;&lt;img alt="1280038106_1267032097_angelina-jolie21" height="375" src="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2012-01-27/FsGkFoDtHurcyerdxCyxtCgkuepakkqevmHJlsvoIJkkGDHxirhfkAknoFdy/1280038106_1267032097_angelina-jolie21.jpg.scaled500.jpg" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Берусь за проекты. которые казалось бы, за пределом моей компетенции. К счастью, начальство иногда дает архитектора и бизнес аналитика. Напомните, пожалуйста, я с удовольствием заберу их на следующий проект...&lt;/p&gt;
&lt;p&gt;Несмотря на то, что архитект слишком ответственный... Очень замечательный парень, аж неожиданно. В меру циничный, очень грамотный, быстро думает, нереально быстро читает, очень быстро учится, отвечает на переписку с фантастической скоростью (мне бы так). Почти идеальная смесь. Вот дать бы настояться чуть-чуть и цены бы не было... вот знаешь, как с XO коньяком - просто годы нужны.&lt;/p&gt;
&lt;p&gt;Аналитик. Хороший парень, немного распиздяй, но это его не портит. Продвигает свое видение по отношению к требованиям, но сдается под давлением команды. Несмотря на то, что я иногда на него возникаю, он необходим с той точки зрения, что он готов поднять вопрос ребром, который кто-то другой не заметил. И ему одновалентно, кто и что думает по этому поводу, вопрос будет услышан... Вот если б он еще requirements транслировал в том виде, в котром они у меня в голове - цены б ему не было.&lt;/p&gt;
&lt;p&gt;Но когда я вижу список рисков, по спине пробегает нездоровый холодок. Даже не так. Был проект по-проще текущего... тоже с рисками... так у меня глаз дергался, когда я его перенимал. В случае текущего проекта, я даже не знаю, что дергаться должно.&lt;/p&gt;
&lt;p&gt;А вообще, я не жалуюсь. Моя текущая команда - самая сильная за все этапы моей карьеры. И я плохо понимаю химию для текущей capacity; она явно за пределом того, что могут developer, QA и Deployment Engineer могут сделать за отрезок времени.&lt;/p&gt;
&lt;p&gt;PS. Ведь обещал же себе, что не больше одной бутылки ща вечер....&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/96522169"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/96522169#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/Hoq_uT4rMvU" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/96522169</feedburner:origLink></item>
    <item>
      <pubDate>Sun, 25 Dec 2011 06:02:00 -0800</pubDate>
      <title>music.google.com unsupported country</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/aI9pmqYC-Xc/musicgooglecom-unsupported-country</link>
      <guid isPermaLink="false">http://korenkov.info/musicgooglecom-unsupported-country</guid>
      <description>&lt;p&gt;
	&lt;p&gt;UPD. Статья на engadget о Tor + music.google.com: &lt;a href="http://www.engadget.com/2011/11/19/how-to-use-google-music-from-anywhere-yes-outside-of-the-unit/"&gt;http://www.engadget.com/2011/11/19/how-to-use-google-music-from-anywhere-yes-outside-of-the-unit/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-12-25/AGjmoEHvetpywlFwbDCphjIztpcfnsDqnhcuBwiojDpmjHbanoAhjCfwymHn/music-beta-by-google.png.scaled1000.png"&gt;&lt;img alt="Music-beta-by-google" height="256" src="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-12-25/AGjmoEHvetpywlFwbDCphjIztpcfnsDqnhcuBwiojDpmjHbanoAhjCfwymHn/music-beta-by-google.png.scaled500.png" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
Вчера сидели у Толика, слушали музыку c &lt;a href="http://music.google.com/"&gt;music.google.com&lt;/a&gt;. Попытавшись зарегистрировать для себя, получил отказ - Unsupported country. Все для страны победившего капитализма, значит. Решим эту проблему на примере Ubuntu.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Потыкавшись в разные анонимные web proxy, выяснилось, что они не поддерживают javascript. Рабочую proxy на территории США найти с пол-пинка не удалось. На помощь пришел &lt;a href="https://www.torproject.org/docs/debian"&gt;Tor&lt;/a&gt; &lt;span style="text-decoration: line-through;"&gt;сразу после победы над ледяными гигантами&lt;/span&gt;. Проект Тор - это сеть виртуальных туннелей по всему миру для повышения анонимности тех, кому нужно.&lt;/p&gt;
&lt;p&gt;Итак, установим себе Tor и &lt;a href="https://www.torproject.org/projects/vidalia.html.en"&gt;Vidalia&lt;/a&gt;&amp;nbsp;- GUI к нему:&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;sudo apt-get install tor tor-geoipdb vidalia&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Через System Preferences \ Network настраиваем proxy-сервер.&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;127.0.0.1:9050&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Запускаем Vidalia, ищем хосты в США (Browse Network). Во вкладке Advanced редактируем torrc, заполняя реальными данными:&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;ExitNodes server1, server2, server3
StrictExitNodes 1&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Перезапускаем tor и идем регистрироваться на &lt;a href="http://music.google.com/"&gt;music.google.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;Profit!&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/musicgooglecom-unsupported-country"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/musicgooglecom-unsupported-country#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/aI9pmqYC-Xc" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/musicgooglecom-unsupported-country</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 17 Dec 2011 09:32:00 -0800</pubDate>
      <title>MKV Movies on OS X Lion</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/gNe4Z8MLbbk/mkv-movies-on-os-x-lion</link>
      <guid isPermaLink="false">http://korenkov.info/mkv-movies-on-os-x-lion</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Мой Quicktime отказался проигрывать MKV файлы после апгрейда на OS X Lion.&lt;/p&gt;
&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="Matroskalogo" height="256" src="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-12-17/nFoDjAsfonibyHBhIgxjGxpwyAdeswFEIejHgzlAtcjfChIwyjehdwztwCmk/MatroskaLogo.png.scaled500.png" width="256" /&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Обновлений &lt;a href="http://perian.org/"&gt;Perian&lt;/a&gt; не пропустил; последний доступный 1.2.3. Некий мифический DivX Player не смог проигрывать аудио и предложил мне посмотреть немое кино. Ага, экшн от Л. Бессона без звука.&amp;nbsp;Конвертировать видео не хотелось. Вполне себе решение, но зависнуть еще на полчаса перекладывая битики и байтики - увольте, пусть даже и не в ручном режиме.&lt;/p&gt;
&lt;p&gt;Вспомнилось про &lt;a href="http://www.videolan.org/vlc/"&gt;VLC&lt;/a&gt;, которым пользуюсь под Ubuntu. И угадал: у них была и Mac OS версия. В общем, очень рекомендую плеер с таким колпаком:&lt;/p&gt;
&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="Largevlc" height="300" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-12-17/kzlIHaheootGDJCrcAmJzusxEfbftihpIwnBajyoFAFiyBDbmbzAeAIInAda/largeVLC.png.scaled500.png" width="300" /&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/mkv-movies-on-os-x-lion"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/mkv-movies-on-os-x-lion#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/gNe4Z8MLbbk" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/mkv-movies-on-os-x-lion</feedburner:origLink></item>
    <item>
      <pubDate>Sun, 11 Dec 2011 11:24:00 -0800</pubDate>
      <title>Bridging interfaces</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/g5eBW7hFis8/bridging-interfaces</link>
      <guid isPermaLink="false">http://korenkov.info/bridging-interfaces</guid>
      <description>&lt;p&gt;
	&lt;p&gt;В процессе подготовки бойцов к одному из проектов, поставлена задача: настроить трафик между двумя виртуальные машинами таким образом, чтобы находясь в одной подсети и будучи подключеным к разным host only интерфейсам, они могли обмениваться информацией посредством bridge интерфейса на host машине.&lt;/p&gt;
&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-12-11/DeroeCGChgIogjqIqnHwxqhsgyzDxmtGfGnimbcriyxJqecxhjFszcxatdst/bridge-lit-up.jpg.scaled1000.jpg"&gt;&lt;img alt="Bridge-lit-up" height="375" src="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-12-11/DeroeCGChgIogjqIqnHwxqhsgyzDxmtGfGnimbcriyxJqecxhjFszcxatdst/bridge-lit-up.jpg.scaled500.jpg" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Если слово bridge у вас ассоциируется &lt;span style="text-decoration: underline;"&gt;только&lt;/span&gt; с картинкой выше, дальше можно не читать.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Тестовый стенд.&lt;/p&gt;
&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-12-11/bFJDEilfiGCaDfupyICcGCnJIlrDrsgFtGHgeEwulCyGkFflJekteqkwbqiy/vbox-ethernet-bridge_task.png.scaled1000.png"&gt;&lt;img alt="Vbox-ethernet-bridge_task" height="332" src="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-12-11/bFJDEilfiGCaDfupyICcGCnJIlrDrsgFtGHgeEwulCyGkFflJekteqkwbqiy/vbox-ethernet-bridge_task.png.scaled500.png" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Ubuntu Server &lt;strong&gt;srv1&lt;/strong&gt;:&lt;/p&gt;
&lt;blockquote class="posterous_short_quote"&gt;
&lt;p&gt;ip 192.168.56.11/24&lt;/p&gt;
&lt;p&gt;gateway 192.168.56.1&amp;nbsp;&lt;/p&gt;
&lt;p&gt;подключен к host-only интерфейсу vboxnet0:&lt;/p&gt;
&lt;p&gt;ip 192.168.56.1/24&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ubuntu Server &lt;strong&gt;srv2&lt;/strong&gt;:&lt;/p&gt;
&lt;blockquote class="posterous_short_quote"&gt;
&lt;p&gt;ip 192.168.56.111/24&lt;/p&gt;
&lt;p&gt;gateway 192.168.56.101&amp;nbsp;&lt;/p&gt;
&lt;p&gt;подключен к host-only интерфейсу vboxnet1:&lt;/p&gt;
&lt;p&gt;ip 192.168.56.101/24&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;После установки обеих операционных систем ping с srv1 до vboxnet0 ходит нормально, в отличие от комбинации srv2 и vboxnet1. Ну, это нормально (см. rounte -n на хост машине).&lt;/p&gt;
&lt;p&gt;Для начала, потушим 2 виртуальных интерфейса на хосте.&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;ifconfig vboxnet0 down
ifconfig vboxnet1 down&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Создадим bridge (&lt;a href="http://system-administrators.info/?p=874"&gt;http://system-administrators.info/?p=874&lt;/a&gt;)&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;brctl addbr br0
brctl addif br0 vboxnet0 vboxnet1&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Поднимем виртуальные интерфейсы в &lt;a href="http://ru.wikipedia.org/wiki/Promiscuous_mode"&gt;неразборчивом&lt;/a&gt; режиме.&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;ifconfig vboxnet0 0.0.0.0 promisc up
ifconfig vboxnet1 0.0.0.0 promisc up
ifconfig br0 up&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Теперь стоит выключить и включить Virtual Box виртуальные машины. Этот шаг я объяснить не могу, хотя опытным путем убедился в его необходимости. Буду благодарен, если кто-либо осветит это темное место.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/bridging-interfaces"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/bridging-interfaces#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/g5eBW7hFis8" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/bridging-interfaces</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 10 Dec 2011 16:20:00 -0800</pubDate>
      <title>Encode, decode URL App Engine</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/oOglOUcbTHk/encode-decode-url-app-engine</link>
      <guid isPermaLink="false">http://korenkov.info/encode-decode-url-app-engine</guid>
      <description>&lt;p&gt;
	&lt;p&gt;from &lt;a href="http://blog.guya.net/2010/07/06/encode-and-decode-urls-in-python-for-google-appengine/"&gt;http://blog.guya.net/2010/07/06/encode-and-decode-urls-in-python-for-google-appengine/&lt;/a&gt;&lt;/p&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;import urllib

text = 'some text'

#decodeURI
text = urllib.unquote(text.encode('ascii')).decode('utf-8')

#encodeURI
text = urllib.quote(text.encode('utf-8'))&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/encode-decode-url-app-engine"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/encode-decode-url-app-engine#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/oOglOUcbTHk" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/encode-decode-url-app-engine</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 09 Dec 2011 11:09:00 -0800</pubDate>
      <title>User management Ubuntu</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/XnJU5P--zoA/user-management-ubuntu</link>
      <guid isPermaLink="false">http://korenkov.info/user-management-ubuntu</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Макс, ты хотел запомнить:&lt;/p&gt;
&lt;p&gt;Добавляем пользователей через&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;sudo adduser username&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;а не через useradd. Либо она кривая, либо у тебя руки не оттуда.&lt;/p&gt;
&lt;p&gt;Пользуясь случаем, добавляем в группы:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;sudo usermod -a -G groupname username&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/user-management-ubuntu"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/user-management-ubuntu#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/XnJU5P--zoA" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/user-management-ubuntu</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 08 Dec 2011 08:29:00 -0800</pubDate>
      <title>Set timezone for Ubuntu</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/delV1VvfeIY/set-timezone-for-ubuntu</link>
      <guid isPermaLink="false">http://korenkov.info/set-timezone-for-ubuntu</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Hint: поменять таймзону на удаленном серваке можно так:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;sudo dpkg-reconfigure tzdata&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/set-timezone-for-ubuntu"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/set-timezone-for-ubuntu#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/delV1VvfeIY" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/set-timezone-for-ubuntu</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 18 Nov 2011 04:25:00 -0800</pubDate>
      <title>Google calendar Kyiv timezone issue</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/ANN6qUeJbWs/google-calendar-kyiv-timezone-issue</link>
      <guid isPermaLink="false">http://korenkov.info/google-calendar-kyiv-timezone-issue</guid>
      <description>&lt;p&gt;
	&lt;p&gt;На этой неделе что-то гугл шалит с расписанием. Все мои митинги стали на час позже.&lt;/p&gt;
&lt;p&gt;По какой-то неведомой причине Google решил, что у нас время теперь не переводят. И мы находимся в GMT +3 (Kyiv).&lt;/p&gt;
&lt;p&gt;Починить оказалось просто - в настройках календаря указать зону из GMT+2. Таллин, например.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/google-calendar-kyiv-timezone-issue"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/google-calendar-kyiv-timezone-issue#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/ANN6qUeJbWs" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/google-calendar-kyiv-timezone-issue</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 02 Nov 2011 11:06:00 -0700</pubDate>
      <title>Disabling Enhanced Internet Security in Windows 2008 Server</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/nphRQcQ_a0M/disabling-enhanced-internet-security-in-windo</link>
      <guid isPermaLink="false">http://korenkov.info/disabling-enhanced-internet-security-in-windo</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Пришлось поконфигурить Microsoft Windows 2008 Server. Я молчу про то, что до сих пор приезжает Ehnanced Internet Security&lt;span style="text-decoration: line-through;"&gt; и про то, какой уебан ее придумал.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Отключить ее можно так:&amp;nbsp;Открыть &lt;strong&gt;Server Manager&lt;/strong&gt;, найти &lt;strong&gt;Configure IE ESC&lt;/strong&gt;, кликнуть, отключить к ебенятам. Простите, скриншотиков не будет.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/disabling-enhanced-internet-security-in-windo"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/disabling-enhanced-internet-security-in-windo#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/nphRQcQ_a0M" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/disabling-enhanced-internet-security-in-windo</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 01 Nov 2011 23:28:00 -0700</pubDate>
      <title>Ubuntu openvpn push DNS options</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/8Bk6e759aA0/ubuntu-openvpn-push-dns-options</link>
      <guid isPermaLink="false">http://korenkov.info/ubuntu-openvpn-push-dns-options</guid>
      <description>&lt;p&gt;
	&lt;p&gt;По умолчанию, Ubuntu не просасывает DNS опции через openvpn. В логах прекрасно видно, что опции приезжают, но /etc/resolv.conf при этом не обновляется. Исправляется так:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;sudo aptitude install resolvconf&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;sudo mv /etc/resolv.conf /etc/resolv.conf.orig&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;sudo ln -s /etc/resolvconf/run/resolv.conf /etc/resolv.conf&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Теперь в конфигурационный файл клиента нужно добавить 2 строчки:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;up /etc/openvpn/update-resolv-conf &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;down /etc/openvpn/update-resolv-conf&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Оригинал доступен здесь:&amp;nbsp;&lt;a href="http://plug.4aero.com/Members/lmarzke/howto/openvpn-push-dns"&gt;http://plug.4aero.com/Members/lmarzke/howto/openvpn-push-dns&lt;/a&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/ubuntu-openvpn-push-dns-options"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/ubuntu-openvpn-push-dns-options#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/8Bk6e759aA0" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/ubuntu-openvpn-push-dns-options</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 01 Nov 2011 07:30:00 -0700</pubDate>
      <title>Холодает</title>
      <link>http://feedproxy.google.com/~r/mkorenkov/~3/0SIAON4hsl8/78160368</link>
      <guid isPermaLink="false">http://korenkov.info/78160368</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Последнее время брюсь со странным ощущением мороза под кожей. Объяснить для себя этот факт я не берусь. Тем не менее, мерзкое такое ощущение, преследует меня уже неделю. Холодки прям таки бродят внутри, иногда завывая.&lt;/p&gt;
&lt;p&gt;Чувства притупляются, эмоции становятся менее тусклыми. Может, поэтому идея пойти выяснять отношения с незнакомой нетрезвой компанией, не показалось абсурдной. А может просто хотелось почувствовать себя живым. Разное становится безразличным и безрадостным.&lt;/p&gt;
&lt;p&gt;Вопрос к размышлению: кризис или зима в офисе, а отопление все никак не включат?&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://korenkov.info/78160368"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://korenkov.info/78160368#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mkorenkov/~4/0SIAON4hsl8" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/833899/avatar2.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/YXks3vt3c5z</posterous:profileUrl>
        <posterous:firstName>Max</posterous:firstName>
        <posterous:lastName>Korenkov</posterous:lastName>
        <posterous:nickName>ibo.ezhe</posterous:nickName>
        <posterous:displayName>Max Korenkov</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://korenkov.info/78160368</feedburner:origLink></item>
  </channel>
</rss>

