После установки системы первым делом рекомендуется выполнить: обновление бинарников и портов.
Бинарное обновление
Выполняем командой 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
Вот и все, имеем свежее дерево портов.