Используя differencing, иначе наложите, иначе объединение, файловая система с возможностью фиксации

Можно использовать команду "уничтожать-области".

 kill-pane [-a] [-t target-pane]
               (alias: killp)
         Destroy the given pane.  If no panes remain in the containing window, it is also destroyed.  The -a option kills all but the pane given with -t.

Так, например, если Вы хотите уничтожить все области за исключением области 0:

kill-pane -a -t 0

Если Вы не знаете то, что Вы разделяете числа на области, Вы, может использовать команду "областей дисплея":

 display-panes [-t target-client]
               (alias: displayp)
         Display a visible indicator of each pane shown by target-client.  See the display-panes-time, display-panes-colour, and display-panes-active-colour
         session options.  While the indicator is on screen, a pane may be selected with the '0' to '9' keys.
3
21.07.2011, 00:38
5 ответов

Существует новая цель dm, названная "слиянием снимка".

Если Вы форматируете свою флэш-память USB как физический том LVM и затем определяете местоположение Вашей желаемой файловой системы на нем в логическом томе, Вы можете

  1. Активируйте группу объема, содержащую Вашу флэш-память USB и другой физический том LVM на локальном диске.
  2. Создайте снимок логического тома на локальном диске.
  3. Смонтируйте снимок, сделайте то, что Вы хотите с ним, затем umount он.
  4. Объедините снимок назад с источником.

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


Замените частями, включенными в {фигурные скобки} как соответствующими.

# Initial setup of the USB drive.
pvcreate /dev/{USB}
vgcreate {removable} /dev/{USB}
lvcreate -n {base} -l 100%PVS {removable} /dev/{USB}
mkfs -t {fs} {...} /dev/mapper/{removable}-{base}
# Initial setup of the scratch device.
pvcreate /dev/{SCRATCH}
# Mounting the device.
vgextend {removable} /dev/{SCRATCH}
lvcreate -s -n {snap} -l 100%ORIGIN /dev/mapper/{removable}-{base} /dev/{SCRATCH}
mount -t {fs} -o {...} /dev/mapper/{removable}-{snap} {MOUNTPOINT}
# Unmounting the device.
umount {MOUNTPOINT}
lvconvert --merge /dev/mapper/{removable}-{snap}
vgreduce {removable} /dev/{SCRATCH}
vgchange -a n {removable}

Непротестированный, но все команды LVM имеют страницы справочника, таким образом, необходимо смочь изобразить вещи из здесь. Вам, возможно, понадобился бы a vgscan вызов там где-нибудь, если группа объема не становится автоматически обнаруженной, когда Вы включаете Карту памяти.

5
27.01.2020, 21:10
  • 1
    Спасибо за Ваш ответ. Мне нравится Ваш подход, но могли Вы показывать пример (вниз к Linux, управляет уровнем). Это было бы большим –  mmonem 16.09.2010, 20:03
  • 2
    @mmonem, Довольно простой, пока у Вас есть следующие версии или позже: ядро Linux 2.6.33, LVM2 2.02.58. –  ephemient 17.09.2010, 07:09
  • 3
    мне понравился этот подход. Я просто задаюсь вопросом: действительно ли абсолютно необходимо передать аргумент физического тома lvcreate во время "Начальной настройки Карты памяти"? Что, если бы я не думал, что добавил бы другое физическое устройство к группе объема позже, и следовательно не заботился об определении физического устройства явно в вызове lvcreate и затем хотел использовать этот подход - как я продолжаю двигаться, прежде чем я смогу сделать vgextent безопасно (чтобы быть уверенным, что тот логический том будет только находиться на съемном физическом устройстве)? –  imz -- Ivan Zakharyaschev 17.08.2011, 14:47

Это кажется вариантом использования для dm-userspace+cowd: в сущности Вы настроили бы цель DM (блочное устройство), состоящее из COW (копия на записи) файл и блочное устройство, соответствующее Вашей карте с интерфейсом USB, и использовали бы его для хостинга файловой системы. Все обновления перешли бы к файлу COW; чтения, которые не находятся в файле COW, были бы поданы от карты с интерфейсом USB; после размонтирования файловой системы, модификаций слияния из файла COW в карту с интерфейсом USB.

