Draqon
Aktif Üye
Raspberry Pi OS: Bullseye'dan Bookworm'a yükseltmeye cesaret edin
Debian Bullseye (Debian 11) tabanlı olanlar gibi eski Raspbian veya Raspberry Pi işletim sistemi sürümlerini daha uzun destekli daha yeni Bookworm tabanına (Debian 12) yükseltmek istiyorsanız, işletim sistemini yeniden yükleyerek bunu kolayca yapabilirsiniz. Ancak, kendi yazdığı veya özelleştirilmiş komut dosyaları ve yazılımları kullanan herkes, her şeyi yeniden ayarlamak zorunda kalma sorunuyla karşı karşıyadır. Ancak zanaat çözümlerinin belgelenmemesi veya unutkanlık nedeniyle bu bazen imkansız bir iştir.
Reklamcılık
Bu gibi durumlarda Raspberry Pi kullanıcıları, mevcut kurulumu daha iyi ve her şeyden önemlisi daha uzun destekle güncel hale getirmek için InPlace yükseltmesini kullanmayı deneyebilir. Bu prosedür tehlikesiz değildir; Paket kaynaklarını Bookworm'a çevirip yükseltmeye çalışırsanız, büyük olasılıkla sistemi yok edeceksiniz. İnternette çalışan bir yükseltme için bazı talimatlar vardır. Makale, amacımıza başarıyla ulaşan komutları ve sırayı belgeliyor. Bununla birlikte, açık not: Bu yükseltme çeşidi açıkça resmi olarak tavsiye edilen versiyon değildir ve başarısız olabilir!
Yedekleme zorunludur!
Bu nedenle, daha önce kullanılan yazılım sürümlerinin yedeğinin alınması her şeyden önce zorunludur. Bunu yapmak için Raspi'yi kullanarak sürüyorsunuz sudo shutdown -h now programa göre indirilir; bu, veritabanlarında veya dosya sistemlerinde hiçbir tutarsızlığın görünmemesi gerektiği anlamına gelir. SD kartın içeriği, Win32Imager aracı kullanılarak Windows altında bir IMG dosyasına aktarılabilir. Linux'ta komut bunu yapar sudo dd if=/dev/sd<Buchstabe> of=~/raspi-backup.imgSD cihazının SD karta karşılık geldiği yer. Bir hata durumunda eski sistem hızlı bir şekilde geri yüklenebilir ve çalışır duruma getirilebilir.
Gerçek geçiş biraz sabırla ve komut satırında birkaç komutla yapılabilir. Öncelikle çalışan Raspberry Pi işletim sisteminin güncellenmesi gerekmektedir. Komutlar bunu yapar sudo apt-get update && sudo apt-get dist-upgrade.
Yükseltmeyi başlat
Paket kaynaklarındaki “Bullseye” girişinin artık “Kitapkurdu” olarak değiştirilmesi gerekiyor. Dosyaları manuel olarak düzenleyebilir veya komutları kullanarak rahatlıkla yapabilirsiniz.
sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/raspi.list
Yükseltmenin kendisi komutlar kullanılarak yapılır
sudo apt update
sudo apt -y full-upgrade
sudo apt -y clean
sudo apt -y autoremove
Bunlar ayrıca “&&” kullanılarak da bağlanabilir, böylece temizleme işlemi yükseltme kurulduktan hemen sonra gerçekleşir. Arada, örneğin önceden değiştirilmiş konfigürasyon dosyalarının alışverişi ile ilgili olarak “-y” anahtarı tarafından engellenmeyen sorgular yapılır. Testte, yıllar geçtikçe büyüyen bir sistemde bile bunu değiştirmek sorun değildi; örneğin SSH veya kullanıcı dosyaları endişe kaynağıydı, ancak oluşturulan hesaplarla SSH aracılığıyla oturum açmak hâlâ mümkündü güncellemeden sonra. İnternet bağlantınıza bağlı olarak güncelleme birkaç saat sürebilir.
Test sırasında, görünüşe göre bu süre zarfında kaynaklarda bir veya iki paket zaten güncellenmişti, dolayısıyla hata mesajları vardı. Ancak hata mesajları genellikle durumu düzeltmek için kullanılabilecek bir komuttan da bahseder. Bizim durumumuzda yine yardımcı oldu sudo apt update başlamak için. Merak etmeyin, halihazırda güncellenen paketler tekrar indirilip dokunulmayacak, süreç çok daha hızlıydı.
Yükseltme artık herhangi bir hata mesajı olmadan büyük ölçüde tamamlandıysa, artık ilk yeniden başlatma gereklidir. Bu bitti sudo reboot komut satırında.
Temizleme ve ürün yazılımı ve çekirdek güncellemeleri
Yeniden başlattıktan sonra oturum açtıktan sonra temizler sudo apt purge ?config-files sistemdeki eski yapılandırma dosyalarını. Siparişler
sudo dpkg --purge --force-depends raspberrypi-kernel raspberrypi-bootloader
sudo umount /boot
sudo fsck -y /boot
sudo mkdir /boot/firmware
sudo sed -i.bak -e "s#boot#boot/firmware#" /etc/fstab
sudo systemctl daemon-reload
sudo mount /boot/firmware
sudo apt install raspi-firmware
eski bellenimi sistemden atın, önyükleme bölümünü yeniden biçimlendirin ve mevcut bellenimi buraya yükleyin. Şimdi mevcut çekirdeği kurmanın zamanı geldi. Bu, hangi Raspberry Pi'yi kullandığınıza bağlıdır. V6 çekirdeği, Raspberry 3b'den v7l sürümü ve Raspberry Pi 4'ten 64 bit v8 sürümü olmak üzere tüm cihazlarda çalışmalıdır.
Yani güvenli sürüm:
sudo apt install linux-image-rpi-v6 linux-headers-rpi-v6
Daha yeni bir Raspi kullanıyorsanız daha yeni v7l çekirdeğini kullanabilirsiniz:
sudo apt install linux-image-rpi-v7l linux-headers-rpi-v7l
64-bit Raspis bu çekirdekle en iyi şekilde çalışırken:
sudo apt install linux-image-rpi-v8 linux-headers-rpi-v8
Son olarak, önyükleme için yapılandırma dosyası, bir initramfs dosyasının otomatik aramasını etkinleştirmek için bir giriş gerektirir; bu, Kitapkurdu tabanlı 2023 sürümünden bu yana bir yeniliktir:
sudo sed -i.bak '$ aauto_initramfs=1' /boot/firmware/config.txt
Başka bir yeniden başlatma daha sonra yeni çekirdeği başlatır:
sudo reboot
Raspberry Pi artık yeni Kitapkurdu tabanlı Raspberry Pi işletim sistemiyle çalışmalıdır. Eski komut dosyaları da çalışmaya devam etmeli, hatta cron işleri korunmalıdır. Python yorumlayıcısına yapılan çağrının hala komut dosyalarımızda ayarlanması gerekiyordu. İlk kod satırındaki referans, sürümün açık bir şekilde adlandırılmasını gerektirir; örneğin
#!/usr/bin/env python3
apt'tan uyarılar
Yazılımın kullanımdan kaldırılmasının “apt” ile eriştiği depoların anahtarları artık farklı şekilde düzenlenmiştir. Daha önce hepsi tek bir dosyadaydı, /etc/apt/trusted.gpg. Artık depo başına bir anahtar dosyası var /etc/apt/trusted.gpg.d/. apt bu nedenle uyarı mesajları verebilir. Bunlar test sisteminde aşağıdaki gibi ele alınabilir.
İlk olarak, standart depolara ait anahtarların indirilmesi ve anahtar yönetimine aktarılması gerekiyordu:
wget http://raspbian.raspberrypi.org/raspbian.public.key -O - | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/raspbian.gpg --import
wget https://archive.raspberrypi.org/debian/raspberrypi.gpg.key -O - | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/archive-raspbian.gpg --import
Bir sonraki adım eski anahtar dosyasını temizlemektir. çağrısı
sudo apt-key list
Depolarda bulunan anahtarları gösterir. Komut, artık indirilen ve içe aktarılan iki anahtarın yerini alan eski anahtarları siler.
sudo apt-key del "<nummer>"
burada sayı sırasıyla list komutu tarafından raspbian.gpg'ye ve archive-raspbian.gpg'ye görüntülenen uzun dizelerdir. Bookworm/InRelease anahtarı eski anahtar dosyasında kalır. Bu, gelen çağrı nedeniyle ertelendi
sudo mv /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/bookworm_InRelease.gpg
doğru yere koyun ve ona doğru adı verin. Son olarak anahtar dosyaların hakları ve sahipleri uygun şekilde atanmalıdır. Bunlar dizindeki tek tek dosyalar içindir
sudo chown _apt:root /etc/apt/trusted.gpg.d/raspbian.gpg
sudo chmod 644 /etc/apt/trusted.gpg.d/raspbian.gpg
Bu işlemin diğer iki dosya için ve girdiyseniz diğer depolar için tekrarlanması gerekir. Daha sonra apt ifadeleri sistemimizde uyarı mesajları olmadan çalışır.
Bununla birlikte, internette arama yaptıktan sonra bile çözüm bulunamayan başka karmaşık sorunlar ortaya çıkarsa, eski, çalıştırılabilir sürümün hızlı bir şekilde geri yüklenebileceği bir yedekleme hala mevcuttur.
(DMK)