FreeBSD - как работает система портов

  • user warning: Duplicate entry '30188860' for key 'PRIMARY' query: INSERT INTO accesslog (title, path, url, hostname, uid, sid, timer, timestamp) values('MySQL - увеличение количества одновременных подключений', 'node/371', 'http://muff.kiev.ua/content/mysql-uvelichenie-kolichestva-odnovremennykh-podklyuchenii', '216.73.216.62', 0, 's4jfd1lu0526kbsmh7lt81ul45', 132, 1768109672) in /usr/local/www/muff.kiev.ua/modules/statistics/statistics.module on line 63.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:30ee97ea616f9d63ca1ad8c70661a026' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><img alt=\"FreeBSD\" src=\"http://muff.kiev.ua/files/FreeBSD.jpg\" style=\"height:150px; width:150px\" /></p>\n<p class=\"rtejustify\">Используя <strong>FreeBSD</strong>, софт я устанавливаю именно из системы портов. Дерево портов расположено в каталоге&nbsp;<strong>/usr/ports</strong><br />\nВ каталоге портов, кроме самого дерева портов, находятся следующие файлы:</p>\n<ul>\n<li class=\"rtejustify\"><strong>CHANGES</strong>&nbsp;- перечислены изменения, произведенные в инфраструктуре &quot;портов&quot; <strong>FreeBSD</strong></li>\n<li class=\"rtejustify\"><strong>COPYRIGHT</strong>&nbsp;- содержит информацию о лицензировании для коллекции &quot;портов&quot; в целом</li>\n<li class=\"rtejustify\"><strong>GIDs</strong>&nbsp;- содержит перечень всех числовых групповых идентификаторов (<strong>GID</strong>), используемых программным обеспечением в коллекции &quot;портов&quot; (чтобы избежать путаницы и порты не использовали одну и туже учетную запись для разных целей)</li>\n<li class=\"rtejustify\"><strong>KNOBS</strong>&nbsp;- содержит перечень всех параметров настройки, доступных в коллекции &quot;портов&quot;</li>\n<li class=\"rtejustify\"><strong>LEGAL</strong>&nbsp;- содержит список всех правовых ограничений в программном обеспечении, включенном в коллекцию &quot;портов&quot;</li>\n<li class=\"rtejustify\"><strong>MOVED</strong>&nbsp;- содержит список &quot;портов&quot;, которые были перемещены из одной категории в другую</li>\n<li class=\"rtejustify\"><strong>Makefile</strong>&nbsp;- содержит высокоуровневые инструкции для всей коллекции &quot;портов&quot; в целом</li>\n<li class=\"rtejustify\">каталог <strong>Mk</strong>&nbsp;- содержит подробные низкоуровневые инструкции для всей коллекции &quot;портов&quot; в целом</li>\n<li class=\"rtejustify\"><strong>README</strong>&nbsp;- содержит описание верхнего уровня организации коллекции &quot;портов&quot;</li>\n<li class=\"rtejustify\">каталог <strong>Templates</strong> - содержит заготовки файлов, используемые другими разделами коллекции портов</li>\n<li class=\"rtejustify\">каталог <strong>Tools</strong> - содержит программы, сценарии и другие средства автоматизации, которые в основном используются разработчиками &quot;портов&quot;</li>\n<li class=\"rtejustify\"><strong>UIDs</strong>&nbsp;- содержит перечень всех числовых идентификаторов пользователей (<strong>UID</strong>), используемых программным обеспечением в&nbsp;коллекции &quot;портов&quot;</li>\n<li class=\"rtejustify\"><strong>UPDATING</strong>&nbsp;- содержит примечания, используемые при обновлении программного обеспечения</li>\n<li class=\"rtejustify\">каталог <strong>distfiles</strong> - содержит исходный код программного обеспечения, устанавливаемого из &quot;портов&quot;</li>\n<li class=\"rtejustify\"><strong>INDEX-<span style=\"color:#FF0000\">x</span></strong> - содержит список всех &quot;портов&quot; в алфавитном порядке</li>\n</ul>\n<p class=\"rtejustify\">Для загрузки, а также поддержания дерева портов в актуальном состоянии используется утилита <strong><a href=\"http://muff.kiev.ua/content/portsnap-obnovlenie-iskhodnykh-tekstov-portov\">portsnap</a></strong>.</p>\n<p class=\"rtejustify\">&nbsp;</p>\n<p class=\"rtejustify\">Поиск определенного порта можно выполнить несколькими способами.</p>\n<p class=\"rtejustify\">Если полностью известно имя порта, можно воспользоваться коммандой&nbsp;<strong>whereis</strong>:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>#&nbsp;<strong>whereis <span style=\"color:#FF0000\">apache24</span></strong><br />\n apache24: /usr/ports/www/apache24</td>\n</tr>\n</tbody>\n</table>\n<p>Более расширенный поиск по портам можно выполнить, находясь в каталоге&nbsp;<strong>/usr/ports</strong>:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>\n<p>#&nbsp;<strong>cd /usr/ports</strong></p>\n<p># <strong>make search name=<span style=\"color:rgb(255, 0, 0)\">apache24</span> </strong></p>\n<p># <strong>make search key=<span style=\"color:rgb(255, 0, 0)\">apache24</span></strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Отличие между этими коммандами&nbsp;в том, что <strong>name</strong> ищет вхождение только в названии порта, а <strong>key</strong>&nbsp;- в именах портов, комментариях, описаниях и зависимостях.</p>\n<p class=\"rtejustify\">Можно собрать в один html-файл список всех установленных портов с зависимостями и т.д., ссылки на справочные материалы, etc. Для этого нужно выполнить в каталоге <strong>/usr/ports</strong>&nbsp;такую комманду:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>#&nbsp;<strong>make readmes</strong></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Чтобы установить определенный порт, мы выполняем в его каталоге комманду&nbsp;<strong>make install clean</strong>. Однако не все так просто. <strong>FreeBSD</strong> после этой комманды выполняет последовательно следующие этапы:</p>\n<ul>\n<li class=\"rtejustify\"><strong>make config</strong> - задание или изменение текущих настроек</li>\n<li class=\"rtejustify\"><strong>make fetch</strong> - после настройки &quot;порта&quot; система отыскивает предопределенный список сайтов Интернета, откуда можно получить исходный код и выполняет его загрузку</li>\n<li class=\"rtejustify\"><strong>make checksum</strong>&nbsp;- подтверждает, что цифровая подпись файла <strong>distfile</strong> соответствует подписи из файла <strong>distinfo &quot;</strong>порта&quot;</li>\n<li class=\"rtejustify\"><strong>make extract</strong> - разворачивает и извлекает скачанный код</li>\n<li class=\"rtejustify\"><strong>make patch</strong> - накладывает на исходный код в рабочем каталоге все патчи, имеющиеся в составе &quot;порта&quot;</li>\n<li class=\"rtejustify\"><strong>make depends</strong>&nbsp;- проверяется зависимость &quot;порта&quot; от любых других программ</li>\n<li class=\"rtejustify\"><strong>make configure</strong>&nbsp;- проверяет необходимость запуска сценария <strong>configure</strong>. Это отдельный этап, отличный от <strong>make config</strong></li>\n<li class=\"rtejustify\"><strong>make build</strong>&nbsp;- происходит компиляция проверенного, извлеченного и исправленного программного кода</li>\n<li class=\"rtejustify\"><strong>make install</strong>&nbsp;- устанавливается программа, а ее наличие регистрируется в <strong>/var/db/pkg</strong></li>\n</ul>\n<p class=\"rtejustify\">Также могут пригодится следующие опции комманды <strong>make</strong>, которые необходимо выполнять находять в каталоге порта:</p>\n<ul>\n<li class=\"rtejustify\"><strong>make showconfig</strong> &mdash; показать текущие опции сборки порта</li>\n<li class=\"rtejustify\"><strong>make rmconfig</strong> &mdash; удалить все текущие настройки для порта</li>\n<li class=\"rtejustify\"><strong>make showconfig-recursive</strong> &mdash; показать настройки для текущего порта и всех зависимостей</li>\n<li class=\"rtejustify\"><strong>make config-recursive</strong> &mdash; задать настройки для текущего порта и всех зависимостей</li>\n<li class=\"rtejustify\"><strong>make rmconfig-recursive</strong> &mdash; удалить настройки для текущего порта и всех зависимостей</li>\n<li class=\"rtejustify\"><strong>make config-conditional</strong> &mdash; пропустить задание опций для портов, у которых уже были заданы требуемые опции</li>\n<li class=\"rtejustify\"><strong>make print-index</strong> &mdash; удобный для чтения индекс</li>\n<li class=\"rtejustify\"><strong>make deinstall</strong> - удаление порта</li>\n<li class=\"rtejustify\"><strong>make reinstall</strong> - выполняет повторную установку порта</li>\n<li class=\"rtejustify\"><strong>make clean</strong> - очистка собранного порта</li>\n<li class=\"rtejustify\"><strong>make distclean</strong> - удалит ненужные <strong>distfiles</strong> текущего &quot;порта&quot; вместе со всеми зависимостями.</li>\n</ul>\n<p class=\"rtejustify\">&nbsp;</p>\n', created = 1768109682, expire = 1768196082, headers = '', serialized = 0 WHERE cid = '2:30ee97ea616f9d63ca1ad8c70661a026' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:02271e3d708fb6f337856c8b6a232687' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p><span style=\"background-color:rgb(255, 255, 255)\">&gt;Если полностью известно имя порта, можно воспользоваться коммандой</span></p>\n<p>&nbsp;</p>\n<p><span style=\"background-color:rgb(255, 255, 255)\">cd /usr/ports/*/apache24</span></p>\n<p>&nbsp;</p>\n', created = 1768109682, expire = 1768196082, headers = '', serialized = 0 WHERE cid = '2:02271e3d708fb6f337856c8b6a232687' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/wake_up_ua.png\"><img alt=\"Вставай, Україно!\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/wake_up_ua.png\" style=\"height:200px; width:150px\" /></a></p>\n', created = 1768109682, expire = 1768196082, headers = '', serialized = 0 WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:cc913d232116f0426090404133377d88' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a href=\"http://muff.kiev.ua/rss.xml\"><img alt=\"RSS\" width=\"160\" height=\"60\" src=\"http://muff.kiev.ua/files/muf-rss.png\" /></a></p>\n', created = 1768109682, expire = 1768196082, headers = '', serialized = 0 WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:39649256b636e3d5ded656bc52bd8c01' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
