Linux aygıtları için çevrimdışı bir SDK ile bir güncelleme/yükseltme hizmeti geliştiriyorum. Buradaki fikir, Linux hizmetlerini güncelleme/yükseltme işleminin bir çevrimdışı aygıta çoğaltılmasıdır. "Çevrimdışı" cihaz, "İnternet" e ulaşabiliyor, ancak sadece SDK'yı kullanarak ve diğer cihazlarla (multi-hop) mesaj alışverişi yapabiliyor. Cihazlar farklı mimarilerden gelmektedir, bu nedenle "internet" kabiliyetine sahip olan cihaz (ağ geçidi) farklı bir mimariye yükseltilecek/gönderilecek paketleri talep edip indirebilmelidir. Ağ geçidi aygıtı, indirilen talep edilen paketleri güncellemelerden (CDN olarak davranmak için), repo taleplerinden sakınmak için yetenekli olmalıdır.Linux "apt-get update" iş akışı
Çevrimdışı SDK, çoklu atlama üzerinden internet erişilebilirliğini garanti ettiğinden, çevrimdışı aygıtın IP adresi yok ve iletişim biçimi alakasız.
İhtiyacım olan şey - Linux'taki güncelleme/yükseltme iş akışı hakkında bana bir miktar yardım veya yönlendirme sağlamak için birisine ihtiyacım var.
Ben bugüne kadar bulunmuş Ne:güncelleme
- güncelleme komut yükler
- bilmiyorum /etc/apt/sources.list güncelleme Her satırı giderir nasıl /etc/apt/sources.list üzerinde, karşılık gelen repo klasörleri ile eşleşen "deb" a "link" ve "argümanlar" yüklediği bir işlevi var gibi görünüyor. Bundan sonra, çözümlenen her bağlantıdaki karşılık gelen "Paketler" dosyalarını indirmeye başlar.
yükseltme
- güncellenen yerel "Paketler" dosya ve repo "Paketler" dosyaları arasında bir karşılaştırma yapar.
güncellemesinden herhangi bir kaynak kod var mı/mevcut yükseltme? apt repos'ta bazı web araması yaptım, ancak güncelleme/yükseltme işlevlerini bulamadım.
İnternet özellikli aygıtınızı yalnızca beyaz liste tabanlı bir proxy sunucusu veya yerel bir veri havuzu olarak nasıl kuruyorsunuz? Hiçbir şey programlamak zorunda kalmazsınız ve kırılgan bir ev yapımı hack yerine, sağlam ve desteklenen bir çözüm elde edersiniz. – spectras
[Bu] hakkında ne (https://github.com/Debian/apt/blob/1d9e29c9e2a5591b42a99a721b901fc003ed9149/apt-pkg/upgrade.cc) ve [bu] (https://github.com/Debian/apt/blob/ 1d9e29c9e2a5591b42a99a721b901fc003ed9149/apt-pkg/update.cc)? –