Почему предыдущие версии пакетов Debian исчезают из репозиториев пакетов? (весьма актуально для конфигурации системы с контролем версий)

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

sudo chown -R <login>:<login> /home/<login>
find /home/<login> -type f -print0 | xargs -0 chmod 664
find /home/<login> -type d -print0 | xargs -0 chmod 775

<login>— это, конечно же, ваш логин. Если хотите, измените на 660и 770.

В некоторых особых случаях требуются более строгие разрешения. Этот список в любом случае не является полным, но может помочь вам быстро восстановиться.

Исправление для почты и ssh:

find /home/<login>/Mail -type d -print0 | xargs -0 chmod 700
find /home/<login>/.ssh -type d -print0 | xargs -0 chmod 700
find /home/<login>/Mail -type f -print0 | xargs -0 chmod 600
find /home/<login>/.ssh -type f -print0 | xargs -0 chmod 600

Примечание :Для некоторых файлов в ~/Mailможет потребоваться 640или 644. Это будет зависеть от вашего почтового клиента.

Некоторые другие распространенные файлы, для которых потребуются те же разрешения, что и выше::

.gnome,.gnome2_private,.bash_history,.lesshst,.viminfo

Изменить:Включена .sshинформация из комментария Ульриха Шварца и расширена за счет включения некоторых более распространенных каталогов и разрешений. Также включена команда chown -R, которая уже выполнялась OP для полноты картины.

Редактировать 2:Как указал saurabheights в комментариях, вам может потребоваться запустить find /home/<login> -type d -print0 | xargs -0 chmod 775несколько раз, пока все подкаталоги не станут доступными.

39
02.10.2019, 20:05
3 ответа

Возможность воспроизвести определенную установку, вплоть до точной версии, является вашим требованием, а не Debian.

Debian поддерживает только одну версию каждого бинарного пакета в любом выпуске; обратная сторона этого заключается в том, что большое внимание уделяется тому, чтобы обновления пакетов в любом конкретном выпуске не приводили к регрессии, а когда такое внимание невозможно, документировать этот факт. Хранение нескольких версий данного пакета только увеличило бы нагрузку на поддержку и требования к тестированию :, например, сопровождающим пакетам пришлось бы тестировать обновленные пакеты со всеми доступными версиями используемых ими библиотек, а не только с текущими -поддерживаемыми. версии... В стабильной версии пакеты обновляются только тогда, когда это действительно необходимо, т.е. для исправления серьезной ошибки (, включая проблемы с безопасностью ). В случае с ядром это иногда означает, что изменяется ABI ядра, и в результате этого (изменяется имя пакета для принудительной пересборки зависимых пакетов ); существуют мета-пакеты -, которые вы можете использовать вместо жесткого -кодирования ABI (linux-image-amd64, linux-headers-amd64и т. д. ).

Однако для вашей ситуации есть обходной путь :каждый опубликованный исходный код и двоичный пакет архивируются на snapshot.debian.org . При создании версионной установки вы можете выбрать соответствующий снимок (, например, один из снимков за сентябрь 2019 года)и использовать его в качестве URL-адреса репозитория :

.
deb https://snapshot.debian.org/archive/debian/20190930T084755Z/ buster main

Если вы в конечном итоге полагаетесь на это, используйте какое-либо кэширующее зеркало, например Apt -Cacher NG . Это не только снизит нагрузку на сервер моментальных снимков, но и обеспечит наличие локальной копии всех необходимых пакетов.

(Ситуация с пакетами с исходным кодом немного сложнее, и архивы действительно содержат несколько версий некоторых пакетов с исходным кодом в данном выпуске,из-за лицензионных зависимостей. Но это здесь не актуально. Строго говоря, Debian предоставляет несколько версий некоторых двоичных файлов в поддерживаемых выпусках :текущая версия в текущем выпуске вместе с любыми обновлениями в репозиториях безопасности и репозиториях обновлений; последние складываются при следующем выпуске точки. Таким образом, поддерживать воспроизводимую конфигурацию системы, контролируемую версией -, можно, не прибегая к моментальным снимкам, при условии, что вы обновляете ее каждый раз, когда производится точечный выпуск.)

69
27.01.2020, 19:35

Хотя ответ Стивена Китта , безусловно, является одним из возможных решений, я думаю, что для вас было бы безопаснее сохранить собственные копии необходимых пакетов.

При записи настройки системы обязательно сохраните копии файлов.deb-из /var/cache/apt/archives/. Вы также можете использовать apt-get download.

При восстановлении настроек системы вы должны быть очень строги с apt, чтобы избежать запуска потенциально опасных автоматических действий.

Вероятно, будет проще использовать dpkgнапрямую, чтобы установить именно то, что вы хотите.

8
27.01.2020, 19:35

Не полагайтесь на серверы, не находящиеся под вашим контролем, для воспроизведения определенного состояния системы. Даже если серверы Debian довольно надежны, никогда не знаешь, что может случиться в будущем. Это особенно актуально для других репозиториев, которые вы можете использовать.

Вам следует поддерживать собственное зеркало, чтобы получить воспроизводимые состояния системы. Таким образом, у вас может быть даже рабочее состояние для ваших обычных систем и несколько тестовых состояний для новых конфигураций.

Средство управления репозиторием aptly может создавать зеркала репозиториев. Вы можете выбирать пакеты для зеркалирования, создавать моментальные снимки содержимого репозитория в определенные моменты времени и объединять несколько зеркал или моментальных снимков в один репозиторий. Таким образом, вы можете полностью воспроизвести состояния системы.

18
27.01.2020, 19:35

Теги

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