FreeBSD

FreeBSD: Обновление бинарников и портов

После установки системы первым делом рекомендуется выполнить: обновление бинарников и портов.

Бинарное обновление

Выполняем командой freebsd-update

Основные команды:

  • fetch — получает обновления для текущей архитектуры и конфиграции
  • cron — случайно, с промежутком от 1 до 3600 секунды выполняет fetch для получения обновлений. Если обновления имеются, то шлется письмо, обычно на имя root.
  • upgrade — получает файлы, необходимые для обновления на новый релиз. Прежде чем использовать, ознакомьтесь с анонсами и правилами обновления для нового релиза, если требуется выполнение дополнительных действий.
  • install — устанавливает полученные обновления.
  • rollback — удаляет установленные обновления.

Для текущих обновлений выполняется:

# freebsd-update fetch

Результат будет таким:

# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 9.1-RELEASE from update4.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

No updates needed to update system to 9.1-RELEASE-p2.

Если есть обновления выполняем:

# freebsd-update install

Если патчи безопасности относились к ядру (ядро или модули), по завершению работы freebsd-update систему необходимо будет перезагрузить.

Утилита freebsd-update в состоянии обновлять только GENERIC-ядро. В том случае, если Вы используете ядро собственной сборки, Вам потребуется его перекомпилировать после каждой отработки freebsd-update, в которой затронуты изменения относящиеся к ядру.

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

Обновить дерево портов FreeBSD можно штатной утилитой – Portsnap, она имеет несколько служебных команд для выполнения различных действий:

  • Команда fetch — Скачивает снимок ( snapshot ), основного дерева портов с указанного в конфигурации сервера. Используется только для интерактивной работы, не через cron
  • Команда cron — Используется для запуска из планировщика заданий cron.
  • Команда extract — Разворачивает дерево портов, данная команда полностью удаляет существующее дерево портов, включая все внесенные в него изменения, как правило выполняется в первый раз и в случае, если нужно получить, чистое дерево портов или при использовании с опцией path( cм. ниже )
  • Команда update — Служит для, непосредственно, обновления, основного дерева портов.
  • path — Это дополнительная опция, используется с командой extract, для обновления конкретного порта, или нескольких портов.

Если это первый запуск portnap, делаем:

# portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 6 mirrors found.
Fetching snapshot tag from ec2-eu-west-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Tue Apr 9 23:00:28 EEST 2013 to Wed Apr 24 19:34:54 EEST 2013.
Fetching 3 metadata patches.. done.
Applying metadata patches... done.
Fetching 3 metadata files... done.
Fetching 1749 patches.....10....20....30....40....50....60....70....80....90....100....110....120....130....140....150....160....170....180....190....200....210....220....230....240....250....260....270....280....290....300....310....320....330....340....350....360....370....380....390....400....410....420....430....440....450....460....470....480....490....500....510....520....530....540....550....560....570....580....590....600....610....620....630....640....650....660....670....680....690....700....710....720....730....740....750....760....770....780....790....800....810....820....830....840....850....860....870....880....890....900....910....920....930....940....950....960....970....980....990....1000....1010....1020....1030....1040....1050....1060....1070....1080....1090....1100....1110....1120....1130....1140....1150....1160....1170....1180....1190....1200....1210....1220....1230....1240....1250....1260....1270....1280....1290....1300....1310....1320....1330....1340....1350....1360....1370....1380....1390....1400....1410....1420....1430....1440....1450....1460....1470....1480....1490....1500....1510....1520....1530....1540....1550....1560....1570....1580....1590....1600....1610....1620....1630....1640....1650....1660....1670....1680....1690....1700....1710....1720....1730....1740.... done.
Applying patches... done.
Fetching 28 new ports or files... done.

Теперь можно распаковать дерево:

# portsnap extract

Данная команда разворачивает все дерево целиком, поэтому время выполнения не зависит от того, как давно вы обновлялись.

Теперь обновляем:

# portsnap update

Вот и все, имеем свежее дерево портов.

Оставить комментарий