LINUX.ORG.RU

История изменений

Исправление kaldeon, (текущая версия) :

Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.

Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.

К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.

Копирование может быть следующим:

  • из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)
  • из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)
  • из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)
  • из этого архива в другой архив и наоборот

И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?

Все эти вещи можно было бы получить бесплатно, если можно было монтировать tar как файловую систему. Но так почему-то никто не делает.

Как вариант, можно сделать такие встроенные команды:

  • Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.
  • X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.
  • R [src [dst]] добавит файл из файловой системы.
  • Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.

Edit: вместо этих извращений лучше монтировать архив как фс.

Исправление kaldeon, :

Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.

Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.

К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.

Копирование может быть следующим:

  • из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)
  • из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)
  • из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)
  • из этого архива в другой архив и наоборот

И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?

Все эти вещи можно было бы получить бесплатно, если можно было монтировать tar как файловую систему. Но так почему-то никто не делает.

Как вариант, можно сделать такие встроенные команды:

  • Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.
  • X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.
  • R [src [dst]] добавит файл из файловой системы.
  • Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.

Edit: вместо этих извращений — монтировать архив как фс.

Исправление kaldeon, :

Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.

Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.

К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.

Копирование может быть следующим:

  • из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)
  • из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)
  • из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)
  • из этого архива в другой архив и наоборот

И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?

Все эти вещи можно было бы получить бесплатно, если можно было монтировать tar как файловую систему. Но так почему-то никто не делает.

Как вариант, можно сделать такие встроенные команды:

  • Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.
  • X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.
  • R [src [dst]] добавит файл из файловой системы.
  • Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.

Edit: вместо этих извращений — монтировать архив как фс.

Исправление kaldeon, :

Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.

Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.

К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.

Копирование может быть следующим:

  • из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)
  • из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)
  • из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)
  • из этого архива в другой архив и наоборот

И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?

Все эти вещи можно было бы получить бесплатно, если можно было монтировать tar как файловую систему. Но так почему-то никто не делает.

Как вариант, можно сделать такие встроенные команды:

  • Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.
  • X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.
  • R [src [dst]] добавит файл из файловой системы.
  • Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.

Исходная версия kaldeon, :

Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.

Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.

К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.

Копирование может быть следующим:

  • из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)
  • из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)
  • из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)
  • из этого архива в другой архив и наоборот

И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?

Все эти вещи можно было бы получить бесплатно, если бы можно было монтировать tar как файловую систему. Но так почему-то никто не делает.

Как вариант, можно сделать такие встроенные команды:

  • Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.
  • X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.
  • R [src [dst]] добавит файл из файловой системы.
  • Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.