|
|
CVSup - обновление портов | Завелось! |
|
сток итальянской одежды, интернет магазин стока одежды, продажа обуви
|
Обновление ПО во FreeBSD

Обсудить тему на форуме
Как известно, программное обеспечение во FreeBSD можно установить двумя путями. Первый: скачав необходимый пакет с одного из FTP серверов (зеркал) FreeBSD и установить с помощью команды pkg_add. Другой способ: самостоятельно скомпилировав нужную программу, скачав ее исходные коды с того же FTP сервера (зеркала). Каждый способ имеет свои достоинства и недостатки. В первом случае мы выигрываем во времени и экономим процессорное время своего компьютера, во втором случае, компилируя программное обеспечение (пакет) из портов мы получаем самую последнюю версию программы.
Однако, любое уже установленое программное обеспечение когда-нибудь понадобится обновлять (зачем обновлять ПО, думаю, пояснять не следует). И для этого в коллекции портов есть замечательный набор утилит под общим названием portupgrade.
Ищем:
# cd /usr/ports/ # make search name="portupgrade" Port: portupgrade-2.3.1,2 Path: /usr/ports/ports-mgmt/portupgrade Info: FreeBSD ports/packages administration and management tool suite Maint: sem@FreeBSD.org B-deps: ruby-1.8.6_2,1 R-deps: db41-4.1.25_4 perl-5.8.8 ruby-1.8.6_2,1 ruby18-bdb-0.6.2 WWW: http://wiki.freebsd.org/portupgrade Port: portupgrade-devel-2.3.1 Path: /usr/ports/ports-mgmt/portupgrade-devel Info: FreeBSD ports/packages administration and management tool suite (devel version) Maint: sem@FreeBSD.org B-deps: ruby-1.8.6_2,1 R-deps: db41-4.1.25_4 perl-5.8.8 ruby-1.8.6_2,1 ruby18-bdb-0.6.2 WWW: http://wiki.freebsd.org/portupgrade Port: sysutils/portupgrade Moved: ports-mgmt/portupgrade Date: 2007-02-05 Reason: Moved to a new category Port: sysutils/portupgrade-devel Moved: ports-mgmt/portupgrade-devel Date: 2007-02-05 Reason: Moved to a new category
Видим, что в портах есть то, что нам надо, к тому же в двух исполнениях. Первое: версия для "повседневного использования", второе: версия, которая находится в стадии разработки. Я пробовал и ту и другую. Разницы не заметил. Но ставить будем portupgrade-2.3.1,2
# cd /usr/ports/ports-mgmt/portupgrade # make install clean
Вылезет синее диалоговое окно с вопросом о том, какой тип базы данных использовать.

