Почему программное обеспечение не упаковано в один файл?

Вы не сможете исправить это самостоятельно и вам нужна помощь администратора.

Переименование или копирование файла не должно быть возможным, поскольку ваше имя пользователя более чем вероятно будет частью others ( а не частью user или group).

Пользователь должен быть в той же группе, что и пользователь apache, или вам нужно больше разрешений только для этого файла, или вам нужно sudoer.

1
задан 15 July 2012 в 16:55

4 ответа

Это не совсем так. Программное обеспечение Ubuntu обычно поставляется в одном файле .deb. Будучи совершенно упрощенным (и неточным), файлы .deb являются соответствующим .exe-файлом для окон. Все программы, в том числе в окнах, используют зависимости от других файлов в операционной системе (библиотеки). Процесс установки является более или менее явным в разных ОС. Когда вы используете программный центр в Ubuntu для загрузки программы, вы загружаете только те зависимости, которые не установлены в вашей системе, и фактические файлы программ. Это предотвращает перегрузку системы с помощью дубликатов файлов и дублирует функциональные возможности, которые могут возникнуть в конфликтах.

Верьте или нет, единственная разница между установкой программы в Windows или Ubuntu - это объем информации, которую они предоставлять пользователям. Windows думает, что ее пользователи глупы и не хотят, чтобы они знали, что он устанавливает при запуске exe-файла. В linux вы получаете эту информацию ... для некоторых пользователей слишком много деталей, но другие (большинство) действительно ценят это.

надеюсь, что это имеет смысл.

4
ответ дан 25 May 2018 в 10:05
  • 1
    Совершенно верно. Даже другие дистрибутивы (не так хорошо, как Ubuntu) используют .rpms. Дело в .exe, .deb или что-то еще в том, что это в основном большой .tar, который извлекает себя в разные места! В Windows он переходит в Program Files и показывает вам индикатор выполнения, но на linux он показывает вам намного больше. – WindowsEscapist 17 June 2012 в 01:55
  • 2
    Я думаю, что предположение, что exe-файл похож на большой файл tar, слишком далеко продвигается в сторону упрощения. Файл tar не является исполняемым. Файл exe (естественно) есть. То есть с файлом deb (который действительно является tar-файлом), диспетчер пакетов обрабатывает фактический процесс перемещения файлов по округу, поэтому система может оставаться в стороне от вещей довольно элегантно. С программой установки (например, в Windows) это делает сам установщик. Он может говорить с некоторыми системными компонентами, чтобы держать вещи в порядке, но только если это так. – Dylan McCall 17 June 2012 в 03:15
  • 3
    Лучший способ подвести итог - это то, что в Windows есть разработчики программы установки, такие как InstallShield и NSIS. Есть такие инструменты, как для Linux. MojoSetup является популярным. Здесь вы иногда загружаете программу, и у нее есть исполняемый файл (обычно заканчивается на .sh или .run), и он дает вам небольшой мастер. Обычно они не разговаривают с менеджером пакетов, и они работают так же, как программы установки в Windows. В этой записке установщик Windows (с его файлами .msi) - это попытка очистить этот беспорядок на их конце;) – Dylan McCall 17 June 2012 в 03:24
  • 4
    Я думаю, что пути Linux намного лучше, чем Windows. Но да, пути Windows просты и легки – Anwar 17 June 2012 в 09:16
  • 5
    Формат файла Windows, соответствующий .deb, - .msi . – Eliah Kagan 18 June 2012 в 02:24

В Ubuntu большинство программных продуктов входит в один файл. Это *.deb debian пакетный файл, который загружается, распаковывается и устанавливается из вашего диспетчера пакетов.

Почему Ubuntu не устанавливает программное обеспечение из самораспаковывающихся исполняемых файлов, как это делает большинство программ для Windows? [!d1 ]

Поскольку самораспаковывающиеся файлы *.exe являются очень опасным предложением для принятия.

Наиболее важные различия между самораспаковывающимися исполняемыми файлами и системой упаковки, такими как debian / Ubuntu, являются:

Прозрачность безопасности Более подробное управление

Подробнее:

Безопасность

В мире Windows вы должны доверять этому одиночному файл. Как можно действительно быть уверенным, что ему можно доверять? Как вы можете даже знать, что он что-то устанавливает? Как вы можете быть уверены, что за вашей спиной нет других вещей?

В Ubuntu все пакеты имеют цифровую подпись, поэтому, используя отдельный файл пакета - диспетчер пакетов (будь то muon, synaptic, aptitude или даже прямой apt) - вы проверяете содержимое до того, как оно будет даже распаковано, а тем более установлено. Это предполагает, конечно, что вы доверяете репозиториям. Я предпочитаю доверять репозиториям Ubuntu (единый авторитет), чем сотни часто незнакомых разных источников для загрузки.

