Arch Linux'ta AUR Nedir ve Kullanmalı mıyım?
Yayınlanan: 2023-06-23AUR, binlerce ek yazılım paketi sağlayan Arch Linux'un tacındaki mücevherlerden biridir. Ancak bu kullanıcı odaklı deponun kullanımı güvenli midir, yoksa bundan kaçınmalı mısınız?
AUR Nedir?
AUR Kullanmanın Tehlikeleri
AUR Güvenliği: Paket Ayrıntılarını ve İtibarını Kontrol Edin
PKGBUILD ve Diğer Dosyaların İçeriğini Kontrol Edin
Diğer AUR Kullanıcılarına Yardımcı Olabilirsiniz
AUR Nedir?
AUR (Arch User Repository), Arch Linux kullanıcılarına 85.000'den fazla yazılım paketi sağlayan topluluk odaklı bir yazılım deposudur. Core, extra ve multilib depoları gibi diğer Arch depolarının aksine, AUR kuruluma hazır paketleri barındırmaz. Aslında, ikili dosyaları veya paket yazılımları hiç barındırmaz.
AUR, PKGBUILD adı verilen paket oluşturma dosyalarını barındırır. Bunlar, Arch makepkg
aracı tarafından çalıştırılan kabuk betikleridir. makepkg
çalıştığında, "PKGBUILD" adlı bir dosya arar. Bulursa onu açar ve içindeki yönergeleri izleyerek bilgisayarınızda bir yazılım paketi arşivi oluşturur. Komut satırında derlemeye aşina iseniz, bir PKGBUILD dosyası ve makepkg
, MAKEFILE ve make
yardımcı programına benzer şekilde birlikte çalışır.
PKGBUILD talimatları, paket arşivini oluşturmak için gerekli olan kaynak kodu dosyalarını ve diğer dosyaları indirir. Paket arşivinden yazılımı yüklemek için pacman
aracı otomatik olarak çağrılır.
Biraz kafa karışıklığına neden olma riskine karşın, bazı AUR paketleri önceden derlenmiş ikili dosyalar sunar . Ancak bu ikili dosyalar AUR'de barındırılmaz, internette başka bir yerde depolanırlar. Bu paketler için AUR girişi, yalnızca önceden derlenmiş ikili dosyayı bilgisayarınıza indiren bir PKGBUILD dosyası içerir.
AUR, herkesin diğer Arch kullanıcılarına sunmak istedikleri bir yazılım parçası için bir PKGBUILD oluşturmasına izin verir. Bunlar açık veya kapalı kaynak paketleri, hatta ticari yazılımlar olabilir. Yeterli kullanıcı oyu alan AUR Paketleri, topluluk deposu adı verilen normal bir Arch deposuna yükseltilebilir.
AUR ile ilgili sorun, onu temellerine kadar kaynattığınızda ortaya çıkıyor. İnternetteki rastgele kullanıcılardan gelen bir komut dosyası koleksiyonudur. Ve onları bilgisayarınızda çalıştırmanızı istiyorlar.
Riskleri azaltmak için yüklenen komut dosyaları, güvenilir kullanıcılar olarak bilinen nitelikli, saygın gönüllüler tarafından incelenir. Güvenilir kullanıcılar, PKGBUILDS'i inceler ve test eder ve içerdiği tehlikeli hataları veya kötü niyetli niyetleri kaldırır.
İLGİLİ: Arch Linux Nasıl Güncellenir
AUR Kullanmanın Tehlikeleri
Bu çok nadir görülen bir durumdur, ancak bazen güvenilir kullanıcıların titizliğine rağmen bazı şeyler ağdan kayabilir. 2015'te, Steam dizinini daha önce yeni bir konuma taşıdıysanız, bir Valve Software Steam komut dosyası ana dizininizi sildi.
2005 yılında, PKGBUILD dosyasına kasıtlı olarak kötü amaçlı kod ekleyen yeni bir bakıcı tarafından artık bir AUR paketinin devralındığı olay daha uğursuzdu. Bu örnekler eski ve nadirdir, ancak aynı şeyler tekrar olabilir.
Elbette, yeterince becerikliyseniz, PKGBUILD dosyasının içeriğini kendiniz inceleyebilirsiniz. Bu şeffaflık, AUR'nin güçlü yönlerinden biridir, ancak ondan yararlanmak için yeterli komut dosyası oluşturma bilgisi gerektirir. Ve bu sadece PKGBUILD dosyasının kendisini kapsar. Bir yığın uygulama kaynak kodunu çekerse, teorik olarak bunun da kontrol edilmesi gerekir.
AUR kullanımındaki diğer tehlikeler dağıtıma dayalıdır. Tüm Arch tabanlı dağıtımlar, AUR'nin kusursuz çalışması için yeterince Arch benzeri değildir. AUR, orijinal Arch Linux'a ve tam olarak yamalı ve güncellenmiş bir sürüme kurulduğunu varsayar. Örneğin Manjaro, Arch tabanlı olmasına rağmen AUR'yi resmi olarak desteklemiyor.
Ancak, dağıtımınızın AUR'yi desteklediği göz önüne alındığında, kaynak kodunu ve kabuk betiklerini anlasanız da anlamasanız da, onu olabildiğince güvenli kullandığınızdan emin olmak için ne yapabilirsiniz?
AUR Güvenliği: Paket Ayrıntılarını ve İtibarını Kontrol Edin
Kod incelemeleri olmasa bile, bir AUR paketine güvenip güvenemeyeceğinize karar vermenize yardımcı olacak adımlar vardır.
AUR'da Paketinizi Bulun
AUR'de her paket için bir sayfa vardır. Paketin web sayfası, paketi, hangi bağımlılıklara sahip olduğunu, hangi paketlerin ona bağlı olduğunu ve diğer yararlı bilgileri açıklar. AUR'ye gidip paketinizi arayarak araştırmanıza başlayın.
İtibarı Nedir?
Paketler kullanıcılar tarafından oylanabilir ve her pakete verilen bir popülerlik puanı da vardır. Ne kadar çok oy ve popülerlik ne kadar yüksek olursa o kadar iyidir. Bu, paketin iyi bilindiği ve yaygın olarak kullanıldığı anlamına gelir. Başka bir deyişle, saygın bir pakettir.
Paketin itibarı, güvenilirliğinin iyi bir göstergesidir. Ne kadar çok insan onu kullanırsa ve ona oy verirse, onu kullanma konusunda o kadar rahat hissedebilirsiniz.
Etkinlik Tarihlerini Kontrol Edin
"Paket Detayları" bölümünde oylarını, popülerlik puanını ve iki tarihini göreceksiniz. Birincisi, paketlerin AUR'ye ilk eklendiği zaman, ikincisi ise paketin en son güncellendiği zamandır.
"Son Güncelleme" tarihi size paketin aktif olarak bakım yapılıp yapılmadığını söyleyecektir. Uzun süredir atıl durumda olan paketler dikkatle ele alınmalıdır.
Yukarı Akış URL'si Geçerli Bir Konum mu?
Ayrıca "Yukarı Akış URL'sini" kontrol edin ve bunun paket veya proje için geçerli bir web sayfasına veya kod deposuna gittiğini doğrulayın. Olmazsa, bir sorun var demektir.
Kullanıcı Yorumlarını Oku
Her AUR sayfasının altında kullanıcı yorumları bulunmaktadır. Bunlar birçok sayfaya yayılabilir. Diğer kullanıcıların paket hakkında neler söylediklerini ve ne tür sorular sorduklarını görün. Ayrıca ortaya çıkan sorunlara hangi çözümlerin sunulduğuna bakın. Son yorumlar var mı? Bu paketin hala aktif bir kullanıcı tabanı var mı?
Kaydolun ve Katılın
AUR'ye kaydolursanız ve ücretsiz bir hesap oluşturursanız, yorum bırakabilir ve soru sorabilirsiniz. Ayrıca, paket hakkında soru sormak için forumlar ve alt dizinler gibi diğer kaynakları kullanın.
Kabuk betiklerini anlamasanız bile kontrol edebileceğiniz birkaç şey var.
PKGBUILD ve Diğer Dosyaların İçeriğini Kontrol Edin
AUR'ye erişmenin yaygın bir yolu, yay
gibi bir "AUR helper" komut satırı kullanmaktır, ancak AUR'yi uygulamalı, manuel bir şekilde de kullanabilirsiniz.
İyi AUR yardımcıları, devam etmek istemiyorsanız kurulumu durdurarak PKGBUILD dosyasını inceleme seçeneği sunar. Manuel işlemde AUR üzerinde paketi aratıyorsunuz ve PKGBUILD dosyasını indirip kullanmadan önce inceliyorsunuz. İnceledikten sonra devam etmekten memnunsanız, makepkg
manuel olarak çalıştırın.
En az bir paketi manuel olarak kurmak iyi bir fikirdir, böylece AUR yardımcısının arka planda ne yaptığının mekaniğini bilirsiniz. Örnek olarak yay AUR yardımcısını kullanacağız.
Paket ilk olarak 2016'da sunuldu ve en son Mayıs 2023'te güncellendi. Bu yazının yazıldığı sırada, bu çok yeni bir güncellemeydi. Ayrıca, orijinal gönderen, geçerli bakımcı ve yazılımı paketleyen son kişinin aynı kişi olması da dikkate değerdir. Bu süreklilik iyi bir işarettir.
Panoya kopyalamak için "Paket Ayrıntıları" bölümündeki "Git Clone URL" URL bağlantısını tıklayın.
Bir terminal penceresinde "git clone", bir boşluk yazın ve ardından URL'yi komut satırına yapıştırmak için Shift+Ctrl+V tuşlarına basın. İndirmeyi başlatmak için "Enter" tuşuna basın.
git klonu https://aur.archlinux.org/yay.git
İndirme tamamlandığında, yeni “yay” dizinine geçin.
cd yay
Bakalım elimizde hangi dosyalar var.
ls
Tek bir dosya var, PKGBUILD dosyası. Genellikle bir veya iki ek yardımcı dosya vardır. Bunları da gözden geçir. Tek dosyamızı okumak için less
kullanacağız.
daha az PKGBUILD
PKGBUILD Dosyası Hangi URL'leri Kullanıyor?
Kuralları izleyen iyi biçimlendirilmiş bir PKGBUILD dosyası, kullandığı URL'leri tutmak için değişkenler oluşturur. Bu bize, PKGBUILD'in başvuracağı URL'lerin dosyasının en üstünde düzgün bir liste verir. Bu durumda, sadece bir tane var.
yay
projesi için bir GitHub sayfasına işaret ettiğini görebiliriz.
GitHub sayfası, bu paket için AUR sayfasında listelenen bakımcı ile aynı ada sahip bir kullanıcıya aittir. Bunlar, bunun güvenli bir paket olduğunun iki iyi göstergesidir.
Ama devam edeceğiz ve biraz daha derine bakacağız.
İndirme Komutlarını Arayın
Dosyada wget
veya curl
kullanımlarını aramak için less
arama özelliğini kullanın. Bu araçların her ikisi de uzak dosyaları almak için kullanılabilir. İyi huylu bir PKGBUILD'in böyle bir aktiviteye ihtiyacı olmamalıdır.
Herhangi bir oluşum bulursanız, bunları tehlike işareti olarak değerlendirin ve zararsız olduğundan emin olana kadar paketi kurmayın. wget
veya curl
komutlarının başvurduğu URL nedir? Yasal ve paketle ilgili görünüyorlar mı?
PKGBUILD'in güvenilir olduğuna dair güvenilir bir kaynaktan onay alabilirseniz ve kurallara uymayan bir şekilde yazılmışsa, yine de yüklemeyi seçebilirsiniz.
rm, mv ve Diğer Tehlikeli Komutları Arayın
Aynı şekilde, bir PKGBUILD dosyasının rm
veya mv
komutlarını içermesine veya “/dev” dizinindeki herhangi bir şeye başvurmasına gerek yoktur. PKGBUILD doğrudan pacman
çağırırsa veya systemctl
, systemd
veya grub
gibi diğer hayati sistem bileşenlerinden bahsederse, PKGBUILD dosyasını tehlikeli olarak değerlendirin ve çalıştırmayın.
Şimdiye kadar kullandığımız adımları kabuk betiklerini okuyamasanız bile uygulayabilirsiniz. Bazı kabuk betiklerini biliyorsanız, gerçek kodu PKGBUILD'de inceleyebilirsiniz.
Gizlenmiş Kodlara Karşı Dikkatli Olun
Kötü amaçlı kod yazan kişiler genellikle kodu gizleyerek niyetini gizlemeye çalışır. Minimalist, kısa ve anlaşılmaz bir sözdizimi kullanıyorlar, bu yüzden ne yapmaya çalıştıklarını deşifre etmek zor. Yeniden yönlendirme kullanan veya sed
veya awk
çağıran herhangi bir satır görürseniz, bunları şüpheli olarak değerlendirin.
Bu satırları kopyalamak ve onları açıklayıcı kabuk.com gibi bir çevrimiçi çözümleyiciye bırakmak, gerçekte ne yaptığını görebilmeniz için onları paketinden çıkaracaktır. Köşeli parantezler, noktalı virgüller ve ve işaretlerinden oluşan yoğun bir yığınla karşı karşıya kalırsanız, satırın ne yapmaya çalıştığını doğru bir şekilde yorumlayıp yorumlamadığınızı iki kez kontrol etmek için çevrimiçi bir ayrıştırıcı kullanmaya değer. Ancak genel olarak, okunması zor kod bir uyarı işaretidir.
/evin senin kalen olmalı
PKGBUILD derlemeleri ve oluşturmaları bir chroot
ortamında gerçekleşir.
Bunlar, geliştiricilerin bilgisayarınızın dosya sisteminin geri kalanına erişimlerini sınırlayarak ve diğer sistem komutlarına erişimlerini azaltarak işlemleri korumalı hale getirmelerine izin veren yalıtılmış mini dosya sistemleridir.
PKGBUILD, ana dizininizi doğrudan manipüle ediyorsa, bunu bir uyarı bayrağı olarak kabul edin. Çalıştırmaya karar vermeden önce ne yaptığını tam olarak anladığınızdan emin olun.
Diğer AUR Kullanıcılarına Yardımcı Olabilirsiniz
Son derece popüler paketlerle güvende olma olasılığınız çok yüksektir. Yüksek kullanıcı sayısı nedeniyle sorunlar daha hızlı tespit edilir ve daha hızlı raporlanır. Bulduğunuz sorunları bildirerek ve itibarlarını artırmak için iyi paketlere oy vererek üzerinize düşeni yapabilirsiniz.
Bir pakette onu yüklemek istememenize neden olan bir sorun olduğunu fark ederseniz, o pakete ihtiyacınız olduğu için kendinizi çıkmazda bulabilirsiniz. İlerlemenin bir yolu, forumlardan söz konusu özel ihtiyacı karşılayabilecek diğer paket önerilerini istemektir.
Linux'un genellikle herhangi bir kedinin derisini yüzmenin birçok yolu vardır.
İLİŞKİLİ: Bir GUI'den Arch Linux Nasıl Kurulur