Unix: Lokasi untuk menyimpan menginstal file yang dapat dieksekusi
4
Apakah ada tempat yang digunakan orang untuk menyimpan installer / file yang dapat dieksekusi / file gz yang mengunduh dari situs web sumber? Bisakah kita membahas 2 kasus: login sebagai root atau sebagai pengguna biasa?
Anda seharusnya tidak pernah login sebagai root kecuali Anda benar-benar perlu :) Anda bisa mendapatkan akses superuser dengan perintah sudo
JT.WK
Terima kasih atas semua balasan. Untuk lebih spesifik, OS adalah CentOS. Saya sebenarnya mencari tempat untuk menyimpan file pre-build / built gz. Sama seperti menyimpan skrip biasa di / usr / local / bin dan log reguler di / var / local / log
Stan
Jawaban:
1
Saya memasukkannya ke dalam /usr/local/src, meskipun jarang menemukan apa pun yang didistribusikan di hanya seperti itu lagi.
Pemikiran:
Ada tambahan lokal daripada sistem, jadi di suatu tempat di bawah /usr/local atau /opt sesuai dengan preferensi Anda atau konvensi OS Anda.
Secara umum Anda tidak ingin installer seperti biasa $PATH jadi tidak bin.
Mereka terkait dengan membangun / memasang barang,
Jika melakukannya di ruang pengguna, saya akan pengguna $HOME/src untuk alasan yang sama.
sangat tergantung pada preferensi Anda, jadi sulit untuk menjawab tanpa info lebih lanjut.
untuk bagian saya, bagaimanapun, saya akan menjelaskan apa yang saya lakukan di rumah dan menyelamatkan Anda kata-kata kasar tentang apa yang saya terjebak dengan di tempat kerja ..
di Rumah di Archlinux:
saya membuat paket untuk desktop saya atau untuk server virtual saya. Pada semua mesin ini, saya memiliki mount NFS tertentu yang saya muat dan kemudian mengikat mount ke $ HOME saya untuk kenyamanan. Karena itu, folder $ HOME / build membutuhkan abstraksi $ host sehingga saya tahu host mana yang saya buat paketnya. (saya membuat paket di "telanjang" membangun mesin virtual sehingga dapat menangkap dependensi dengan lebih baik)
setelah paket dibangun, paket yang dikompilasi masuk ke $ HOME / paket yang merupakan bind mount lain yang ditawarkan oleh server virtual filesharing saya melalui ftp untuk dihubungkan ke manajer paket saya.
Saya tidak tahu apa tingkat keahlian Anda, jadi tolong maafkan saya jika saya mengambil waktu untuk menyebutkan bahwa Anda harus selalu mencoba membangun paket sebagai pengguna non-root, membuat paket, dan sudo menginstal melalui manajer paket Anda. itu akan menghemat banyak kerumitan dalam jangka panjang.
Saya memiliki direktori / file yang dibuat yang memiliki beberapa direktori di dalamnya seperti film, gambar, unduhan, sumber.
Inilah yang saya gunakan sebagai root dan pengguna. / file dimiliki oleh root pengguna dan grup 'userfiles'. Setiap pengguna yang membutuhkan akses ke sana dijadikan anggota 'userfiles'
Maksud Anda "Unix" (OS merek dagang) atau sistem serupa Unix, mis. Linux atau salah satu BSD?
Secara umum, Anda tidak harus meletakkan semuanya di satu tempat. File executable pergi ke suatu tempat di jalur Anda, file data mungkin di tempat lain. Anda harus lebih spesifik jika menginginkan jawaban yang bermanfaat.
Saya pikir maksudnya installer yang dapat dieksekusi, misalnya installer driver biner Nvidia (diunduh sebagai .sh, yang mengekstrak file untuk menginstal dari dirinya sendiri ketika dijalankan). kamu tidak akan mau bahwa di jalanmu.
Jawaban:
Saya memasukkannya ke dalam
/usr/local/src
, meskipun jarang menemukan apa pun yang didistribusikan di hanya seperti itu lagi.Pemikiran:
/usr/local
atau/opt
sesuai dengan preferensi Anda atau konvensi OS Anda.$PATH
jadi tidakbin
.Jika melakukannya di ruang pengguna, saya akan pengguna
$HOME/src
untuk alasan yang sama.sumber
sangat tergantung pada preferensi Anda, jadi sulit untuk menjawab tanpa info lebih lanjut. untuk bagian saya, bagaimanapun, saya akan menjelaskan apa yang saya lakukan di rumah dan menyelamatkan Anda kata-kata kasar tentang apa yang saya terjebak dengan di tempat kerja ..
di Rumah di Archlinux:
saya membuat paket untuk desktop saya atau untuk server virtual saya. Pada semua mesin ini, saya memiliki mount NFS tertentu yang saya muat dan kemudian mengikat mount ke $ HOME saya untuk kenyamanan. Karena itu, folder $ HOME / build membutuhkan abstraksi $ host sehingga saya tahu host mana yang saya buat paketnya. (saya membuat paket di "telanjang" membangun mesin virtual sehingga dapat menangkap dependensi dengan lebih baik)
setelah paket dibangun, paket yang dikompilasi masuk ke $ HOME / paket yang merupakan bind mount lain yang ditawarkan oleh server virtual filesharing saya melalui ftp untuk dihubungkan ke manajer paket saya.
Saya tidak tahu apa tingkat keahlian Anda, jadi tolong maafkan saya jika saya mengambil waktu untuk menyebutkan bahwa Anda harus selalu mencoba membangun paket sebagai pengguna non-root, membuat paket, dan sudo menginstal melalui manajer paket Anda. itu akan menghemat banyak kerumitan dalam jangka panjang.
sumber
Saya memiliki direktori / file yang dibuat yang memiliki beberapa direktori di dalamnya seperti film, gambar, unduhan, sumber.
Inilah yang saya gunakan sebagai root dan pengguna. / file dimiliki oleh root pengguna dan grup 'userfiles'. Setiap pengguna yang membutuhkan akses ke sana dijadikan anggota 'userfiles'
sumber
Maksud Anda "Unix" (OS merek dagang) atau sistem serupa Unix, mis. Linux atau salah satu BSD?
Secara umum, Anda tidak harus meletakkan semuanya di satu tempat. File executable pergi ke suatu tempat di jalur Anda, file data mungkin di tempat lain. Anda harus lebih spesifik jika menginginkan jawaban yang bermanfaat.
sumber
.sh
, yang mengekstrak file untuk menginstal dari dirinya sendiri ketika dijalankan). kamu tidak akan mau bahwa di jalanmu.