man/files
man · Dosyalar

$ install

Bölüm 1 · Dosyalar

dosyaları ve ikili (binary) dosyaları hedef konumlara yükler

Özet

install [-bCcpSsUv] [-B uzantı] [-D hedef_dizini] [-f bayraklar] [-g grup] [-h özet] [-l bağ_bayrakları]
        [-M metalog] [-m mod] [-o sahip] [-T etiketler] dosya1 dosya2

install [-bCcpSsUv] [-B uzantı] [-D hedef_dizini] [-f bayraklar] [-g grup] [-h özet] [-l bağ_bayrakları]
        [-M metalog] [-m mod] [-o sahip] [-T etiketler] dosya1 ... dosyaN dizin

install -d [-Uv] [-D hedef_dizini] [-g grup] [-h özet] [-M metalog] [-m mod] [-o sahip] [-T etiketler]
        dizin ...

Açıklama

install yardımcı programı, dosyaları belirtilen hedef dosyaya veya dizine kopyalar (veya -l seçeneği belirtilmişse ilgili yönteme göre bağlar).

Eğer hedef bir dizinse, kaynak dosya kendi orijinal adıyla o dizinin içine kopyalanır. Eğer hedef dosya zaten mevcutsa ve izinler elveriyorsa üzerine yazılır; -b seçeneği etkinleştirilmişse, mevcut dosya üzerine yazılmadan önce .old (veya -B ile belirlenen) uzantısıyla yeniden adlandırılarak yedeklenir.

Seçenekler

Aşağıdaki seçenekler mevcuttur:

  • -B uzantı: -b seçeneği verildiğinde kullanılacak yedekleme uzantısını belirtir.
  • -b: Üzerine yazmadan önce mevcut dosyaları dosya.old olarak yeniden adlandırarak yedekler.
  • -C: Dosyayı kopyalamadan önce karşılaştırır. Eğer hedef dosya zaten mevcutsa ve kaynak dosya ile tamamen aynıysa, hedefin değiştirilme zamanını (mtime) değiştirmez. Eğer hedefin dosya bayrakları ve modunun da değiştirilmesi gerekmiyorsa, hedefin inode değişim zamanı (ctime) da korunur.
  • -c: Dosyayı kopyalar. Bu zaten varsayılan davranıştır ve yalnızca geriye dönük uyumluluk amacıyla desteklenir.
  • -D hedef_dizini: Öğelerin yükleneceği dosya hiyerarşisinin kök dizin yolunu (DESTDIR) belirtir. -M metalog kullanılıyorsa, meta veri günlüğüne kaydedilen dosya yollarının başındaki hedef_dizini ifadesi kaldırılır. Bu seçenek, gerçek dosyaların kurulacağı fiziksel konumu etkilemez.
  • -d: Dizinler oluşturur. Eksik olan tüm üst dizinler gerektiğinde otomatik olarak oluşturulur.
  • -f bayraklar: Hedef dosyanın dosya bayraklarını belirtir. Geçerli bayraklar ve anlamları için chflags(1) kılavuz sayfasına bakın.
  • -g grup: Yüklenen dosyanın grubunu belirtir. Sayısal GID değeri veya grup adı girilebilir.
  • -h özet: Kopyalama sırasında, -M metalog dosyasına kaydedilmek üzere dosyaların kriptografik özetini (checksum) hesaplar. (-d ile dizin oluşturulurken özet değeri üretilmez). Desteklenen algoritmalar:
    • none: Özet hesaplanmaz (varsayılan).
    • sha1: SHA-1 mesaj özeti.
    • sha256: SHA-256 mesaj özeti.
    • sha512: SHA-512 mesaj özeti.
  • -l bağ_bayrakları: Dosyayı kopyalamak yerine kaynağa bir bağlantı (link) oluşturur. Bağlantının türü bağ_bayrakları argümanı tarafından belirlenir:
    • a: Mutlak sembolik bağlantı (absolute symbolic link).
    • r: Göreli sembolik bağlantı (relative symbolic link).
    • h: Sabit bağlantı (hard link).
    • s: Sembolik bağlantı (symbolic link).
    • m: Karışık bağlantı (aynı dosya sistemindeki dosyalar için sabit bağlantı, aksi takdirde sembolik bağlantı).
  • -M metalog: Yüklenen her bir ögeyle ilişkili meta verileri, mtree(8) "tam yol" (full path) biçiminde metalog dosyasına yazar.
  • -m mod: Hedef dosya için izin modunu (permissions) belirtir. Varsayılan mod rwxr-xr-x (0755) olarak ayarlanmıştır. Sekizlik (octal) veya sembolik bir değer girilebilir; detaylı bilgi için chmod(1) kılavuzuna bakın.
  • -o sahip: Hedef dosyanın sahibini (owner) belirtir. Sayısal UID değeri veya kullanıcı adı girilebilir.
  • -p: Erişim (atime) ve değiştirilme (mtime) zamanlarını korur. Hedef dosya henüz mevcut değilse veya farklıysa kaynak dosyanın zaman damgalarını olduğu gibi hedefe kopyalar (diğer durumlarda -C gibi davranır).
  • -S: Kopyalama işleminden sonra her dosyayı diske boşaltır (flush/sync). Bu seçeneğin performans üzerinde etkisi vardır, ancak yükleme tamamlandıktan hemen sonra olası bir sistem çökmesi veya elektrik kesintisinde dosyanın bozulma riskini azaltır.
  • -s: İkili dosyalardan hata ayıklama sembollerini temizlemek için strip(1) yardımcı programını çalıştırır.
  • -T etiketler: -M metalog kullanılırken dosya için meta veri günlüğüne yazılacak olan mtree(8) etiketlerini belirtir.
  • -U: install aracının yetkisiz (unprivileged) olarak çalıştığını belirtir. Bu durumda hedefin sahibini, grubunu veya dosya bayraklarını değiştirmeye çalışmaz. Güncellenmesi gereken tüm veriler -M metalog seçeneğiyle belirtilen günlük dosyasına kaydedilebilir.
  • -v: Ayrıntılı (verbose) modda çalışarak dosyaları yüklendikçe veya yedeklendikçe gösterir.

