Оновлення 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 і перевіряємо що вийшло:
При необхідності видаляємо старі бібліотеки: