Saya tidak yakin apakah ini tempat terbaik untuk menanyakan hal ini – tolong arahkan saya ke arah yang benar jika ada tempat yang lebih baik.
Katakanlah, secara hipotetis, saya memiliki dua mesin – A adalah mesin pengembangan, dan B adalah mesin produksi. A memiliki perangkat lunak seperti compiler yang dapat digunakan untuk membangun perangkat lunak dari sumber, sedangkan B tidak.
Di A, saya dapat dengan mudah membuat perangkat lunak dari sumber dengan mengikuti rutinitas biasa:
./configure
make
Kemudian, saya dapat menginstal perangkat lunak yang dibangun di A dengan menjalankan sudo make install
. Namun, yang benar-benar ingin saya lakukan adalah menginstal perangkat lunak yang baru saja saya buat di B. Apa cara terbaik untuk melakukannya?
Ada beberapa opsi yang saya pertimbangkan:
- Gunakan pengelola paket untuk menginstal perangkat lunak di B:ini bukan opsi bagi saya karena perangkat lunak yang tersedia di pengelola paket sudah sangat usang.
- Memasang compiler dan alat pembangunan lainnya di B:Saya lebih suka tidak memasang alat pembangunan pada mesin produksi karena berbagai kendala.
- Salin biner secara manual dari A ke B:ini rawan kesalahan, dan saya ingin memastikan bahwa biner dipasang secara konsisten di seluruh mesin produksi.
- Instal hanya
make
di B, transfer direktori sumber, dan jalankansudo make install
pada B:ini adalah solusi terbaik yang saya temukan sejauh ini, tetapi untuk beberapa alasan (mungkin offset jam),make
akan mencoba membangun kembali perangkat lunak yang seharusnya sudah dibuat, yang gagal karena alat pembangunan tidak diinstal pada B. Karena mesin saya juga memiliki kecepatan I/O yang buruk, mentransfer direktori sumber membutuhkan waktu yang sangat lama .
Apa yang akan sangat bagus adalah jika ada cara untuk membuat semacam paket yang berisi binari bawaan yang dapat ditransfer dan dieksekusi untuk menginstal binari dan file konfigurasi. Apakah ada alat seperti itu?
Jawaban yang Diterima:
Menggunakan apa yang Anda miliki sejauh ini dan jika makefile dibuat dengan alat otomatis GNU, saya akan menetapkan lokasi target atau jalur pemasangan dengan
./configure --prefix=/somewhere/else/than/the/usual/usr/local
lalu jalankan
make && make install
dan terakhir salin file dari folder awalan ke usr/
folder di mesin lain. Ini dengan asumsi kedua mesin memiliki arsitektur yang sama, jika tidak, gunakan rantai alat silang yang sesuai.