====== msxtar ====== Консольная программа для работы с образами дисков [[msx:msx|]]. Copyright (C) 2004 David Heremans Для работы с сжатыми образами программа использует gzip и bzip2 Такие образы используются в: * [[openmsx:openmsx|]] * [[webmsx:webmsx|]] * [[gotekemulator:flashfloppy|]] Поддерживаются форматы: * single-sided * double-sized * образы дисков IDE (только FAT12) [[github>openMSX/msxtar|msxtar]] {{msxtar-master.zip|Архив репозитория}} {{msxtar.tgz|Готовый файл программы под x86-64}} ====== Установка ====== Компиляция и установка: #!/bin/bash sudo make sudo cp msxtar /usr/local/bin sudo chmod a+xr-w /usr/local/bin/msxtar ====== Параметры командной строки ====== msxtar [ПАПАМЕТР(Ы)]… [ФАЙЛ(Ы)]… Примеры: * Создать образ диска, взяв файлы/папки из ''foo'' и ''bar''msxtar -cf disk.dsk foo bar * Получить подробный список всех файлов ''disk.dsk'' msxtar -tvf disk.dsk * Извлечь все файлы из ''disk.dsk'' msxtar -xf disk.dsk Основной режим работы: |<100% 30% 70%>| |''-t, --list''|получить список файлов образа диска| |''-x, --extract, --get''|извлечь все файлы из образа диска| |''-c, --create''|создать новый образ диска| |''-r, --append''|добавлять файлы в конец образа диска| |''-u, --update''|добавлять только файлы новее, чем те которые есть в образе диска| |''-A, --catenate, --concatenate''|добавить файлы в образ диска| Обработка атрибутов файла: |<100% 30% 70%>| |''--owner=ИМЯ''|принудительно использовать ''ИМЯ'' в качестве владельца для добавляемых файлов| |''--group=ИМЯ''|принудительно использовать ''ИМЯ'' как группу для добавляемых файлов| |''--mode=CHANGES''|принудительный (символьный) режим ''CHANGES'' для добавленных файлов| |''-k, --keep''|сохранить существующие файлы, не перезаписывать их| |''-m, --modification-time''|не извлекать время изменения файла| Параметры образов: |<100% 30% 70%>| |''-f, --file=ФАЙЛ''|использовать ''ФАЙЛ'' как имя файла образа или как имя устройства, по умолчанию имя файла: ''msxdiskimage.dsk''| |''-S, --size=РАЗМЕР''| ''РАЗМЕР'' может быть задан в виде ''nnnn[S|B|K|M]'' \\ также предопределены следующие значения: * ''single'' — 360 КБайт * ''double'' — 720 КБайт * ''ide'' — 32 МБайт | |''-1, --dos1''|использовать загрузочный сектор [[msx:dos:|]], нет поддержки папок| |''-2, --dos2''|использовать загрузочный сектор [[msx:dos2:|]], можно использовать папки| |''-M, --msxdir=ИМЯ_ПАПКИ_В_ОБРАЗЕ''|использовать для новых файлов выбранную папку в образе| |''-P, --partition=РАЗДЕЛ''|использовать выбранный ''РАЗДЕЛ'' при работе, можно задать значение ''all'' для обработки всех разделов| Вывод информации: |<100% 30% 70%>| |''--help''|вывести справочную информацию и завершить программу| |''--version''|вывести версию программы и завершить программу| |''-v, --verbose''|выводить подробную информацию о обработанных файлах| ====== Примеры ====== Варианты работы: * [[#simple_diskimages|Простые образы дискет]] * [[#diskimages_and_subdirs|Образы дискет с папками]] * [[#ide-hd_images|Образы дисков IDE]] Для лучшего понимания прочтите описание в начале каждого примера. {{anchor:simple_diskimages}} ===== Простые образы дискет ===== Чтобы указать имя файла образа диска используйте параметр ''-f'', иначе будет использоваться имя по умолчанию: ''msxdiskimage.dsk'' Получить список файлов образа диска: msxtar -tf <ИМЯ_ФАЙЛА_ОБРАЗА> Извлечь все файлы из образа диска (в текущую папку): msxtar -xf <ИМЯ_ФАЙЛА_ОБРАЗА> Создать образ диска: msxtar -cvf <ИМЯ_ФАЙЛА_ОБРАЗА> <СПИСОК_ФАЙЛОВ ИЛИ ПАПКА_С_ФАЙЛАМИ> Создать образ диска с указанием его размера (''single'' или ''double''): msxtar -cvf <ИМЯ_ФАЙЛА_ОБРАЗА> --size=<РАЗМЕР> <СПИСОК_ФАЙЛОВ ИЛИ ПАПКА_С_ФАЙЛАМИ> Добавление файлов (будут добавлены только те файлы, которых еще нет в образе): msxtar -Avf <ИМЯ_ФАЙЛА_ОБРАЗА> <СПИСОК_ФАЙЛОВ ИЛИ ПАПКА_С_ФАЙЛАМИ> Обновление файлов (существующие файлы будут заменены новыми, отсутствующие файлы будут добавлены): msxtar -uvf <ИМЯ_ФАЙЛА_ОБРАЗА> <СПИСОК_ФАЙЛОВ ИЛИ ПАПКА_С_ФАЙЛАМИ> {{anchor:diskimages_and_subdirs}} ===== Образы дискет с папками ===== По умолчанию программа работает с корнем диска. Для отключения режима работы с папкам нужно использовать параметр ''--dos1'' \\ Если вы это сделаете, будет создан новый образ диска, загрузочный сектор также будет содержать загрузочный блок [[msx:dos:|]]! Чтобы обновить файлы с папке нужно указать её имя на ПК и в образе, для этого нужно использовать параметр ''--msxdir'' msxtar -uvf <ИМЯ_ФАЙЛА_ОБРАЗА> --msxdir=<ИМЯ_ПАПКИ_В_ОБРАЗЕ> <ИМЯ_ПАПКИ_НА_ПК> Чтобы извлечь только определенную папку из образа нужно использовать следующую команду: msxtar -xvf <ИМЯ_ФАЙЛА_ОБРАЗА> --msxdir=<ИМЯ_ПАПКИ_В_ОБРАЗЕ> {{anchor:ide-hd_images}} ===== Образы дисков IDE ===== Программа может управлять файлами образов дисков IDE, предназначенном для MSX-IDE-bios (авторы H.Gilvad и Jon Deschrijder). Эти образы отличаются сигнатурой, записанной программой ''IDEFDISK'' в первом секторе образа диска. Создание/изменение файл–образов дисков IDE, а также добавление/удаление разделов на них не поддерживается текущей версией msxtar. Для такого рода операций используйте программу ''IDEFDISK.COM'' в эмуляторах MSX. Для получения дополнительной информации смотрите документацию по [[openmsx:openmsx|]] и файл ''IDEFDISK.TXT'' Для того чтобы извлечь все файлы из файла образа диска (каждый раздел будет извлечен в отдельную папку): msxtar -xvf <ИМЯ_ФАЙЛА_ОБРАЗА> --partition=all <ИМЯ_ПАПКИ_НА_ПК> Для добавления/обновления файлов/папок в существующие определённом разделе, для его указания нужно использовать параметр ''--partition'' \\ Примечание: параметр ''--partition=all'' работает только при выводе списка и извлечении файлов/папок. Также в этом случае игнорируется параметр ''--msxdir'' ====== Ссылки ====== [[msxorg>forum/msx-talk/development/finally-found-a-command-line-disk-image-tool?page=1|Finally found a command line disk image tool. ]] {{tag>MSX disk_image on_github}}