Это, вероятно, глупый вопрос, но недавно я понял, что понятия не имею , почему нет однопользовательской функциональности с помощью apt-get.
Ответы, которые я не ищу:
Почему делает склонный - добираются, требуют sudo?
Не всегда. Можно отлично использовать apt-get
без sudo
. Существуют экземпляры, где Вам не нужно sudo
вообще, как использование apt-get download
который загружает пакет на Ваш текущий каталог, apt-get source
который загружает debian исходные файлы на Ваш текущий каталог, changelog
который загружает и печатает журнал изменений данного пакета и любую команду, которая имеет --simulate
/--dry-run
/--no-act
(в случае install
Вам нужно также --no-download
).
Это вызвано тем, что эти действия/команды не требуют для записи системных каталогов.
Теперь, почему apt-get
потребности sudo
? На самом деле это не делает. Можно угробить склонный - получают, загружают пакет wget
и используйте dpkg --extract
и извлеките пакет в любом каталоге, который Вы любите. Существует также --instdir
который должен работать на двоичный файл только пакет.
Теперь, почему это не значение по умолчанию? Поскольку это - боль. Чтобы сделать, что Вы хотите, мы должны были бы повторно упаковать каждый пакет дважды, один для правильного пути и другого, чтобы сделать то, что Вы хотите. В сборке двоичные файлы обычно должны знать, где файлы и библиотеки, им нужно (в некоторых случаях, это - hardcoded при компиляции).
Теперь, что можно сделать вместо этого? Просто chroot некоторая среда а-ля virtualenv, где можно установить пакеты без корня.
Сводка, это не путь, которые склонный - добираются, был предназначен, чтобы использоваться, и я не знаю, что другой диспетчер пакетов, подобный Кв. - добирается, который позволяет Вам делать это. В конце дня, apt-get
просто фронтенд к dpkg, который мог сделать часть этого.
Информация в самом пакете определяет, где файлы будут установлены, таким образом, Вам будет нужно sudo
и чтобы записать в /
и изменить базу данных пакета.
при установке пакетов Вы устанавливаете предварительно созданные двоичные файлы и связанную конфигурацию и метафайлы и сценарии, которые являются основными частями пакета. Эти сценарии и конфигурационные файлы плотно связаны с зависимостями и остальной частью системы. Вы не хотели бы изменять их слегка, если Вы не знали точно, что Вы делаете.
, Если Вы находитесь в системе, скажите на работе, где Вы не имеете sudo
доступ, можно скомпилировать из источника и установить каталог установки на дом. Затем нет никакой потребности в sudo
. Когда Вы устанавливаете из источника, Вы обычно не изменяете базу данных пакета.
Простая причина этого - это apt-get
не решает, где установить программное обеспечение. Это решено разработчиками и кодировано в самом приложении.
Да, можно установить на других каталогах. Для программного обеспечения с открытым исходным кодом получите источник, измените каталог установки, скомпилируйте, создайте и установите его. Обычно существует опция к включенному configure
сценарий, который позволяет Вам указать, где установить. Это обычно --prefix
.
Хорошо. Существует все еще способ сделать, это с Кв. - добирается, хотя это было бы слишком много для конечного пользователя. Выполните шаги.
$HOME
.sudo apt-get update
.apt-get install package
.Да и нет.
Да, потому что это возможно, некоторое программное обеспечение использует этот метод, единственный, который я знаю, Qt5
.It имеет .run файл, который при выполнении просит каталог установки среди многих других исходных данных.
Нет, потому что этот метод не использует apt-get
.
apt-get
?Я не думаю разработчики apt-get
и/или разработчики программного обеспечения интересовались бы выполнением этого, но некоторое программное обеспечение может быть разработано, который сделает источник, изменение, скомпилировать, создать, установить шаги автоматически, только прося каталог установки.
Мой 6-й смысл говорит мне, что команда была бы
apt-dont-get install pkg1 pkg2 ...
Вызовите его, редактируя файлы, которые являются chmodded, таким образом, Вы наклоняетесь, используют их. Вы могли бы быть в состоянии к chmod их так, Вы наклоняетесь, я не делаю reccomend выполнение этого хотя
Это не глупый вопрос.
Уровни полномочий в операционной системе
Ubuntu - и действительно любой современной операционной системе - имеют понятие различных уровней полномочий для различного программного обеспечения. Программное обеспечение, инициируемое пользователями обычно, работает под основанным на пользователе уровнем полномочий, который из соображений безопасности не имеет необходимого доступа для изменения системы - это может только изменить файлы, принадлежащие тому пользователю.
для выполнения любой модификации к операционной системе, которая могла оказать влияние на систему в целом, а не просто файлы пользователя, более высокий уровень полномочий требуется, который в Linux упоминается как полномочия "суперпользователя" (или обычно назван "корнем"). Этот уровень полномочий имеет беспрепятственный доступ ко всей операционной системе, позволяющей его изменить - или уничтожить - все файлы для всех пользователей.
роль способных - добирается
при установке программного обеспечения через способный - добираются, Вы устанавливаете программное обеспечение, которое будет доступно в масштабе всей системы . Таким образом, программное обеспечение будет только помещено в корневой каталог пользователя для выполнения тем пользователем только, но это будет установлено в каталоге приложения в масштабе всей системы (такой как в/usr, / и т.д., / var и так далее) для выполнения всеми пользователями. Для изменения этих каталогов, Вам нужны полномочия суперпользователя. Никакой непривилегированный пользователь не может изменить эти каталоги, потому что в других отношениях непривилегированное программное обеспечение могло смешать с системой.
, При попытке установить что-то с помощью склонного - добираются, не давая склонный - получают права суперпользователя, первое препятствие, которое это не преодолеет, должно получить блокировку для записи в ее собственный каталог программного обеспечения. Быть утилитой в масштабе всей системы, склонной - добирается, поддерживает каталог установленного программного обеспечения, которое естественно требует полномочий суперпользователя отредактировать так, чтобы непривилегированное программное обеспечение не могло смешать с ним. Но даже если Вы могли бы так или иначе преодолеть это препятствие (например, путем изменения полномочий файла), много дальнейших шагов по пути установки программного обеспечения все еще перестанут работать, потому что процедура установки будет зависеть от записи в несколько системных каталогов.
Используя Linux это возможно для установки программного обеспечения без полномочий суперпользователя, но необходимо записать его сами (например, сценарии оболочки) или скомпилировать его сами и выполнить скомпилированные исполняемые файлы непосредственно. Легче только установить его, в масштабе всей системы использование склонного - добирается (и другие основанные на APT утилиты как способность, синаптическая, или центр программного обеспечения Ubuntu), если у Вас есть доступ, чтобы сделать так.