deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (hnrss.org)

macOS 27.0, /pkg/env/global/bin dizinini sessizce varsayılan PATH'e ekliyor

macOS 27.0, her shell'in PATH'ine /pkg/env/global/bin dizinini ekleyen yeni bir /etc/paths.d dosyasıyla geliyor ve Apple bu dizinin ne için olduğunu henüz açıklamadı.

macOS 27.0, /pkg/env/global/bin dizinini sessizce varsayılan PATH'e ekliyor

PATH'te gizemli bir kayıt ortaya çıktı

PATH sorunu araştıran bir geliştirici, macOS 27.0'ın her Mac'te varsayılan shell ortamına /pkg/env/global/bin adlı yeni bir dizini sessizce eklediğini keşfetti. Hacker News ana sayfasına ulaşan, 18 Ekim'de anderegg.ca'da yayımlanan yazıda anlatılan bu keşfin bir de pürüzü var: Apple bu değişikliği belgelememiş durumda ve dizinin gerçekte ne için kullanıldığını şu ana dek kimsenin bildiği görünmüyor.

Yazının yazarına göre, /pkg ile başlayan tanıdık olmayan bir kayıt gördüğünde ilk tepki endişe olmuş — daha önce hiç görülmemiş bir kök dizin seviyesindeki dizin, büyük ölçüde bir müdahale belirtileri gibi görünüyor. Dizinin dosya sisteminin kökünde gerçekten var olduğu teyit edildikten sonra araştırma ancak asıl açıklamaya ulaşmış.

Kayıt oraya nasıl geliyor

2007'de piyasaya çıkan Mac OS X 10.5'ten bu yana işletim sistemi, /etc/paths dosyasını ve /etc/paths.d içine yerleştirilen her dosyayı okuyarak varsayılan PATH'i oluşturan path_helper adlı bir yardımcı araç içeriyor. Yazarın belirttiğine göre çoğu kullanıcı ve geliştirici kendi PATH eklemelerini bunun yerine .zshrc gibi shell yapılandırma dosyaları üzerinden yönetiyor ve path_helper mekanizması ağırlıklı olarak Apple'ın kendisi tarafından kullanılıyor gibi görünüyor.

Apple bu mekanizmayı yalnızca ara sıra kullanmış. macOS 10.15, taşınan rvictl yardımcı programı için bir paths.d kaydı ekledi; macOS 13.3 ise Cryptexes'i desteklemek amacıyla kayıtlar ekledi. macOS 27.0 bu örüntüyü, /pkg/env/global/bin dizinini PATH'e ekleyen yeni bir 10-pmk-global dosyasıyla sürdürüyor — tek farkla: bu kez belirtilmiş bir amaç yok. Yazıda ayrıca dosya adındaki "pmk" kısaltmasının neye işaret ettiğinin belirsiz olduğu not ediliyor.

Başlatma biriminde yapısal bir değişiklik

/pkg dizini başıboş bir klasör değil. Mac'in başlatma birimi yapısının nasıl evrildiğine dair Howard Oakley'nin yazılarına atıfta bulunan yazı, pkg dizininin macOS 26.4'te Data birimine elendiğini ve yalnızca 27.0 ile birlikte Signed System Volume kökünde görünür hale geldiğini açıklıyor. Yazıya göre Oakley bunu kayda değer bir değişiklik olarak görüyor. Dizin env, etc, inv ve var adlı dört alt dizin içeriyor.

Amacına dair tahminler

Ad ve bu alt dizinler göz önüne alındığında, yazıda öne sürülen olasılıklardan biri, /pkg dizininin yakında çıkacak bir birinci taraf paket yönetim sistemine ev sahipliği yapabileceği — ancak yazar bunu açıkça salt bir tahmin olarak işaretliyor. Yazıya göre Apple'ın Swift Package Index'i yakın zamanda devralması ilgisiz görünüyor; zira proje düzeyinde bağımlılık yönetimi, dosya sisteminin kökünde bir dizini bariz biçimde gerektirmeyecekti.

Neden önemli

Yazının en somut faydası tanısal. Daha önce hiç görülmemiş bir kök seviyesi dizinine işaret eden ve açıklaması olmayan bir PATH kaydı, tam da kötü amaçlı yazılım ya da bozuk bir kurulum gibi görünecek türden bir şey; ortam sorunlarını hata ayıklarken bununla karşılaşan geliştiriciler artık bir ihlal ihtimalini eliyip yoluna devam edebilir.

İleriye dönük bir boyutu da var. Kayıt sistem geneli eklendiği için, Apple'ın ileride /pkg/env/global/bin içine yerleştireceği her çalıştırılabilir dosya, her terminal oturumunda anında çözümlenebilir olacak. Bu da dizini, gelecekteki bir macOS güncellemesinden sonra bir komutun gerçekte hangi ikili dosyaya çözümlendiğini incelerken akılda tutulması gereken bir yer haline getiriyor.

Son olarak, bu olay Apple'ın hâlâ temel sistem davranışını belgelemeden değiştirdiğinin bir hatırlatması. Mac filolarında yapılandırma izlemesi çalıştıran yöneticiler, 27.0'a yükseltilen makinelerde bu yeni PATH kaydının açıklanamayan bir diff olarak ortaya çıkmasını beklemeli — ve şimdilik en azından, ona iliştirebilecekleri resmi bir açıklamaları olmayacak.

  • #macos
  • #apple
  • #shell
  • #filesystem
  • #developer-tools

İlgili yazılar