[!NOTE] Varsayılan olarak install, "nodump" bayrağı hariç tüm dosya bayraklarını korur. /dev/null yüklemek boş bir dosya oluşturur.

Çevre Değişkenleri

  • STRIPBIN: -s seçeneği belirtildiğinde çalıştırılacak olan alternatif strip programının yolunu tutar.
  • DONTSTRIP: Eğer bu değişken tanımlanmışsa, install aracı -s seçeneğini görmezden gelir ve sembolleri temizlemez.

Dosyalar

Hedef dizinde, XXXXXX kısmının mkstemp(3) tarafından belirlendiği INS@XXXXXX adında geçici dosyalar oluşturulur.

Çıkış Durumu

install aracı başarı durumunda 0, bir hata oluştuğunda ise 0'dan büyük bir değerle sonlanır.

Uyumluluk

Tarihsel olarak install, dosyaları varsayılan olarak kopyalamak yerine taşırdı. Bu varsayılan davranış FreeBSD 4.4 sürümünde kopyalama olarak değiştirilmiştir.

Örnekler

Aşağıdaki örnekler kabukta (shell) çalıştırılabilecek şekilde gösterilmiştir:

  1. Bir ikili dosyayı /usr/local/bin dizinine 0755 izinleriyle ve root sahibiyle yükleme:

    sudo install -m 0755 -o root -g wheel programim /usr/local/bin/
  2. Bir dosyayı yüklerken hedefte aynı isimde dosya varsa üzerine yazmadan önce .old olarak yedekleme:

    install -b -B .old rapor.txt /tmp/hedef/
  3. Gerekli tüm üst dizinleri de otomatik oluşturarak yeni bir dizin yapısı oluşturma:

    install -d -m 0750 /tmp/yeni_proje/kodlar/ikililer
  4. Dosyayı yalnızca içeriği veya izinleri değiştiğinde kopyalama (gereksiz kopyalamaları ve zaman damgası güncellemelerini önleme):

    install -C -m 0644 veri.db /var/db/

Hatalar

  • -M seçeneğinin anlamı FreeBSD 9.2 sürümünden itibaren değişmiştir ve artık bir argüman almaktadır. Eski -M seçeneğini kullanan komut satırları bir hata alacaktır.
  • install aracı anormal şekilde sonlanırsa, hedef dizinde geçici dosyalar kalabilir.
  • Dosya bayrakları, bir NFS dosya sistemi üzerinde fchflags(2) ile ayarlanamaz. install aracı, bayrakları desteklemeyen bir dosya sisteminde bayraklar ayarlanamadığında yalnızca bir uyarı verecektir.

Ayrıca Bakınız

chflags(1), chgrp(1), chmod(1), cp(1), mv(1), strip(1), getgrnam(3), getpwnam(3), chown(8)