Переносимість виконуваного файлу на іншу машину Linux


11

Я встановив програму Motion на одній машині Linux (M1) і хочу цю ж програму на іншій (M2).

Існують різні збірки цієї програми, і я забув, яку з них я використав, тож чи можу я зробити пряму копію файлу користувача / bin / motion з M1 та розмістити його у користувальницькій / bin / motion M2?

Я знаю, де знаходиться файл конфігурації, тому перенесу це поперек, але я не впевнений, у яких відеодрайверах працює робоча версія руху на M2; чи є спосіб дізнатися це?

Чи є спосіб я дізнатися її залежності?


Тільки для запису, це майже завжди погана ідея. Однією з величезних переваг Linux перед іншими платформами є управління пакетами. Ручне копіювання двійкових файлів у системні каталоги обходить менеджер пакунків. У багатьох випадках це просто означає, що оновлення двійкового файлу потрібно буде вручну, але в деяких випадках це може спричинити значні проблеми оновлення системи. TL; DR : використовуйте менеджер пакунків.
HalosGhost

Звучить логічно, то як би я зробив це завдання за допомогою dpkg?
реггі

Якщо пакет, що надає потрібний інструмент, справді недоступний для вашої ОС, тоді ви створили б пакет для нього (це менш складно, ніж це звучить). Потім ви встановите пакет з dpkg.
HalosGhost

Я не впевнений, що ти маєш на увазі. Чи можете ви зробити пакет із уже встановленої програми?
реггі

Ні, упаковка - це окремий процес; але навчання це - неоціненний навик. Він є специфічним для distro- (або принаймні менеджера пакунків).
HalosGhost

Відповіді:


12

Для переміщення однієї програми на інший комп'ютер потрібно переміститись:

1) Виконавчий файл
Простий спосіб пошуку шляху команд - це typeкоманда.

Наприклад: type cal

cal є / usr / bin / cal

2) Залежності бібліотеки
Ви можете знайти залежності бібліотеки за допомогою lddкоманди, але пам'ятайте, якщо ви склали програму з джерела, архітектура процесора обох серверів повинна бути однаковою.

Наприклад: ldd date

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

3) Файли конфігурації
На новому сервері вам може знадобитися сказати програмі заново створити файли конфігурації, оскільки файли конфігурації належать попередньому серверу.

4) Перевірка залежності апаратних засобів
Для перевірки цього, я думаю, вам доведеться перевірити веб-сайт програми для підтримки апаратних засобів або вам доведеться протестувати програму в нових умовах.


Як знайти місце зберігання виконуваного файлу? Я думаю, що це у користувальницькому / bin / закликаному русі. Він працює під час завантаження машини, так що це може дати мені підказки щодо того, де зберігається виконуваний файл?
реггі

@reggie, typeкоманда - це простий спосіб .. Я редагував свій пост.
Sepahrad Salour
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.