#ubuntu #debian #apt_get
По какой-то причине у меня оказались установленными две версии пакета 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 и будет использоваться нужная мне версия. Но я хочу разобраться в причине дублирования и полностью его устранить.
Ответы
Ответ 1
/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) неиспользуемый файл.
Комментариев нет:
Отправить комментарий