Главная Спорт Ликино-Дулёво Локальная сеть Орехово-Зуево Форум Контакты

1/8 Вс  ночь
1/8 Вс  утро
1/8 Вс  день
1/8 Вс  вечер
tutu.ru -
Расписание электричек
(Москва и Московская область)
расписание поездов
и электричек
 
» Локальная сеть » Обновление портов 

Обновление портов

  1. Работая как пользователь root, запустите sysinstall так, как это показано ниже:

    # sysinstall
        
  2. Опуститесь вниз и выберите Configure, нажмите Enter

  3. Опуститесь вниз и выберите Distributions, затем нажмите Enter

  4. Опуститесь вниз к пункту ports, нажмите клавишу Пробел

  5. Поднимитесь вверх к Exit, нажмите Enter

  6. Выберите желаемый носитель для установки: FTP (cvsup.ua.freebsd.org).

  7. Перейдите на пункт меню Exit и нажмите Enter.

  8. Нажмите X для выхода из sysinstall.

############################################

CVSup - это утилита для обновления исходных кодов ядра и самой сиcтемы, дерева портов и документации входящей в состав FreeBSD. C её помощью можно обновиться как до текущей стабильной ветки так и до одного из релизов. Вообще-то, в хандбуке эта тема довольно подробно разобрана, но тем не менее информации по этому вопросу в инете довольно мало. Здесь это изложено ради того, чтобы показать - порты нужно обновлять, и сделать это совсем несложно.
   Всё что тут описано - делалось на системе
FreeBSD 4.11, но отличия от других версий должны быть минимальны, если они будут вообще, во всяком случае в пределах всей 4-й ветки всё делается точно также, а пятую пока не использую - не нравиться она мне...
/usr/home/lissyara/>cd /usr/ports/
            /usr/ports/>make search name='cvsup'
            Generating INDEX - please wait..^C
            /usr/ports/>
            

Встревон. Нету индекса. Можно дать ему сделать его самостоятельно, но даже на 4 пне это занимает пару часов. Поэтому чтобы не мучать животину зазря надо это дело прервать (Ctrl-C) и скачать его:
/usr/ports/>make fetchindex
            INDEX.bz2      100% of  668 kB   19 kBps 00m00s
            /usr/ports/>
            

Что тоже не есть хорошо. Скачается индекс для текущей версии портов... Обычно - прокатывает :) Ищем путь к порту:
/usr/ports/>make search name='cvsup'
            Port:   cvsup-16.1h_2
            Path:   /usr/ports/net/cvsup
            Info:   General network file distribution system optimized
            for CVS (GUI version)
            Maint:  jdp@FreeBSD.org
            B-deps: XFree86-libraries-4.5.0 expat-1.95.8_3 ezm3-1.2
            fontconfig-2.2.3,1 freetype2-2.1.10_1 pkgconfig-0.17.2
            R-deps: XFree86-libraries-4.5.0 expat-1.95.8_3 fontconfig-2.2.3,1
            freetype2-2.1.10_1 pkgconfig-0.17.2
            Port:   cvsup-mirror-1.3_3
            Path:   /usr/ports/net/cvsup-mirror
            Info:   A kit for easily setting up a FreeBSD mirror site
            using CVSup
            Maint:  jdp@FreeBSD.org
            B-deps:
            R-deps: cvsup-without-gui-16.1h_2
            Port:   cvsup-without-gui-16.1h_2
            Path:   /usr/ports/net/cvsup-without-gui
            Info:   General network file distribution system optimized
            for CVS (non-GUI version)
            Maint:  jdp@FreeBSD.org
            B-deps: ezm3-1.2
            R-deps:
            Port:   fastest_cvsup-0.2.9_1
            Path:   /usr/ports/sysutils/fastest_cvsup
            Info:   Finds fastest CVSup server
            Maint:  ports@FreeBSD.org
            B-deps:
            R-deps: p5-PathTools-3.09 p5-Scalar-List-Utils-1.14,1
            p5-Time-HiRes-1.72,1
            /usr/ports/>
            

Я на серваке ГУИ не ставлю, потому выбираю /usr/ports/net/cvsup-without-gui. Если у Вас стоят иксы - значит надо просто cvsup ставить.
/usr/ports/>cd net/cvsup-without-gui
            /usr/ports/net/cvsup-without-gui/>make && make install && make clean
            ===>  Vulnerability check disabled, database not found
            => cvsup-snap-16.1h.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
            => Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CV
            

Также будет вопрос от gettext что инсталлировать, я выбрал оба пункта - и файлы примеров и справку в html формате. Пригодится.
Он (CVSup) за собой тащит достаточно длинный список того что ему необходимо (суммарный объём скачанных файлов составил 28,2 метров) -
/usr/ports/net/cvsup-without-gui/>pkg_info
            expat-1.95.8        XML 1.0 parser written in C
            ezm3-1.2            Easier, more portable Modula-3 distribution 
for building CV gettext-0.14.1 GNU gettext package gmake-3.80_2 GNU version of 'make' utility libiconv-1.9.2_1 A character set conversion library libtool-1.3.5_2 Generic shared library support script (version 1.3) libtool-1.5.10 Generic shared library support script (version 1.5)

