Portabilitas yang dapat dieksekusi ke mesin Linux lain


11

Saya telah menginstal program Motion pada satu mesin Linux (M1) dan menginginkan program yang sama pada mesin lain (M2).

Ada berbagai build dari program ini, dan saya lupa yang mana yang saya gunakan, jadi bisakah saya melakukan copy langsung file pengguna / bin / gerak dari M1 dan menempatkannya di user / bin / gerak M2?

Saya tahu di mana file konfigurasi, jadi saya akan memindahkannya, tapi saya tidak yakin pada driver video apa yang digunakan versi gerak pada M2; apakah ada cara untuk mencari tahu?

Apakah ada cara agar saya bisa mengetahui ketergantungannya?


Sebagai catatan, ini hampir selalu merupakan ide yang buruk. Salah satu keuntungan besar Linux dibandingkan platform lain adalah manajemen paket. Menyalin secara manual binari ke direktori sistem menghindari manajer paket. Dalam banyak kasus, ini hanya berarti memperbarui biner perlu manual, tetapi dalam beberapa kasus, ini dapat menyebabkan pembaruan sistem masalah yang signifikan. TL; DR : gunakan manajer paket Anda.
HalosGhost

Kedengarannya logis, jadi bagaimana saya melakukan tugas ini menggunakan dpkg?
Reggie

Jika paket yang menyediakan alat yang Anda inginkan benar-benar tidak tersedia untuk OS Anda, maka Anda akan membuat paket untuk itu (itu lebih sulit daripada kedengarannya). Kemudian, Anda akan menginstal paket dengan dpkg.
HalosGhost

Saya tidak yakin apa yang Anda maksud. Bisakah Anda membuat paket dari program yang sudah diinstal?
Reggie

Tidak, pengemasan adalah proses yang terpisah; tetapi mempelajarinya adalah keterampilan yang tak ternilai. Itu distro- (atau setidaknya pengelola paket) -spesifik sekalipun.
HalosGhost

Jawaban:


12

Untuk memindahkan satu program ke komputer lain Anda harus pindah:

1) File yang dapat dieksekusi
Cara sederhana untuk menemukan jalur perintah adalah typeperintah.

Sebagai contoh: type cal

kal adalah / usr / bin / cal

2) dependensi perpustakaan
Anda dapat menemukan dependensi perpustakaan dengan lddperintah, Tapi ingat jika Anda menyusun program dari sumber, Arsitektur CPU dari kedua server harus sama.

Sebagai contoh: ldd date

linux-vdso.so.1 => (0x00007fff83dff000)
librt.so.1 => /lib64/librt.so.1 (0x0000003784e00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003737ee000000)
libpthread. so.0 => /lib64/libpthread.so.0 (0x0000003784200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003783a00000)

3) File konfigurasi
Di server baru Anda mungkin perlu memberi tahu program untuk membuat kembali file konfigurasi karena file konfigurasi itu milik server sebelumnya.

4) Memeriksa ketergantungan perangkat keras
Untuk memeriksa ini, saya pikir Anda harus memeriksa situs web program untuk perangkat keras pendukung atau Anda harus menguji program di lingkungan baru.


Bagaimana saya menemukan tempat executable disimpan? Saya pikir ini dalam gerakan pengguna / bin / disebut. Ini berjalan saat boot mesin, jadi bisakah ini memberikan saya petunjuk tentang tempat executable disimpan?
Reggie

@reggie, typeperintah adalah cara sederhana .. Saya mengedit posting saya.
Sepahrad Salour
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.