4. Debian 12 (bookworm) sürümünden yükseltmeler

4.1. Yükseltmeye hazırlık

Yükseltmeye başlamadan önce trixie sürümünde dikkat edilmesi gereken sorunlar bölümündeki bilgileri de okumanızı öneririz. Bu bölüm, doğrudan yükseltme süreciyle ilgili olmasa da, başlamadan önce bilinmesinde fayda olan bazı potansiyel sorunlara değinir.

4.1.1. Bütün veri ve yapılandırma bilgilerini yedekleyin

Sisteminizi yükseltmeden önce tam bir yedek almanız önemle tavsiye edilir. En azından, kaybetmeyi göze alamayacağınız veri ve yapılandırma bilgilerini mutlaka yedekleyin. Yükseltme araçları ve süreç genelde oldukça güvenilirdir. Ancak yükseltme sırasında yaşanabilecek bir donanım arızası sisteminizde ciddi hasara neden olabilir.

Yedeklenmesi gereken temel içerikler şunlardır; /etc, /var/lib/dpkg ve /var/lib/apt/extended_states dizinleri ile aşağıdaki komutun çıktısı:

$ dpkg --get-selections '*' # (the quotes are important)

Sisteminizde paket yönetimi için aptitude kullanıyorsanız, /var/lib/aptitude/pkgstates dizinini de yedeklemeniz gerekir.

Yükseltme süreci /home dizinindeki hiçbir şeyi değiştirmez. Ancak bazı uygulamalar (örneğin Mozilla bileşenleri, GNOME ve KDE masaüstü ortamları), yeni sürüm ilk kez çalıştırıldığında kullanıcı ayarlarını yeni öntanımlarla değiştirebilir. Bu riski azaltmak için, kullanıcıların ev dizinlerindeki gizli dosya ve dizinleri (noktalı dosyalar) yedeklemeniz önerilir. Bu yedek, eski ayarları geri yüklemek için işe yarayabilir. Kullanıcıları bu konuda önceden bilgilendirmeniz de yararlı olur.

Tüm paket kurulum işlemleri süper kullanıcı yetkileriyle çalıştırılmalıdır. Bu nedenle ya root olarak oturum açın ya da su veya sudo komutlarını kullanarak yetki alın.

Yükseltmenin bazı ön koşulları bulunmaktadır. Yükseltmeye başlamadan önce bunların sağlandığından emin olmanız gerekir.

4.1.2. Kullanıcıları önceden bilgilendirin

Planladığınız yükseltme işlemi hakkında tüm kullanıcıları önceden bilgilendirmek akıllıca olacaktır. Ancak, ssh ile bağlanan kullanıcılar, yükseltme sırasında genellikle herhangi bir kesinti yaşamadan çalışmayı sürdürebilir.

Ekstra önlem almak isterseniz, yükseltmeden önce /home bölümünü yedekleyebilir veya bağlantısını kaldırabilirsiniz.

trixie sürümüne yükseltme yaparken çekirdek de yükseltileceğinden, sistemin yeniden başlatılması gerekecektir. Bu işlem genellikle yükseltme bittikten sonra yapılır.

4.1.3. Hizmet kesintisi için hazırlıklı olun

Sistem tarafından sunulan ve yükseltme kapsamında olan bazı paketlerle ilişkili hizmetler olabilir. Bu durumda, paketler değiştirilip yapılandırılırken ilgili hizmetler durdurulacaktır. Bu süre boyunca bu hizmetler kullanılamaz.

Bu hizmetlerin kesinti süresi, yükseltilen paketlerin sayısına ve sistem yöneticisinin yapılandırma sorularını yanıtlamak için harcadığı zamana göre değişiklik gösterebilir. Yükseltme işlemi gözetimsiz bırakılırsa ve sistem bu sırada kullanıcı girişi talep ederse, hizmetlerin uzun süre devre dışı kalması [1] olasıdır.

Yükseltilen sistem kullanıcılarınız veya ağınız [2] için kritik hizmetler sağlıyorsa, kesinti süresini Minimal sistem yükseltmesi bölümünde anlatıldığı gibi önce minimal bir sistem yükseltmesi yaparak, ardından çekirdeği yükseltip sistemi yeniden başlattıktan sonra, kritik hizmetlere ait paketleri yükselterek bu süreyi azaltabilirsiniz. Bu paketleri, Tam sistem yükseltmesi işleminden önce yükseltmeniz, bu hizmetlerin yükseltme süresince çalışır durumda kalmasını ve kesintinin en aza indirilmesini sağlar.

4.1.4. Kurtarma için hazırlıklı olun

Debian sisteminizin her zaman önyüklenebilir durumda kalmasını sağlamaya çalışsa da, yükseltme sonrası sisteminizi yeniden başlatırken sorun yaşama ihtimaliniz her zaman vardır. Bilinen potansiyel sorunlar bu Sürüm Notları’nın bu ve sonraki bölümlerinde belgelenmiştir.

Bu nedenle, sisteminiz yeniden başlatılamazsa veya uzaktan yönetilen sistemlerde ağ kurulamazsa kurtarma yapabilecek durumda olmanız önemlidir.

Eğer bir ssh bağlantısı üzerinden uzaktan yükseltme yapıyorsanız, sunucuya uzak bir seri terminal üzerinden erişebilmek için gerekli önlemleri almanız önerilir. Çekirdek yükseltmesi ve yeniden başlatma sonrasında sistem yapılandırmasını yerel bir konsol üzerinden düzeltmeniz gerekebilir. Ayrıca, yükseltme işlemi sırasında sistem yanlışlıkla yeniden başlatılırsa, yerel bir konsol kullanarak kurtarma yapmanız gerekebilir.

