<?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>Все о FreeBSD &#187; обновление</title>
	<atom:link href="http://msnp.ru/tag/update/feed" rel="self" type="application/rss+xml" />
	<link>http://msnp.ru</link>
	<description>Проект о FreeBSD и OpenSource</description>
	<lastBuildDate>Mon, 06 Feb 2012 10:39:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Обновление FreeBSD</title>
		<link>http://msnp.ru/225</link>
		<comments>http://msnp.ru/225#comments</comments>
		<pubDate>Thu, 17 Jun 2010 11:21:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[csup]]></category>
		<category><![CDATA[cvsup]]></category>
		<category><![CDATA[freebsd-update]]></category>
		<category><![CDATA[pkg_add]]></category>
		<category><![CDATA[pkg_deinstall]]></category>
		<category><![CDATA[pkg_version]]></category>
		<category><![CDATA[portsnap]]></category>
		<category><![CDATA[portupgrade]]></category>
		<category><![CDATA[обновление]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=225</guid>
		<description><![CDATA[Обновление FreeBSD. Обновить ОС FreeBSD в общем случае достаточно просто и легко, но для начала нужно определиться какого рода обновления нас интересуют. Любого рода обновления можно разделить на несколько категорий: Обновление самой ОС FreeBSD Обновление ядра FreeBSD Обновление мира FreeBSD Обновление установленного программного обеспечения ( порты, ports ) Теперь разберем по порядку каждый вариант обновлений. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Обновление FreeBSD.</strong></p>
<p>Обновить ОС FreeBSD в общем случае достаточно просто и легко, но для начала нужно определиться какого рода обновления нас интересуют.</p>
<p>Любого рода обновления можно разделить на несколько категорий:</p>
<ul>
<li>Обновление самой ОС FreeBSD
<ul>
<li>Обновление ядра FreeBSD</li>
<li>Обновление мира FreeBSD</li>
</ul>
</li>
<li>Обновление установленного программного обеспечения ( порты, ports )</li>
</ul>
<p>Теперь разберем по порядку каждый вариант обновлений.<span id="more-225"></span></p>
<p><em><strong>Обновления ОС FreeBSD</strong></em></p>
<p>Как и в любой другой операционной системе в ОС FreeBSD тоже находят ошибки и уязвимости, и их надо исправлять.<br />
Для этого разработчики FreeBSD предлагают несколько вариантов:</p>
<ul>
<li>Бинарное обновление.</li>
<li>Обновление &#171;по старинке&#187;, сборкой из исходников.</li>
</ul>
<p>Бинарное обновление произвести довольно просто, но все пройдет успешно если у вас GENERIC ядро и вы не делали изменений в других частях ОС.<br />
Конечно в некоторых случаях и с  кастомным ядром бинарное обновление тоже может пройти успешно, но гарантий совершенно нет.</p>
<p>Итак, что нужно набирать в консоли при бинарном обновлении:</p>
<p><code># freebsd-update fetch</code><br />
<span style="font-size: x-small;"> скачаем бинарные обновления с сервера обновлений</span></p>
<p><code># freebsd-update install</code><br />
<span style="font-size: x-small;"> установим обновления</span></p>
<p><code># reboot</code><br />
<span style="font-size: x-small;"> перезагрузка требуется если обновилось ядро или другие важные части системы</span></p>
<p>Вот так все просто!<br />
В случае если у вас в системе присутствует директория с исходными текстами то обновятся и они, что в дальнейшем может быть полезно при пересборке.</p>
<p>Вариант с обновлением из исходников требует немного больше телодвижений, а так же у вас должны быть исходники.</p>
<p>Для начала необходимо скопировать и поправить файлик с настройками:<br />
<code># cp /usr/share/examples/cvsup/stable-supfile /root</code><br />
<span style="font-size: x-small;">в этом фале нужно поправить строки </span><br />
<code>*default host=cvsup4.ru.FreeBSD.org</code><br />
<span style="font-size: x-small;"> адрес сайта можете поставить любой с которым у вас наиболее высокая скорость, например просто пропинговать несколько адресов меняя цифру 4.</span><br />
<code>*default release=cvs tag=RELENG_8_0</code><br />
<span style="font-size: x-small;"> тут надо указать исходники какого релиза мы хотим скачать, в данном случае FreeBSD 8.0<br />
Далее собственно скачиваем исходники системы, можно использовать либо старый cvsup либо рекомендуемая замена csup.</span></p>
<p><code>csup -g -L /root/stable-supfile</code><br />
Приступаем непосредственно к компиляции:<br />
<code># cd /usr/src/<br />
# make buildworld<br />
# make installworld<br />
# reboot</code></p>
<p>После перезагрузки необходимо собрать ядро:<br />
<code># cd /usr/src</code><br />
<code># make buildkernel KERNCONF=GENRIC</code><br />
<code># make installkernel KERNCONF=GENERIC</code><br />
<code># reboot </code><br />
<span style="font-size: x-small;">В данном случае используем GENERIC ядро, но вы можете поправить ядро под свои нужды.</span></p>
<p><em><strong>Обновление установленного программного обеспечения.</strong></em></p>
<p>Есть несколько вариантов как установить софт в ОС FreeBSD:</p>
<ul>
<li>Сборка из &#171;портов&#187;</li>
<li>Сборка из исходных кодов</li>
<li>Установка скомпилированых пакетов</li>
</ul>
<p><span style="color: #ff0000;">Самостоятельная сборка из исходных кодов не рекомендуется, хотя вы наверняка знаете о проблемах если выбрали данный вариант.</span></p>
<p>Порты FreeBSD это грубо говоря набор указаний для системы, откуда скачивать исходники, какие патчи применять, какие права выставлять, и т.п.<br />
Для того чтобы использовать всю мощь &#187;портов&#187; и их удобство, порты необходимо скачать и регулярно обновлять, делается это так:</p>
<p><code># portsnap fetch</code><br />
<code># portsnap extract</code><br />
<span style="font-size: x-small;"> Эти две команды нужно использовать если у вас еще не установлены &#171;порты&#187;.</span></p>
<p><code># portsnap fetch update</code><br />
<span style="font-size: x-small;"> Эта команда используется для обновления дерева портов</span></p>
<p>Для сборки какого либо порта например php нужно использовать такую команду:</p>
<p><code># make -C /usr/ports/lang/php5/ install clean</code></p>
<p>Для обновления рекомендую использовать например portupgrade который так же можно установить из портов командой:</p>
<p><code># make -C /usr/ports/ports-mgmt/portupgrade/ install clean</code></p>
<p>После обновления дерева портов нужно посмотреть что собственно требует обновления</p>
<p><code># pkg_version -v|grep need<br />
apache-2.2.15_2 &lt; needs updating (port has 2.2.15_7)<br />
freetype2-2.3.11 &lt; needs updating (port has 2.3.12)<br />
gio-fam-backend-2.22.4 &lt; needs updating (port has 2.24.1)</code><br />
Ну вот у нас есть явные кандидаты на обновление, при помощи portupgrade делаем примерно так:</p>
<p><code># portupgrade -a</code><br />
<span style="font-size: x-small;"> Такой командой мы обновим все.</span></p>
<p><code># portupgrade apache-2.2.15_2</code><br />
<span style="font-size: x-small;"> Такой командой мы обновим только пакет Apache</span></p>
<p>Установка и обновление уже собранных пакетов выглядит примерно так:</p>
<p><code># pkg_add -r mc</code><br />
<span style="font-size: x-small;"> Установка пакета Midnight Commander</span></p>
<p><code># pkg_deinstall mc</code><br />
<span style="font-size: x-small;"> Удаление пакета  Midnight Commander</span></p>
<p><code># pkg_add -r mc</code><br />
<span style="font-size: x-small;"> Установка обновленного пакета делается точно так же как и первоначальная его установка.</span></p>
<p>Вот в принципе и все премудрости обновления ОС FreeBSD и установленных программ.<br />
Надеюсь данная статья пригодиться кому нибудь.<br />
Хочу сделать небольшое замечание:<br />
<span style="color: #ff0000;"> Перед обновлением чего либо читайте чейнжлог обновляемого ПО или ОС, иначе после очередного обновления вы рискуете получить например неработающий MTA, потому что разработчики упразднили какую либо функцию в своем софте.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/225/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Tinderbox для массового обновления серверов.</title>
		<link>http://msnp.ru/202</link>
		<comments>http://msnp.ru/202#comments</comments>
		<pubDate>Wed, 07 Oct 2009 17:44:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tinderbox]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[tinderbox]]></category>
		<category><![CDATA[обновление]]></category>
		<category><![CDATA[порты]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=202</guid>
		<description><![CDATA[Ver. 01 Tinderbox замечательная тулза, предназначена для сборки пакетов из портов FreeBSD. Что нам это дает? Смысл tinderbox в том, что его можно установить на сервер который будет заниматься одной задачей, компилировать пакеты. Тем самым мы освобождаем остальной парк серверов от компиляции обновленных пакетов, незачем серверу который выполняет безусловно важные задачи, растрачивать процессорное время на [...]]]></description>
			<content:encoded><![CDATA[<p>Ver. 01</p>
<p>Tinderbox замечательная тулза, предназначена для сборки пакетов из портов FreeBSD.<br />
Что нам это дает? Смысл tinderbox в том, что его можно установить на сервер который будет заниматься одной задачей, компилировать пакеты. Тем самым мы освобождаем остальной парк серверов от компиляции обновленных пакетов, незачем серверу который выполняет безусловно важные задачи, растрачивать процессорное время на компиляцию.</p>
<p>Прелесть tinderbox в том, что можно собирать пакеты под любую версию FreeBSD и любую архитектуру и платформу. Дополнительно можно создать файл опциями с которыми будут собираться нужные нам пакеты.</p>
<p>Tinderbox имеет вебморду в которой можно посмотреть что уже собрано, ошибки компиляции, задать очередь сборки нужных нам портов.</p>
<p>Итак, tinderbox установлен, нужные нам порты собраны.<br />
Далее монтируем по nfs каталог с портами на сервер который хотим обновлять, и юзаем portupgrade с опциями установки из пакетов, конечно не забыв поменять переменные откуда брать эти пакеты.</p>
<p>Обращаюсь к читателям:<br />
Если данная тема вам интересна, то могу написать полный гайд по установке и настройке tinderbox, а так же что и как потом делать с собранными пакетами.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/202/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Обновление портов и установленного софта в FreeBSD</title>
		<link>http://msnp.ru/59</link>
		<comments>http://msnp.ru/59#comments</comments>
		<pubDate>Wed, 05 Nov 2008 17:30:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[portsnap]]></category>
		<category><![CDATA[portupgrade]]></category>
		<category><![CDATA[обновление]]></category>
		<category><![CDATA[порты]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=59</guid>
		<description><![CDATA[Для поддержания в актуальном состоянии программ нужно проделать несколько несложных действий. Обновляем порты, в FreeBSD 6.0 и выше, используем команды: portsnap fetch ## Если запускается впервые portsnap extract ## Распаковываем дерево портов portsnap fetch update ## При последующих обновлениях дерева портов Для обновления установленного программного обеспечения я использую portupgrade для начала проверим что требуется обновить: [...]]]></description>
			<content:encoded><![CDATA[<p>Для поддержания в актуальном состоянии программ нужно проделать несколько несложных действий.</p>
<p>Обновляем порты, в FreeBSD 6.0 и выше, используем команды:</p>
<p><code>portsnap fetch</code> ## Если запускается впервые<br />
<code>portsnap extract</code> ## Распаковываем дерево портов<br />
<code>portsnap fetch update</code> ## При последующих обновлениях дерева портов</p>
<p>Для обновления установленного программного обеспечения я использую <em>portupgrade</em></p>
<p>для начала проверим что требуется обновить:<br />
<code>pkg_version -v | grep need</code></p>
<p>обновляем:<br />
<code>portupgrade</code> <em><code>название пакета</code></em> для обновления конкретного пакета<br />
<code>portupgrade -a</code> для обновления всех устаревших пакетов</p>
<p>UPD:<br />
Для ежедневного обновления упакованного снэпшота и индексного файла при помощи <tt class="COMMAND">portsnap</tt> и последующего отчета почтой об устаревших установленных пакетах добавьте в ваш файл <tt class="FILENAME"><span style="color: #00ff00;"><span style="color: #339966;">/etc/crontab</span></span></tt> строку<br />
<code>0 3 * * * root portsnap -I cron update &amp;&amp; pkg_version -vIL=</code></p>
<p>Подробности можно почитать <a href="http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/portsnap.html" target="_blank">тут</a></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/59/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

