Apple silikon Mac'lerdeki geliştiriciler, Linux konteynerlerini yıllardır tek bir paylaşılan sanal makine etrafında oluşturulmuş yazılım aracılığıyla çalıştırıyor. Apple'ın açık kaynaklı Container projesi, her Linux iş yüküne kendi hafif sanal makinesini veriyor.
Container Swift'de yazılmıştır ve Apple silikon için ayarlanmıştır. Linux kapsayıcılarını hafif sanal makineler olarak oluşturur ve çalıştırır ve OCI uyumlu görüntülerle çalışır, böylece bir geliştirici herhangi bir standart kayıt defterinden veri alıp gönderebilir. Onunla oluşturulan görseller diğer OCI uyumlu uygulamalarda çalışır. Temel olarak düşük seviyeli konteyner, görüntü ve süreç yönetimi için Containerization Swift paketinden yararlanıyor.
1.0.0'ın ana özelliği, ana bilgisayar Mac ile sıkı entegrasyona sahip, uzun ömürlü Linux ortamlarına yönelik bir özellik olan konteyner makinesidir. Daha önceki sürümler, bir görev için döndürülen ve daha sonra yıkılan konteynerlere odaklanıyordu. Yeni komut, geliştiricinin oturumlar arasında tuttuğu kalıcı ortamları destekler.
Teknik Analiz
Yapılandırma bir TOML dosyasına taşındı. Sürüm 1.0.0, kullanıcı özellikleri tarafından desteklenen eski sistem ayarlarını bir config.toml dosyasıyla değiştirir ve kapsayıcı sistem özelliği get ve set alt komutlarını kaldırır. Bu, komut satırında çığır açan bir değişiklik olduğundan, bu alt komutları çağıran komut dosyalarının güncellenmesi gerekiyor.
Sistem Güvenliği
Aynı sürümde başka birkaç değişiklik daha yapıldı. Yeni bir konteyner cp komutu, dosyaları ana bilgisayar ile çalışan bir konteyner arasında taşır ve projenin ilk günlerinden bu yana açık kalan bir isteği yanıtlar. Ekip, disk kullanımını bildiren komut olan system df'deki muhasebe hatalarını düzeltti. Ağ tarafında, bir değişiklik her IP adresi kiralamasını XPC bağlantısına bağlar ve bu da adreslerin zaman içinde sızdırılmasına neden olan bir hatayı çözer. Sürüm ayrıca konteyner çalıştırmaya bir --stop-signal seçeneği ekler ve alt komutlar için yardım çıktısını düzenler. Kapsayıcılar, görüntüler, ağlar ve birimler genelinde ls ve inspect komutlarının çıktısı artık JSON, YAML ve TOML'de tutarlı bir yapıyı takip ediyor.
Nasıl Önlem Alınmalı?
Sürüm, sürüm 0 XPC uygulama arayüzüyle uyumluluğu bırakıyor. Daha sonraki bir sürüm, API'nin kendisine sürüm oluşturma ekleyecektir, böylece istemciler ve sunucu birbirleriyle uyumluluğu kontrol edebilir. Hem konfigürasyon değişikliği hem de API'nin kaldırılması, sonraki çalışmalar için daha sağlam bir temel oluşturan, son derece önemli değişikliklerdir.
Container'ı çalıştırmak, Apple silikon ve macOS 26 yüklü bir Mac gerektirir. Proje, bu sürümde sunulan sanallaştırma ve ağ oluşturma özelliklerine bağlıdır ve macOS 26'da yeniden üretilemeyen sorunlar genellikle giderilmez. Kurulum, GitHub sürümler sayfasından imzalı bir paket kullanır ve ardından geliştirici, konteyner sistemi start ile arka plan hizmetini başlatır. Araç tanıtıcılarıyla birlikte yüklenen bir güncelleme komut dosyası, daha yeni veya daha eski yapılara taşınır.
Sonuç ve Değerlendirme
Projeye olan ilgi ilk çıkışından bu yana arttı. Depo 46.500'den fazla yıldız topladı ve topluluk yaklaşık 1.500 kez çatallandı.
Apple Container GitHub'da ücretsiz olarak mevcuttur.
Temel açık kaynaklı siber güvenlik araçları hakkında bilgi sahibi olmak için Help Net Security'nin reklamsız aylık bültenine abone olun. Buradan abone olun!