Версия для печатиОтправить другуPDF version

FreeBSD

Используя FreeBSD, софт я устанавливаю именно из системы портов. Дерево портов расположено в каталоге /usr/ports
В каталоге портов, кроме самого дерева портов, находятся следующие файлы:

  • CHANGES - перечислены изменения, произведенные в инфраструктуре "портов" FreeBSD
  • COPYRIGHT - содержит информацию о лицензировании для коллекции "портов" в целом
  • GIDs - содержит перечень всех числовых групповых идентификаторов (GID), используемых программным обеспечением в коллекции "портов" (чтобы избежать путаницы и порты не использовали одну и туже учетную запись для разных целей)
  • KNOBS - содержит перечень всех параметров настройки, доступных в коллекции "портов"
  • LEGAL - содержит список всех правовых ограничений в программном обеспечении, включенном в коллекцию "портов"
  • MOVED - содержит список "портов", которые были перемещены из одной категории в другую
  • Makefile - содержит высокоуровневые инструкции для всей коллекции "портов" в целом
  • каталог Mk - содержит подробные низкоуровневые инструкции для всей коллекции "портов" в целом
  • README - содержит описание верхнего уровня организации коллекции "портов"
  • каталог Templates - содержит заготовки файлов, используемые другими разделами коллекции портов
  • каталог Tools - содержит программы, сценарии и другие средства автоматизации, которые в основном используются разработчиками "портов"
  • UIDs - содержит перечень всех числовых идентификаторов пользователей (UID), используемых программным обеспечением в коллекции "портов"
  • UPDATING - содержит примечания, используемые при обновлении программного обеспечения
  • каталог distfiles - содержит исходный код программного обеспечения, устанавливаемого из "портов"
  • INDEX-x - содержит список всех "портов" в алфавитном порядке

