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>