монтаж? что там за экранами linux?

0

Я бы сосредоточился на библиотеках, хотя это может быть и общая установка приложений.

Когда мы устанавливаем библиотеку (например, C++), начинающий пользователь вроде меня, вероятно, ожидает, что когда мы "установим" библиотеку, весь этот исходный код будет скопирован где-нибудь с несколькими установленными флажками и переменными пути, чтобы мы могли напрямую использовать # включают в себя какие-то заявления в нашем собственном коде и начните их использовать.

Но по проверке могу сказать, что на самом деле точные исходные файлы не копируются, а вместо этого копируются скопированные объектные формы файлов, за исключением так называемых *.h заголовочных файлов. (Просто потому, что я не могу найти исходные файлы на жестком диске, кроме заголовочных файлов)

Мои вопросы:

  1. Что такое метод "за сценой", когда мы "устанавливаем" что-то. Каковы все типичные местоположения, которые подвержены влиянию в среде "linux". И типичное значение/использование каждого из этих мест.

  2. В чем разница между "установкой" библиотеки и установкой нового приложения в систему Linux через "sudo apt-get" или так.

  3. Наконец, если у меня есть собственный набор исходных файлов, которые полезны в качестве библиотеки, и вы хотите отправить их в другую систему, как бы я "установил" свою собственную библиотеку там, как описано выше.

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

  • 1
    На практике вы обычно устанавливаете форму «разработки» пакета библиотеки, как указано в вашем дистрибутиве, например, apt-get install libgsl0-dev в Debian. Менеджер дистрибутива позаботится о зависимостях. И, пожалуйста, прочитайте Программу библиотеки HowTo и книгу Левина о компоновщиках и загрузчиках .
  • 0
    Вопрос включает информацию о языковых библиотеках и их установке. Когда тысячи вопросов задаются на языке C ++ и библиотеках, я задаюсь вопросом, почему SO не подходит для этого вопроса. <br/> Общая часть программного обеспечения этого вопроса заключается лишь в том, чтобы быть возможным расширением этой общей процедуры.
Теги:
installation
libraries

1 ответ

4
Лучший ответ
  1. (Вопрос был удален, разница в адресе между заголовком и объектными файлами). Это скорее вопрос общего программирования. Заголовочный файл - это просто объявление классов/функций/и т.д., Он ничего не делает. Весь файл заголовка говорит: "эй, я существую, это то, на что я похож". То есть это просто объявление подписей, используемых позже в фактическом коде. Объектный код - это только скомпилированный и собранный, но не связанный код. Эта диаграмма хорошо объясняет шаги, которые мы обычно называем процессом "компиляции", но лучше будем называть "компиляцией, сборкой и связыванием". Вкратце, связывание включает все необходимые объектные файлы, в том числе необходимые из системы, для создания исполняемого исполняемого файла, который вы можете использовать.

  2. (Теперь вопрос 1) Когда вы думаете об этом, что такое установка, кроме создания и изменения необходимых файлов с соответствующим контентом? Что такое установка, просто поместите новые файлы в нужное место, а затем при необходимости измените файлы конфигурации. Что касается того, какие "местоположения" обычно затрагиваются, обычно вы видите двоичные файлы, помещенные в /bin, /usr/bin и /usr/local/bin; библиотеки обычно помещаются в /lib или /usr/lib. Конечно, это зависит, в зависимости. Я думаю, что вы найдете эту страницу в каталогах Linux, чтобы быть учебным чтением. Помните, что все, что угодно можно разместить где угодно и по-прежнему работать должным образом, пока вы рассказываете о других вещах, где их можно найти, эти справочники используются только потому, что они упорядочивают вещи и допускают предположения о том, где элементы, такие как двоичные файлы, будут располагается.

  3. (Теперь вопрос 2). Единственное отличие заключается в том, что apt-get обычно упрощает установку нужного элемента и отслеживание установленных элементов, а также позволяет легко удалять установленные элементы. Что касается фактической установки, если вы делаете это правильно вручную, то она должна быть одинаковой. Менеджер пакетов, такой как apt-get, просто упрощает жизнь.

  4. (Теперь вопрос 3). Если вы хотите сделать это, вы можете создать свой собственный пакет или, если он будет менее задействован, вы можете просто создать скрипт, который перемещает файлы в соответствующие места в системе. Однако вы хотите это сделать, пока вы получаете предметы, в которых они должны быть. Если вы хотите создать пакет самостоятельно, это будет отличным опытом обучения, и есть много обучающих программ в Интернете. Просто узнайте, какая система пакетов использует ваш вкус linux, а затем найдите учебник о том, как создавать пакеты этого типа.

Таким образом, действительно большая картина, на мой взгляд, процесса установки - это просто компиляция (при необходимости), затем перемещение необходимых файлов в соответствующие места в системе и изменение существующих файлов в системе при необходимости: дерьмо там, пусть система знает это там, если вам нужно.

  • 0
    Большое спасибо за подробный ответ и извините за незначительные правки и удаление вопроса из-за отрицательных голосов! В любом случае, позвольте мне подождать, пока я не увижу все ответы, если они есть.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню