Оновлення FreeBSD - DesktopBSD

Оновлення FreeBSD

Оновлення вихідних текстів через svn (subversion)

Svn не входить у стандартне постачання операційної системи FreeBSD, її потрібно встановити додатково. У портах FreeBSD, окрім звичайної subversion, існує ще й спеціалізований варіант subversion-freebsd, для оновлення вихідних джерел нас цікавить саме він.

Для синхронізації через svn можна використовувати сервер HTTP або SVN:

Після завершення знову глянемо версію:

Все як слід. Надалі, для синхронізації, достатньо зробити:

Можна приступати до збирання.

Оновлення світу та ядра

Чистимо про всяк випадок директорію /usr/obj:

або як рекомендує хендбук:

Йдемо дерево вихідних текстів:

Світ у контексті операційної системи FreeBSD це все, що не ядро. Ключ-j команди make дозволяє запустити процес у кілька потоків, ключ-s зменшує кількість інформації, що виводиться на екран у процесі складання. Команда часу просто вважає час. витрачене виконання наступної за нею команди, чисто для інтересу). Запускаємо складання світу та чекаємо.

Якщо все пройшло успішно, отримуємо:

Все це робилося на віртуалці - зайняло чвс. Тепер збираємо ядро. У параметрі KERNCONF вказується назва нашого ядра, якщо така є, якщо ця опція не встановлена, буде зібрано ядро ​​GENERIC, яке використовується системою FreeBSD за умовчанням. У цьому випадку я збираю своє ядро:

На ядро ​​звичайно часу пішло набагато менше ніж на світ:

Встановлюємо щойно скомпільоване ядро:

При встановленні нового ядра відбувається наступне: нове ядро ​​копіюється до папки /boot/kernel, поточне переміщається в /boot/kernel.old. У випадку, якщо з новимядром система не завелася, можна завантажити попередню версію з командного рядка загручика.

Тепер потрібно зробити перезавантаження в режим одного користувача. Робимо або reboot, а потім на екрані завантажувача вибираємо Single user mode, цифра 4 у вікні завантажувача, або використовуємо команду shutdown now, що переводить машину в режим single user.

У процесі завантаження буде виданий запит, ввести повний шлях до системної оболонки, тут можна просто натиснути Enter, погодившись із запропонованим /bin/sh. Якщо використовували shutdown now, розділи будуть змонтовані як потрібно, при використанні reboot, будуть змонтовані 2 розділи, devfs і кореневий розділ, при цьому кореневий буде змонтований в режимі read only, тобто тільки читання.

Якщо робили reboot, чинимо так:

тепер виконуємо команду

Тут потрібно бути уважним дивитися, що mergemaster пропонує зробити з тим чи іншим конфігом, і вибирати варіант дій, що влаштовує вас.

  • d - залишити старий варіант файлу, видаливши новий;
  • i - встановити новий, вилучивши старий;
  • m - строкове порівняння старого та нового файлу;
  • v – порівняти файли ще раз.

При виборі рядкового порівняння. на екран будуть виведені обидві версії файлу, ліворуч - вміст старого файлу, праворуч - нового. Можливі варіанти дій:

  • l - використовувати варіант зліва, тобто старий;
  • r - використовувати варіант праворуч, тобто новий;

Майте на увазі, тупа установка свіжих версій конфігів, не завжди є тим, що вам потрібно, оскільки в процесі роботи ви могли налаштовувати якісь конфіги під свої потреби і вибравши інсталяцію нової версії файлу, всі зроблені зміни в старому файлі будуть втрачені.

Післязавершення роботи над конфігами, встановлюємо світ:

Процес не набагато довше встановлення ядра, після закінчення робимо reboot і перевіряємо що вийшло:

При необхідності видаляємо старі бібліотеки: