Как создать  инсталляционный  диск FreeBSD с нужными Вам изменениями. <ul><ul><li>Киев 2009 </li></ul></ul><ul><ul><li>Myk...
Зачем? <ul><li>Just   for   Fun. </li></ul><ul><li>Удобство установки типичных конфигураций. </li></ul><ul><li>Автоматизац...
Как добиться стабильности в больших проектах? <ul><li>OS </li></ul><ul><ul><li>Поддержка только одной версии  OS  для кажд...
Диагностика <ul><li>Проверка системы перед инсталляцией на совместимость и производительность винчестеров, процессоров, оп...
Традиционный метод создания инсталляционного диска <ul><li>man release </li></ul>
Традиционный метод <ul><li>cvsup supfile-freebsd </li></ul><ul><li>rm -rf /usr/src /usr/obj /usr/doc /R </li></ul><ul><li>...
Традиционный метод <ul><li>cd /usr/src </li></ul><ul><li>patch < /root/freebsd_release/stuff/local.patch </li></ul><ul><li...
Традиционный метод <ul><li>setenv LOCAL_PATCHES /root/freebsd_release/stuff/local.patch </li></ul><ul><li>setenv WORLD_FLA...
Традиционный метод <ul><li>/root/freebsd_release/stuff/packages.sh * </li></ul><ul><li>rsync -aHv --delete /root/freebsd_r...
<ul><ul><li>$ cat /root/freebsd_release/stuff/packages.sh </li></ul></ul><ul><ul><li>#!/bin/sh </li></ul></ul><ul><ul><li>...
<ul><ul><li>for dir in $NEWT_DIRS; do </li></ul></ul><ul><ul><li>cd $dir </li></ul></ul><ul><ul><li>if [ ! -f &quot;${PACK...
Архив OS <ul><li>cvsup supfile-freebsd </li></ul><ul><li>setenv CVSROOT /root/freebsd_release/data/FreeBSD.cvs </li></ul><...
Архив OS <ul><li>setenv DESTDIR /root/freebsd_release/data/chroot_dir </li></ul><ul><li>mkdir -p ${DESTDIR} </li></ul><ul>...
How - to   Live  CD <ul><li>Разворачивание OS для будущего LiveCD. </li></ul><ul><li>Установка приложений на LiveCD. </li>...
How-to Live CD <ul><li>Real-time демонстрация </li></ul><ul><li>Последовательность действий и исходные тексты скриптов мож...
Инсталляция из  Live  CD <ul><li>Разбивка и форматирование HDD. </li></ul><ul><li>Разворачивание OS. </li></ul><ul><li>Уст...
Инсталляция из Live CD <ul><li>Real-time демонстрация </li></ul><ul><li>Последовательность действий и исходные тексты скри...
Questions & Answers <ul><ul><li>Николай Маржан </li></ul></ul><ul><ul><li>email:  [email_address] </li></ul></ul><ul><ul><...
Upcoming SlideShare
Loading in …5
×

Installcd Kyivbsd09

451 views

Published on

Published in: Self Improvement, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
451
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Из 6 PortaOne дисков инсталируется 20 типичных конфигураций.
  • В продуктах PortaOne используется 450 портов FreeBSD. Из них: 35 пропиетарные, на 33 наложенны патчи, у 14 портов изменена версия (upgrade/downgrade).
  • BUILDNAME The name of the release to be built. This is used to set the RELEASE value in sys/conf/newvers.sh, which affects the output of uname(1). If not set, a name with the timestamp and the ``-SNAP&apos;&apos; suffix will be generated. RELEASETAG The CVS tag corresponding to the release that is to be built. If undefined, the release will be built from the HEAD of the CVS tree.
  • Installcd Kyivbsd09

    1. 1. Как создать инсталляционный диск FreeBSD с нужными Вам изменениями. <ul><ul><li>Киев 2009 </li></ul></ul><ul><ul><li>Mykola Marzhan </li></ul></ul>
    2. 2. Зачем? <ul><li>Just for Fun. </li></ul><ul><li>Удобство установки типичных конфигураций. </li></ul><ul><li>Автоматизация post - install процедур. </li></ul><ul><li>Стабильность *. </li></ul><ul><li>Диагностика, восстановление *. </li></ul>
    3. 3. Как добиться стабильности в больших проектах? <ul><li>OS </li></ul><ul><ul><li>Поддержка только одной версии OS для каждого релиза. </li></ul></ul><ul><ul><li>Патчи. </li></ul></ul><ul><ul><li>Backporting. </li></ul></ul><ul><li>Ports </li></ul><ul><ul><li>Заморозка среза портов. </li></ul></ul><ul><ul><li>Upgrade/downgrade некоторых портов в срезе. </li></ul></ul><ul><ul><li>Патчи. </li></ul></ul>
    4. 4. Диагностика <ul><li>Проверка системы перед инсталляцией на совместимость и производительность винчестеров, процессоров, оперативной памяти, сетевых карт. </li></ul><ul><li>Диагностика после сбоя. </li></ul><ul><li>Восстановление после сбоя. </li></ul>
    5. 5. Традиционный метод создания инсталляционного диска <ul><li>man release </li></ul>
    6. 6. Традиционный метод <ul><li>cvsup supfile-freebsd </li></ul><ul><li>rm -rf /usr/src /usr/obj /usr/doc /R </li></ul><ul><li>cd /usr </li></ul><ul><li>setenv CVSROOT /root/freebsd_release/data/FreeBSD.cvs </li></ul><ul><li>cvs co -rRELENG_7_2_0_RELEASE src </li></ul><ul><li>cvs co -rRELEASE_7_2_0 doc </li></ul><ul><li>cvs co -rRELEASE_7_2_0 ports </li></ul>
    7. 7. Традиционный метод <ul><li>cd /usr/src </li></ul><ul><li>patch < /root/freebsd_release/stuff/local.patch </li></ul><ul><li>make -j16 buildworld </li></ul><ul><li>cd /usr/src/release </li></ul><ul><li>setenv CVSROOT /root/freebsd_release/data/FreeBSD.cvs </li></ul><ul><li>setenv BUILDNAME 7.2-RELEASE </li></ul><ul><li>setenv RELEASETAG RELENG_7_2_0_RELEASE </li></ul>
    8. 8. Традиционный метод <ul><li>setenv LOCAL_PATCHES /root/freebsd_release/stuff/local.patch </li></ul><ul><li>setenv WORLD_FLAGS -j16 </li></ul><ul><li>setenv KERNEL_FLAGS -j16 </li></ul><ul><li>setenv EXTPORTSDIR /usr/ports </li></ul><ul><li>make release * </li></ul><ul><li>* - release.1 release.2 doc.1 doc.2 release.3 release.4 release.5 release.6 release.7 release.8 cdrom.1 cdrom.2 cdrom.3 </li></ul>
    9. 9. Традиционный метод <ul><li>/root/freebsd_release/stuff/packages.sh * </li></ul><ul><li>rsync -aHv --delete /root/freebsd_release/data/packages/ </li></ul><ul><li>/R/cdrom/dvd1/packages/ </li></ul><ul><li>cd /usr/src/release </li></ul><ul><li>make iso.1 </li></ul><ul><li>Итого - /R/cdrom/7.2-RELEASE-amd64-dvd1.iso </li></ul>
    10. 10. <ul><ul><li>$ cat /root/freebsd_release/stuff/packages.sh </li></ul></ul><ul><ul><li>#!/bin/sh </li></ul></ul><ul><ul><li>export PKG_SUFX=.tbz </li></ul></ul><ul><ul><li>export PACKAGES=/root/freebsd_release/data/packages </li></ul></ul><ul><ul><li>TOP_DIRS=&quot;/usr/ports/sysutils/isomd5sum </li></ul></ul><ul><ul><li>/usr/ports/benchmarks/bonnie++ </li></ul></ul><ul><ul><li>/usr/ports/sysutils/smartmontools” </li></ul></ul><ul><ul><li>for dir in $TOP_DIRS; do </li></ul></ul><ul><ul><li>cd $dir </li></ul></ul><ul><ul><li>make fetch-recursive </li></ul></ul><ul><ul><li>NEWT_DIRS=&quot;${NEWT_DIRS} </li></ul></ul><ul><ul><li>`make package-depends-list | sort -u | awk '{print $2}'` </li></ul></ul><ul><ul><li>`pwd`&quot; </li></ul></ul><ul><ul><li>done </li></ul></ul><ul><ul><li>mkdir -p ${PACKAGES}/All </li></ul></ul><ul><ul><li>cd ${PACKAGES}/All </li></ul></ul><ul><ul><li>for package in $NEWT_PACKAGES; do </li></ul></ul><ul><ul><li>if [ -f $package${PKG_SUFX} ]; then </li></ul></ul><ul><ul><li>pkg_info &quot;$package&quot; 2>&1 >/dev/null </li></ul></ul><ul><ul><li>|| pkg_add $package${PKG_SUFX} 2>&1 >/dev/null </li></ul></ul><ul><ul><li>|| rm $package${PKG_SUFX} </li></ul></ul><ul><ul><li>fi </li></ul></ul><ul><ul><li>done </li></ul></ul>
    11. 11. <ul><ul><li>for dir in $NEWT_DIRS; do </li></ul></ul><ul><ul><li>cd $dir </li></ul></ul><ul><ul><li>if [ ! -f &quot;${PACKAGES}/All/`make -V PKGNAME`${PKG_SUFX}&quot; ]; then </li></ul></ul><ul><ul><li>make deinstall </li></ul></ul><ul><ul><li>pkg_info &quot;`make -V PKGNAME`&quot; </li></ul></ul><ul><ul><li>&& pkg_delete -f &quot;`make -V PKGNAME`&quot; </li></ul></ul><ul><ul><li>make package </li></ul></ul><ul><ul><li>[ -z &quot;`make -V NO_PACKAGE`&quot;] || make install </li></ul></ul><ul><ul><li>fi </li></ul></ul><ul><ul><li>make clean </li></ul></ul><ul><ul><li>done </li></ul></ul><ul><ul><li>cd ${PACKAGES}/All </li></ul></ul><ul><ul><li>for package in $NEWT_PACKAGES; do </li></ul></ul><ul><ul><li>if [ ! -f $package${PKG_SUFX} ]; then </li></ul></ul><ul><ul><li>pkg_create -j -b $package </li></ul></ul><ul><ul><li>fi </li></ul></ul><ul><ul><li>done </li></ul></ul><ul><ul><li>for dir in $NEWT_DIRS; do </li></ul></ul><ul><ul><li>cd $dir </li></ul></ul><ul><ul><li>make describe >> ${PACKAGES}/INDEX.newt </li></ul></ul><ul><ul><li>done </li></ul></ul><ul><ul><li>sort -u ${PACKAGES}/INDEX.newt | perl /usr/ports/Tools/make_index | </li></ul></ul><ul><ul><li>sed -e 's/$/|1/' > ${PACKAGES}/INDEX </li></ul></ul><ul><ul><li>rm ${PACKAGES}/INDEX.newt </li></ul></ul>
    12. 12. Архив OS <ul><li>cvsup supfile-freebsd </li></ul><ul><li>setenv CVSROOT /root/freebsd_release/data/FreeBSD.cvs </li></ul><ul><li>cd /usr </li></ul><ul><li>cvs co -rRELENG_7_2_0_RELEASE src </li></ul><ul><li>cd /usr/src </li></ul><ul><li>patch < /root/freebsd_release/stuff/local.patch </li></ul><ul><li>make -j16 buildworld </li></ul>
    13. 13. Архив OS <ul><li>setenv DESTDIR /root/freebsd_release/data/chroot_dir </li></ul><ul><li>mkdir -p ${DESTDIR} </li></ul><ul><li>make installworld </li></ul><ul><li>make -j16 buildkernel </li></ul><ul><li>make installkernel </li></ul><ul><li>cd /usr/src/etc && make distribution </li></ul><ul><li>tar -C ${DESTDIR} -zcf /root/freebsd_release/data/minsys.tgz . </li></ul>
    14. 14. How - to Live CD <ul><li>Разворачивание OS для будущего LiveCD. </li></ul><ul><li>Установка приложений на LiveCD. </li></ul><ul><li>Правки конфига загрузчика и fstab. </li></ul><ul><li>Правка и отключение стартовых скриптов. </li></ul>
    15. 15. How-to Live CD <ul><li>Real-time демонстрация </li></ul><ul><li>Последовательность действий и исходные тексты скриптов можно взять по адресу http://delgod.com/kyivbsd09/freebsd_release.tgz </li></ul>
    16. 16. Инсталляция из Live CD <ul><li>Разбивка и форматирование HDD. </li></ul><ul><li>Разворачивание OS. </li></ul><ul><li>Установка пекеджей. </li></ul><ul><li>Настройка fstab и сети. </li></ul><ul><li>Добавление пользователей. </li></ul>
    17. 17. Инсталляция из Live CD <ul><li>Real-time демонстрация </li></ul><ul><li>Последовательность действий и исходные тексты скриптов можно взять по адресу http://delgod.com/kyivbsd09/freebsd_release.tgz </li></ul>
    18. 18. Questions & Answers <ul><ul><li>Николай Маржан </li></ul></ul><ul><ul><li>email: [email_address] </li></ul></ul><ul><ul><li>Доклад, скрипты: http://delgod.com/kyivbsd09/freebsd_release.tgz </li></ul></ul>

    ×