Как я могу узнать, из какого репозитория была установлена ​​заданная установленная программа?

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

Значит, новые измененные блоки записываются в логический том моментального снимка, в то время как я сохранил исходный логический том?

Нет. Если блок изменяется, то в снимок сначала копируется старое содержимое. Затем блок исходного тома перезаписывается новым содержимым. См. http://tldp.org/HOWTO/LVM-HOWTO/snapshotintro.html для другого объяснения (я признаю, что это не очень интуитивно понятно, как работают моментальные снимки. Эта двойная копия также объясняет, почему у томов моментальных снимков плохие написать производительность).

Также я вижу, что все говорят, что dd - самый медленный и самый неэффективный способ сделать это. Какой еще вариант?

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

  1. резервные копии на основе файлов (например, старые добрые файлы tar). Конечно, у этого есть свои недостатки, например: что вы не можете восстановить поврежденный диск с помощью простого dd, не сохраняя загрузчики и т. д.
  2. Гибридные решения. http: //www.partimage.org / делает что-то вроде "умного" dd диска. Он достаточно разбирается в ext2 / 3 / xfs, чтобы знать, какие блоки фактически используются, и копирует только их, предполагая, что для всего остального блоки заполнены нулями. partimage, к сожалению, не поддерживает ext4 или btrfs.

0
28.10.2018, 16:02
1 ответ

aptне отслеживает репозиторий, из которого он получил пакет. Лучшее, что вы можете сделать, это определить, какие репозитории содержат данный пакет сейчас , насколько aptизвестно (, так что технически, когда apt updateпоследний раз запускался ).

Чтобы узнать, какие репозитории aptрассматривает для данного пакета, используйте apt policy; например:

$ apt policy rr
rr:
  Installed: 5.2.0-1
  Candidate: 5.2.0-2
  Version table:
     5.2.0-2 100
        100 http://ftp.fr.debian.org/debian testing/main amd64 Packages
        100 http://ftp.fr.debian.org/debian unstable/main amd64 Packages
 *** 5.2.0-1 100
        100 /usr/var/lib/dpkg/status
     4.4.0-2+b1 500
        500 http://ftp.fr.debian.org/debian stretch/main amd64 Packages

сообщает мне, что aptзнает о rrверсиях 4.4.0 -2+b1, 5.2.0 -1 и 5.2.0 -2, и что первая доступна из моего настроенного Репозиторий Debian 9 (Stretch ), а последний доступен в моих настроенных тестовых и нестабильных репозиториях. 5.2.0 -1 — это текущая -установленная версия, которая в настоящее время недоступна ни в одном репозитории. Вы можете подумать, что ранее он был доступен для тестирования или нестабилен, но пакет, который я установил, является моей локальной -версией; aptсейчас об этом не знает.

5
28.01.2020, 02:16

Теги

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