<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Бузочок &#187; пакеты</title>
	<atom:link href="http://buzochok.org.ua/tag/pakety/feed/" rel="self" type="application/rss+xml" />
	<link>http://buzochok.org.ua</link>
	<description>Для интересных людей</description>
	<lastBuildDate>Wed, 21 Apr 2010 16:44:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FreeBSD. Порты и пакеты</title>
		<link>http://buzochok.org.ua/freebsd-porty-i-pakety/</link>
		<comments>http://buzochok.org.ua/freebsd-porty-i-pakety/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:25:28 +0000</pubDate>
		<dc:creator>Veles</dc:creator>
				<category><![CDATA[Заметки]]></category>
		<category><![CDATA[Мир микросхем]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[настройка]]></category>
		<category><![CDATA[пакеты]]></category>
		<category><![CDATA[порты]]></category>
		<category><![CDATA[установка]]></category>

		<guid isPermaLink="false">http://buzochok.org.ua/?p=1068</guid>
		<description><![CDATA[В прошлый раз мы поставили FreeBSD 8.0, более-менее разобрали процесс установки и получили в итоге девственно чистую систему, аки родник, что течёт по склону Фудзиямы&#8230; Это, так называемая, базовая система. Но сама по себе она скучная и практически бесполезная. А нам надо, чтобы было весело и чтобы хуй войне. Поэтому необходимо научиться устанавливать любые программы [...]]]></description>
			<content:encoded><![CDATA[<p>В прошлый раз <a href="http://buzochok.org.ua/freebsd-nachnyom-s-samogo-nachala/">мы поставили FreeBSD 8.0</a>, более-менее разобрали процесс установки и получили в итоге девственно чистую систему, аки родник, что течёт по склону Фудзиямы&#8230; Это, так называемая, базовая система. Но сама по себе она скучная и практически бесполезная. А нам надо, чтобы было весело и чтобы хуй войне. Поэтому необходимо научиться устанавливать любые программы в преподобной FreeBSD. Для этого есть 3 способа (аж три, да):</p>
<p><strong>1. Установка с исходников</strong> (это трушно, но установка с портов ещё более трушно, поэтому останавливаться на этом пункте пока не будем)<br />
<strong>2. Установка с портов</strong> (сам ем и нахваливаю, разберём в деталях)<br />
<strong>3. Установка с пакетов</strong> (быстрый способ для ленивых, тоже разберём)</p>
<p>Также, в этой главе мы научимся обновлять коллекцию портов. Так что&#8230; не переключайтесь :) <span id="more-1068"></span></p>
<p>Начнём, пожалуй, с системы портов. Что это такое?</p>
<blockquote><p>«Порт» &mdash; это набор команд, задающих правила наложения заплаток на файлы исходного кода. Комбинируя заплатки и команды установки, FreeBSD может вести полный учет всего процесса установки программного обеспечения. Такой подход избавляет от трудностей установки программ и позволяет сконцентрироваться на их конфигурировании.</p></blockquote>
<p>Проще говоря &mdash; это удобный, гибкий и, что немаловажно, централизованный инструмент для установки любых программ, какие вообще существуют под FreeBSD. Если вы по каким-то странным причинам не поставили коллекцию портов во время установки системы, сделаем это сейчас. Если не уверены, перейдите в папку /usr/ports. Если там есть что-то вроде такого:<br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_013.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_013.png" alt="progs_013" title="progs_013" width="720" height="400" class="alignnone size-full wp-image-1087" /></a></p>
<p>коллекция портов у вас уже есть и её надо только обновить. Если там пусто, тогда ставим. Всего двумя командами:</p>
<pre class="brush: bash;"># portsnap fetch - получаем коллекцию портов
# portsnap extract - устанавливаем коллекцию портов</pre>
<p>Знакомьтесь с программой portsnap. Вы с ней подружитесь, она хорошо работает с портами и вообще является с некоторых пор стандартным инструментом для их обслуживания. Она, в частности, занимается их обновлением.</p>
<p><strong>Проводите обновление портов перед КАЖДОЙ установкой новых программ.</strong> Это реально важно. К примеру, с базовыми портами вы не сможете поставить mc (midnight commander, файловый менеджер). Я вот не смог. Проблема оказалась именно в порте mc, баг быстро пофиксили. Поэтому порты следует обновить, чтобы система была в курсе исправленных ошибок. Это делается так же легко:</p>
<pre class="brush: bash;"># portsnap fetch extract - используется только в первый раз, когда апдейтов ещё не производилось
# portsnap fetch update - используется каждый раз для обновления портов</pre>
<p><a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_001.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_001.png" alt="progs_001" title="progs_001" width="720" height="400" class="alignnone size-full wp-image-1074" /></a><br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_002.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_002.png" alt="progs_002" title="progs_002" width="720" height="400" class="alignnone size-full wp-image-1075" /></a></p>
<p>Сравните это со <a href="http://buzochok.org.ua/freebsd-obnovlenie-portov-cherez-cvsup/">старым методом обновления</a> и поймёте насколько всё стало проще. <em>Тут я немного лукавлю, есть ещё один метод обновления, с помощью csup (не путать с cvsup). Но я, честно говоря, не вижу в нём никаких преимуществ. Поэтому и говорить о нём не буду, чтобы не раздувать статью.</em></p>
<p>Такс&#8230; Допустим порты мы обновили. На это может уйти много времени. Зависит от интернет-канала и количества обновлений. Теперь мы можем установить нашу первую программу. Рекомендую сразу поставить mc, с ним будет удобнее работать в будущем.</p>
<p>Как нам среди десятков тысяч портов найти нужный? Легко :)</p>
<pre class="brush: bash;"># cd /usr/ports
# make search name=mc</pre>
<p>В списке будет некоторое количество совпадений. Но mc там только одно :) И находится порт в папочке /usr/ports/misc/mc. Так что переходим туда и набираем магические слова:</p>
<pre class="brush: bash;"># cd /usr/ports/misc/mc
# make install clean</pre>
<p>Это действительно волшебство, там как процесс скачивания, распаковки, поиска зависимостей, конфигурирования под вашу систему и установки приложений полностью автоматизирован. И кто сказал, что в Винде всё проще? :) Но гибкость портов заключается именно в конфигурировании сборки программ под ваши нужды. Поэтому по ходу установки, BSD будет спрашивать вас с какой функциональностью вы хотите увидеть программу. У программ обычно есть некоторые опции сборки. В случае с mc, это выглядит так. Сначала мы конфигурируем сам mc.<br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_004.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_004.png" alt="progs_004" title="progs_004" width="720" height="400" class="alignnone size-full wp-image-1077" /></a></p>
<p>Потом mc тянет зависимости, компиляция которых также настраивается. Можно оставлять всё как есть по умолчанию, а можно и менять опции, если знаете что делаете. До конца сборки, вы увидите вот такие окна (а может и ещё какие-то):<br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_004.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_004.png" alt="progs_004" title="progs_004" width="720" height="400" class="alignnone size-full wp-image-1077" /></a><br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_005.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_005.png" alt="progs_005" title="progs_005" width="720" height="400" class="alignnone size-full wp-image-1078" /></a><br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_006.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_006.png" alt="progs_006" title="progs_006" width="720" height="400" class="alignnone size-full wp-image-1079" /></a><br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_007.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_007.png" alt="progs_007" title="progs_007" width="720" height="400" class="alignnone size-full wp-image-1080" /></a><br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_008.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_008.png" alt="progs_008" title="progs_008" width="720" height="400" class="alignnone size-full wp-image-1081" /></a><br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_009.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_009.png" alt="progs_009" title="progs_009" width="720" height="400" class="alignnone size-full wp-image-1082" /></a><br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_010.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_010.png" alt="progs_010" title="progs_010" width="720" height="400" class="alignnone size-full wp-image-1083" /></a><br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_011.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_011.png" alt="progs_011" title="progs_011" width="720" height="400" class="alignnone size-full wp-image-1084" /></a></p>
<p>Никаких ошибок быть не должно, компиляция заканчивается, вводим команду <strong>rehash</strong>, которая перечитывает систему и позволяет обойтись без перезагрузки. Ну и сам mc:</p>
<p># mc<br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_012.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_012.png" alt="progs_012" title="progs_012" width="720" height="400" class="alignnone size-full wp-image-1085" /></a></p>
<p>Вуаля! Всё ОК. Поздравляю, мы установили нашу первую, при чём немаловажную, программу. Так же ставятся с портов и все остальные.</p>
<p>Теперь уделим некоторое время нюансам. Куда же без них :)</p>
<p>Если вы что-то пропустили в конфигурировании, нажали ОК и только потом осознали свою ошибку &mdash; не беда. Процесс сборки можно прервать комбинацией Ctrl+C. После чего набираем команду <strong>make config</strong>, она запустит конфигуратор порта заново.</p>
<p>Если программа, установленная с порта, вам уже не нужна &#8211; перейдите в папку, где находится её порт и выполните команду <strong>make deinstall</strong>. Система найдёт и удалит программу.</p>
<p>Если у вас в процессе сборки выключился компьютер, или кончился интернет, или ещё что &mdash; не волнуйтесь. Просто начните процесс заново. FreeBSD достаточно умная система. чтобы найти место на котором она остановилась и продолжить, не начиная проходить весь путь с самого начала.</p>
<p>Это пока что всё, что нужно знать о системе портов. Теперь немного о пакетах.</p>
<p>Установка с пакетов имеет свои достоинства. Это простота и скорость. Отдельным пунктом замечу независимость от интернета. Актуально, если вы пользуетесь помегабайтным тарифом. А если у вас есть только один час, чтобы поднять шлюз, почтовый и веб серверы &mdash; пакеты то, что доктор прописал.</p>
<p>Пакеты есть на диске и есть в интернете. В интернете более свежие версии, а на диске более&#8230; локальные :) И далеко не все&#8230; Давайте поставим с диска текстовый редактор vim-lite:</p>
<pre class="brush: bash;"># mount -t cd9660 /dev/acd0 /cdrom - монтируем диск
# cd /cdrom/packages - идём в папку с пакетами</pre>
<p><a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_014.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_014.png" alt="progs_014" title="progs_014" width="720" height="400" class="alignnone size-full wp-image-1087" /></a></p>
<p>Узнаёте? Точно такая структура как и у портов. Неудивительно, так как пакеты &mdash; это скомпилированные порты со стандартными настройками. Смотрим где именно находится vim командой <strong>grep</strong>:<br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_015.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_015.png" alt="progs_015" title="progs_015" width="720" height="400" class="alignnone size-full wp-image-1088" /></a></p>
<p>Переходим туда и устанавливаем с помощью команды <strong>pkg_add</strong>:<br />
<a href="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_016.png"><img src="http://buzochok.org.ua/wp-content/uploads/2009/12/progs_016.png" alt="progs_016" title="progs_016" width="720" height="400" class="alignnone size-full wp-image-1089" /></a></p>
<p>Если хотим удалить программу, установленную с пакета, для этого есть команда <strong>pkg_delete</strong>. Указываем в качестве аргумента полное название программы, вместе с номером её версии:</p>
<pre class="brush: bash;"># pkg_delete vim-lite-7.2.239 (у меня такая версия)</pre>
<p>Также можно устанавливать пакеты с интернета. Для этого добавляем ключ -r:</p>
<pre class="brush: bash;"># pkg_add -r vim-lite</pre>
<p>Вот и всё. Остальное &mdash; детали, которые можно обсудить в комментариях и таким образом дополнить статью. В следующий раз мы будем собирать с портов и настраивать MySQL, который очень важен для многих серьёзных программ. До встречи!</p>
]]></content:encoded>
			<wfw:commentRss>http://buzochok.org.ua/freebsd-porty-i-pakety/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