После установки копируем файл настроек и редактируем его:
/usr/ports/net/cvsup-without-gui/>cd /usr/share/examples/cvsup/
            /usr/share/examples/cvsup/>ls
            README                  ports-supfile           standard-supfile
            cvs-supfile             refuse                  www-supfile
            doc-supfile             refuse.README
            gnats-supfile           stable-supfile
            /usr/share/examples/cvsup/>cp standard-supfile /usr/local/etc/supfile
            /usr/share/examples/cvsup/>cd /usr/local/etc/
            /usr/local/etc/>ee supfile
            

У меня он получился такой:
#       cvsup -g -L 2 /usr/local/etc/supfile
            #
            # Defaults that apply to all the collections
            #
            # IMPORTANT: Change the next line to use one of the CVSup mirror sites
            # listed at http://www.freebsd.org/doc/handbook/mirrors.html.
            *default host=cvsup2.ru.FreeBSD.org
            *default base=/usr
            *default prefix=/usr
            *default release=cvs tag=RELENG_4_11
            *default delete use-rel-suffix
            # If your network link is a T1 or faster, comment out the following line.
            *default compress
            ## Main Source Tree.
            #
            # The easiest way to get the main source tree is to use the "src-all"
            # mega-collection.  It includes all of the individual "src-*" collections.
            #src-all
            ports-all tag=.
            #doc-all tag=.
            

Строка cvsup -g -L 2 /usr/local/etc/supfile сделана только по одной причине - память у меня жутко дырявая и постоянно в нём смотрю с какими опциями его надо запускать :) Какой выбрать сервер, с которого брать обновления - это ваше дело. Я нахожусь в России, поэтому выбрал cvsup3.ru.FreeBSD.org (вообще-то раньше я постоянно пользовался cvsup2.ru.FreeBSD.org - но последнее время он постоянно занят, поэтому я перешёл на cvsup3.ru.FreeBSD.org). Если Вы на камчатке и инет идёт, например, из японии - имеет смысл выбрать японский сервак. После чего можно запускать:
/usr/ports/>rehash
            /usr/ports/>cvsup -g -L 2 /usr/local/etc/supfile && make fetchindex
            Parsing supfile "/usr/local/etc/supfile"
            Connecting to cvsup2.ru.FreeBSD.org
            Connected to cvsup2.ru.FreeBSD.org
            Server software version: SNAP_16_1f
            Negotiating file attribute support
            Exchanging collection information
            Establishing multiplexed-mode data connection
            ......................................
            

Первый раз на обновление всего дерева портов уходит довольно много трафика, входящего 14.4 - мегабайт, и исходящего 3.8 мег. В дальнейшем его будет гораздо меньше. Также, первое обновление самое долгое. У меня ушло почти 2 часа, и дело не в скорости линии (у меня 20кб/с - за 2 часа на ней можно выкачать 140 мегов), и не в скорости моего компа, тоже не слабый. Как я подозреваю сервак-то один а клиентов много. Он и неуспевает.
Вот, пожалуй и всё. Теперь у Вас свежая версия портов, и можно не волноваться за то, что устанавливаемое ПО давно устарело. Вообще, я завёл себе за правило - перед каждой установкой обновляю порты (разумеется если за один день надо установить 10 приложений, я их не обновляю 10 раз - вполне достаточно одного :)).

P.S. Вообще начиная с 5-ки появилась новая утилита portsnap - но она толи бестолковая какая-то, толи я дурак - но у меня она пытается всё архивное дерево портов затащить - 39 мегов... Нафик оно мне надо, если обновление с помощью cvsup выльется мне в пару мегов? Да и обновлять она может только порты, исходные коды системы не может....

Первый запуск Portsnap

При первом запуске утилите portsnap потребуется загрузить упакованный снэпшот полного дерева портов в каталог /var/db/portsnap/ (/usr/local/portsnap/, если Portsnap был установлен из Коллекции портов). На начало 2006 года размер снэпшота составляет около 41 МБ.

# portsnap fetch

После загрузки снэпшота из него может быть развернуто основное дерево портов. Это необходимо, даже есть каталог /usr/ports/заполнен каким-либо другим способом, например при помощи CVSup, поскольку позволяет установить точку отсчета, от которой portsnap будет определять необходимый объем изменений.

# portsnap extract

Замечание: В конфигурации установки по умолчанию каталог /usr/ports не создан. Если вы используете FreeBSD 6.0-RELEASE, создайте его самостоятельно перед первым запуском утилиты portsnap. В более поздних версиях FreeBSD или в версии из портов Portsnap автоматически создаст его при первом вызове.

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

После того как первоначальный снэпшот дерева портов будет развернут в каталог /usr/ports/, обновление дерева портов будет состоять из двух шагов: загрузки (fetch) обновлений к упакованному снэпшоту и последующего обновления (update) основного дерева. Оба шага могут быть выполнены одним запуском portsnap:

# portsnap fetch update

Замечание: Некоторые из старых версий portsnap не поддерживают такой синтаксис; в этом случае, используйте две последовательные команды:

# portsnap fetch
# portsnap update

При поддержке компании ЕвроДизель (реализация дизтоплива) www.eurodisel.ru
Главная Спорт Ликино-Дулёво Локальная сеть Орехово-Зуево Недвижимость Контакты