Устанавливаем комплект файлов для обратной совместимости.1. Загружаем localedata-5.4.tbz и compat6x-i386-6.x.xxxxxx.yyyymm.tbz
с ftp://ftp6.ru.freebsd.org/pub/FreeBSD/ports/i386/packages-7....
2. Первый файл распаковываем (через pkg_add имя_пакета)
в /usr/local/share/compat/, второй в /usr/local/lib/compat/
Устанавливаем комплект для обновления.
Загружаем http://people.freebsd.org/~rse/dist/freebsd-adm-1.2.2.tar.gz
1. Распаковываем в /usr/adm:
cd /usr
fetch http://people.freebsd.org/~rse/dist/freebsd-adm-1.2.2.tar.gz
rm -rf adm;
gunzip <freebsd-adm-1.2.2.tar.gz | tar xvf -;
rm -f freebsd-adm-1.2.2.tar.gz
2. В файле /usr/adm/cfg/csup.src заменяем RELENG_6 на RELENG_7
Обновляем исходные тексты на FreeBSD 7.0:
cd /usr/src && make cleandir
cd /usr/adm && make update
Обновляем конфигурацию ядра:
vi /sys/`uname -m`/conf/`hostname -s | tr 'a-z' 'A-Z'`
1. Добавляем:
options COMPAT_FREEBSD6
options TCP_DROP_SYNFIN
options SCTP # Stream Transmission Control Protocol
options UFS_GJOURNAL # Enable gjournal-based UFS
options STOP_NMI # Stop CPUS using NMI instead of IPI
options AUDIT # Security event auditing
options GEOM_LABEL # Provides labelization
options GEOM_PART_GPT # GUID Partition Tables.
options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
options KSE
device uart # Generic UART driver
device le # AMD Am7900 LANCE and Am79C9xx PCnet
device firmware # firmware assist module
device dcons # Dumb console driver
device dcons_crom # Configuration ROM for dcons
2. Убираем:
options GEOM_GPT # GUID Partition Tables.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
device lnc # NE2100, NE32-VL Lance Ethernet cards
3. Замечание по опциям:
IPSEC_ESP меняем на FAST_IPSEC
вместо PIM используем MROUTING
вместо SCHED_4BSD можно поставить SCHED_ULE
в GENERIC ядре теперь по умолчанию включены:
cpufreq, dumb, uart, fwip (IP over FireWire), wlan_wep, wlan_ccmp и wlan_tkip
Готовимся к обновлению:
mergemaster -p
Собираем "мир" и ядро:
cd /usr/adm && make world-build kernel-build
Устанавливаем FreeBSD 7.0
make world-install kernel-install
Чистим хвосты FreeBSD 6.3:
rm -f /etc/rc.d/ike /etc/rc.d/pccard /etc/rc.d/pcvt /etc/rc.d/ramdisk
rm -f /etc/rc.d/ramdisk-own /etc/rc.d/usbd
make etc
make clean
Перезагружаем машину
shutdown -r now
Продолжаем чистку хвостов:
cd /; exec `/usr/bin/which bash sh | head -1`
PATH=/bin:/usr/bin:/sbin:/usr/sbin; umask 022; unset TMOUT
Ищем что можно удалить:
( for dir in /bin /sbin /usr/bin /usr/sbin /usr/libexec /usr/libdata; do \
find $dir -mtime +2 -type f -xdev -print; \
find $dir -mtime +2 -type l -xdev -print; \
done ) >/tmp/remove
Смотрим что будем удалять, внимательно анализируем /tmp/remove
Удаляем:
cat /tmp/remove | xargs rm -f
Ищем что нужно переместить:
( for dir in /lib /usr/lib; do \
find $dir -mtime +2 -type f -xdev -print; \
find $dir -mtime +2 -type l -xdev -print; \
done ) | grep -v /usr/lib/compat >/tmp/move
Смотрим что будем перемещать, внимательно анализируем /tmp/move
for x in `cat /tmp/move`; do chflags noschg $x; mv $x /usr/lib/compat/; done
Подчищаем системы после сборки:
cd /usr/src; make BATCH_DELETE_OLD_FILES=YES delete-old delete-old-libs
Окончатально перезагружаемся в FreeBSD 7.0
shutdown -r now
URL: http://people.freebsd.org/~rse/upgrade/freebsd-upgrade-6x-7x...
Обсуждается: https://www.opennet.ru/tips/info/1598.shtml