Пакет под названием 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 на виртуальную машину.
Я предполагая, что вы построили из источника, доступного от 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
Не делайте символических ссылок на / 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. Стивен Китт отличный ответ расскажет вам, как получить эти команды.