Как я могу отказаться от пакетов без удаления их иждивенцев?

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

Не существует моего знание любой файловой системы, которая поддерживает все функции, которые вы ожидаете от файловых систем каждой ОС. Основная причина этого заключается в том, что каждая файловая система была построена с учетом конкретной платформы (NTFS / FAT32 для Windows, EXT3 / 4 для Linux).

Это говорит о том, что есть способы получить некоторый уровень общего доступа и мы возвращаемся к тому, что вы храните. В общем, ваши лучшие варианты - это, вероятно, FAT32 или, возможно, NTFS, поддержка Linux для них более зрелая, а в Ubuntu - по умолчанию, в отличие от поддержки Windows для EXT3 / 4. Если, например, при двойной загрузке, основные файлы, разделяемые на этом разделе, такие как медиафайлы или другие нечувствительные данные, и т. Д. Потеря разрешений, вероятно, будет для вас большой проблемой. Это также может быть аналогичным образом, если вы являетесь единственным лицом, имеющим прямой доступ к рассматриваемой машине.

Еще одно понимание может быть тем, какую систему вы используете большую часть времени, может быть что-то сказать о выборе формата файловой системы, который наилучшим образом поддерживает используемую вами ОС. Хотя я не знаю достаточно, чтобы рекомендовать опции поддержки EXT3 / 4, которые, по-видимому, могут быть добавлены к окнам, если они недостаточно зрелые, потеря данных может быть риском. Сделайте свое исследование, прежде чем доверять любому программному обеспечению с таким уровнем доступа к файловой системе.

Конечно, еще один вопрос: нужна ли вам общая файловая система, сколько данных мы говорим и можем ли такие, как USB-накопитель, используется для хранения этих данных? Это устранит проблему с разрешениями, чтобы следить за физическим устройством.

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

1
задан 13 April 2017 в 15:24

2 ответа

Вы можете сначала использовать apt-mark, чтобы пометить все зависимости целевого пакета (и, возможно, рекомендуемые / предлагаемые), установленные в системе, как вручную. После этого установите предыдущие версии программного обеспечения с apt-get, указав эту версию явно.

Чтобы просмотреть список зависимостей, рекомендованных и предлагаемых пакетов для целевого пакета:
apt-cache show <target-package-name>
Маркировка пакетов вручную :
sudo apt-mark manual <package-name(s)>
(используйте это для всех зависимостей, рекомендуйте и предложите.) Удалите целевой пакет:
sudo apt-get remove <target-package-name>
Чтобы просмотреть список версий пакетов, которые вы можете изменить или обновить, используйте:
apt-cache policy <target-package-name>
Установите целевую версию требуемый пакет:
sudo apt-get install <target-package-name>=<target-package-version-number> 
или
sudo apt-get -t=<target release> install <target-package-name>

PS. Если список из (и, возможно, рекомендованных / предлагаемых) пакетов , то есть те, которые должны быть отмечены apt-mark, являются большими, сохраните запланированный список упакованного вывода на apt-cache show <target-package-name> на любой файл скажите /path/to/foo и используйте apt-mark в комбо:

cat /path/to/foo | xargs -imarkthese sudo apt-mark manual markthese
3
ответ дан 24 May 2018 в 12:15
  • 1
    Этот метод может работать, но вместо того, чтобы маркировать более 100 пакетов, я просто пошел с другим ответом. – RolandiXor♦ 6 February 2014 в 20:41
  • 2
    @RolandiXor, вы можете использовать apt-cache policy <target-package-name> для получения списка версий пакетов, которые вы можете понизить / обновить до. – precise 6 February 2014 в 20:42
  • 3
    ..пожалуйста, обратитесь к редактированию, сделанному в сообщении; если нужно отметить большее количество файлов, вы можете использовать командную комбинацию ... – precise 6 February 2014 в 21:08
  • 4
    Я не думаю, что ты меня понимаешь. Во всяком случае, я получил это исправлено сейчас, и я выдал награду (не могу ее переключить). – RolandiXor♦ 6 February 2014 в 21:44

Я только что преодолел боль в шаре от обновления до восходящей версии пакета, а затем решил понизить рейтинг. Это было через репозиторий частных лиц-хранителей. В моем случае это было связано с проверкой последней версии systemd 233 (еще не выпущенной).

Ключ должен понять, что вам нужно указать все пакеты, которые следует понизить. Если вы получите это право, шансы будут делать то, что вы хотите. Если вы пропустите что-то, apt сообщит вам, что действие приведет к удалению большого количества пакетов. Чтобы убедиться, что мы используем флаг «-s», чтобы опробовать понижение до его фактического выполнения.

Таким образом, шаги, которые вам нужно предпринять, следующие:

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

dpkg -l|grep upstream

Это дает вам список пакетов с номером версии восходящего потока.

2) Перечислите, что правильная стабильная версия для каждого пакета:

for i in libnss-resolve:amd64 libsystemd0:amd64 libpam-systemd:amd64 libsystemd0:i386 libudev1:amd64 libudev1:i386 systemd systemd-sysv udev; do apt-cache show $i; done|grep Version

3) Двойная проверка все хорошо:

apt -s --allow-downgrades --no-remove --reinstall install libnss-resolve:amd64=232-21ubuntu5 libsystemd0:amd64=232-21ubuntu5 libpam-systemd:amd64=232-21ubuntu5 libsystemd0:i386=232-21ubuntu5 libudev1:amd64=232-21ubuntu5 libudev1:i386=232-21ubuntu5 systemd=232-21ubuntu5 systemd-sysv=232-21ubuntu5 udev=232-21ubuntu5

0 to upgrade, 0 to newly install, 9 to downgrade, 0 to remove and 0 not to upgrade.

(не уверен, что --reinstall требовалось кстати, но это это то, что я сделал)

4) Удалите -s и сделайте это.

apt --allow-downgrades --no-remove --reinstall install libnss-resolve:amd64=232-21ubuntu5 libsystemd0:amd64=232-21ubuntu5 libpam-systemd:amd64=232-21ubuntu5 libsystemd0:i386=232-21ubuntu5 libudev1:amd64=232-21ubuntu5 libudev1:i386=232-21ubuntu5 systemd=232-21ubuntu5 systemd-sysv=232-21ubuntu5 udev=232-21ubuntu5
1
ответ дан 24 May 2018 в 12:15

Другие вопросы по тегам:

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