Arch Linux'ta AUR Nedir ve Kullanmalı mıyım?

Yayınlanan: 2023-06-23
ArchWiki web sitesinde Arch Linux logosu.
Jordan Gloor / Nasıl Yapılır Geek
Arch Linux AUR deposu, bazı basit önlemler alırsanız kullanımı güvenli olan topluluk odaklı yazılımlar içerir. Kabuk komut dosyası oluşturmayı anlamasanız bile, bir paketin güvenli olup olmadığına karar vermek için kullanabileceğiniz göstergeler vardır.

AUR, 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?

İçindekiler

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.

Arch Linux ve Ubuntu: Hangisini Kullanmalısınız?
İLGİLİ Arch Linux ve Ubuntu: Hangisini Kullanmalısınız?

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.

AUR web sitesindeki arama çubuğu

İ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.

Yay paketleri için oylar ve popülerlik rakamlarının vurgulandığı AUR paketi ayrıntıları

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.

İlk gönderim ve son güncelleme tarihlerinin vurgulandığı yay paketleri için AUR paketi ayrıntıları

"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.

Yukarı akış URL'si vurgulanmış olarak yay paketleri için AUR paketi ayrıntıları

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 

Yay PKGBUILD dosyasını git deposundan klonlama

İndirme tamamlandığında, yeni “yay” dizinine geçin.

 cd yay 

Dizinleri yay klasörüne değiştirmek.

Bakalım elimizde hangi dosyalar var.

 ls 

Alınan dosyaları ls ile listeleme

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 

Yay PKGBUILD dosyasını açmak için daha az dosya görüntüleyiciyi başlatma

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 PKGBUILD dosyasını daha az dosya görüntüleyici ile inceleme

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