Не удается найти a2dissite и a2ensite после сборки apache2 из исходного кода на Mint17

Пакет под названием docker в Ubuntu (как и в Debian и некоторых других дистрибутивах) — это не Docker, средство развертывания контейнеров Linux, а Docker, система лоток для Gnome и KDE. Инструмент управления контейнерами сейчас более известен, но системный трей существовал раньше и до сих пор носит название пакета. Инструмент управления контейнерами находится в пакете под названием docker.io .

Вы можете узнать это, изучив пакеты с помощью таких инструментов, как apt:

apt show docker               # or apt-cache show docker
apt search docker             # or apt-cache search docker
sudo apt install docker.io    # or sudo apt-get install docker.io

В Trusty (Ubuntu 14.04) исполняемый файл инструмента управления контейнерами изначально назывался docker.io. , затем в обновлениях он был изменен на docker, а исполняемый файл на панели задач был переименован в wmdocker. Похоже, что база данных «команда не найдена» вашей системы была построена из исходных имен, а ее кеш устарел. Чтобы перестроить кеш, запустите update-command-not-found. С обновленным кешем последовательность команд была бы последовательной — в оригинальной Ubuntu 14.04 вы бы успешно установили системный трей, а в более позднем выпуске в сообщении вам было бы сказано установить docker.io.


Поскольку вы используете подсистему Windows для Linux, а не настоящий Linux, запуск Docker — это не просто установка пакета. Docker использует некоторые функции Linux, которые Windows не эмулирует. Существует Docker для Windows, это другая программа с тем же интерфейсом; этот пост о сбое сервера объясняет, как его запустить.Но если вам нужен настоящий Docker, вам понадобится настоящий Linux, а не дорогая пластиковая имитация. «В настоящее время у меня нет доступа к полностью работающей машине с Linux» можно исправить за несколько минут, установив Linux на виртуальную машину.

0
01.11.2016, 23:53
2 ответа

Я предполагая, что вы построили из источника, доступного от Apache Software Foundation. Сценарии a2en ... (и поддерживающая конфигурация) специфичны для Debian; вы найдете исходный код в соответствующем репозитории Debian .

Лучше всего построить сервер httpd из исходного кода и по-прежнему иметь возможность использовать a2ensite и т. Д.заключается в использовании пакета с исходным кодом Debian:

sudo apt-get install devscripts dpkg-dev build-essential
sudo apt-get build-dep apache2
dget http://httpredir.debian.org/debian/pool/main/a/apache2/apache2_2.4.23-5.dsc
cd apache2-2.4.23
dpkg-buildpackage -us -uc

Первые две команды устанавливают пакеты, необходимые для сборки apache2 ; затем dget загружает и извлекает исходный пакет, а dpkg-buildpackage собирает его и создает серию пакетов .deb , которые можно установить вручную с помощью dpkg как обычно.

Если строка build-dep не работает, следующее эквивалентно для apache2 :

sudo apt-get install debhelper lsb-release libaprutil1-dev libapr1-dev libpcre3-dev zlib1g-dev libnghttp2-dev libssl-dev perl liblua5.2-dev libxml2-dev autotools-dev gawk dh-systemd
5
28.01.2020, 02:16

Не делайте символических ссылок на / usr / bin . Это очень плохая идея, и вам не следует ее делать.

Почему? Поскольку большая часть / usr , включая / usr / bin , зарезервирована для диспетчера пакетов. Все, что не является менеджером пакетов, включая вас, не должно трогать там вещи.

/ usr / local существует, чтобы предоставить место для установки локально скомпилированного программного обеспечения. Обычно вы указываете / usr / local в качестве префикса вместо / usr / local / apache2 . (Между прочим, префикс - это префикс пути к bin, пути к библиотеке и т. Д. Так, например, инструменты командной строки Apache будут помещаться в $ PREFIX / bin , его библиотеки будут в $ PREFIX / lib / apache2 и т. Д.)

Решение вашей проблемы - добавить / usr / local / apache2 / bin в список путей, которые ваша оболочка использует для поиска двоичных файлов. Обычно это называется $ PATH или просто «ваш путь», и его можно изменить с помощью такой команды, как:

export PATH="/usr/local/apache2/bin:$PATH"

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

С учетом всего сказанного, я подозреваю, что вы все равно не найдете a2ensite или a2dissite . Если я правильно помню, обе эти команды были добавлены разработчиками Debian, а затем унаследованы оттуда Mint. Следовательно, они не включены в исходный код Apache. Стивен Китт отличный ответ расскажет вам, как получить эти команды.

1
28.01.2020, 02:16

Теги

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