Что Вы думаете, причины, который вызывает эту ошибку?
The program 'wget' is currently not installed.
You can install it by typing:sudo apt-get install wget
Если я ввожу sudo apt-get install wget
вывод - это:
Reading package lists... Done
Building dependency tree
Reading state information... Done
wget is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
Я проверил, установлен ли wget wget --version
но ничто не подходит. Я не могу установить wget
. У меня есть интернет-соединение. Я использую Ubuntu 12.04.5 сервер LTS. Это недавно установлено. Я пытаюсь установить asterisk
на этом, но не может начать. Любой информацией будет большая справка.
Можно узнать, какие файлы были установлены при помощи
dpkg -L wget
В моей системе (YMMV), это показывает мне, который /usr/bin/wget
один из установленных файлов.
я подозреваю, что Ваш $PATH
установлен неправильно. Покажите нам результат
echo $PATH
/bin/ls -l /usr/bin/wget
и проверьте Ваш ~/.bashrc
на то, как PATH
настраивается.
Проверьте, что Вы - корень, когда выполнение склонного - добирается. Тогда, если Вы: Попробуйте:
sudo apt-get update
sudo apt-get remove wget
тогда попытка wgetsudo apt-get upgrade
тогда попытка все эти вещи снова. Это походит на проблему с Вашим $PATH. Взгляните на эта страница для большего количества информации
, откройте терминал, введите следующие команды по одному и сообщите нам, каковы результаты:
$ echo $PATH
$ cat ~/.pam_environment
sudo apt-get install --reinstall wget
заменит любые удаленные файлы.Когда bash
значение по умолчанию оболочки command-not-found обработчик в Ubuntu - который является тем, что отобразило сообщение, которое Вы видели, когда Вы пытались работать wget
- говорит Вам, что программа не установлена, но пакет, который, как это говорит, обеспечивает, это установлено, это обычно означает, что файл был удален. В этом случае можно переустановить пакет, и файл будет заменен.
Просто выполнив команду, которую это говорит, Вы для выполнения не сделаете этого, потому что, если переустановка уже установленных пакетов была выполнена по умолчанию, когда Вы используете apt install
или apt-get install
, затем пользователи постоянно переустанавливали бы вещи, которые они не означали переустанавливать.
Для переустановки пакета передайте --reinstall
флаг также. В Вашем случае, для wget
пакет:
sudo apt-get --install reinstall wget
apt
команда также принимает этот синтаксис, т.е. можно заменить apt-get
с apt
в той команде, в Ubuntu 14.04 LTS и позже, хотя та команда все еще хорошо работает. (Хорошо использовать apt-get
, даже в системах, которые имеют apt
команда, также.)
Альтернатива для удаления и затем переустановки wget
на двух отдельных шагах нецелесообразно, потому что, если Вы удаляете wget
с remove
или purge
действие, затем любые пакеты, которые зависят от него, будет также удалено. Те пакеты автоматически не переустанавливаются, когда Вы впоследствии устанавливаете wget
(хотя, если Вы явно устанавливаете их, затем wget
пакет установлен, если это уже не было, предположив, что диспетчер пакетов знает, что это отсутствовало).
Для получения информации о том, как исследовать такие проблемы и другие возможные причины, посмотрите ниже. То, что следует, вторично и не нужно в большинстве случаев.
Как описано выше, недостающий файл является наиболее распространенной причиной проблемы, но существуют другие причины, которые переустановка пакета может также решить - видят ниже - таким образом, я предлагаю просто продолжить делать так. Однако, если Вы испытываете желание проверять, был ли файл удален, то можно работать:
ls -l /usr/bin/wget
В целом, если Вы не знаете то, что файл должен обеспечивать команде, можно работать dpkg -S wget
видеть список файлов, обеспеченных непосредственно любым пакетом, которые имеют wget
на их имена, или (как waltinator предложенный) dkpg -L wget
перечислять все файлы что wget
пакет непосредственно обеспечивает. Однако я предлагаю вместо этого использовать https://packages.ubuntu.com/для поиска его, так как интерфейс прост в использовании, и это даст Вам правильный ответ, даже если диспетчер пакетов Вашей системы окажется поврежденным или неправильно сконфигурированным.
См. также, Как я нахожу пакет, который обеспечивает файл?
PATH
проблема.Существуют другие возможные причины, но по моему опыту они намного менее распространены. В частности, если Ваш PATH
установлен неправильно, который не будет обычно заставлять command-not-found обработчик предлагать установить пакет:
ek@Kip:~$ nonexistent-command
nonexistent-command: command not found
ek@Kip:~$ curl
The program 'curl' is currently not installed. You can install it by typing:
sudo apt-get install curl
ek@Kip:~$ wget
wget: missing URL
Usage: wget [OPTION]... [URL]...
Try `wget --help' for more options.
ek@Kip:~$ PATH=
ek@Kip:~$ nonexistent-command
bash: nonexistent-command: No such file or directory
ek@Kip:~$ curl
bash: curl: No such file or directory
ek@Kip:~$ wget
bash: wget: No such file or directory
Более вероятная причина для этого вида проблемы - помимо файла, удаляемого, как описано выше - состояла бы в том, если бы система альтернатив поддержала команду как символьную ссылку на исполняемый файл, и сама символьная ссылка была удалена, в то время как фактический исполняемый файл остался.
В той ситуации Вы не должны были бы переустанавливать пакет - но переустанавливающий все еще обычно будет фиксировать его, потому что это обычно настраивало бы недавно установленную команду, поскольку значение по умолчанию путем переделки символьной ссылки и наличия ее указывает на исполняемый файл, который был установлен.
Кроме того, wget
в Ubuntu не управляется системой альтернатив, потому что существует только одна реализация wget
в репозиториях Ubuntu. Таким образом, это не причина ситуации, описанной конкретно в вопросе здесь, хотя это иногда - причина проблем та декларация так же.