Abonelik uyarısını kaldıran komut: en yaygın tek satır, en sessiz hasar

Kurulumdan sonra herkesin karşılaştığı ilk şey abonelik uyarısı, ve herkesin bulduğu ilk çözüm tek satırlık bir komut. O komutun yaygın hâli ölçüldü: arayüz kütüphanesinin tamamını bozabiliyor.

AtlasPVE ·

Bu madde şunları karşılıyor

  • proxmox abonelik uyarısı kaldırma
  • proxmox no valid subscription
  • proxmox post install script
  • proxmox kurulumdan sonra ne yapmalı
  • proxmox nag remove

Proxmox'u kurdunuz, giriş yaptınız ve karşınıza abonelik uyarısı çıktı. Rahatsız edici, çünkü her girişte tekrar ediyor. Aratıyorsunuz ve tek satırlık bir komut buluyorsunuz. Çalışıyor gibi görünüyor.

Bu madde o komut hakkında, ama asıl konusu komut değil: anlamadığınız bir şeyi yapıştırmanın sessiz maliyeti.

Ölçülen hata

Yaygın dolaşan tek satırın içinde gerçek bir kusur var ve kusur ince.

Metin değiştiren klasik araçların temel düzenli ifadesinde ters bölü ile yazılan boru işareti, düz bir karakter değil alternatif operatörüdür. Arayüz kodundaki koşul iki boru içeriyor ve komut onları olduğu gibi kaçırınca, iki alternatif operatörünün arasında boş bir alternatif doğuyor.

Boş alternatif dosyanın her konumunda eşleşir. "Tümünü değiştir" ile birlikte çalıştırıldığında, ifade dosyanın tamamına değişiklik serpiyor.

Bu bir tahmin değil. Gerçek dosyanın bir kopyası üzerinde ölçüldü: 26458 satırın 26458'i değişti, dosyadaki false sayısı 558'den 26458'e çıktı. Yani o komutu çalıştıran yönetici, Proxmox arayüz kütüphanesini komple bozardı.

Üstelik ikinci bir sorun daha var: hedeflenen koşul tek satırda durmuyor, Proxmox onu altı satıra yaymış. Satır satır çalışan bir araç zaten onu doğru şekilde hiç eşleyemezdi.

Neden kimse fark etmedi

Çünkü hasar sessiz. Komut hata vermiyor, ekranda bir şey kırmızı yanmıyor. Arayüz bir süre çalışmaya devam edebiliyor, sorun sonra çıkıyor ve o an kimse "geçen hafta yapıştırdığım komut" ile bağlantı kurmuyor.

Buradan çıkan genel ders şu: "herkeste çalışıyor" bir kanıt değildir. Çoğu zaman yalnızca kimsenin bakmadığının kanıtıdır.

Bu sınıftaki her değişiklik için dört kural

Sistem dosyasına dokunan her işlem, kim yaparsa yapsın, şu dördünü taşımalı.

Yedek bir kez alınır ve üstüne yazılmaz. Her çalıştırmada yedeği tazelemek, ikinci çalıştırmada bozuk hâli yedeklemek demektir.

Nişan dar olur. Hedeflenen metin gerçekten değiştiyse işlem yapılmaz. Tahminle en yakınını değiştirmek, hiç değiştirmemekten kötüdür.

Yazdıktan sonra geri okunur. Beklenen sonuç çıkmadıysa yedek geri yüklenir. Yazma işleminin hata vermemesi, doğru şeyi yazdığı anlamına gelmez.

İz bırakılır. "Bu dosya yamalı mı" sorusu tahminle değil, konulan işaretin varlığıyla cevaplanmalı.

Kimsenin düşünmediği hâl: yedek zaten bozuksa

Dördünü de yapsanız bir açık kalıyor. Ya daha önce başka bir araç dosyayı bozmuşsa ve siz yedeği ondan sonra aldıysanız?

O zaman geri alma işlemi bozuk dosyayı geri getirir ve siz düzelttiğinizi sanırsınız. Bu yüzden geri alma da doğrulanmalı: orijinal gerçekten geri geldi mi, yoksa yedeğin kendisi de yamalı mıydı?

Bu, kurulu bir makineyle çalışırken sürekli sorulması gereken sorunun bir örneği: temiz kurulumda değil, eski durumu taşıyan makinede ne olur?

Atlas ne yapıyor

Atlas bu işi bir komut yapıştırarak değil, ürünün içinde yapıyor ve yukarıdaki dördünü de uyguluyor.

Yedek bir kez alınıyor ve üstüne yazılmıyor. Nişan dar: boşluklara esnek ama gerisi birebir bir kalıp kullanılıyor, yani Proxmox biçimi değiştirse tutmaya devam ediyor, ama koşulun kendisi değiştiyse hiçbir şey yapılmıyor. Yazdıktan sonra dosya geri okunup doğrulanıyor; beklenen sonuç çıkmazsa yedek geri yükleniyor. Ve konulan metin bir iz taşıyor, böylece "yamalı mı" sorusu kesin cevaplanıyor.

Geri alma tarafında da yukarıdaki son hâl ele alınıyor: yedek geri yüklendikten sonra orijinalin gerçekten döndüğü kontrol ediliyor, dönmediyse bu açıkça söyleniyor.

Bu maddenin asıl söylemek istediği tek cümle şu: bu iş zor değil, ama doğru yapılması ile çalışıyor görünmesi arasındaki fark, ölçmekten geçiyor.

Kaynaklar

Proxmox'un kendi belgeleri. İngilizce, ve bu konuda son sözü onlar söyler.

İlgili maddeler

Bu iş Atlas’ta nasıl görünüyor?

Ürün sayfasına git