პრაქტიკული გზამკვლევი / Ubuntu-ის ვერსია და არქიტექტურა

Ubuntu-ის ვერსია და არქიტექტურა: შეამოწმეთ იმიჯი

Ubuntu-ის იმიჯი შეარჩიეთ მთელი აპლიკაციის მიხედვით: ოპერაციული სისტემა, runtime, მონაცემთა ბაზა, native extensions, სარეზერვო ასლები და monitoring. ერთი კომპონენტის გაშვება სრული მხარდაჭერის მტკიცებულება არ არის.

· განახლებულია · წაკითხვა დაახლოებით 4 წუთში

გზამკვლევის შინაარსი

ჯერ შეადგინეთ თავსებადობის სია

გამიჯნეთ მომწოდებლის მიერ მხარდაჭერილი და თქვენს ტესტში უბრალოდ გაშვებული ვერსიები. Ubuntu 24.04-ის საწყის არქივში შედის Python 3.12, PHP 8.3 და PostgreSQL 16; კონკრეტული patch ვერსია განახლებებთან ერთად იცვლება.

შეამოწმეთ აპლიკაცია, პანელი, ბაზის extensions, backup agent და monitoring. Ubuntu LTS-ის მხარდაჭერის ცხრილი ოპერაციული სისტემის საწყისი ორიენტირია და მესამე მხარის ყველა პროგრამის მხარდაჭერას არ ნიშნავს.

დაადგინეთ გამოშვება და არქიტექტურა

cat /etc/os-release
uname -r
dpkg --print-architecture
uname -m

პატარა ეკრანზე ყველა სვეტის სანახავად ცხრილი ჰორიზონტალურად გადაახვიეთ.

შედეგირას ნიშნავს
VERSION_IDდაყენებული Ubuntu-ის გამოშვება
uname-ის kernel ვერსიამიმდინარე ბირთვი და არა დისტრიბუტივის მხარდაჭერის ვადა
amd64 ან x86_64x86-ის 64-ბიტიანი არქიტექტურა
arm64 ან aarch64Arm-ის 64-ბიტიანი არქიტექტურა

Native binary, extension ან image უნდა შეესაბამებოდეს არქიტექტურას, ან მას შესაბამისი build დასჭირდება. SSH-ში შესვლა ასეთი თავსებადობის ტესტი არ არის.

გამოიკვლიეთ cloud-init-ის მდგომარეობა

if command -v cloud-init >/dev/null 2>&1; then
    cloud-init status --long
else
    printf '%s\n' 'cloud-init is not installed; check the provider provisioning method.'
fi

cloud-init-ის არსებობა ან არყოფნა თავისთავად გაუმართაობას არ ნიშნავს; გაითვალისწინეთ იმიჯის provisioning მეთოდი. Running მდგომარეობისას დაელოდეთ; error ან degraded შედეგი გამოიკვლიეთ.

sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.log

Logs-ის გაზიარებამდე დაფარეთ საიდუმლო მონაცემები. cloud-init clean-ის გაშვება ან ქსელის configuration-ის შეცვლა შეცდომის დასამალად არ გამოიყენოთ. Provisioning-ის დასრულებასა და აპლიკაციის ჯანმრთელობას ცალ-ცალკე ამოწმებთ.

გადაამოწმეთ პაკეტების კანდიდატები

sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16

apt update განაახლებს პაკეტების ინდექსს და პროგრამებს არ აყენებს. შეადარეთ installed და candidate ვერსიები და მათი repository. Installed: none ნიშნავს, რომ პაკეტი დაყენებული არ არის; Candidate: none ნიშნავს, რომ ამ სახელით კანდიდატი ვერ მოიძებნა.

შეამოწმეთ პაკეტის სახელი, არქიტექტურა და საჭირო repository component. შემთხვევითი გარე საცავი პრობლემის ავტომატური გამოსავალი არ არის. Metapackage და ვერსიიანი პაკეტი შეიძლება სხვადასხვა სახელით ჩანდეს.

პროგრამის executable ვერსიაც გადაამოწმეთ. მონაცემთა ბაზის client-ის ვერსია გაშვებული database server-ის ვერსიას არ ადასტურებს.

გაარჩიეთ ვერსიისა და არქიტექტურის პრობლემა

წარმოვიდგინოთ აპლიკაცია, რომელსაც Python 3.10 და მხოლოდ amd64-ზე არსებული native extension სჭირდება. Ubuntu 24.04 arm64-ზე ორი შეუსაბამობაა. amd64 იმიჯზე გადასვლა არქიტექტურას მოაგვარებს, მაგრამ Python-ის მოთხოვნას თავისთავად ვერ შეცვლის.

Python-ის virtual environment ინტერპრეტატორის ვერსიას არ ცვლის. სისტემური Python არ ჩაანაცვლოთ აპლიკაციის მოთხოვნის დასაკმაყოფილებლად. შეადარეთ აპლიკაციის განახლება, მხარდაჭერილი runtime ან შესაბამისი კონტეინერი. ძველი OS-ის არჩევას შენარჩუნების გეგმაც სჭირდება.

