Заранее извиняюсь, если это не по теме.

Когда я хочу установить приложение, скажем, в Ubuntu, я иду в терминал и набираю что-то, что указывает на то, что я хочу, чтобы это приложение было установлено.

То, что я не делаю, - это введите точное местоположение, из которого я хочу, чтобы оно было установлено.

Это сильно отличается, скажем, от Windows или OS X на основе графического интерфейса, где можно было бы использовать браузер для перехода к какой-либо странице в WWW, скачать большой пакет, а затем дважды щелкнуть по нему, чтобы установить его.

Мои вопросы:

  1. Откуда берутся Linux-приложения?
  2. Кто гарантирует, что эти хранилища не были повреждены вредоносным ПО?
  3. Я предполагаю, что есть несколько хранилищ. И если да, то как мой Linux-ПК решает, из какого репозитория загрузить пакет?
  4. Разные дистрибутивы имеют один и тот же репозиторий или разные?
  5. Если я использую какой-либо полнофункциональный последний выпуск Ubuntu, в отличие от облегченной версии, такой как Puppy Linux, и я ввожу ту же самую точную команду в терминал, чтобы установить какое-либо приложение, я буду устанавливать то же самое приложение? в обоих случаях или разные? Как все это обрабатывается, чтобы не та версия была установлена не в том месте?

2 ответа2

2

Много вопросов. Многие из этих вопросов глубоки. И я мог только подвести итог.

Ваш начальный вопрос:

То, что я не делаю, - это введите точное местоположение, из которого я хочу, чтобы оно было установлено.

Менеджер пакетов знает, где и как устанавливать программы. Это необходимо, чтобы менеджер знал, что установлено, и содержал систему в чистоте. Linux использует философию одной программы, должна выполнять одну задачу и выполнять ее хорошо. Когда вы устанавливаете программу в Linux, менеджер ищет то, что требуется, и устанавливает пакеты для вас.

  1. Откуда берутся Linux-приложения?

    Большинство бинарных файлов происходят из репозиториев. Некоторые вы строите сами из исходного кода.

  2. Кто гарантирует, что эти хранилища не были повреждены вредоносным ПО?

    Пакеты подписаны закрытыми ключами GPG. Это мешает любому, кто не является разработчиком, публиковать код под тем же именем. Таким образом, защитники хранилищ криптографии через математику. Но на самом деле вам нужно доверять хранилищам. Не добавляйте случайные репозитории. Использование репозиториев Ubuntu безопасно, потому что вы знаете, кто ими управляет.

  3. Я предполагаю, что есть несколько хранилищ. И если да, то как мой Linux-ПК решает, из какого репозитория загрузить пакет?

    Сопровождающий дистрибутив Linux решает, какой вариант использовать. С Ubuntu каждая версия получает репозиторий.

  4. Разные дистрибутивы имеют один и тот же репозиторий или разные?

    Разные. Существует много разных дистрибутивов, Ubuntu использует репозитории Ubuntu/Debian, Red Hat использует свои собственные. Просто зависит от дистрибутива.

  5. Если я использую какой-либо полнофункциональный последний выпуск Ubuntu, в отличие от облегченной версии, такой как Puppy Linux, и я ввожу ту же самую точную команду в терминал, чтобы установить какое-либо приложение, я буду устанавливать то же самое приложение? в обоих случаях или разные?

    Каждый дистрибутив использует свой способ доступа к репозиториям. Для Ubuntu это apt-get но в Red Hat это yum . Некоторые дистрибутивы имеют немного другую файловую структуру и способ работы. Например, Debian, мать Ubuntu, использует совершенно другой почтовый агент, чем Ubuntu. Один менеджер пакетов не будет работать на всех дистрибутивах Linux. И мы не хотим этого. Монополия вредна для безопасности и свобод, которые приносит Linux.

  6. Как все это обрабатывается, чтобы не та версия была установлена не в том месте?

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

0
  1. Зависит от того, что именно вы спрашиваете. Вы получаете их из хранилищ. Репозитории получают бинарные (мы не учитываем здесь Gentoo) пакеты, скомпилированные кем-то, кто является сопровождающим пакета, или ботом, который делает это автоматически. Это относится только к программному обеспечению с открытым исходным кодом (программному обеспечению с общедоступным кодом и легальному распространению). А исходный код исходит от разработчиков, которые либо загружают тарбол на свой сайт, либо на хостинг-сайт, такой как SourceForge или Github. Видя, что вы новичок, НЕ загружайте и не компилируйте пакеты самостоятельно.

  2. Как сказал Линус, «учитывая достаточное количество глазных яблок, все ошибки мелкие» (Закон Линуса). Это также относится к вредоносному программному обеспечению. ЛЮБОЙ (да, даже вы) можете просмотреть код пакетов, проверить md5sums, ключи GPG и т.д., Чтобы убедиться, что программное обеспечение не содержит код, который может причинить вам вред. Ответственность за пакет несут сопровождающие пакета (ребята, которые помещают исходный код из Интернета и упаковывают его в репозитории). Однако Malware НАМНОГО менее обнаруживается в закрытом источнике программного обеспечения от кашля Skype кашлем. Если вы параноик, не используйте программное обеспечение с закрытым исходным кодом.

  3. Если вы используете дистрибутив Linux, он, скорее всего, уже настроил свой собственный репозиторий (например, Ubuntu). Несколько репозиториев могут храниться на одном хосте, например, Multiverse, Universe, Limited и т.д. Различные репозитории на одном хосте имеют разные пакеты, поэтому нет конфликтов. Вот почему сторонние репозитории могут быть проблемой.

  4. Некоторые дистрибутивы, основанные на ДРУГИХ дистрибутивах (распространенных в мире Linux), могут использовать свои собственные репозитории только для тех базовых пакетов, которые они используют, но получают пакеты, которые хочет пользователь, из дистрибутива, на котором они основаны. Отличным примером является Linux Mint. Linux Mint имеет очень небольшую нагрузку на свои серверы и имеет только основные пакеты от команды Mint. Однако, если вы хотите установить случайный пакет (например, SuperTuxKart), Mint получает его из репозиториев Ubuntu. Кэш пакетов время от времени синхронизируется, чтобы ваш компьютер знал, где какие пакеты.

  5. Вы можете или не можете использовать ту же команду. Команда зависит от того, какой менеджер пакетов использует дистрибутив. Debian, Ubuntu и т.д. Используют APT, а Red Hat, Fedora и т.д. Используют YUM. Если пакет назван одинаково, вы, скорее всего (только в редких случаях) получите тот же пакет. Однако, скорее всего, вы получите другую версию. Это снова зависит от того, какой репозиторий использует ваш дистрибутив. Устаревшие и / или стабильные репозитории получают старую версию программного обеспечения, новейшие / новые репозитории получают последнюю версию.

Менеджер пакетов обрабатывает все пакеты и гарантирует, что все в нужном месте.

Я предлагаю вам прочитать на некоторых страницах Man ;)

Добро пожаловать в мир Linux!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .