OpenBSD’de CVSup ile Sistem Güncelleme

From OpenBSD Belgeleme Projesi

Contents

CVSup Kurulumu

Cvsup kurulumunu paket yada port ağacından kurulum yapılabilir.Paket olarak kurulum için

#pkg_add -v ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/cvsup-16.1h-no_x11.tgz

Port ağacından kurulum yapmak için ise

# cd /usr/ports/net/cvsup
env FLAVOR=no_x11 make install

Komutları verilerek kurulum gerçekleştirilir

CVSup Konfigürasyon Dosyalarının Oluşturulması

CVSup ile sistem güncelleme için cvsup-file-ports ve cvsup-file-src dosyaları kullanılır.

cvsup-file-ports dosyasının içeriği

*default release=cvs
*default delete use-rel-suffix
*default umask=002
*default host=anoncvs3.usa.openbsd.org
*default base=/usr
*default prefix=/usr
*default tag=OPENBSD_3_8
OpenBSD-ports
#OpenBSD-all
#OpenBSD-src
#OpenBSD-www
#OpenBSD-x11
#OpenBSD-xf4
anoncvs3.usa.openbsd.org  adresi yerine istenilen bir adres kullanılabilir.
cvsup-file-src
*default release=cvs
*default delete use-rel-suffix
*default umask=002
*default host=anoncvs3.usa.openbsd.org
*default base=/usr
*default prefix=/usr
*default tag=OPENBSD_3_8
# *default compress
#OpenBSD-ports
#OpenBSD-all
OpenBSD-src
#OpenBSD-www
#OpenBSD-x11
#OpenBSD-xf4

anoncvs3.usa.openbsd.org istenilen bir değerle değiştirilebilir

CVSup Çalıştırılması


Port Ağacını güncellemek için cvsup-file-ports dosyası kullanılır.

# cvsup -g -L 2 cvsup-file-ports


Sistem’i güncellemek için ise cvsup-file-src dosyası kullanılır.

# cvsup -g -L 2 cvsup-file-src

Port Ağacının Kontrol Edilmesi


/usr/ports/infrastructure/build dizini altında bulunan out-of-date betiği ile port ağacında güncellenmesi gereken paketler görülebilir.

#  cd /usr/ports/infrastructure/build


# ./out-of-date

out-of-date çıktısı aşağıdaki gibi ise port ağacında güncellenmesi gereken paket yok demektir.

Make sure your ports tree is up-to-date
Generating specs
Checking new package names
Recording old package names
Showing discrepancies
#
 Aşağıda ise out-of-date betiğinin çalıştırılması sonucunda güncellenmesi gereken paketler görülebilir.
Make sure your ports tree is up-to-date
Generating specs
Checking new package names
Recording old package names
Showing discrepancies
--- /tmp/outdated.dmwN17408/old Thu Aug 11 18:06:36 2005
+++ /tmp/outdated.dmwN17408/new Thu Aug 11 18:06:36 2005
@@ -1,9 +1,9 @@
-bash-3.0.16p0
-cvsup-16.1g-no_x11
-gettext-0.10.40p2
-libiconv-1.9.2
+bash-3.0.16p1
+cvsup-16.1h-no_x11
+gettext-0.10.40p3
+libiconv-1.9.2p1
 zip-2.3p0
#

“-“ ile başlayan paketler sistemde sistemde kurulu ve port ağacında daha güncel bir sürümü mevcut.”+” ile başlayan paketler ise port ağacındaki daha güncel sürümlerini belirtmektedir. Zip paketinin ise güncellenmesine gerek yoktur

Çekirdek Güncelleme

Sistem ağacının güncellenmesinden sonra çekirdek derlenebilir. Burada Çekirdek Derleme esnasında uygulanacak adımlar aşağıda belitilmiştir.

  • Mevcut Çekirdek Derleme Esnasında Çıkabilecek Sorunlara Karşı Yedeği Alınır
  • Çekirdek Konfigüre edilir
  • Yeni Çekirdek Derlenir
  • Yeni Çekirdek Yüklenir


Mevcut çekirdek başka bir isimde kopyalanarak çekirdek derleme esnasında çıkabilecek problemlere karşı önlem alınmış olur.

# cp /bsd /bsd.eski

Çekirdek konfigurasyonu yapılır

# cd /usr/src/sys/arch/i386/conf
# config GENERIC
# make clean && make depend

Yeni çekirdek derlenir

# cd /usr/src/sys/arch/i386/compile/GENERIC/
# make depend && make

Yeni çekirdek sisteme yüklenir

# cp /usr/src/sys/arch/i386/compile/GENERIC/bsd  /


Sistem yeniden başlatılarak yeni çekirdek ile sistem açılışı yapılır.

Çekirdek Derlemede Sorun Çıktığında

Sistem güncellemesinden sonra açılışta sorun çıkarsa eğer

Using drive 0, partition 3.
Loading...
probing : pc0 com0 apm mem[634K 319M a20=on]
disk: fd0 hd0+
>> OpenBSD/i386 BOOT 2.06
boot>
Using drive 0, partition 3.
Loading...
probing : pc0 com0 apm mem[634K 319M a20=on]
disk: fd0 hd0+
>> OpenBSD/i386 BOOT 2.06
boot> bsd.eski

Sistemi Yeniden Kurmak

Yeni çekirdekle sistem sorunsuz bir şekilde açılmışsa sistem güncellenebilir.Sistem güncellenmeden önce /usr/obj dizini olmalıdır.

# cd /usr/src
# find . -type l -name obj | xargs rm
# make cleandir
# rm -rf /usr/obj/*
# make obj
# cd /usr/src/etc
# make DESTDIR=/ distrib-dirs
# cd /usr/src
# make build

Bu işlem port ağacını güncellemez.

Kaynaklar


Gokhan ALKAN <gokhan@enderunix.org>