В чем разница между копированием файла a.out (исполняемого файла) и установкой приложения? [закрыто]

В чем разница между установкой прикладного программного обеспечения и копированием исполняемого файла (например, a.out) приложения? Когда мы запускаем файл a.out, он дает некоторый результат, запуск установленного приложения также дает некоторый результат. Я не понимаю разницы, когда кто-то говорит «Установка приложения» и копирует исполняемый файл. Что на самом деле происходит при установке приложения? Чем это отличается от простого копирования исполняемого файла с одного компьютера на другой (та же операционная система и подобное оборудование) и запуска его там?

0
задан 10 February 2018 в 03:57

2 ответа

Ну, при высказывании устанавливания приложения, которое обычно означает, что Вы используете диспетчер пакетов как dpkg или более высокий уровень apt семейство. В этом случае исполняемые файлы поставляются в пакете, который также может содержать дополнительные библиотеки, которые необходимы для выполнения исполняемого файла, страниц справочника, файлов разработчика, конфигурационные файлы и т.д. Преимущество этого состоит в том, что администратор может отслеживать то, что установлено и также гарантирует, что при установке нового программного обеспечения или обновлений, новое программное обеспечение не сталкивается с другим программным обеспечением и библиотеками, уже установленными, который мог привести к другому катастрофическому отказу приложений.

Так, в то время как это могло бы работать, чтобы просто скопировать по Вашему исполняемому файлу в другую систему, это не рекомендуется, поскольку это может повредить вещи. Безопасно скопировать исполняемые файлы в где-нибудь вне системных путей как /bin/, /sbin, /usr/bin, /usr/sbin.
Вы могли использовать /usr/local/bin и /usr/local/sbin для такой цели или еще лучше создают каталог под /opt для Вашего исполняемого файла и места это там. Затем назовите исполняемый файл с полным путем или добавьте путь к исполняемому файлу к Вашему PATH переменная среды.

$ mkdir -p /opt/myapp/bin
$ cp myexec /opt/myapp/bin/

$ /opt/myapp/bin/myexec

или

$ export PATH=$PATH:/opt/myapp/bin
$ myexec
1
ответ дан 31 October 2019 в 01:13

Базовый принцип всех подобных Unix операционных систем (как Ubuntu) является всем, файл. При рассмотрении содержания пакета Вы также найдете исполняемый файл там, и да, для двух машин с тем же самым (или по крайней мере очень похожий) комбинация программного и аппаратного обеспечения (платформа), Вы могли просто использовать свой исполняемый файл. Но большинство программ не состоит только из одного исполняемого файла. Выполненный ls -R /usr |grep libreoffice для примера более сложного пакета Вы не хотели бы копировать все те файлы в их отдельных местоположениях вручную теперь, не так ли?

В то время как в некоторых случаях (особенно при тестировании небольших программ) действительно имеет смысл просто отправлять кому-то исполняемый файл, они могут работать, Вы будете почти всегда хотеть обеспечить пакет для готового изделия.

Диспетчеры пакетов обычно также заботятся об установке зависимостей, добавляя Вашу программу к списку установленных приложений и ПУТИ, и наконец, что не менее важно, предоставляют возможность обновлять программу, когда новая версия выпущена.

0
ответ дан 31 October 2019 в 01:13

Другие вопросы по тегам:

Похожие вопросы: