Статья ориентированна, в основном, на новичков.
Предыдущий пост тут
Итак. Имеем свежеустановленную ось. Предпочитаю допиливать её по ssh.
~ su
password: <password>
Заходим под рутом.
Перво-наперво обновляем исходные коды.
# svnlite co svn://svn.freebsd.org/base/stable/10 /usr/src
Далее обновляю систему
# freebsd-update fetch
# freebsd-update install
Далее получим коллекцию портов. Да, я знаю о pkgng. Просто я люблю контроллировать процесс установки от и до.
# portsnap fetch
# portsnap extract
Cтавим portupgrade. Эта утилитка поможет обновлять пакеты
По пути установится новый pkg. Ну и ляд с ним...
Устанавливаю всё по умолчанию. Пересобрать всегда успею.
# cd /usr/ports/ports-mgmt/portupgrade
# make config-recursive
# make install clean
# rehash
Ставлю всё по умолчанию.
Обновляем пакеты:
# portupgrade -aR
А теперь напишем скрипт обновления:
# cat << DELIMITER > /usr/local/bin/update
#!/bin/sh
echo "***************************"
echo "Updating sources"
echo "***************************"
svnlite up /usr/src
echo "***************************"
echo "Updating freebsd"
echo "***************************"
freebsd-update fetch
freebsd-update install
echo "***************************"
echo "Updating port collection"
echo "***************************"
portsnap fetch
portsnap update
echo "***************************"
echo "Updating packages"
echo "***************************"
portupgrade -aR
echo "***************************"
echo "Done."
echo "***************************"
DELIMITER
# chmod +x /usr/local/bin/update
Всё. Теперь можно обновляться через него:
# update
После я обычно ставлю редактор nano. Да, я знаю про ee и vi. Ну не нравятся они мне.
# cd /usr/ports/editors/nano
# make config-recursive
# make install clean
# rehash
Всё по умолчанию...
Сменим редактор у рута =)
# nano /root/.cshrc
setenv EDITOR vi
меняем на
setenv EDITOR nano
Далее установка sudo. Очень полезная штука. Позволяет выполнять команды от имени рута.
# cd /usr/ports/security/sudo/
# make config-recursive
# make install clean
# rehash
Можно перезагружаться.
# reboot
* Внимание! В версии 10.1 система при перезагрузке подвисает. Нужно вручную кнопкой помочь железяке.
Снова заходим под рутом. Редактируем настройки sudo:
# su
# visudo
Меняем
root ALL=(ALL) ALL
...
#%wheel ALL=(ALL) ALL
на
#root ALL=(ALL) ALL
...
%wheel ALL=(ALL) ALL
То есть разрешаем запуск sudo только тем, кто в группе wheel.
Также добавим строчку
Defaults timestamp_timeout=30
То есть sudo не будет переспрашивать пароль в течение 30 минут бездействия.
Вроде бы всё...
P.S. Как обновить систему? Очень просто. На примере перехода с 10.1 на 10.2
# freebsd-update fetch
# freebsd-upgrade 10.2-RELEASE
Обновлятор спросит, в своём ли ты уме? Отвечаем, что готовы нести ответственность за обновление.
Пойдёт очень долгий процесс обновления.
После доолгого ожидания вам покажут список того, что будет удалено и того, что будет установлено (закрыть окна можно кнопкой "q"). После этого сразу же:
# freebsd-update install
# reboot
После перезагрузки ещё раз:
# freebsd-update install
И всё. Вуа-ля.
Убедиться можно просто:
# freebsd-version
2015-11-05: Переписал обновление исходных кодов на svnlite. Всё-таки нежелание тащить лишнее превозмогло нативную поддержку =). Перенёс скрипт обновления в папку /usr/local/bin и убрал расширение. Теперь запуск обновления можно выполнить откуда угодно.
Также положу сюда мой скрипт по установке ПО из портов:
#!/bin/sh
APPPATH=$1;
if [ "$APPPATH" != "" ]; then
cd $APPPATH;
fi;
make config;
make config-recursive;
make install clean;
Нужно либо быть в папке нужного порта, либо указать параметром путь до папки.