Satu perbedaan signifikan adalah cp memotong file tujuan dan mulai menyalin data dari sumber ke file tujuan.
instal, di sisi lain, menghapus file tujuan terlebih dahulu.
Ini penting karena jika file tujuan sudah digunakan, hal buruk dapat terjadi pada siapa pun yang menggunakan file tersebut jika Anda cp
file baru di atasnya. misalnya menimpa executable yang sedang berjalan mungkin gagal. Memotong file data yang sedang sibuk dibaca/ditulis oleh proses yang ada dapat menyebabkan perilaku yang cukup aneh. Jika Anda menghapus file tujuan terlebih dahulu, seperti yang dilakukan penginstalan, semuanya akan berlanjut seperti biasa - file yang dihapus sebenarnya tidak dihapus sampai semua proses menutup file tersebut.
Secara teknis, perbedaan antara install -c
dan cp
apakah itu install
menyetel izin file target ke rwxr-xr-x
. cp
mempertahankan izin file sumber dikurangi umask. Perilaku default ini berguna dalam situasi yang berbeda. Tentunya, dengan semua opsi yang baik cp
dan install
tawarkan saat ini, fungsinya telah menyatu.
Saat ini, install
umumnya digunakan dalam makefile, cp
di tempat lain. Perbedaan ini terkadang berguna karena beberapa sistem operasi atau sistem instalasi memungkinkan Anda menghubungkan ke install
program untuk mendaftarkan paket yang diinstal. Sistem manajemen paket modern membuat jenis ini menjadi usang, tetapi beberapa orang masih menggunakannya. Selain itu, kemungkinan untuk menyetel izin file target sekaligus sangat nyaman.
install
utilitas, pada dasarnya, adalah cp
yang mewah . Tetapi sebagai alat yang secara khusus melakukan penginstalan, ia berisi beberapa fitur yang cp
tidak. /usr/bin/install
saya dari GNU coreutils tidak hanya menyalin, tetapi juga dapat mengubah izin/kepemilikan sebagai flag arg (menghemat chgrp
, chown
, chmod
doa) opsi untuk menghapus info debug (menyimpan strip
pemanggilan) dan juga beberapa mojo untuk konteks SELinux.
Itu hanya memberikan tindakan kenyamanan yang berguna untuk penginstalan perangkat lunak. Tidak ada yang mengubah hidup, semuanya berguna, dan membuat skrip Anda lebih bersih.