Безопасность

С помощью функции , вы можете по существу сделать одно: выполнить его. В Ubuntu вы можете проверить содержимое пакета, описания, конфиги, отдельные файлы, последние изменения, исправления ошибок и т. Д. Из удобства вашего диспетчера пакетов, , прежде чем решит установить или нет. [ ! d17]

Когда вы устанавливаете файл *.exe, вы также должны доверять своему «удалению» крючка (и не все *.exe файлы гарантированно имеют один). В Ubuntu все файлы, принадлежащие стандартным пакетам, установленным менеджером пакетов, всегда можно удалить, поскольку это функция диспетчера пакетов, а не самого пакета. Менеджер пакетов - это отдельное и надежное приложение, которое предоставляет как установщик, так и деинсталлятор, пакет не может отнять у вас крючок удаления. Конечно, вредоносный пакет может прокрасться через действия после установки, но поэтому у нас есть официальная система репозитория и те же люди, которым мы доверяем, чтобы поддерживать их.

Transparency

It идет дальше. На Ubuntu я действительно могу доверять своей системе, потому что могу проверить программное обеспечение на многих уровнях. Конечный уровень - это возможность взглянуть на исходный код. бинарные пакеты имеют соответствующие исходные пакеты. Я действительно могу посмотреть на источник (Пример: « Transparency » предоставит вам полные источники оболочки bash). В мире файлов * .exe обычно есть только двоичные файлы, и кто знает, что они на самом деле делают за кулисами?

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

3
ответ дан 25 May 2018 в 10:05

В дополнение к тому, что было сказано другими, иногда одна часть программного обеспечения разделяется на несколько пакетов, потому что не все функции имеют отношение ко всем пользователям. Например, если документация программы является объемной, она обычно предоставляется отдельным пакетом. Это позволяет пользователям, которые не интересуются этими дополнительными функциями, для экономии места на диске и пропускной способности / времени для загрузки.

2
ответ дан 25 May 2018 в 10:05

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

Программное обеспечение Windows в основном упаковано в один файл. Означает ли это, что у них нет никакой зависимости?

Нет. Почти все программные средства зависят от некоторых других программных средств. (Да, я знал о достоинствах Ubuntu или более общего в Linux способа обработки программного обеспечения. Я просто пытался собрать все хорошее мнение и разум в центральном направлении, чтобы я мог продемонстрировать некоторые из моих друзей) [ ! d1]. Программное обеспечение Microsoft не освобождено от зависимости. Итак, важный вопрос: как они справляются с этим?

Ответ: Они справляются с этим по-своему. Предполагая, что их большинство пользователей глупы, они просто переносят всю зависимость в один файл, в результате чего получается более крупное (1 зарегистрированное) программное обеспечение. Например, см. Игры, выпущенные для Microsoft. Почти каждая игра включает в себя установки DirectX, хотя у пользователей уже есть обновленные версии.

Вот что я нашел в Google о том, почему DirectX входит в каждую игру.

Даже если более поздняя версия двоичного файла уже установлена, эта версия не может использоваться и даже если ваша установка DirectX обновлена, потому что вы запустили более новую версию установщика, которая не гарантирует установки всех предыдущих версий. Хуже того, если версия для x86 установлена, она не гарантирует, что одна и та же версия установлена ​​для x64, поэтому для 64-битных и 32-разрядных игр может потребоваться запустить ту же самую версию установщика, но при запуске использовать разные платформы.

нажмите здесь для полной статьи. Понятно, что они не очень хорошо справляются с зависимостью.

В большинстве случаев, независимо от того, какие зависимости уже существуют, они обеспечивают его простоту (для своих пользователей). Также посмотрите, как много программных разделов включают компоненты среды выполнения .NET. Еще один пример из моего опыта: как только я загрузил и установил программное обеспечение MS. Довольный процессом, я нажал на значок, чтобы открыть программное обеспечение. Только тогда он говорит мне, что «мне нужно, чтобы Java запускалась». Такая ситуация никогда не возникает в мире Linux через управление пакетами. (!)

Как Linux справляется с этой проблемой зависимости?

Ну, Linux или Ubuntu не скрывает, что вам необходимо установить зависимости для использования программного обеспечения (в отличие от способа Microsoft). Но когда вы устанавливали компоненты, другое программное обеспечение, которое зависит от одного и того же компонента, использует установленные ранее установки (в отличие от программных продуктов MS, включая все).

0
ответ дан 25 May 2018 в 10:05

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

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