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 is moving to a different format for configuring where it downloads packages from. The files /etc/apt/sources.list and *.list files in /etc/apt/sources.list.d/ are replaced by files still in that directory but with names ending in .sources, using the new, more readable (deb822 style) format. For details see sources.list(5). Examples of APT configurations in these notes will be given in the new deb822 format.

If your system is using multiple sources files then you will need to ensure they stay consistent.

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ı

While regular Debian Backports are supported, there is no clean upgrade path from sloppy backports (which use APT sources entries referencing bookworm-backports-sloppy).

As with Unofficial sources, users are advised to remove “bookworm-backports” entries from their APT sources files before the upgrade. After it is completed, they may consider adding “trixie-backports” (see 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ı

You should make sure the package database is ready before proceeding with the upgrade. If you are a user of another package manager like aptitude or synaptic, review any pending actions. A package scheduled for installation or removal might interfere with the upgrade procedure. Note that correcting this is only possible if your APT sources files still point to “bookworm” and not to “stable” or “trixie”; see Checking your APT configuration.

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

If you have non-free firmware installed it is recommended to add non-free-firmware to your APT sources.

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

If you have listed the proposed-updates section in your APT sources files, you should remove it before attempting to upgrade your system. This is a precaution to reduce the likelihood of conflicts.

4.2.10. Resmi olmayan kaynaklar

If you have any non-Debian packages on your system, you should be aware that these may be removed during the upgrade because of conflicting dependencies. If these packages were installed by adding an extra package archive in your APT sources files, you should check if that archive also offers packages compiled for trixie and change the source item accordingly at the same time as your source items for Debian packages.

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.

If there is anything you need to fix, it is best to make sure your APT sources files still refer to bookworm as explained in Checking your APT configuration.

4.3. Preparing APT sources files

Before starting the upgrade you must reconfigure APT to add sources for trixie and typically remove sources for bookworm.

As mentioned in “Saf” Debian ile başlayın, we recommend that you use the new deb822-style format, so you would have to replace /etc/apt/sources.list and any *.list files in /etc/apt/sources.list.d/ by only one file named debian.sources in /etc/apt/sources.list.d/ (if you haven’t done so already). An example is given below of how this file should typically look.

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.

To make use of the CDN service, the correct configuration for APT (assuming you are using main and non-free-firmware) is the following in /etc/apt/sources.list.d/debian.sources:

Types: deb
URIs: https://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Make sure to remove any of the old sources files.

However, if you get better results using a specific mirror that is close to you in network terms instead of the CDN service, then the mirror URI can be substituted in the URIs line as (for instance) “URIs: https://mirrors.kernel.org/debian”.

If you want to use packages from the contrib or non-free components, you may add these names to all the Components: lines.

After adding your new sources, disable the previously existing archive entries in the APT sources files by placing a hash sign (#) in front of them.

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

Instead of using remote package mirrors, you may wish to modify the APT sources files to use a mirror on a local disk (possibly mounted over NFS).

Ö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/...

To use this with apt, add the following to your /etc/apt/sources.list.d/debian.sources file:

Types: deb
URIs: file:/var/local/debian
Suites: trixie
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

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

4.3.3. Optik ortamdan APT kaynakları ekleme

If you want to use only DVDs (or CDs or Blu-ray Discs), comment out the existing entries in all the APT sources files by placing a hash sign (#) in front of them.

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

Next you should double-check that the APT sources entries (in files under /etc/apt/sources.list.d/) refer either to “trixie” or to “stable”. There should not be any sources entries pointing to bookworm.

Not

Sources lines for a CD-ROM might sometimes refer to “unstable”; although this may be confusing, you should not change it.

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

apt will log the changed package states in /var/log/apt/history.log and the terminal output in /var/log/apt/term.log. dpkg will, in addition, log all package state changes in /var/log/dpkg.log. If you use aptitude, it will also log state changes in /var/log/aptitude.

If a problem occurs, you will have a log of what happened, and if needed, can provide exact information in a bug report.

The term.log will also allow you to review information that has scrolled off-screen. If you are at the system’s console, just switch to VT2 (using Alt+F2) to review it.

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.

Note that in order to safely remove packages, it is advisable to switch your APT sources files back to bookworm as described in Checking your APT configuration.

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.

Another possible workaround for this problem is to temporarily add both bookworm and trixie sources to your APT sources files and run apt update.

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.