Я новичок в Linux (но давний пользователь MacOSX). У меня вопрос, состоящий из двух частей, но сначала для этого потребуется немного предыстории ...
Я построил MacPorts из исходников. Я ./ сконфигурировал его для установки самого себя, всех портов и всех зависимостей портов в ~ / macports вместо / opt / local. Таким образом, мне не нужно быть пользователем root для запуска команды порта, и все, что я делаю (или хочу, чтобы этого не делал), попадает в мой домашний каталог, а не в саму систему.
Итак, как поклонник MacPorts на моем Mac, у меня есть вопрос из двух частей:
1: Что эквивалентно MacPorts в мире Linux?
2: Можно ли скомпилировать эквивалент Linux из исходного кода, чтобы я мог запускать его без привилегий, а также контролировать, где устанавливаются порты и их зависимости?
Спасибо, -Джеймс
Большинство дистрибутивов будут поставляться со своей собственной системой управления пакетами, которая предоставит вам аналогичные функции. Если вам нужно что-то очень похожее на MacPorts, я бы посоветовал вам использовать Gentoo Linux с портами.
Зависит от распределения
rpm
продлен yum
в системах, производных от Redhatdpkg
продлен apt
в системах, производных от debian, но используйте aptitude
общий термин - «менеджер пакетов» или «система управления пакетами»
В обоих случаях, перечисленных выше, подчиненный менеджер пакетов (rpm
и dpkg
) обеспечивали основные манипуляции с пакетами, а следующий уровень (yum
и `apt) обеспечивают автоматическую обработку зависимостей и какое-то разрешение конфликтов.
В зависимости от вашего дистрибутива диспетчер пакетов позволит или не позволит вам перекомпилировать пакет из исходного кода и / или установить двоичный файл в пользовательский каталог.
Вы можете взглянуть на www.pkgsrc.org это система портов netbsd, и она может работать в Linux (и даже на Mac - x!). Это очень похоже на macports (cd; ./configure; make; make install).
Менеджеры пакетов GUI
Менеджер пакетов командной строки для SLES / OpenSUSE: Zypper
Чтобы ответить на пункт 2 - Macports по существу предоставляет очень хорошую оболочку для ручного процесса сборки [ниже], используя свой собственный файл конфигурации, чтобы предоставить значения для ./configure значений, таких как --prefix, --libdir, --includedir. Вам повезет, и вы обнаружите, что MacPorts «просто работают» в Linux. http://www.macports.org/install.php Точно так же вы можете заставить одну из систем * BSD Ports работать в Linux, поскольку они, MacPorts и Gentoo Portage - все очень похожие инструменты [афиаки все являются производными от одного базового продукта]
В противном случае вам, скорее всего, придется просто создавать что-то вручную из исходного кода, в любом случае это может быть более простой вариант. Обычно это довольно простой процесс:
download & unpack source
./configure --prefix=/my/preferred/app/base/
make && make install
Как упоминалось выше, Gentoo Portage очень похож на Macports, но это инструмент системного пакета, и поэтому он не будет [без существенной настройки вашей среды] строиться в вашем собственном домашнем приложении или в качестве предпочтительного пользователя. Тем не менее, была проделана работа, чтобы Portage поработал над другими дистрибутивами, и по иронии судьбы самой известной версией этой работы является Gentoo для OS X
Возможно, вам удастся заставить работать системные инструменты для вашего дистрибутива. По крайней мере, в Rpm [все инструменты пакетов SLES в конечном итоге запускаются поверх или RPM] имеет параметр --prefix, хотя не все пакеты позволят вам установить их в любом месте, кроме их предпочтительного местоположения.
Для некоторых дистрибутивов есть YUM, для других - APT .. Используйте Ubuntu Linux или Linux Mint. Они используют APT. Это отличный дистрибутив с отличным менеджером пакетов.