Видео смотреть бесплатно

Смотреть 365 видео

Официальный сайт fresher 24/7/365

Смотреть видео бесплатно

25.10.09 12:59 ArtemZ

НовичкуFreeBSD: некоторые советы по работе с портами

Просматривая тэги на welinux я обнаружил к своей досаде, что тэг Windows по размеру почти догоняет Linux, а FreeBSD нет совсем. А ведь фря гораздо ближе к линуксу как по лицензии, так и прородителем. Давайте попробуем исправить эту ситуацию. Сегодня я расскажу о простейших способах управления портами (коллекцией программ) в FreeBSD.



Прежде всего, необходимо узнать, есть ли она у вас:
ls /usr | grep ports

Если вывело 'ports', значит коллекция на месте. Если Фря у вас стоит очень давно, и вы уверены, что порты устарели, можно заморочиться с cvsup, а можно просто снести старые порты
rm -rf /usr/ports

После чего (а также после того случая, если у вас вдруг не обнаружилось портов) качаем новые
1
2
cd /usr
fetch ftp://ftp.ru.freebsd.org/pub/FreeBSD/ports/ports-current/ports.tar.gz

и разархивируем:
tar xzf ports.tar.gz

Переходим в корень коллекции и скачиваем индекс, чтобы можно было искать среди портов:
1
2
cd /usr/ports
make fetchindex


Теперь ваша коллекция портов готова для работы и мы можем описать самые основные действия с ней:
1. Поиск по ключевому слову в портах:
1
2
cd /usr/ports
make search name='keyword or phrase'

Если вы ищите в коллекции по какому-то одному слову, то ставить кавычки не обязательно, а если по фразе - тогд обязательно нуно заключить её в кавычки, иначе будет ошибка.
Можно уточнить поиск с помощью grep:
make search name=something | grep anything

Или убрать что-либо из результатов поиска:
make search name=anything | grep -v badthing

Или если весь вывод результатов поиска не помещается в вашем буфере коммандной строки, можно удобно пролистать его с помощью less (или more):
make search name=anything | less

Вывод содержит следующие строки о найденных портах:
Port: название и версия программы
Path: путь до самого порта
Info: краткое описание порта
Maint: e-mail мэйнтейнера порта
WWW: официальный сайт программы
R-deps (и B-deps): зависимости от других портов

2. Установка программы из портов:
Рассмотрим на примере установки удобного консольного двухпанельного файлового менеджера - mc
1
2
3
cd /usr/ports/misc/mc
make
make install clean

После make в первый раз вам будет предложено указать параметры, с которыми программа будет собрана
Если вы захотите потом пересобрать с другими параметрами, наберите
make config
для переконфигурирования порта.

3. Удаление программы:
Делается очень просто. Нужно выполнить
make deinstall

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

что удалит все настройки и файлы, скачанные при сборке порта.

На этом у меня пока всё, но я надеюсь продолжить серию статей о работе с FreeBSD/


Теги:

cyrus 25.10.09 13:23 # +0
Отличный пост. Спасибо.
Ещё было бы неплохо поставить кат, о котором можно прочитать в "справке" ..

И вопрос - почему перед
make ; make install clean
не было configure?)
ArtemZ 25.10.09 13:41 # +0
Так как опции для сборки порта в freebsd либо определены заранее либо настраиваются в псевдографическом конфигураторе когда вы делаете make. можно просто сделать make config чтобы определить их
cppmm 25.10.09 17:26 # +0
Кстати, не обязательно делать make ; make install clean. Достаточно просто make install clean. И clean тоже не всегда нужен(например, ели надо заморозить порт, он будет мешать).
LeniH 25.10.09 13:46 # +-1
полезно
necrotigr 25.10.09 14:05 # +0
Я бы ещё добавил ссылку на хэндбук
Если вывело 'ports', значит коллекция на месте. Если Фря у вас стоит очень давно, и вы уверены, что порты устарели, можно заморочиться с cvsup, а можно просто снести старые порты

ИМХО, в этом случае лучше заморочиться с portsnap. Установка свежей коллекции портов:
portsnap fetch update extract
просто обновление:
portsnap fetch update
cppmm 25.10.09 17:24 # +0
Способов обновления портов много. Я обычно делаю это через cvsup.
snowemo 25.10.09 14:29 # +0
Я когда разбирался на работе с хостинг-сервером, не понимал, почему у меня make config не сохраняет состояние порта. То есть пытаюсь компилировать apache с mod_suexec, а оно мало того, что не компилируется, как надо, а еще и конфиг не сохраняет. Выяснилось, что после расстановки галочек, нужно нажать tab, и только потом сохранять конфиг. :)

