По какой-то причине у меня оказались установленными две версии пакета ansible.
Я удалил один из них с помощью apt-get purge, но второй остался установлен.
ppa:ansible/ansible это официальный репозиторий ansible (кто бы мог подумать)
ubuntu.local — это наше локальное зеркало.
$ cat /etc/apt/sources.list.d/ppa_ansible_ansible_trusty.list
http://ppa.launchpad.net/ansible/ansible/ubuntu
$ sudo apt-cache policy ansible
ansible:
Installed: (none)
Candidate: 2.0.0.2-1ppa~trusty
Version table:
2.0.0.2-1ppa~trusty 0
500 http://ppa.launchpad.net/ansible/ansible/ubuntu/ trusty/main amd64 Packages
1.7.2+dfsg-1~ubuntu14.04.1 0
100 http://ubuntu.local/ubuntu/ trusty-backports/universe amd64 Packages
1.5.4+dfsg-1 0
500 http://ubuntu.local/ubuntu/ trusty/universe amd64 Packages
$ dpkg -l | grep ansible
(возвращает пустую строку)
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
$ ansible --version
ansible 1.9.4
configured module search path = None
$ which ansible
/usr/local/bin/ansible
Похоже, apt-get устанавливает его в другое место
$ sudo apt-get install ansible
$ ls /usr/bin/ansible -l
-rwxr-xr-x 1 root root 3944 Jan 15 04:33 /usr/bin/ansible
Понятно, что я могу просто поменять переменную $PATH и будет использоваться нужная мне версия. Но я хочу разобраться в причине дублирования и полностью его устранить.
Ответ
/usr/local/bin/ansible — этот файл явно появился здесь в обход пакетного менеджера.
проверить это можно, сделав запрос к базе данных dpkg:
$ dpkg -S /usr/local/bin/ansible
и получив в ответ, что no path found matching pattern
Но я хочу разобраться в причине дублирования и полностью его устранить.
вероятно, вы запустили какой-нибудь «инсталлятор» (install.sh, pip install что-нибудь и т.д. и т.п.)
Понятно, что я могу просто поменять переменную $PATH
вот этого делать, по-моему, не стоит. если у использованного «инсталлятора» нет функции «убрать весь мусор, который он разложил по разным уголкам файловой системы», то, в конце концов, можно удалить/переименовать (например, в /usr/local/bin/ansible-1.9.4) неиспользуемый файл.
Комментариев нет:
Отправить комментарий