/ Usr / bin / install kopyalamanın yanı sıra ne yapar?


11
  1. Does make installzaman aramanın en Makefile'da ile /usr/bin/install?

  2. /usr/bin/installDerlenmiş olan dosyaların kopyalanmasının yanı sıra ne gibi işler yapılır /usr/bin/local?

  3. Kılavuz sayfasında /usr/bin/installdosyaları kopyalayın ve öznitelikler ayarlayın. Hangi niteliklerin ayarlanması çok önemlidir?

  4. Sadece gerekli olmayan izin modlarını ve sahip / grubu ayarlıyor mu?

"Makefile ile kurulum yapmak çoğu zaman / usr / bin / install çağrısını yapıyor mu?" Hayır, ne isterse yapar. Bu bir hedeftir. Yükleme ile ilgili sorunuz yürütülebilir mi? Yoksa marka hakkında? Net değil.
Faheem Mitha

her ikisi de. @FaheemMitha
Tim

Tamam, peki, 1 ve 2 farklı sorulardır ve 1'in cevabı muhtemelen değildir, ama çoğu zaman "tanımlayın". Zaten 1'in noktasından emin değilim.
Faheem Mitha

Yanıtlar:


18

install dosyaları bir dizine kopyalamanın yanı sıra bir dizi özellik sunar.

  • -sseçenek bir yürütülebilir, tasarruf uzaydan sembol tablosunu kaldırır
  • -mopsiyon izni bitlerini ayarlar. Geliştiricinin dizininde yer alan dosyalar, başkalarının bunları yürütmesini engelleyebilecek umaskesine bağlı olarak oluşturulmuştur. install -m 755 file1 /usr/local/binherkesin dosyayı çalıştırabilmesini sağlar, bu da geliştiricinin paylaşılan bir dizindeki bir dosya için istediği şeydir.
  • -ove -gseçenekler sahibi ve grubu oluşturulmuş. İle cp, hedef dosyanın sahibi ve grup kimliği ile ayarlanmış ve ran kim arasında gid olacağını cpve birlikte cp -phedef dosyanın sahibi ve grup oluşturma dizini ne kudreti içinde dosya olarak aynı olacaktır geliştiricinin istediği gibi olun. wallProgram grubunda olması gerekiyor tty, screenprogram olarak gruba ihtiyacı utmpvb
  • bir makefile reçetesine konulması gereken komut sayısını azaltır. install -s -m 755 -o root -g bin file1 file2 lib/* $(DESTDIR)Dört komutları daha özlü olduğu cp, strip, chmodve chown.

Son mermi noktası, büyük olasılıkla installkomutun neden icat edildiğini ve neden birçok makyajcının onu kullandığını gösteriyor.

Installher zaman kullanılmaz. cp -r lib $(DESTDIR)/libKopyalanacak malzeme dolu bir ağaç ./install.sholduğunda ve geliştiricinin özel bir komut dosyası kullanmayı tercih edip etmediğini gördüm . Birçok paket, install.shX11 ile gelen paketten türetilmiştir; bu , hedef dosyaları belirtilen bir şekilde yeniden adlandırmak için installbir -t(dönüştürme) seçeneğini destekler .


3
  1. Bir dosyada hangi komutların kullanıldığı esas olarak proje geliştiricilerine bağlı olduğundan, burada kesin bir cevap vermek zordur. Genel olarak install, 2'de belirtilen herhangi bir kurulum işlemi için komutu bir makefile içinde kullanmanın iyi bir uygulama olduğunu söyleyebilirim , ancak daha sonra tekrar installPOSIX değildir, bu yüzden her zaman kullanmak en taşınabilir yaklaşım olmayabilir

    AFAIK araçlarının çoğu, otomatik olarak yapmak automakeve cmakekullanmak gibi makefiles oluşturmak için kullanılabilir install.

  2. Genellikle install, dosyaları kopyalamak ve sizin gibi bir komutta izinleri / sahip / grubu ayarlamak için kullanılır. Yaygın olarak kullanılan diğer bir işlev, gereksiz sembollerin (örn. Hata ayıklama sembolleri) artık onlara ihtiyaç duymayan bir ikili dosyadan çıkarılmasıdır. Ayrıca, yararlı olabilecek bir SELinux bağlamında kurulum yapmadan önce yedekleme yapmak gibi şeyler için birkaç ekstra seçeneğe sahiptir.

Hangi izinlerin seçileceği dosyanın kendisine bağlıdır. Çoğunlukla yüklenen dosyalar herkes tarafından okunabilir, ancak yalnızca kök tarafından yazılabilir (fikir, program dosyalarını herkes tarafından erişilebilir ancak kurcalanamayacağı bir yere koymaktır). Dosya hassas veriler içeriyorsa, bu, her şeyde geçerli değildir, ancak bir gruba veya yalnızca root'a erişimi sınırlamak yaygındır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.