Кстати, а про portmaster будет статья? Очень интересно.
cppmm 25.10.09 17:23 # +0
Если уж говорить о подобных вещах, то стоит не только портмастер упоминать, а всю ту кучу софта, которая позволяет следить за портами(portupgrade и т.д.). Только вот я уже как-то говорил, что на ресурсе, ориентированном на Linux, подобным вещам не место. FreeBSD и Linux очень разные вещи. Если мы о новичках думаем, то подобные статьи помешают.
lockie 25.10.09 16:26 # +0
Отлично, спасибо. Давно хотел разобраться с системой портов :)
Пара вопросов.
  1. fetch - это типа качалка? wget не котируется? :)
  2. ports.tar.gz - это архив со спецификациями сборки, правильно? Можно пару слов насчёт того, как он организован?
  3. Есть какой-нибудь глобальный файл конфигурации, в котором я, например, могу поковырять глобальные CFLAGS (-O6 поставить, например ^_^)?
  4. И да, совсем не в тему вопрос. Как поставить заранее скомпиленный пакет?
snowemo 25.10.09 16:45 # +0
Эээм.. Можно попродробней про флаг оптимизации -O6? O_o
lockie 27.10.09 18:58 # +0
Это такая шутка гентоводов. -O6 - то же самое, что и -O3.
И да, всем спасибо за ответы ^_^
cppmm 25.10.09 17:20 # +1
1. Это параметр Makefile.
2. Это дерево портов. Там находятся файлы, определяющие, где можно стянуть сырцы, где патчи и, наконец, указывающие на правила сборки(то, что обычно делается с помощью ./configure).
3. Нет. Это не Gentoo.
4. pkg_info, pkg_add, pkg_del вам в руки, но, имхо, во фре это не оно.
necrotigr 26.10.09 09:32 # +0
3. Есть - /etc/make.conf
cppmm 26.10.09 12:19 # +0
Только отрабатывает он не всегда. Нередко он перекрывается параметрами, указанными в самих портах.
kstep 27.10.09 00:45 # +0
Если про первый fetch в статье — да, качалка. Она стоит во фрюхе по дефолту, а wget надо с портов ставить, потому лучше делать fetch, чтоб наверняка.
kstep 27.10.09 00:47 # +0
3. Можно. Нужно ковырять make-файлы. В частности /etc/make.conf.
Я уже за давностью позабыл и деталей не помню. Ковыряйте маны =)
kstep 27.10.09 00:49 # +0
Не увидел, что про него уже написали =)
Тогда дополню: некоторые параметры можно ставить прямо при сборке порта:
$ cd /usr/port/foo
$ make FOO=BAR
Про них читайте доки по конкретным портам.
cppmm 25.10.09 17:34 # +0
Ну и самое важное, на мой взгляд то, что порты портами, а вот после установки, которая не является сложной, начать использовать софт в фряхе намного сложнее. Ни один демон у вас не запустится, пока его не прописать, весь софт требует отдельной доводки, всякие конфликты и ошибки зачастую приходится решать руками. Особенно, когда надо что-то нестандартное поставить.
acubed 25.10.09 22:53 # +1
Даёшь больше статей о FreeBSD!
kstep 27.10.09 00:50 # +0
Даёшь портал wefreebsd.ru! =)
SMiX 27.10.09 02:59 # +0
У меня для обновления портов всегда используется деружный скрипт
1
2
3
4

portsnap fetch update
portversion -l "<"
 

Синхронизирует дерево портов и выводит порты, требующие обновления.
Остаётся тольно набрать
portupgrade -carR
для полного обновления или
portupgrade -crR port1 port2 port3
для выборочного.
shade 01.11.09 02:12 # +0
ИМХО статья не самая полезная, т.к. все это есть в хэндбуке. а я как-то не представляю пользователя freebsd, который бы в него не заглядывал))

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 76)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 1607 из 128 городов)
            Топ пользователей Топ блогов

            Новенькие: svol, bas, alienrom, victor3d, bjaka_max
            welinux.ru

            Смотреть онлайн бесплатно

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

            Смотреть видео онлайн

            Смотреть HD видео бесплатно

            School смотреть онлайн