Можно ничего не менять и нажимать OK. В процессе установки "portupgrade-2.3.1,2" также установит в системе пакеты "db41-4.1.25_4", "ruby-1.8.6_2,1", "ruby18-bdb-0.6.2", и, если у Вас еще не установлен Perl, то и perl-5.8.8 После установки пакета мы получаем целый арсенал для аудита и обновления программного обеспечения на Вашем роутере. Из пакета portupgrade я использую следущие программы:
- portupgrade - непосредственно обновляет коллекцию портов.
- portinstall - прекрасно может заменить установку портов посредством make install clean
- portcvsweb - дает прямую возможность просмотреть историю изменений в портах через CVSweb
- portversion - отлично заменяет стандартную FreeBSD команду pkg_version(1), которая обычно дает посмотреть какие программы в системе требуют обновлений, а также взаимодействует с portupgrade(1), давая тем самым возможность оперативно производить обновления. При этом, portversion работает гораздо быстрее, чем pkg_version(1).
- portsclean - очень полезная утилитка. Позволяет автоматически и быстро очищать каталоги /usr/ports/*/*/work (workdirs), удалять неактуальные версии пакетов с исходными кодами (distfiles), неактуальные библиотеки (libs) и пакеты (packages).
- portsdb - создает двоичную базу данных портов из INDEX’ного файла.
- pkg_deinstall - заменяет pkg_delete(1) и добавляет новые возможности.
- pkg_fetch - загружает пакеты с FTP серверов.
- pkg_which - проверяет, к какому пакету относится тот или иной файл в системе.
- pkgdb - управляет и проверяет базу пакетов.
А теперь рассмотрим каждую утилиту и приемы работы с ней по отдельности.
portupgrade
Полный путь к исполняемому файлу:/usr/local/sbin/portupgrade
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- portupgrade –all –noexecute - для того чтобы увидеть, какие пакеты требуют обновления.
- portupgrade –all - для того, чтобы обновить все пакеты, которые требуют обновления.
- portupgrade <имя пакета> - для того, чтобы обновить какой-то конкретный пакет.
- portupgrade –force <имя пакета> - для того, чтобы принудительно обновить пакет, независимо от того, поменялась ли актуальная версия данного ПО или нет. Помогает, если нужно просто переустановить (пересобрать) какой-нибудь пакет.
portinstall
Полный путь к исполняемому файлу: /usr/local/sbin/portinstall
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- portinstall xorg - установить порт с именем "xorg". Версию указывать не нужно. Программа установит последнюю версию из портов.
- portinstall –use-packages xorg - тоже самое что и в первом примере, но только при установке "xorg" будет запрошен готовый пакет данного ПО, и если последней версии, которая описана в портах, в виде пакета не окажется, программа начнет собирать данный пакет из исходников.
- portinstall –use-packages-only xorg - тоже самое что и в первом примере, но только при установке "xorg" будет запрошен готовый пакет данного ПО, и если последней версии, которая описана в портах, в виде пакета не окажется, программа выдаст сообщение об ошибке и пакет установлен не будет.
portcvsweb
Полный путь к исполняемому файлу: /usr/local/sbin/portcvsweb
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- Наберите в консоли portcvsweb -F и результат увидите сами.
portversion
Полный путь к исполняемому файлу: /usr/local/sbin/portversion
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- portversion -v - выведет на экран список всех установленных в системе пакетов, их версии, а также актуальность версий.
portsclean
Полный путь к исполняемому файлу: /usr/local/sbin/portsclean
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- portsclean -vCDLP - удалит work каталоги в коллекции портов, удалит неактуальные дистфайлы, удалит неактуальные библиотеки, а также неактуальные версии пакаджей в /usr/ports/packages/All
Небольшое замечание касательно portsclean -L Дело в том, что в выводе команды можно увидеть "ругань" на повторяющиеся библиотеки в каталогах /usr/local/lib/ и /usr/X11R6/lib/. Я не знаю, почему portsclean не в курсе того, что /usr/X11R6 есть символическая ссылка на /usr/local потому просто игнорирую эти сообщения.
portsdb
Полный путь к исполняемому файлу: /usr/local/sbin/portsdb
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- portsdb -U - обновление INDEX файла коллекции портов.
pkg_deinstall
Полный путь к исполняемому файлу: /usr/local/sbin/pkg_deinstall
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- pkg_deinstall mc-4.6.1_6 - удалит пакет mc-4.6.1_6 из системы.
pkg_fetch
Полный путь к исполняемому файлу: /usr/local/sbin/pkg_fetch
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- pkg_fetch firefox - загрузит с FTP сервера пакет firefox (последней версии) и сохранит его под именем firefox-X.X.X.X (номер версии) в каталог /usr/ports/packages/All
pkg_which
Полный путь к исполняемому файлу: /usr/local/sbin/pkg_which
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- pkg_which mc - покажет версию пакета Midnight Commander, если он установлен в системе.
pkgdb
Полный путь к исполняемому файлу: /usr/local/sbin/pkgdb
Использование:
Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].
Практические примеры использования этой утилиты:
- pkgdb -F - проверить и внести исправления в базу пакетов, если это требуется.
Ключевые слова
cvsup | FreeBSD | pkgdb | pkg_add | pkg_delete | portinstall | portsclean | portupgrade | update | обновление | программное обеспечение



Комментарии (2) к публикации “Обновление ПО во FreeBSD”