ATTENTION:
THIS UPGRADE PROCEDURE MIGHT NOT WORK FOR YOU AS YOUR ENVIRONMENT IS
DIFFERENT. ALSO, THIS UPGRADE PROCEDURES MIGHT DESTROY OUR SYSTEM AND
YOU POTENTIALLY MIGHT LOOSE DATA. NO WARRANTY AT ALL. SE IT AT YOUR OWN
RISK!
PREPARE- reboot once to make sure OLD system is at least
- able to still successfully reboot at all ;-)
- SORRY, THIS IS NOT A JOKE -- THIS IS A VERY SERIOUS ISSUE!
$ shutdown -r now
BUILD- switch to a reasonable run-time environment
$ cd /; exec `/usr/bin/which bash sh | head -1`
$ PATH=/bin:/usr/bin:/sbin:/usr/sbin; umask 022; unset TMOUT
$ PATH=/bin:/usr/bin:/sbin:/usr/sbin; umask 022; unset TMOUT
- install backward compatibility files
- (locale data to /usr/local/share/compat/, libraries to /usr/local/lib/compat/)
- notice: via binary packages as FreeBSD 7.x ports cannot be installed under FreeBSD 6.X
{xtypo_code}$ url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-current/All"; \
( cd /tmp; for pkg in localedata-5.4.tbz compat6x-i386-6.2.602110.200706.tbz; do \
fetch -p $url/$pkg; pkg_add $pkg; rm -f $pkg; \
done )
( cd /tmp; for pkg in localedata-5.4.tbz compat6x-i386-6.2.602110.200706.tbz; do \
fetch -p $url/$pkg; pkg_add $pkg; rm -f $pkg; \
done )
- install latest FreeBSD Upgrade Toolkit
$ 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
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
$ vi /usr/adm/cfg/csup.src
<< RELENG_6
>> .
(later replace "." with "RELENG_7")
<< RELENG_6
>> .
(later replace "." with "RELENG_7")
- upgrade /usr/src (already required for "mergemaster -p" below!)
$ (cd /usr/src && make cleandir); \
(cd /usr/adm && make update)
(cd /usr/adm && make update)
- upgrade kernel configuration
$ vi /sys/`uname -m`/conf/`hostname -s | tr 'a-z' 'A-Z'`
>> options COMPAT_FREEBSD6
>> 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_GPT # GUID Partition Tables.
>> options GEOM_PART_GPT # GUID Partition Tables.
<< options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
>> options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
>> device uart # Generic UART driver
<< device lnc # NE2100, NE32-VL Lance Ethernet cards
>> 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
>> options COMPAT_FREEBSD6
>> 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_GPT # GUID Partition Tables.
>> options GEOM_PART_GPT # GUID Partition Tables.
<< options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
>> options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
>> device uart # Generic UART driver
<< device lnc # NE2100, NE32-VL Lance Ethernet cards
>> 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
- prepare the upgrade
- (mainly create "ftp" group)
$ mergemaster -p
- build new system
$ cd /usr/adm && make world-build kernel-build
INSTALL- upgrade system
$ make world-install kernel-install
- cleanup system (part 1)
$ 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
$ rm -f /etc/rc.d/ramdisk-own /etc/rc.d/usbd
$ make etc
$ make clean
- reboot into upgraded system
$ shutdown -r now
CLEAN UP- switch to a reasonable run-time environment
$ cd /; exec `/usr/bin/which bash sh | head -1`
$ PATH=/bin:/usr/bin:/sbin:/usr/sbin; umask 022; unset TMOUT
$ PATH=/bin:/usr/bin:/sbin:/usr/sbin; umask 022; unset TMOUT
- cleanup system (part 2)
$ ( 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
$ vi /tmp/remove
# REVIEW FILES TO REMOVE MANUALLY
$ 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
$ vi /tmp/move
# REVIEW FILES TO MOVE MANUALLY
$ 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
find $dir -mtime +2 -type f -xdev -print; \
find $dir -mtime +2 -type l -xdev -print; \
done ) >/tmp/remove
$ vi /tmp/remove
# REVIEW FILES TO REMOVE MANUALLY
$ 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
$ vi /tmp/move
# REVIEW FILES TO MOVE MANUALLY
$ 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
- reboot into cleaned system
- (mainly to reload the shared library cache and to
- make sure everything really still works fine)
$ shutdown -r now
Referensi:- http://people.freebsd.org/~rse/upgrade/freebsd-upgrade-6x-7x.txt
- If you have any enquiries, please do not hesitate to contact. Thank You.
Tidak ada komentar:
Posting Komentar
Komentarnya mana