К сожалению, это - конкретный Linux, и разработка, кажется, остановилась в 2007.

Если то, что Вы хотите сделать, является sync'ing файлами через два (или больше) ПК, я могу предположить, что Вы помещаете свой дом (или соответствующие папки) под системой управления версиями? Обычный цикл работы становится как это:

  1. включите карту с интерфейсом USB;
  2. обновите репозиторий корневого каталога путем получения по запросу последних изменений от карты с интерфейсом USB;
  3. сделайте свой материал;
  4. передайте изменения в системе управления версиями и обновите репозиторий на карте с интерфейсом USB.

Это - только одна запись к карте с интерфейсом USB. (Хотя я соглашаюсь с тем, какие другие сказали, который к этому времени yoru карта с интерфейсом USB изнашивается, Вы, вероятно, купите другого - больший.)

2
27.01.2020, 21:10
  • 1
    Спасибо за Ваш ответ... Как был бы я merge modifications from the COW file into the USB stick –  mmonem 16.09.2010, 19:59
  • 2
    @mmonem, с которой Вы сделали бы это dscow_tool --commit. Источники для dscow_tool связываются cowd. –  Riccardo Murri 17.09.2010, 12:07
  • 3
    Какой пакет я должен установить? Я выполняю большой Fedora 13 –  mmonem 20.09.2010, 19:27

Я рекомендую Вам использовать инструменты синхронизации файла. Решение для уровня файловой системы Вашей проблемы не может быть выполнимым. Унисон выезда и кабелепровод. Поскольку я понимаю, что у Вас уже есть копия файлов в Вашем основном компьютере. Вот поток операций, который я использую:

  1. Работайте и измените файлы на PC_1. После того, как Вы будете сделаны, синхронизируют их с Вашей Картой с интерфейсом USB.

  2. Подключите карту с интерфейсом USB к своему PC_2 и синхронизируйте содержание с Вашим PC_2.

  3. Работайте и измените файлы на PC_2. После того, как Вы будете сделаны, синхронизируют их с Вашей Картой с интерфейсом USB.

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

Для решения для файловой системы можно искать некоторый FS с Копией На атрибуте Записи, например, btrfs. Взятие снимков и синхронизация их могут быть быстрее и более эффективными. Но я еще не мог найти реализацию. Также работа над уровнем файловой системы не упростит Ваш путь на разрешении конфликтов.

1
27.01.2020, 21:10
  • 1
    спасибо за Ваш ответ. Это - то, что я, в настоящее время делают, но я не удовлетворен им, потому что я чувствую, что моя идея является более прямой. Также требуется 4 раунда синхронизации. Проверьте обновленный вопрос. –  mmonem 14.09.2010, 19:54

Возможно, Вы могли использовать функцию отбора btrfs (указанный по http://en.wikipedia.org/wiki/Btrfs#cite_ref-16) - для отбора фс чтения-записи с основой только для чтения.

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

Я не знаю о функции btrfs-уровня, подобной lvconvert --merge; таким образом, Вы могли использовать некоторые высокоуровневые инструменты (как rsync) для слияния изменений назад но это было бы не столь эффективно в вычислительном отношении как поддержка уровня фс этого.

Или, существует также btrfs subvolume find-new команда для помощи инструментам копирования в нахождении вещей, которые изменились и должны быть переданы обратно.

(Не протестированный на практике.)

1
27.01.2020, 21:10

Я предполагаю, что это - для разновидности Unix ОС, но в случае, если Вы интересуетесь решением на базе Windows, я использовал Microsoft Mesh, которая является бесплатным инструментом для синхронизации множества файлов и папок по серии компьютеров. Другой замечательной функцией является способность получить доступ к этому "облаку" (их термин, не мой) через веб-интерфейс. Это пригождается, когда Вы находитесь на удаленном компьютере, который не синхронизируется, но требуется получить доступ/загрузить к определенным файлам.

0
27.01.2020, 21:10
  • 1
    Спасибо за Ваш ответ. Проверьте обновленный вопрос. –  mmonem 14.09.2010, 19:54

Теги

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