Acil durum kurtarmaları için genellikle trixie Debian Kurucusu’nun kurtarma kipini kullanmanızı öneririz. Kurulum aracını kullanmanın avantajı, durumunuza en uygun yöntemi seçebilmenize olanak tanımasıdır. Daha fazla bilgi için Kurulum Kılavuzu’nun 8. bölümündeki ‘Bozuk Bir Sistemin Kurtarılması’ bölümüne (https://www.debian.org/releases/trixie/installmanual) ve Debian Kurucusu SSS sayfasına başvurabilirsiniz.

Eğer bu işe yaramazsa, sisteminizi başlatmak ve onarmak için başka bir yönteme ihtiyacınız olacaktır. Bunun için özel bir kurtarma veya canlı kurulum görüntüsü kullanabilirsiniz. Bu görüntüyle sistemi başlattıktan sonra, kök dosya sisteminizi bağlayabilir ve chroot komutuyla sisteme girerek sorunu inceleyip düzeltebilirsiniz.

4.1.4.1. initrd ile önyükleme aşamasında hata ayıklama kabuğu kullanımı

initramfs-tools paketi, oluşturduğu initrd görüntülerinde bir hata ayıklama kabuğu [3] içerir. Örneğin, initrd kök dosya sistemini bağlayamazsa, temel komutlarla donatılmış bu hata ayıklama kabuğuna yönlendirilirsiniz. Bu kabuk, sorunu tespit etmenize ve muhtemelen çözmenize yardımcı olur.

Kontrol etmeniz gereken temel şeyler: /dev içinde doğru aygıt dosyalarının varlığı; yüklenen modüller (cat /proc/modules); sürücü yükleme hataları için dmesg çıktısı. dmesg çıktısı ayrıca hangi disklerin hangi aygıt dosyalarına atandığını gösterecektir; bunu echo $ROOT çıktısıyla karşılaştırarak kök dosya sisteminin doğru (beklenen) aygıta atanmış olduğundan emin olmalısınız.

Sorunu çözmeyi başarırsanız, exit yazarak hata ayıklama kabuğundan çıkabilir ve önyüklemeye kaldığı noktadan devam edebilirsiniz. Ancak altta yatan sorunun da kalıcı olarak düzeltilmesi ve sonraki önyüklemede aynı hatanın yaşanmaması için initrd’nin yeniden oluşturulması gerekir.

4.1.4.2. systemd ile önyükleme sırasında hata ayıklama kabuğu

systemd altında önyükleme başarısız olursa, çekirdek komut satırını değiştirerek bir hata ayıklama kök kabuğu elde etmek mümkündür. Temel önyükleme başarılı ancak bazı servisler başlatılamıyorsa, çekirdek parametrelerine systemd.unit=rescue.target eklemek yararlı olabilir.

Alternatif olarak, systemd.unit=emergency.target çekirdek parametresi mümkün olan en erken aşamada size bir kök kabuk sağlar. Ancak bu kabuk, kök dosya sistemi henüz okuma-yazma kipinde bağlanmadan sağlanır. Dosya sistemini elle aşağıdaki komutla bağlamanız gerekir:

# mount -o remount,rw /

Başka bir yaklaşım da, systemd’nin “erken hata ayıklama kabuğunu” “debug-shell.service” aracılığıyla etkinleştirmektir. Bir sonraki önyüklemede bu hizmet, önyükleme sürecinin çok erken bir aşamasında tty9’da bir kök giriş kabuğu açar. Bu, systemd.debug-shell=1 çekirdek önyükleme parametresiyle etkinleştirilebilir veya systemctl enable debug-shell komutuyla kalıcı hale getirilebilir. Bu durumda, hata ayıklama tamamlandığında hizmetin tekrar devre dışı bırakılması önerilir.

systemd altında bozuk bir önyüklemeyi giderme hakkında daha fazla bilgi için Freedesktop.org Önyükleme Sorunlarını Teşhis Etme makalesine başvurabilirsiniz.

4.1.5. Yükseltme işlemi için güvenli bir ortam hazırlama

Önemli

Herhangi bir VPN hizmeti (tinc gibi) kullanıyorsanız, bu hizmetlerin yükseltme süresi boyunca devre dışı kalabileceğini göz önünde bulundurmalısınız. Daha fazla bilgi için Hizmet kesintilerine hazırlık bölümüne bakınız.

In order to gain extra safety margin when upgrading remotely, we suggest that you run upgrade processes in a virtual console provided by the screen or tmux programs, which enables safe reconnection and ensures the upgrade process is not interrupted even if the remote connection process temporarily fails.

micro-evtd paketi üzerinden watchdog sürecini kullananlar, yükseltme sırasında yanlışlıkla gerçekleşebilecek yeniden başlatmaları önlemek için, yükseltmeden önce artalan süreci durdurmalı ve watchdog zamanlayıcısını devre dışı bırakmalıdır:

# service micro-evtd stop
# /usr/sbin/microapl -a system_set_watchdog off

4.2. “Saf” Debian ile başlayın

Bu bölümde anlatılan yükseltme süreci, “saf” Debian kararlı sistemleri için tasarlanmıştır. APT, sisteminizde yüklü olanları kontrol eder. Eğer APT yapılandırmanız bookworm dışında ek kaynaklar içeriyorsa veya başka sürümlerden ya da üçüncü taraflardan paketler yüklediyseniz, güvenilir bir yükseltme süreci için önce bu karmaşık faktörleri kaldırmak isteyebilirsiniz.

APT paketleri hangi kaynaklardan paketleri indireceğine karar verirken /etc/apt/sources.list ana yapılandırma dosyasını kullanır, ancak /etc/apt/sources.list.d/ dizinindeki dosyaları da kullanabilir - ayrıntılar için sources.list(5) sayfasına bakınız. Sisteminiz birden fazla kaynak listesi dosyası kullanıyorsa, bu dosyaların birbiriyle uyumlu olduğundan emin olmanız gerekir.

4.2.1. Debian 12 (bookworm) sürümüne yükseltme

Yalnızca Debian 12 (bookworm) sürümünden yapılan yükseltmeler desteklenmektedir. Debian sürümünüzü görüntülemek için:

$ cat /etc/debian_version

Gerekiyorsa önce Debian 12 sürümüne yükseltin. Bunun için https://www.debian.org/releases/bookworm/releasenotes adresindeki Sürüm Notları’nda yer alan talimatları izleyin.

4.2.2. Son nokta sürümüne yükseltme

Bu yordam, sisteminizin bookworm sürümünün en son nokta sürümüne güncellendiğini varsayar. Bunu yapmadıysanız veya emin değilseniz, bookworm sisteminizin yükseltilmesi bölümündeki talimatları izleyin.

4.2.3. Debian Geri Taşımaları (Backports)

Debian Geri Taşımalar, Debian kararlı sürüm kullanıcılarının, test ve güvenlik desteği konusunda bazı sınırlamalarla, daha güncel paket sürümlerini çalıştırmasına olanak tanır. Debian Geri Taşımalar Ekibi, bir sonraki Debian sürümündeki bazı paketleri seçerek mevcut kararlı sürümde kullanılmak üzere bunları uyarlar ve yeniden derler.

bookworm-backports (geri taşımalar) paketlerinin sürüm numaraları, trixie sürümündekilerden düşüktür. Bu nedenle, dağıtım yükseltmesi sırasında “saf” bookworm paketleriyle aynı şekilde trixie sürümüne yükseltilirler. Bilinen potansiyel sorunlar olmasa da, geri taşıma yükseltme yolları daha az test edildiğinden, belli ölçüde daha fazla risk barındırır.

Uyarı

Standart Debian Geri Taşımalar desteklenirken, sloppy geri taşımalardan (APT kaynak listesi girdilerinde bookworm-backports-sloppy referansı olan) doğrudan ve güvenli bir yükseltme yolu bulunmamaktadır.

Resmi olmayan kaynaklar durumunda olduğu gibi, yükseltmeden önce kullanıcıların APT kaynak listesi dosyalarından “bookworm-backports” girdilerini kaldırmaları önerilir. Yükseltme tamamlandıktan sonra “trixie-backports” eklemeyi düşünebilirler (bkz. https://backports.debian.org/Instructions/).

Daha fazla bilgi için Geri Taşımalar Wiki sayfasına başvurun.

4.2.4. Paket veritabanının hazırlanması

Yükseltmeye başlamadan önce paket veritabanınızın hazır olduğundan emin olun. aptitude veya synaptic gibi başka bir paket yöneticisi kullanıyorsanız, bekleyen işlemleri gözden geçirin. Kurulmak veya kaldırılmak üzere bekleyen bir paket, yükseltme işlemini engelleyebilir veya sorunlara yol açabilir. Gerekli düzeltmeleri yapabilmeniz için APT kaynak listesi dosyalarınızın hala “bookworm” sürümünü işaret ettiğinden emin olun. Bu dosyalarda “stable” veya “trixie” ifadeleri bulunmamalıdır (bkz. APT kaynak listesi dosyalarının kontrol edilmesi).

4.2.5. Eskimiş paketlerin kaldırılması

Yükseltme öncesinde sisteminizden eskimiş paketleri kaldırmanız yararlı olacaktır. Bu tür paketler yükseltme sırasında sorunlara yol açabilir ve bakımları yapılmadığı için güvenlik riski taşıyabilir.

4.2.6. Debian dışı paketlerin kaldırılması

Aşağıda, Debian kaynaklı olmayan yüklü paketleri bulmak için iki yöntem verilmiştir: apt veya apt-forktracer kullanmak. Ancak bu yöntemlerin %100 doğru sonuç vermeyeceğini unutmayın. Örneğin apt komutu, eskiden Debian tarafından sağlanıp artık sağlanmayan eski çekirdek paketleri gibi paketleri de listeleyebilir.

$ apt list '?narrow(?installed, ?not(?origin(Debian)))'
$ apt-forktracer | sort

4.2.7. Artık kullanılmayan yapılandırma dosyalarının temizlenmesi

Önceki bir yükseltme, sistemde artık kullanılmayan yapılandırma dosyası kopyaları bırakmış olabilir. Bunlar, eski sürüm <#configuration-changes> yapılandırma dosyaları ya da paket bakımcıları tarafından sağlanan sürümler olabilir. Önceki yükseltmelerden kalan dosyaları kaldırmak, karışıklığı önleyebilir. Bu kalan dosyaları şu komutla bulabilirsiniz:

# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'

4.2.8. Özgür olmayan (non-free) ve aygıt yazılımı (non-free-firmware) bileşenleri

Özgür olmayan aygıt yazılımları yüklüyse, APT kaynak listenize non-free-firmware eklemeniz önerilir.

4.2.9. proposed-updates (önerilen güncellemeler) bölümü

APT kaynak listesi dosyalarınızda proposed-updates bölümü listelenmişse, sisteminizi yükseltmeye çalışmadan önce bunu kaldırmalısınız. Bu işlem, olası çakışmaları önlemeye yardımcı olur.

4.2.10. Resmi olmayan kaynaklar

Sisteminizde Debian dışı paketler varsa, bunların bağımlılık çakışmaları nedeniyle yükseltme sırasında kaldırılabileceğini göz önünde bulundurmalısınız. Bu paketler, APT kaynak listenize eklenmiş bir üçüncü taraf paket arşivinden yüklenmişse, ilgili arşivin trixie için derlenmiş paketler sunup sunmadığını kontrol etmelisiniz. Debian paketleri için kaynak girdilerinizi değiştirirken, bu arşiv için olan girdileri de buna göre uyarlamalısınız.

Bazı kullanıcıların bookworm sistemlerinde, Debian’da yer alan paketlerin resmi olmayan biçimde geri taşınmış (backport edilmiş) daha “yeni sürümleri” yüklü olabilir. Bu tür paketler, dosya çakışmalarına [4] neden olabileceğinden, yükseltme sırasında en çok sorun çıkarma potansiyeline sahip olanlardır. Yükseltme sırasında olası sorunlar bölümünde dosya çakışmalarıyla nasıl başa çıkılacağına dair bazı bilgiler bulunmaktadır.

4.2.11. APT sabitlemelerin devre dışı bırakılması

APT’yi belirli paketleri kararlı (stable) sürüm yerine başka bir dağıtımdan (örneğin test sürümünden) yüklemesi için yapılandırdıysanız, yeni kararlı sürümdeki paket sürümlerine yükseltme yapılabilmesi için APT sabitleme yapılandırmanızı (/etc/apt/preferences ve /etc/apt/preferences.d/ dosyalarında saklanır) değiştirmeniz gerekebilir. APT sabitleme hakkında daha fazla bilgi için apt_preferences(5) sayfasına bakabilirsiniz.

4.2.12. Paket durumu kontrolü

Kullandığınız yükseltme yönteminden bağımsız olarak, önce tüm paketlerin durumunu kontrol etmeniz ve yükseltmeye hazır olduklarından emin olmanız önerilir. Aşağıdaki komut, Yarı-Yüklü, Başarısız-Yapılandırma veya herhangi bir hata durumundaki paketleri gösterecektir.

$ dpkg --audit

Paketlerin durumunu aptitude kullanarak veya aşağıdaki gibi komutlarla da inceleyebilirsiniz

$ dpkg -l

veya

# dpkg --get-selections '*' > ~/curr-pkgs.txt

Alternatif olarak apt da kullanabilirsiniz.

# apt list --installed > ~/curr-pkgs.txt

Yükseltmeden önce tutma (hold) durumundaki paketleri kaldırmanız önerilir. Yükseltme için gerekli bir paket tutuluysa, işlem başarısız olur.

$ apt-mark showhold

Bir paketi yerel olarak değiştirip yeniden derlediyseniz ve sürümüne epoch eklemediyseniz ya da yeniden adlandırmadıysanız, bu paketin yükseltilmesini önlemek için tutma (hold) durumuna almalısınız.

apt aracılığıyla bir paketin “tutma” durumu şu komutlarla değiştirilebilir:

# apt-mark hold package_name

Tutma durumunu kaldırmak için hold yerine unhold yazmanız gerekir.

Eğer düzeltmeniz gereken bir şey varsa, APT kaynak listesi dosyalarınızın hala bookworm sürümüne işaret ettiğinden emin olun (bkz. APT kaynak listesi dosyalarının kontrol edilmesi).

4.3. APT kaynak listesi (source-list) dosyalarının hazırlanması

Yükseltmeye başlamadan önce, APT kaynak listesi dosyalarınızı (/etc/apt/sources.list ve /etc/apt/sources.list.d/ altındaki dosyalar) trixie kaynaklarını içerecek ve genellikle bookworm kaynaklarını kaldıracak şekilde yeniden yapılandırmanız gerekir.

APT, yapılandırılmış arşivlerdeki tüm paketleri dikkate alır ve dosyadaki ilk girdiye öncelik vererek en yüksek sürüm numarasına sahip paketi yükler. Bu yüzden birden fazla yansı konumunuz varsa, önce yerel diskleri, sonra CD-ROM’ları ve ardından uzak yansıları listelemeniz önerilir.

Bir Debian sürümüne genellikle hem kod adıyla (örn. “bookworm”, “trixie”) hem de durum adıyla (örn. “oldstable”, “stable”, “testing”, “unstable”) atıfta bulunulur. Kod adı kullanmanın avantajı, yeni bir sürüm sizi hazırlıksız yakalayamaz; bu nedenle bu belgede de bu yöntem tercih edilmiştir. Elbette bu, sürüm duyurularını kendinizin takip etmeniz gerektiği anlamına gelir. Öte yandan, durum adı kullanırsanız yeni bir sürüm yayımlandığında paketler için çok sayıda güncelleme alırsınız.

Debian, sürümlerle ilgili gelişmelerden haberdar olmanız için iki duyuru e-posta listesi sunar:

4.3.1. APT İnternet kaynakları ekleme

Yeni kurulumlarda, APT öntanımlı olarak Debian APT CDN hizmetini kullanacak şekilde yapılandırılmıştır. Bu sayede paketler, ağ açısından size en yakın sunucudan otomatik olarak indirilir. Bu hizmet nispeten yenidir; bu yüzden eski kurulumlar hala ana Debian internet sunucularından birine ya da bir yansıya işaret ediyor olabilir. Henüz yapmadıysanız, APT yapılandırmanızda CDN hizmetine geçmeniz önerilir.

CDN hizmetini kullanmak için APT kaynak yapılandırmanıza aşağıdakine benzer bir satır ekleyin (main ve contrib bileşenlerini kullandığınız varsayılır):

deb https://deb.debian.org/debian trixie main contrib

Yeni kaynaklarınızı ekledikten sonra, önceki “deb” satırlarının başına bir diyez işareti (#) koyarak bunları devre dışı bırakın.

Ancak ağ açısından size daha yakın olan belirli bir yansıyı kullanarak daha iyi sonuç alıyorsanız, bu seçeneği kullanmaya devam edebilirsiniz.

Debian yansı adreslerini burada https://www.debian.org/mirror/list bulabilirsiniz.

For example, suppose your closest Debian mirror is https://mirrors.kernel.org. If you inspect that mirror with a web browser, you will notice that the main directories are organized like this:

https://mirrors.kernel.org/debian/dists/trixie/main/...
https://mirrors.kernel.org/debian/dists/trixie/contrib/...

APT’yi bu yansıyı kullanacak şekilde ayarlamak için aşağıdakine benzer bir satır ekleyin (yine main ve contrib bileşenlerini kullandığınız varsayılır):

deb https://mirrors.kernel.org/debian trixie main contrib

dists” dizininin örtük (otomatik) olarak eklendiğini ve sürüm adından sonraki argümanların, yolu birden fazla alt dizine yaymak için kullanıldığını unutmayın.

Burada da, yeni kaynakları ekledikten sonra, önceki arşiv satırlarını devre dışı bırakmayı unutmayın.

4.3.2. APT kaynaklarının yerel bir yansıdan kullanılması

Uzak paket yansıları yerine, APT kaynak listesi dosyalarınızı, yerel bir diskte (örneğin NFS ile bağlanmış) bulunan bir yansıyı kullanacak şekilde değiştirebilirsiniz.

Örneğin, paket yansınız /var/local/debian/ altında bulunabilir ve ana dizinler şu şekilde olabilir:

/var/local/debian/dists/trixie/main/...
/var/local/debian/dists/trixie/contrib/...

apt ile bunu kullanmak için sources.list dosyanıza aşağıdaki satırı ekleyin:

deb file:/var/local/debian trixie main contrib

dists” dizininin örtük (otomatik) olarak eklendiğini ve sürüm adından sonraki argümanların, yolu birden fazla alt dizine yaymak için kullanıldığını unutmayın.

Yeni kaynaklarınızı ekledikten sonra, APT kaynak listesi dosyalarındaki önceki arşiv girişlerinin başına diyez işareti (#) koyarak devre dışı bırakın.

4.3.3. Optik ortamdan APT kaynakları ekleme

Sadece DVD’ler (veya CD’ - Blu-ray Diskler) kullanmak istiyorsanız, tüm APT kaynak listesi dosyalarındaki mevcut girişleri devre dışı bırakmak için başlarına diyez işareti (#) koyun.

CD-ROM sürücünüzün /media/cdrom bağlama noktasına bağlanabilmesi için /etc/fstab dosyasında şuna benzer bir satır bulunduğundan emin olun. Örneğin, /dev/sr0 CD-ROM sürücünüzse, /etc/fstab şu satırı içermelidir:

/dev/sr0 /media/cdrom auto noauto,ro 0 0

Dördüncü alandaki noauto,ro ifadeleri arasında boşluk olmamalıdır.

Çalıştığını doğrulamak için bir CD takın ve çalıştırmayı deneyin

# mount /media/cdrom    # this will mount the CD to the mount point
# ls -alF /media/cdrom  # this should show the CD's root directory
# umount /media/cdrom   # this will unmount the CD

Ardından şunu çalıştırın:

# apt-cdrom add

bu şekilde her bir Debian CD-ROM’unuz için, CD’deki verileri APT’nin veritabanına eklemiş olursunuz.

4.4. Paketlerin yükseltilmesi

Önceki Debian sürümlerinden yükseltme yapmanın önerilen yolu, apt paket yönetim aracını kullanmaktır.

Not

apt etkileşimli kullanım için tasarlanmıştır ve betiklerde kullanılmamalıdır. Betikler için, ayrıştırmaya daha uygun kararlı çıktılar üreten apt-get kullanılmalıdır.

Gerekli tüm bölümleri (özellikle root ve /usr) yazma izniyle bağlamayı unutmayın. Bunun için şu komutu kullanabilirsiniz:

# mount -o remount,rw /mountpoint

Ardından, APT kaynak girdilerinin (/etc/apt/sources.list ve /etc/apt/sources.list.d/ altındaki dosyalar) “trixie” veya “stable” sürümünü işaret ettiğini tekrar kontrol edin. bookworm sürümüne işaret eden herhangi bir kaynak girdisi bulunmamalıdır.

Not

CD-ROM kaynak satırlarında “unstable” ifadesi geçebilir; bu şaşırtıcı olsa da değiştirmemelisiniz.

4.4.1. Oturumun kayıt altına alınması

Yükseltme oturumunun bir kaydını tutmak için /usr/bin/script programını kullanmanız önemle tavsiye edilir. Bu sayede bir sorun oluşursa ne olduğunu gösteren bir kayda sahip olur ve gerekirse bir hata raporunda kesin bilgi verebilirsiniz. Kaydı başlatmak için şunu:

# script -T ~/upgrade-trixie-step.time -a ~/upgrade-trixie-step.script

veya bir benzerini kullanabilirsiniz. script komutunu yeniden çalıştırmanız gerekiyorsa (örneğin sistemi yeniden başlatmanız gerekirse), yükseltmenin hangi aşamasını kaydettiğinizi göstermek için farklı adım numaraları kullanın. Kayıt dosyasını /tmp veya /var/tmp gibi geçici dizinlere koymayın; bu dizinlerdeki dosyalar yükseltme veya yeniden başlatma sırasında silinebilir.

Kayıt dosyası, ekrandan kaybolmuş bilgileri tekrar gözden geçirmenizi sağlar. Sisteminizin fiziksel konsolundaysanız, Alt+F2 ile VT2’ye geçin ve oturum açtıktan sonra aşağıdaki komutu kullanın

# less -R ~root/upgrade-trixie.script

bu şekilde dosyayı görüntüleyebilirsiniz.

Yükseltmeyi tamamladıktan sonra, komut isteminde exit yazarak script işlemini durdurabilirsiniz.

apt; değişen paket durumlarını /var/log/apt/history.log dosyasına, terminal çıktısını ise /var/log/apt/term.log dosyasına kaydeder. Ayrıca, dpkg tüm paket durumu değişikliklerini /var/log/dpkg.log içinde kayda geçirir. Eğer aptitude kullanıyorsanız, o da benzer şekilde değişiklikleri /var/log/aptitude dizininde tutacaktır.

If you have used the -T switch for script you can use the scriptreplay program to replay the whole session:

# scriptreplay ~/upgrade-trixie-step.time ~/upgrade-trixie-step.script

4.4.2. Paket listesinin güncellenmesi

İlk olarak, yeni sürümdeki mevcut paketlerin listesini almanız gerekir. Bunun için şu komutu çalıştırın:

# apt update

4.4.3. Yükseltme işlemi için yeterli alanınız olduğundan emin olun

Sistem yükseltmesi bölümünde anlatılan işlemlere başlamadan önce, yeterli sabit disk alanına sahip olduğunuzdan emin olmalısınız. Öncelikle, ağ üzerinden indirilen ve kurulumda kullanılacak paketler /var/cache/apt/archives dizininde (ve indirme sırasında partial/ alt dizininde) saklanır. Bu nedenle, /var/ dizinini içeren dosya sistemi bölümünde, geçici olarak paketlerin indirilebilmesi için yeterli alan bulunmalıdır. Paketler indirildikten sonra, yükseltilmiş paketlerin (daha büyük ikilik dosyalar veya ek veri içerebilir) ve yükseltme sırasında eklenecek yeni paketlerin kurulabilmesi için diğer dosya sistemi bölümlerinde de yeterli boş alan gerekir. Eğer sisteminizde yeterli alan yoksa, geri dönüşü zor olabilecek eksik bir yükseltmeyle karşılaşabilirsiniz.

apt, kurulum sırasında ne kadar disk alanı gerekeceğini size gösterebilir. Yükseltmeyi başlatmadan önce, aşağıdaki komutla bu tahmini görebilirsiniz:

# apt -o APT::Get::Trivial-Only=true full-upgrade
[ ... ]
XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
Need to get xx.xMB of archives.
After this operation, AAAMB of additional disk space will be used.

Not

Yükseltmenin başında bu komutu çalıştırırsanız, sonraki bölümlerde açıklanacak bazı nedenlerle hata alabilirsiniz. Bu durumda, disk alanı tahmini yapmak için önce Minimal sistem yükseltmesi adımını tamamlamanız gerekir.

Yükseltme için yeterli alanınız yoksa, apt şuna benzer bir uyarı mesajı gösterecektir:

E: You don't have enough free space in /var/cache/apt/archives/.

Bu durumda, yükseltmeye başlamadan önce yeterli alan açtığınızdan emin olun. Şunları yapabilirsiniz:

  • Kurulum amacıyla önceden indirilmiş paketleri (/var/cache/apt/archives dizininde bulunurlar) kaldırın. apt clean komutu, bu dizindeki tüm indirilen paket dosyalarını temizleyerek önbelleği sıfırlar.

  • Unutulmuş paketleri kaldırın. Eğer bookworm sürümünde aptitude veya apt kullanarak paketleri elle yüklediyseniz, bu araçlar hangi paketleri sizin elle yüklediğinizi takip etmiş olur. Yalnızca bağımlılık olarak yüklenen ve artık ihtiyaç duyulmayan paketleri gereksiz olarak işaretlerler. Ancak sizin doğrudan yüklediğiniz paketler, kaldırılmak üzere işaretlenmez. Artık kullanılmayan otomatik paketleri kaldırmak için şu komutu çalıştırabilirsiniz:

    # apt autoremove
    

    Gereksiz paketleri belirlemek için debfoster aracını da kullanabilirsiniz. Ancak, özellikle agresif ve öntanımlı olmayan seçenekleri kullanıyorsanız, bu aracın sunduğu paketleri körü körüne kaldırmaktan kaçının, çünkü yanlış pozitif sonuçlar verebilir. Kaldırılması önerilen paketlerin içeriğini, boyutlarını ve açıklamalarını dikkatlice incelemeniz önemle tavsiye edilir.

  • Çok fazla yer kaplayan ve şu anda gerekli olmayan paketleri kaldırın. Yükseltmeden sonra bunları her zaman tekrar yükleyebilirsiniz. Eğer popularity-contest paketi yüklüyse, sisteminizde en çok yer kaplayan ve kullanmadığınız paketleri listelemek için popcon-largest-unused komutunu çalıştırabilirsiniz. En fazla disk alanı kullanan paketleri görmek için dpigs komutunu (bu araç debian-goodies paketinde bulunur) veya wajig size komutunu kullanabilirsiniz. Ayrıca aptitude ile de benzer bir analiz yapılabilir: aptitude komutunu tam ekran (full-terminal) modunda başlatın. Ardından sırasıyla şu adımları izleyin: Görünümler > Yeni Düz Paket Listesi seçeneğini seçin, l tuşuna basın, ardından ~i yazıp onaylayın. Sonra S tuşuna basın ve ~installsize girin. Bu işlem size, üzerinde çalışabileceğiniz kullanışlı bir liste sunacaktır.

  • Gerekli değilse sistemdeki çeviri ve yerelleştirme dosyalarını kaldırabilirsiniz. localepurge paketini yükleyerek, sadece seçtiğiniz birkaç yerel (locale) bilgisinin tutulmasını sağlayacak şekilde yapılandırma yapaabilirsiniz. Bu sayede /usr/share/locale altında kaplanan disk alanı azalır.

  • Sistem günlüklerini /var/log/ altından geçici olarak başka bir sisteme taşıyabilir veya kalıcı olarak silebilirsiniz.

  • Geçici bir /var/cache/apt/archives dizini kullanabilirsiniz. Bunun için başka bir dosya sistemini (örneğin bir USB depolama aygıtı, geçici bir sabit disk ya da halihazırda bağlı bir dosya sistemi) kullanabilirsiniz.

    Not

    Ağ bağlantısının yükseltme sırasında kesilme ihtimaline karşı NFS üzerinden bağlanan dizinleri kullanmayın.

    Örneğin, /media/usbkey üzerine bağlanmış bir USB sürücünüz varsa:

    1. önceden indirilmiş kurulum paketlerini kaldırın:

      # apt clean
      
    2. /var/cache/apt/archives dizinini USB sürücüsüne kopyalayın:

      # cp -ax /var/cache/apt/archives /media/usbkey/
      
    3. geçici önbellek dizinini mevcut dizine bağlayın:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives
      
    4. yükseltme sonrasında orijinal /var/cache/apt/archives dizinini geri yükleyin:

      # umount /var/cache/apt/archives
      
    5. kalan /media/usbkey/archives dizinini silin.

    Geçici önbellek dizinini, sisteminizde bağlı olan herhangi bir dosya sisteminde oluşturabilirsiniz.

  • Minimal sistem yükseltmesi yapabilir ya da kısmi yükseltmelerin ardından tam bir yükseltme gerçekleştirebilirsiniz. Bu, sistemi aşamalı olarak yükseltmenizi ve tam yükseltmeden önce paket önbelleğini temizlemenizi mümkün kılar.

Paketleri güvenle kaldırabilmek için, APT kaynak listesi dosyalarınızı APT kaynak listesi dosyalarının kontrol edilmesi bölümünde açıklandığı gibi tekrar bookworm sürümüne işaret edecek şekilde değiştirmeniz önerilir.

4.4.4. İzleme hizmetlerinin durdurulması

apt bazı çalışan hizmetleri geçici olarak durdurabileceğinden, yükseltme sırasında sonlandırılan hizmetleri yeniden başlatabilecek izleme sistemlerini geçici olarak durdurmak iyi bir fikir olabilir. Debian’da monit bu tür bir hizmete örnektir.

4.4.5. Minimal sistem yükseltmesi

Bazı durumlarda, doğrudan tam yükseltme yapmak (aşağıda açıklandığı gibi), saklamak isteyebileceğiniz çok sayıda paketin kaldırılmasına yol açabilir. Bu nedenle iki aşamalı bir yükseltme süreci öneriyoruz: önce bu çakışmaları aşmak için minimal bir yükseltme, ardından Sistem yükseltmesi bölümünde anlatıldığı gibi tam bir yükseltme.

Bunu yapmak için önce şu komutu çalıştırın:

# apt upgrade --without-new-pkgs

Bu komut, başka paketlerin kaldırılmasını veya yüklenmesini gerektirmeyen paketleri yükseltir.

Minimal sistem yükseltmesi, sistemde yer kısıtı olduğunda ve tam yükseltme yapılamadığında da yararlı olabilir.

Eğer apt-listchanges paketi yüklüyse, (öntanımlı yapılandırmasında) paketleri indirdikten sonra yükseltilen paketlerle ilgili önemli bilgileri bir sayfalayıcıda gösterecektir. Okuduktan sonra q tuşuna basarak sayfalayıcıdan çıkabilir ve yükseltmeye devam edebilirsiniz.

4.4.6. Sistemin yükseltilmesi

Önceki adımları tamamladıktan sonra, yükseltmenin ana aşamasına geçmeye hazırsınız. Şu komutu çalıştırın:

# apt full-upgrade

Bu komut, sistemin tam bir yükseltmesini gerçekleştirecek, tüm paketlerin mevcut en yeni sürümlerini yükleyecek ve farklı sürümlerdeki paketler arasındaki tüm bağımlılık değişikliklerini uyarlayacaktır. Gerekirse, bazı yeni paketler (genellikle yeni kütüphane sürümleri veya yeniden adlandırılmış paketler) yükleyecek ve çakışan eski paketleri kaldıracaktır.

CD/DVD/BD gruplarından yükseltme yaparken, yükseltme sırasında belirli diskleri takmanız istenebilir. Aynı diski birden fazla kez takmanız gerekebilir; bu, diskler arasında yayılmış birbirleriyle ilişkili paketlerden kaynaklanmaktadır.

Başka bir paketin kurulum durumunu değiştirmeden yükseltilemeyen mevcut paketlerin yeni sürümleri mevcut sürümlerinde bırakılacaktır (“held back” - tutulmuş) olarak gösterilir). Bu durum, aptitude kullanarak bu paketleri kurulum için seçerek ya da apt install paket_adı komutunu deneyerek çözülebilir.

4.5. Yükseltme sırasındaki olası sorunlar

Aşağıdaki bölümlerde, trixie sürümüne yükseltme sırasında karşılaşılabilecek bilinen sorunlar açıklanmıştır.

4.5.1. Tam yükseltme ‘Could not perform immediate configuration’ hatasıyla başarısız oluyor

Bazı durumlarda apt full-upgrade adımı, paketler indirildikten sonra şu hata ile başarısız olabilir:

E: Could not perform immediate configuration on 'package'.  Please see man 5 apt.conf under APT::Immediate-Configure for details.

Bu durumda, apt full-upgrade -o APT::Immediate-Configure=0 komutu yükseltmenin devam etmesini sağlayacaktır.

Bu soruna başka bir geçici çözüm ise APT kaynak listesi dosyalarınıza hem bookworm hem de trixie kaynaklarını eklemek ve apt update komutunu çalıştırmaktır.

4.5.2. Beklenen paket kaldırmaları

trixie sürümüne yükseltme sırasında bazı paketlerin kaldırılması gerekebilir. Kaldırılacak paketlerin kesin listesi, sisteminizde yüklü olan paketlere göre değişiklik gösterecektir. Bu sürüm notları, söz konusu kaldırmalar hakkında genel tavsiyeler sunar, emin değilseniz, devam etmeden önce kullanılan her yöntemin önerdiği paket kaldırmalarını incelemeniz önerilir. trixie sürümünde artık kullanılmayan paketler hakkında daha fazla bilgi için Eskimiş paketler bölümüne bakabilirsiniz.

4.5.3. Çakışmalar ve Ön-Bağımlılık döngüleri

Bazen bir Çakışma/Ön Bağımlılık döngüsü nedeniyle temel bir paketi geçici olarak kaldırabilmek için APT’de APT::Force-LoopBreak seçeneğini etkinleştirmek gerekebilir. apt bu durumda sizi uyaracak ve yükseltmeyi durduracaktır. Bu sorunu apt komut satırına -o APT::Force-LoopBreak=1 seçeneğini ekleyerek çözebilirsiniz.

Bazen bir sistemin bağımlılık yapısı, elle müdahale gerektirecek kadar bozulmuş olabilir. Genellikle bu durumda sorun çıkaran paketleri ortadan kaldırmak için apt veya

# dpkg --remove package_name

kullanmanız gerekebilir. Ya da

# apt -f install
# dpkg --configure --pending

Aşırı durumlarda, aşağıdaki gibi bir komutla zorunlu yeniden kurulum yapmanız gerekebilir

# dpkg --install /path/to/package_name.deb

4.5.4. Dosya çakışmaları

“Temiz” bir bookworm sisteminden yükseltme yapıyorsanız dosya çakışmaları yaşanmamalıdır, ancak resmi olmayan geri taşımalar yüklüyse bu çakışmalar ortaya çıkabilir. Bir dosya çakışması şu şekilde bir hatayla sonuçlanacaktır:

Unpacking <package-foo> (from <package-foo-file>) ...
dpkg: error processing <package-foo> (--install):
trying to overwrite `<some-file-name>',
which is also in package <package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
<package-foo>

Bu çakışmayı çözmek için hata mesajının son satırında belirtilen paketi zorla kaldırmayı deneyebilirsiniz:

# dpkg -r --force-depends package_name

Sorunları çözdükten sonra, daha önce anlatılan apt komutlarını tekrar çalıştırarak yükseltmeye devam edebilirsiniz.

4.5.5. Yapılandırma değişiklikleri

Yükseltme sırasında, çeşitli paketlerin yapılandırılması veya yeniden yapılandırılmasıyla ilgili sorular sorulacaktır. /etc/init.d dizinindeki bir dosyanın veya /etc/manpath.config dosyasının, paket bakımcısının sunduğu yeni sürümle değiştirilip değiştirilmeyeceği sorulduğunda, sistem tutarlılığı için genellikle “evet” demeniz gerekir. Eski sürümler .dpkg-old uzantısıyla saklanır, böylece gerektiğinde geri dönebilirsiniz.

Ne yapacağınızdan emin değilseniz, paket veya dosya adını not alın ve daha sonra kontrol edin. Yükseltme sırasında ekranda görünen bilgileri tekrar incelemek için kayıt dosyasında arama yapabilirsiniz.

4.5.6. Uçbirim oturumuna geçiş

Yükseltmeyi sistemin yerel uçbiriminden yapıyorsanız, işlem sırasında bazı noktalarda uçbirim farklı bir görünüme geçebilir ve yükseltme sürecini göremeyebilirsiniz. Örneğin, bu durum grafik arayüze sahip sistemlerde görüntü yöneticisi yeniden başlatıldığında meydana gelebilir.

Yükseltmenin yapıldığı konsola dönmek için, grafik arayüzdeyseniz Ctrl+Alt+F1, metin tabanlı uçbirimdeyseniz Alt+F1 tuşlarına basarak sanal terminal 1’e geçebilirsiniz. Yükseltmenin hangi terminalde çalıştığını biliyorsanız, F1 yerine o terminal numarasına karşılık gelen tuşu kullanın. Ayrıca Alt+Sol Ok veya Alt+Sağ Ok tuşlarıyla da terminaller arasında geçiş yapabilirsiniz.

4.7. Bir sonraki sürüme hazırlanma

Yükseltmeden sonra, bir sonraki sürüme hazırlanmak için yapabileceğiniz birkaç şey daha vardır.

4.7.1. Kaldırılan paketlerin temizlenmesi

Kaldırılmış paketleri tamamen temizlemek, genellikle önerilen bir uygulamadır. Bu özellikle, daha önceki bir sürüm yükseltmesi sırasında (örneğin bookworm sürümüne geçerken) kaldırılmış olan veya üçüncü taraf kaynaklardan gelen paketler için geçerlidir. Özellikle eski init.d betiklerinin sorunlara neden olduğu bilinmektedir.

Uyarı

Bir paketi tamamen temizlemek, genellikle o pakete ait günlük dosyalarının da silinmesine yol açar, bu nedenle önce bu dosyaları yedeklemek isteyebilirsiniz.

Aşağıdaki komut, (varsa) sistemde yapılandırma dosyaları kalmış olan kaldırılmış paketleri listeler:

$ apt list '~c'

Paketler apt purge komutu kullanılarak kaldırılabilir. Hepsini tek seferde temizlemek isterseniz şu komutu kullanabilirsiniz:

# apt purge '~c'

4.8. Eskimiş paketler

trixie birçok yeni paketi beraberinde getirirken, bookworm sürümünde bulunan pek çok eski paketi de artık içermemektedir. Bu eskiyen paketler için bir yükseltme yolu sağlanmamaktadır. İstenirse bu eski paketleri kullanmaya devam etmenize bir engel olmasa da, Debian projesi bu paketler için güvenlik desteğini genellikle trixie’in çıkışından [5] bir yıl sonra sonlandıracaktır ve bu süre zarfında başka bir destek sağlanması da beklenmemelidir. Mümkünse mevcut alternatiflerle değiştirilmesi önerilir.

Paketlerin dağıtımdan kaldırılmasının pek çok nedeni olabilir: yukarı akışta (upstream) artık bakım görmüyor olabilirler; Debian geliştiricileri arasında ilgilenen kalmamış olabilir; sağladıkları işlev başka yazılımlarla (veya yeni sürümlerle) yer değiştirmiş olabilir; ya da içerdiği hatalar nedeniyle artık trixie sürümüne uygun görülmüyor olabilirler. Son durumda, paketler hala “unstable” dağıtımında bulunabilir.

“Eskimiş ve Yerel Olarak Oluşturulmuş Paketler” komut satırından şu şekilde listelenip temizlenebilir:

$ apt list '~o'
# apt purge '~o'

Debian Hata Takip Sistemi bir paketin neden kaldırıldığına dair ek bilgiler sağlayabilir. Hem söz konusu pakete ait arşivlenmiş hata raporlarını hem de ftp.debian.org sözde-paketine ait hata raporlarını incelemeniz önerilir.

trixie sürümündeki eskimiş paketlerin listesi için Önemli eskimiş paketler bölümüne bakabilirsiniz.

4.8.1. Geçiş amacıyla kullanılan yer tutucu (transitional) paketler

bookworm sürümündeki bazı paketler, trixie sürümünde geçiş amacıyla kullanılan boş yer tutucu paketlerle (transitional dummy packages) değiştirilmiş olabilir. Bu paketler, yükseltmeyi kolaylaştırmak için tasarlanmıştır. Örneğin, önceden tek bir paket olarak sunulan bir uygulama artık birden fazla pakete bölündüyse, eski paketin adıyla bir geçiş paketi oluşturulabilir ve bu paket, gerekli bağımlılıkları aracılığıyla yeni paketlerin kurulmasını sağlayabilir. Bu işlem tamamlandıktan sonra, artık gereksiz hale gelen yer tutucu paket güvenle kaldırılabilir.

Geçiş amacıyla kullanılan yer tutucu paketlerin açıklamaları genellikle ne işe yaradıklarını belirtir. Ancak bu açıklamalar her zaman aynı biçimde değildir; özellikle bazı “yer tutucu” paketler, eksiksiz bir yazılım paketini sisteme getirmek veya bir programın en güncel sürümünü takip etmek amacıyla sistemde yüklü kalacak şekilde tasarlanmıştır.