Мы используем поддельную корневую среду на работе. В основном это - набор каталогов, которые эмулируют apt-get
и dpkg
если некоторые переменные среды установлены. Т.е. Вы работаете apt-get install xxx
и пакет xxx
устанавливается в эту среду, но не в систему.
Когда я использовал удар, склонный - добираются, автоматическое заполнение работало отлично. Когда я ввел apt-get install <Tab><Tab>
, это показало мне список локальных пакетов, если я был в поддельном корне и глобальном списке иначе.
Однако то, когда я переключился на zsh странные вещи, произошло. В настоящее время только глобальные пакеты обнаруживаются в списке, хотя он не всегда имел место. Вот полная история.
/home
который был на отдельном разделе.Ubuntu
исчезнувший от /usr/share/zsh/functions/Completion
, теперь склонный - добираются, правила завершения взяты от Debian
папка.Вы могли объяснить меня, что могло произойти здесь и как я могу установить zsh работу завершения и с системой и с поддельной Кв. - добираются?
Я использую Ubuntu 16.04.2.
P.S. Мой поддельный корень не связан с fakeroot
команда.
Ну, я наконец понял это. Кэши механизма завершения Zsh несколько вещей, включая список доступных пакетов, возвращенных Кв. Теперь моя история кажется четкой: когда автоматическое заполнение всегда предлагало меня пакеты от поддельного корня, это было, потому что в первый раз я выполнил zsh в поддельной корневой среде, и соответствующий список пакета вошел в кэш.
Если Вы хотите переопределить его (предположение, что Вы используете oh-my-zsh), просто добавляют следующий код в Ваш .zshrc прежде, чем назвать oh-my-zsh:
if [[ check for fakeroot ]]; then
export ZSH_CACHE_DIR=desired-cache-dir-name
fi
Это разделяет завершение, кэширующееся между поддельным корнем и основной системой, и решает проблему из сообщения.