ცალკე გარემოში გამოსცადეთ extension, database operation, ფონური დავალება და backup. მხოლოდ მთავარი გვერდის გახსნა არასაკმარისია.

კონტეინერსაც სჭირდება მხარდაჭერილი გარემო

კონტეინერი დამოკიდებულია host kernel-ზე, ქსელსა და საცავზე. გამოიყენეთ შესაბამისი native architecture image; emulation-ის მხარდაჭერა და წარმადობა ცალკე შეამოწმეთ. Persistent volumes-ის ასლი კონტეინერის იმიჯისგან დამოუკიდებელია.

Image digest-ის დაფიქსირება განმეორებადობას ეხმარება, მაგრამ updates-ის პროცესი მაინც საჭიროა. დაუცველი ვერსიის მუდმივად შენარჩუნება გამოსავალი არ არის. Ubuntu Main-ის სტანდარტული მხარდაჭერა და Ubuntu Pro-ს გაფართოებული დაფარვა მესამე მხარის repository-ის პასუხისმგებლობას არ ცვლის.

დაგეგმეთ updates და დიდი განახლება

apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fi

პაკეტების სიამდე განახლებული ინდექსი გჭირდებათ. შეამოწმეთ failed services და reboot-ის საჭიროების ჩანაწერი; ასეთი ფაილის არყოფნა სრულად განახლებულ სისტემას არ ადასტურებს. მომსახურების ფანჯარაში გაითვალისწინეთ სერვისების restart.

Release upgrade ჯერ ასლზე გამოსცადეთ: runtime, database, extensions, repositories და data migration. დაგეგმეთ საბოლოო სინქრონიზაცია და უკან დაბრუნება. განახლებამდე snapshot ვერ აღადგენს იმ შეკვეთებს, რომლებიც snapshot-ის შემდეგ მიიღეთ.

დატოვეთ გამეორებადი ჩანაწერი

შეინახეთ OS release, architecture, kernel და provider image; აპლიკაციის build, runtime, dependency lockfiles და repositories; provisioning ნაბიჯები საიდუმლო მონაცემების გარეშე.

მიუთითეთ ტესტის შედეგები და დარჩენილი ხარვეზები, განახლების პასუხისმგებელი პირი, სამუშაო ფანჯარა და alerts. აღწერეთ, სად ინახება backup, როგორ აღდგება და ბოლოს როდის შემოწმდა. შემდეგ გადადით Ubuntu VPS-ის გამართვაზე.

ხშირი კითხვები

Ubuntu 24.04 ყოველთვის საუკეთესო არჩევანია?

არა. საჭიროა მხარდაჭერილი გამოშვება, რომელიც აპლიკაციას, პანელსა და მის dependencies-ს შეესაბამება.

Reinstall და release upgrade ერთი რამ არის?

არა. Reinstall შეიძლება არსებულ დისკს გადააწეროს; in-place upgrade არსებულ სისტემას ცვლის. ორივესთვის საჭიროა გადამოწმებული ასლი და აღდგენის გეგმა.

ბრძანებები იმიჯისა და პაკეტების შესამოწმებლადაა. გამოშვების არჩევა სრული აპლიკაციის ტესტზე და მოქმედ მხარდაჭერაზე დააფუძნეთ.

ოფიციალური წყაროები

  1. დოკუმენტაცია 1: discourse.ubuntu.com
  2. დოკუმენტაცია 2: ubuntu.com
  3. დოკუმენტაცია 3: docs.cloud-init.io
  4. დოკუმენტაცია 4: manpages.ubuntu.com
  5. დოკუმენტაცია 5: docs.python.org
  6. დოკუმენტაცია 6: ubuntu.com

დაკავშირებული გზამკვლევები

01 / გზამკვლევი

Ubuntu VPS-ის გამართვა პირველი HTTPS-საიტისთვის

Ubuntu VPS-ის გამართვა 24.04 LTS-ზე: SSH-გასაღებები, ცალკე ადმინისტრატორი, Nginx, DNS და HTTPS. შეამოწმეთ სერტიფიკატის განახლება და გადატვირთვა.

წაიკითხეთ გზამკვლევი ↗
02 / გზამკვლევი

Linux VPS: არჩევანი რეალური დატვირთვის მიხედვით

შეადარეთ Linux VPS რეალური დატვირთვით. გაზომეთ მეხსიერება, CPU, დისკი და ქსელი, შემდეგ გამოთვალეთ სრული ხარჯი და აღდგენის მოთხოვნები.

წაიკითხეთ გზამკვლევი ↗
03 / გზამკვლევი

VPS-ის სარეზერვო ასლი და აღდგენა: გამოსცადეთ პროცესი

VPS-ის სარეზერვო ასლი და აღდგენა tar-ით, SSH-ითა და SHA-256-ით. აღადგინეთ სტატიკური გვერდი და Nginx-ის ფაილი ცალკე ცარიელ საქაღალდეში.

წაიკითხეთ გზამკვლევი ↗