Для загрузки, а также поддержания дерева портов в актуальном состоянии используется утилита portsnap.

 

Поиск определенного порта можно выполнить несколькими способами.

Если полностью известно имя порта, можно воспользоваться коммандой whereis:

whereis apache24
apache24: /usr/ports/www/apache24

Более расширенный поиск по портам можно выполнить, находясь в каталоге /usr/ports:

cd /usr/ports

# make search name=apache24

# make search key=apache24

Отличие между этими коммандами в том, что name ищет вхождение только в названии порта, а key - в именах портов, комментариях, описаниях и зависимостях.

Можно собрать в один html-файл список всех установленных портов с зависимостями и т.д., ссылки на справочные материалы, etc. Для этого нужно выполнить в каталоге /usr/ports такую комманду:

make readmes

Чтобы установить определенный порт, мы выполняем в его каталоге комманду make install clean. Однако не все так просто. FreeBSD после этой комманды выполняет последовательно следующие этапы:

  • make config - задание или изменение текущих настроек
  • make fetch - после настройки "порта" система отыскивает предопределенный список сайтов Интернета, откуда можно получить исходный код и выполняет его загрузку
  • make checksum - подтверждает, что цифровая подпись файла distfile соответствует подписи из файла distinfo "порта"
  • make extract - разворачивает и извлекает скачанный код
  • make patch - накладывает на исходный код в рабочем каталоге все патчи, имеющиеся в составе "порта"
  • make depends - проверяется зависимость "порта" от любых других программ
  • make configure - проверяет необходимость запуска сценария configure. Это отдельный этап, отличный от make config
  • make build - происходит компиляция проверенного, извлеченного и исправленного программного кода
  • make install - устанавливается программа, а ее наличие регистрируется в /var/db/pkg

Также могут пригодится следующие опции комманды make, которые необходимо выполнять находять в каталоге порта:

  • make showconfig — показать текущие опции сборки порта
  • make rmconfig — удалить все текущие настройки для порта
  • make showconfig-recursive — показать настройки для текущего порта и всех зависимостей
  • make config-recursive — задать настройки для текущего порта и всех зависимостей
  • make rmconfig-recursive — удалить настройки для текущего порта и всех зависимостей
  • make config-conditional — пропустить задание опций для портов, у которых уже были заданы требуемые опции
  • make print-index — удобный для чтения индекс
  • make deinstall - удаление порта
  • make reinstall - выполняет повторную установку порта
  • make clean - очистка собранного порта
  • make distclean - удалит ненужные distfiles текущего "порта" вместе со всеми зависимостями.

 

Ваша оценка: Нет Средняя: 4.3 (6 голосов)

Re: FreeBSD - как работает система портов

>Если полностью известно имя порта, можно воспользоваться коммандой

 

cd /usr/ports/*/apache24

 

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература

Надпись на воротах: "ОСТОРОЖНО - ЗЛАЯ @".