Существует ли способ обойти .zshrc на входе в систему?

Назад в день, были бы репозитории дерева перевозки, которое Вы могли клон/контроль в своем содержании основ. В этих репозиториях Вы всегда могли бы вытащить старый ebuilds. Поскольку перевозка/хинду помещает декларации и контрольные суммы везде, у Вас не может быть ebuild, который в восходящем направлении не хочет быть частью дерева перевозки. Только как наложение.

Я погуглил это для Вас и нашел этот вопрос на Superuser SE, которая говорит Вам, как сделать наложение и также включает ссылку на перевозку репозиторий CVS.

Подробнее:

Вы не используете rsync, Вы используете emerge Первый привыкает последним, который делает это, часть появляется, на самом деле, часть перевозки, которая является тем, что Вы действительно используете для управления (не просто копируют!) Ваши пакеты и информация о пакете. Путем взгляда на rsync Вы смотрите на довольно глубокую деталь перевозки, и Вы не можете только изменить ту деталь. Вместо этого необходимо рассмотреть всю систему. Вот почему просто тонкая настройка rsyncповедение никогда не будет достигать того, что Вы хотите, и вызывает ошибку в emerge.

Другая часть системы portage, который Вы используете, контрольные суммы. Для каждого файла должна быть контрольная сумма. Когда Вы работаете emerge --sync Вы не только копируете и удаляете ebuilds, Вы также синхронизируете список файлов в дереве перевозки и их соответствующих контрольных суммах. Файлы, которые удалены в восходящем направлении, и поэтому от дерева перевозки, также удалены из списка файлов в дереве перевозки (потому что они не часть дерева перевозки больше).

Поэтому Вы перестали работать: Путем удаления --delete Вы заканчиваете с файлами в своем дереве перевозки, для которого никакие контрольные суммы не avaiable. Но как указано выше контрольные суммы являются частью системы, таким образом, Вам нужны они.

Существует также контрольная сумма в списке файлов и вероятно один или другая дополнительная контрольная сумма, таким образом, ее, вероятно, утомительны для хитрости.

Если Вы хотите сохранить свой старый ebuilds, те, которые специалисты по обслуживанию пришли к заключению, что это - хорошая идея удалить, у Вас есть два варианта:

  1. можно повредить систему перевозки,

    a) сила rsyncповедение,

    b) взлом emerge так, чтобы список файлов всегда включал Ваш ebuilds с контрольными суммами и

    c) создайте что-то, чтобы удостовериться, что все контрольные суммы всегда там и хорошо, включают контрольные суммы списка файлов

    d) придумайте последовательную систему, которая сохранит Ваш специальный ebuilds, но удалять старые, и дефектные устаревшие так, чтобы у Вас была стабильная и удобная в сопровождении операционная система

  2. Вы действуете в системе перевозки, которая позволяет Вам изменять дерево перевозки посредством оверлейных программ.

У Вас ясно есть xy проблема. Вы заявляете себя, что требуется иметь в наличии некоторый ebuils важного программного обеспечения. Но вместо того, чтобы спросить, как сделать это, Вы спрашиваете, как изменить поведение инструмента, который используется, появляются, который является инструментом перевозки.

Каждый мог бы степень число к wxyz проблеме, при этом w был Вашей фактической проблемой, Вы убегаете вдоль x (перевозка), передавание y (появляется) и наконец сталкивается со стеной в z (rsync). Пора возвратиться несколько шагов.

У других было то же намерение (сохраните старый ebuilds), как Вы делаете прямо сейчас. Существует допустимый и зарегистрированный способ достигнуть той цели, не портя всю систему. Я предлагаю, чтобы Вы пошли тем путем.

4
04.07.2014, 16:28
2 ответа

В отличие от bash, zsh не читает .zshrc при выполнении команд через ssh. Таким образом, если вы испортили ваш zshrc, вы всегда можете сделать:

ssh machine mv .zshrc .zshrc.disabled

с другой машины, чтобы убрать ваш .zshrc с пути.

Если вы хотите протестировать zshrc, вы можете поместить его в другой каталог и запустить zsh как:

ZDOTDIR=/that/dir zsh

чтобы запустить zsh с этим . zshrc (или .zshenv или .zprofile/.zlogin/.zlogout с zsh -l).

Вы также можете войти в систему с этим ZDOTDIR через ssh с:

ssh -t machine ZDOTDIR=/that/dir zsh -l
5
27.01.2020, 20:52

Вы можете настроить альтернативный файл конфигурации и с его помощью запускать оболочку. См. https://stackoverflow.com/questions/2727172/how-to-load-different-zshrc-file-via-commandline-option .

1
27.01.2020, 20:52

Теги

Похожие вопросы