<?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>niro.biz</title>
	<atom:link href="http://niro.biz/feed/" rel="self" type="application/rss+xml" />
	<link>http://niro.biz</link>
	<description>Just another</description>
	<lastBuildDate>Fri, 11 May 2012 06:17:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Outlook. Attachments</title>
		<link>http://niro.biz/2012/05/09/outlook-attachments/</link>
		<comments>http://niro.biz/2012/05/09/outlook-attachments/#comments</comments>
		<pubDate>Wed, 09 May 2012 09:57:38 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[addin]]></category>
		<category><![CDATA[attachments]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[msdn]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[system.object]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=97</guid>
		<description><![CDATA[<p>Казалось бы что может быть проще &#8211; взять из одного письма вложения и добавить их в другое письмо. Не тут-то было! Вот пример того, как хочется проще:</p> for (int i = 1; i &#60;= selectedMailItem.Attachments.Count; i++) { Attachment attachment = selectedMailItem.Attachments[i]; newMailItem.Attachments.Add(attachment, attachment.Type, attachment.Position, attachment.DisplayName); Marshal.ReleaseComObject(attachment); } <p>Вот что получается на самом деле в ходе [...]]]></description>
			<content:encoded><![CDATA[<p>Казалось бы что может быть проще &#8211; взять из одного письма вложения и добавить их в другое письмо. Не тут-то было! Вот пример того, как хочется проще:</p>
<pre class="brush:csharp">for (int i = 1; i &lt;= selectedMailItem.Attachments.Count; i++)
{
    Attachment attachment = selectedMailItem.Attachments[i];
    newMailItem.Attachments.Add(attachment, attachment.Type, attachment.Position, attachment.DisplayName);
    Marshal.ReleaseComObject(attachment);
}</pre>
<p>Вот что получается на самом деле в ходе выполнения кода:</p>
<blockquote><p>HRESULT: 0&#215;80020003 (DISP_E_MEMBERNOTFOUND)</p></blockquote>
<p><span id="more-97"></span>Ладно, сходим на <a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.attachments.add.aspx">MSDN</a>, проверим что там да как.</p>
<blockquote>
<pre>[DispIdAttribute()]
Attachment Add(
	Object Source,
	Object Type,
	Object Position,
	Object DisplayName
)</pre>
<pre>SourceType: <a href="http://msdn2.microsoft.com/EN-US/library/e5kfa45b" target="_blank">System.Object</a>
The source of the attachment. This can be a file (represented by the full</pre>
<pre>file system path with a file name) or an Outlook item that constitutes</pre>
<pre>the attachment.</pre>
</blockquote>
<p>Странно. Поищем, кто еще наступил на такие грабли  и на <a href="http://social.msdn.microsoft.com/Forums/en-US/outlookdev/thread/7777e7f6-07ef-4293-befd-ed0ba52ffcda/">Social.MSDN</a> обнаруживаем, что объект подставить нельзя, а можно только прикрепить внешний файл. Таким образом, чтобы добавить файл в письмо из другого письма необходимо сохранить этот файл временно на диск, добавить его в новое письмо, удалить временный файл с диска.</p>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2012/05/09/outlook-attachments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 12.04. Sun Java 7</title>
		<link>http://niro.biz/2012/05/09/ubuntu-12-04-sun-java-7/</link>
		<comments>http://niro.biz/2012/05/09/ubuntu-12-04-sun-java-7/#comments</comments>
		<pubDate>Wed, 09 May 2012 09:53:28 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Разное]]></category>
		<category><![CDATA[12.04]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javac]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[tar]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=106</guid>
		<description><![CDATA[<p>С выходом новой версии Ubuntu 12.04 изменились и шаги с установкой пакета Sun Java. Изменились настолько, что приложение приходится устанавливать практически вручную. Установка происходит по следующим шагам:</p> <p>1. Скачиваем tar-архив Sun JDK 7  <a title="sun java 7" href="http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u4-downloads-1591156.html" target="_blank">отсюда</a><br /> 2. Распаковываем архив</p> <p>tar -xvzf jdk-7u4-linux-i586.tar.gz</p> <p>3. Переносим содержимое распакованного архива:</p> <p>sudo mv jdk1.7.0_04/ /usr/lib/jvm</p> <p>4. [...]]]></description>
			<content:encoded><![CDATA[<p>С выходом новой версии Ubuntu 12.04 изменились и шаги с установкой пакета Sun Java. Изменились настолько, что приложение приходится устанавливать практически вручную. Установка происходит по следующим шагам:</p>
<p>1. Скачиваем tar-архив Sun JDK 7  <a title="sun java 7" href="http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u4-downloads-1591156.html" target="_blank">отсюда</a><br />
2. Распаковываем архив</p>
<blockquote><p>tar -xvzf jdk-7u4-linux-i586.tar.gz</p></blockquote>
<p>3. Переносим содержимое распакованного архива:</p>
<blockquote><p>sudo mv jdk1.7.0_04/ /usr/lib/jvm</p></blockquote>
<p>4. Устанавливаем:</p>
<blockquote><p>sudo update-alternatives &#8211;install /usr/bin/javac javac /usr/lib/jvm/bin/javac 1<br />
sudo update-alternatives &#8211;install /usr/bin/java java /usr/lib/jvm/bin/java 1</p></blockquote>
<p>5. Выбираем версию по умолчанию (не обязательно):</p>
<blockquote><p>sudo update-alternatives &#8211;config javac</p>
<p>sudo update-alternatives &#8211;config java</p></blockquote>
<p>6. Проверяем работоспособность путем вывода версии:</p>
<blockquote><p>java -version</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2012/05/09/ubuntu-12-04-sun-java-7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010. Приключения с mergemod.dll</title>
		<link>http://niro.biz/2011/12/26/mergemod-dll/</link>
		<comments>http://niro.biz/2011/12/26/mergemod-dll/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 17:44:08 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[mergemod]]></category>
		<category><![CDATA[mergemod.dll]]></category>
		<category><![CDATA[visual studio 2010]]></category>
		<category><![CDATA[windows installer]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=90</guid>
		<description><![CDATA[<p>После небольшого переезда с виртуальной машины Win XP x86, где уютно расположился комплекс VS 2010, в Win7 x64 где также установлен VS 2010 обнаружился небольшой косяк  с работой студии. Каждый раз при запуске проекта, запускался Windows Installer и что-то яростно пытался настроить для VS 2010. Путем изучения логов обнаружилось, что Installer хочет что-то с установочного [...]]]></description>
			<content:encoded><![CDATA[<p>После небольшого переезда с виртуальной машины Win XP x86, где уютно расположился комплекс VS 2010, в Win7 x64 где также установлен VS 2010 обнаружился небольшой косяк  с работой студии. Каждый раз при запуске проекта, запускался Windows Installer и что-то яростно пытался настроить для VS 2010. Путем изучения логов обнаружилось, что Installer хочет что-то с установочного диска. Хорошо. Получил он установочный диск, но ничего с ним не сделал и ничего, вроде как, и не взял. Дальше выяснилось, что с присутствующим диском Installer даже и не думает запускаться.</p>
<p>В логах при наличии диска ничего не появлялось, при отсутствии что-то вроде:</p>
<blockquote>
<pre>Произошла ошибка определения свойства "Visual_Studio_Ent_Suite_11085_x86_enu" продукта "{BC0464FA-A0BA-3E38-85BF-DC5B3A401F48}"
при запросе компонента "{FD153241-37EC-11D2-8892-00A0C981B015}"

Произошла ошибка определения компонента "{08CBC696-DE73-407D-A1F5-65C96A19FF3F}", свойства "Visual_Studio_Ent_Suite_11085_x86_enu",
продукта "{BC0464FA-A0BA-3E38-85BF-DC5B3A401F48}".  Ресурс "E:\" не существует.</pre>
</blockquote>
<p>Поиск по указанным ID ничего особо не дал, однако был получен некоторый намек в сторону mergemod.dll. Спустя некоторое время решением оказалось выгрузить его и загрузить. И делается это так:</p>
<blockquote>
<pre>regsvr32.exe /u "c:\Program Files (x86)\Common Files\microsoft shared\MSI Tools\mergemod.dll"

regsvr32.exe "c:\Program Files (x86)\Common Files\microsoft shared\MSI Tools\mergemod.dll"</pre>
</blockquote>
<p>Делается это все от имени администратора, иначе появится ошибка занятости этой библиотеки или что-то в этом духе.</p>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2011/12/26/mergemod-dll/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu. 10 команд, которые я выполнил после установки.</title>
		<link>http://niro.biz/2011/10/20/ubuntu-after-install/</link>
		<comments>http://niro.biz/2011/10/20/ubuntu-after-install/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 06:43:32 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Приложения]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[gimp]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[kubuntu 11.10]]></category>
		<category><![CDATA[mc]]></category>
		<category><![CDATA[pidgin]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 11.04]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unrar]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=75</guid>
		<description><![CDATA[<p>Для придания удобной обстановки, после чистой установки дистрибутива Ubuntu 11.04, я произвел ниже перечисленные шаги. Все действия выполняются в консоли, доступ к которой можно получить:</p> В Unity через приложение &#8220;Терминал&#8221;, нажав комбинацию клавиш Ctrl+Alt+t Через консоль, нажав другую комбинацию Ctrl+Alt+F1 <p>Вот мои шаги:</p> <p>1. Для начала необходимо получить список пакетов и обновить уже установленные пакеты:</p> [...]]]></description>
			<content:encoded><![CDATA[<p>Для придания удобной обстановки, после чистой установки дистрибутива Ubuntu 11.04, я произвел ниже перечисленные шаги. Все действия выполняются в консоли, доступ к которой можно получить:</p>
<ul>
<li>В Unity через приложение &#8220;Терминал&#8221;, нажав комбинацию клавиш Ctrl+Alt+t</li>
<li>Через консоль, нажав другую комбинацию Ctrl+Alt+F1</li>
</ul>
<p>Вот мои шаги:</p>
<p>1. Для начала необходимо получить список пакетов и обновить уже установленные пакеты:</p>
<blockquote><p>sudo apt-get update</p>
<p>sudo apt-get dist-upgrade</p></blockquote>
<p>2. Удобный консольный файл-менеджер mc:</p>
<blockquote><p>sudo apt-get install mc</p></blockquote>
<p>3. Шрифты от MS, UnRAR, аудио/видео кодеки, Flash:</p>
<blockquote><p>sudo apt-get install ubuntu-restricted-addons ubuntu-restricted-extras</p></blockquote>
<p>4. Браузер Chromium — отличная замена Firefox:</p>
<blockquote><p>sudo apt-get install chromium-browser</p></blockquote>
<p>5. Почта Mozilla Thunderbird (уже установлен по умолчанию в 11.10):</p>
<blockquote><p>sudo apt-get install thunderbird</p></blockquote>
<p>6. IM клиент для ICQ/Jabber/GTalk/ВКонтакте (если какой-то нету, то можно устанавливается расширениями) и прочих сетей:</p>
<blockquote><p>sudo apt-get install pidgin</p></blockquote>
<p>7. Видео проигрыватель VLC:</p>
<blockquote><p>sudo apt-get install vlc</p></blockquote>
<p>8. Графический редактор</p>
<blockquote><p>sudo apt-get install gimp</p></blockquote>
<p>9. Виртуальные машины VirtualBox, которая на мой взгляд гораздо лучше VMWare:</p>
<blockquote><p>sudo apt-get install virtualbox-ose</p></blockquote>
<p>10. Замена для Unity на KDE. Чтобы там не говорили, но KDE удобен:</p>
<blockquote><p>sudo apt-get install kubuntu-desktop</p></blockquote>
<p>Выполнение команд подходит как и для Ubuntu 11.04, так и для Ubuntu 11.10</p>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2011/10/20/ubuntu-after-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 11.10. Sun Java 6</title>
		<link>http://niro.biz/2011/10/16/ubuntu-11-10-sun-java-6/</link>
		<comments>http://niro.biz/2011/10/16/ubuntu-11-10-sun-java-6/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 08:02:28 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Приложения]]></category>
		<category><![CDATA[11.04]]></category>
		<category><![CDATA[11.10]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[java 6]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[openjdk]]></category>
		<category><![CDATA[ppa]]></category>
		<category><![CDATA[pycharm]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 11.04]]></category>
		<category><![CDATA[ubuntu 11.10]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=67</guid>
		<description><![CDATA[<p>Как установить Java 6 от Sun на Ubuntu 11.10:</p> <p>sudo add-apt-repository ppa:ferramroberto/java<br /> sudo apt-get update<br /> sudo apt-get install sun-java6-jdk sun-java6-plugin</p> <p>Установка Java от Sun, например, необходима в случае, если вы используете PyCharm или что-то похожее, а OpenJDK не хватает либо он не эффективен.</p> <p>Если был уже установлен OpenJDK основным, то изменить его на [...]]]></description>
			<content:encoded><![CDATA[<p>Как установить Java 6 от Sun на Ubuntu 11.10:</p>
<blockquote><p>sudo add-apt-repository ppa:ferramroberto/java<br />
sudo apt-get update<br />
sudo apt-get install sun-java6-jdk sun-java6-plugin</p></blockquote>
<p>Установка Java от Sun, например, необходима в случае, если вы используете PyCharm или что-то похожее, а OpenJDK не хватает либо он не эффективен.</p>
<p>Если был уже установлен OpenJDK основным, то изменить его на Sun&#8217;овский можно следующим образом:</p>
<blockquote><p>sudo update-java-alternatives -s java-6-sun</p></blockquote>
<p>Этот метод также подходит и для Ubuntu 11.04, как, вероятно, и для более ранних версий.</p>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2011/10/16/ubuntu-11-10-sun-java-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD. Jail.</title>
		<link>http://niro.biz/2011/09/11/freebsd-jail/</link>
		<comments>http://niro.biz/2011/09/11/freebsd-jail/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 19:08:37 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[buidworld]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[jail]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[setenv]]></category>
		<category><![CDATA[src]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=62</guid>
		<description><![CDATA[<p>Задача, которая возникла — изучить способ виртуализации на FreeBSD с помощью Jail. В целях предварительного изучения, для теста была предоставлена машина достаточно простой конфигурации на платформе x86. Технические характеристики в тесте роли не играли — главное получить результат. На момент установки имелся образ релиза FreeBSD 8.0, хотя последним релизом и являлся FreeBSD 8.2.</p> <p>Технология Jail [...]]]></description>
			<content:encoded><![CDATA[<p>Задача, которая возникла — изучить способ виртуализации на FreeBSD с помощью Jail. В целях предварительного изучения, для теста была предоставлена машина достаточно простой конфигурации на платформе x86. <span id="more-62"></span>Технические характеристики в тесте роли не играли — главное получить результат. На момент установки имелся образ релиза FreeBSD 8.0, хотя последним релизом и являлся FreeBSD 8.2.</p>
<p>Технология Jail заключается в механизме виртуализации на уровне операционной системы — создания нескольких независимо работающих копий системы внутри одной ОС — далее они будут называться в статье клетками. К сожалению, в данный момент использование FreeBSD Jail имеет ряд недостатков, один из которых — невозможность ограничивать системные ресурсы для клетки. На данный момент это решается сторонними патчами.</p>
<p>Установка всей системы производится с нуля. Я выбрал Custom установку. В ней были выбраны основные пакеты системы, порты и исходные коды — ядра и include.</p>
<p>Для того, чтобы создать отдельную клетку, необходимо убедится, что установлены все исходные коды в /usr/src. Клетки будут хранится в /jails. Создаю клетку под названием test.</p>
<p>Для удобства определяю под переменной D путь к этой клетке.</p>
<blockquote><p># setenv D /jails/test</p></blockquote>
<p>Создаю директорию для клетки</p>
<blockquote><p># mkdir -p $D</p></blockquote>
<p>Собираю мир</p>
<blockquote><p># cd /usr/src</p>
<p># make buildworld</p></blockquote>
<p>Устанавливаю мир в клетку</p>
<blockquote><p># make installworld DESTDIR=$D</p>
<p># make distribution DESTDIR=$D</p></blockquote>
<p>Подключаю для клетки devfs</p>
<blockquote><p># mount -t devfs devfs $D/dev</p></blockquote>
<p>Для клетки создается alias интерфейс, к примеру:</p>
<blockquote><p># ifconfig vr0 alias 192.168.1.2 netmask 255.255.255.0</p></blockquote>
<p>Теперь прописывается клетка в /etc/rc.conf под названием test</p>
<blockquote><p>jail_enable=&#8221;YES&#8221;</p>
<p>jail_list=&#8221;test&#8221;</p>
<p>jail_test_rootdir=&#8221;/jails/test&#8221;</p>
<p>jail_test_hostname=&#8221;www.example.org&#8221;</p>
<p>jail_test_ip=&#8221;192.168.1.2&#8243;</p>
<p>jail_test_devfs_enable=&#8221;YES&#8221;</p>
<p>jail_test_devfs_ruleset=&#8221;test_ruleset&#8221;</p></blockquote>
<p>Клетка запускается командой:</p>
<blockquote><p># /etc/rc.d/jail start test</p></blockquote>
<p>Подключение к клетке для установки паролей и запуска прочих команд:</p>
<blockquote><p># jail /jails/test/ test 192.168.1.2 /bin/csh</p></blockquote>
<p>На этот момент получается, что установлена начальная система клетки, т.е. никакие параметры и настройки в клетку из основной системы не переносились. В клетке можно установить необходимые пакеты, настроить SSH и работать как с обычной системой. В основной системе все процессы, которые создаются в клетках будут видны в дереве процессов. В клетках видны только те процессы, которые создаются пользователем этой клетки.</p>
<p>Чтобы исключить частые скачивания и обновления портов, а также для экономии дискового пространства можно каждой клетке выделить доступ к портам основной системы. Это можно сделать двумя способами:</p>
<blockquote><p># mount_unionfs /usr/ports /jails/test/usr/ports</p></blockquote>
<p>или</p>
<blockquote><p># mount_nullfs /usr/ports /jails/base/usr/ports</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2011/09/11/freebsd-jail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD. Обновление исходных кодов ядра</title>
		<link>http://niro.biz/2011/09/11/freebsd-kernel-update/</link>
		<comments>http://niro.biz/2011/09/11/freebsd-kernel-update/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 19:04:03 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[csup]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[supfile]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=58</guid>
		<description><![CDATA[<p>Обновление исходных кодов ядра FreeBSD я разделил на 2 этапа. Первый для определения быстрого CVS сервера. В репозиторях CVS хранятся исходные коды системы и чем быстрее к ним доступ, тем лучше. Второй этап — загрузка и обновление исходных кодов.</p> <p>Устанавливаем утилиту fastest_cvsup из портов и определяем нужный сервер:</p> <p># cd /usr/ports/sysutils/fastest_cvsup/</p> <p># make install clean [...]]]></description>
			<content:encoded><![CDATA[<p>Обновление исходных кодов ядра FreeBSD я разделил на 2 этапа. Первый для определения быстрого CVS сервера. В репозиторях CVS хранятся исходные коды системы и чем быстрее к ним доступ, тем лучше. Второй этап — загрузка и обновление исходных кодов.<span id="more-58"></span></p>
<p>Устанавливаем утилиту fastest_cvsup из портов и определяем нужный сервер:</p>
<blockquote><p># cd /usr/ports/sysutils/fastest_cvsup/</p>
<p># make install clean &amp; rehash</p>
<p># fastest_cvsup -c ru</p></blockquote>
<p>Для меня оказался самым быстрым cvsup4.ru.freebsd.org</p>
<p>Теперь переходим ко второму этапу. Создаем файл /etc/supfile следующего содержания:</p>
<blockquote><p>*default host=cvsup4.ru.freebsd.org</p>
<p>*default base=/var/db</p>
<p>*default prefix=/usr</p>
<p>*default release=cvs tag=RELENG_8_1_0_RELEASE</p>
<p>*default delete use-rel-suffix</p>
<p>*default compress</p>
<p>src-all</p></blockquote>
<p>Обновление выполняется следующей командой:</p>
<blockquote><p># csup /etc/supfile</p></blockquote>
<p>Обновление закончится после надписи Finished successfully. Теперь в /usr/src/ имеются обновленные исходные коды для указанного в /etc/supfile релизе (указали как RELENG_8_1_0_RELEASE).</p>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2011/09/11/freebsd-kernel-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD. Обновление системы.</title>
		<link>http://niro.biz/2011/09/11/freebsd-binary-update/</link>
		<comments>http://niro.biz/2011/09/11/freebsd-binary-update/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 18:58:06 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[freebsd-update]]></category>
		<category><![CDATA[uname]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=54</guid>
		<description><![CDATA[<p>Для обновления системы (библиотек, ядра) и ее бинарных пакетов используется freebsd-update. Утилита выполняет обновление бинарных пакетов системы как текущего релиза (например, обновления безопасности), так и до указанного следующего релиза.</p> <p></p> <p>Для обновление бинарных пакетов:</p> <p># freebsd-update fetch</p> <p># freebsd-update install</p> <p>Первая команда получает изменения, вторая устанавливает. Результат — обновление бинарных пакетов. После этого лучше перегрузиться.</p> [...]]]></description>
			<content:encoded><![CDATA[<p>Для обновления системы (библиотек, ядра) и ее бинарных пакетов используется freebsd-update. Утилита выполняет обновление бинарных пакетов системы как текущего релиза (например, обновления безопасности), так и до указанного следующего релиза.</p>
<p><span id="more-54"></span></p>
<p>Для обновление бинарных пакетов:</p>
<blockquote><p># freebsd-update fetch</p>
<p># freebsd-update install</p></blockquote>
<p>Первая команда получает изменения, вторая устанавливает. Результат — обновление бинарных пакетов. После этого лучше перегрузиться.</p>
<p>Обновление до следующего релиза, если текущий к примеру, более ранний 8.0:</p>
<blockquote><p># freebsd-update -r 8.1-RELEASE upgrade</p>
<p># freebsd-update install</p></blockquote>
<p>Первая команда выполняет загрузку изменений для обновления, вторая выполняет обновление. После перезагрузки необходимо сделать freebsd-update install еще раз.</p>
<p>Результат выполнения обновления можно следить через</p>
<blockquote><p>$ uname -a</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2011/09/11/freebsd-binary-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD. Обновление коллекции портов.</title>
		<link>http://niro.biz/2011/09/11/freebsd-ports-update/</link>
		<comments>http://niro.biz/2011/09/11/freebsd-ports-update/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 18:52:54 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[portsnap]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=47</guid>
		<description><![CDATA[<p>Порт — своего рода набор файлов предназначенный для автоматизации приложения из исходного кода. Коллекция портов — дерево каталогов содержащие множество портов. В базовой поставке имеется утилита portsnap, которая предназначена для получения и обновления коллекции портов.</p> <p>Работа с ней очень проста и заключается в следующих командах:</p> <p># portsnap fetch</p> <p># portsnap extract</p> <p># portsnap update</p> <p>Команды: [...]]]></description>
			<content:encoded><![CDATA[<p>Порт — своего рода набор файлов предназначенный для автоматизации приложения из исходного кода. Коллекция портов — дерево каталогов содержащие множество портов. В базовой поставке имеется утилита portsnap, которая предназначена для получения и обновления коллекции портов.</p>
<p><span id="more-47"></span>Работа с ней очень проста и заключается в следующих командах:</p>
<blockquote><p># portsnap fetch</p>
<p># portsnap extract</p>
<p># portsnap update</p></blockquote>
<p>Команды: скачать архив коллекции, распаковать его, обновить. Все просто.</p>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2011/09/11/freebsd-ports-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD. Создание программного массива RAID-1.</title>
		<link>http://niro.biz/2011/09/11/freebsd-raid-1/</link>
		<comments>http://niro.biz/2011/09/11/freebsd-raid-1/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 18:50:04 +0000</pubDate>
		<dc:creator>Michael Borisov</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[geom]]></category>
		<category><![CDATA[gmirror]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[raid1]]></category>

		<guid isPermaLink="false">http://niro.biz/?p=43</guid>
		<description><![CDATA[<p>Очень часто приходилось сталкиваться с такой ситуацией, когда компьютер под сервер, в нем несколько жестких дисков для RAID-1 массива от которого требуется стабильность. Но поскольку RAID контроллер на материнской плате дешевый, а следовательно и не настоящий, то работа с ним в FreeBSD может немного усложняться, да и может вообще не работать. Тут имеется ввиду то, [...]]]></description>
			<content:encoded><![CDATA[<p>Очень часто приходилось сталкиваться с такой ситуацией, когда компьютер под сервер, в нем несколько жестких дисков для RAID-1 массива от которого требуется стабильность. Но поскольку RAID контроллер на материнской плате дешевый, а следовательно и не настоящий, то работа с ним в FreeBSD может немного усложняться, да и может вообще не работать.<span id="more-43"></span> Тут имеется ввиду то, что массив может быть и соберется, а вот в случае каких-либо проблем он потом может не восстановится. Поэтому идеальное решение — создание программного RAID-1 массива. Далее представлена последовательность команд, которые выполняются на этапе установки и настройки системы. По поводу совместимости версий FreeBSD, то это подходило от 6.2 до 8.0.</p>
<p>Допустим, что в системе 2 жестких диска, устройства которых /dev/ad2 и /dev/ad4. Размеры их одинаковы и система устанавливается на первый диск (ad2). После того, как были установлены необходимые пакеты и sysinstall предложил выполнить настройки системы — создаем консоль и выполняем следующие команды:</p>
<p>Устанавливаем привилегии на работу с диском:</p>
<blockquote><p>% sysctl kern.geom.debugflags=16</p></blockquote>
<p>Создаем RAID-1 устройство gm0 на основе ad2</p>
<blockquote><p>% gmirror label -v -n -b round-robin gm0 /dev/ad2</p></blockquote>
<p>Прописываем в loader.conf подключение модуля GEOM_MIRROR при загрузке системы</p>
<blockquote><p>% echo &#8216;geom_mirror_load=YES&#8217; &gt;&gt; /boot/loader.conf</p></blockquote>
<p>Редактируем в /etc/fstab устройства монтирования с /dev/ad2* на /dev/mirror/gm0*</p>
<p>Добавляем второй диск. Эту операцию можно выполнить и после перезагрузки.</p>
<blockquote><p>% gmirror insert gm0 /dev/ad4</p></blockquote>
<p>Проверяем состояние массива.</p>
<blockquote><p>% gmirror status</p></blockquote>
<p>В зависимости от размеров жесткого диска зависит время синхронизации. Результатом являются одинаковые жесткие диски. В случае выхода из строя одного из дисков можно без проблем загрузиться с другого.</p>
]]></content:encoded>
			<wfw:commentRss>http://niro.biz/2011/09/11/freebsd-raid-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

