Я предполагаю, что протокол HTTP. В моем Kubuntu правильный инструмент - httpfs2
.
httpfs2
- это файловая система на основе FUSE для монтирования URL-адресов http или https в виде файлов в файловой системе. В http нет понятия списков каталогов, поэтому можно смонтировать только один URL. Сервер должен иметь возможность отправлять байтовые диапазоны.
Если URL-адрес файла tar является http://ser.ver/bar.tar
, выполните следующие действия:
mkdir foo
httpfs2 -f http://ser.ver/bar.tar ./foo
Я использовал -f
(остаться на переднем плане) по двум причинам:
- Если что-то не так, процесс завершается, и я сразу вижу это.
- Процесс печатается на консоли, поэтому в любом случае удобно переключаться на другую консоль.
Теперь у вас должен быть ./foo/bar.tar
доступный в вашей файловой системе. Файл доступен для поиска и доступен только для чтения. Извлеките то, что вам нужно, затем размонтируйте (выберите один):
fusermount -u ./foo
;
- Ctrl+C в консоли, где работает
httpfs2
;
killall httpfs2
.
Я проверил это решение, смонтировав следующий файл ISO:
http://cdimage.ubuntu.com/cdimage/kubuntu/releases/17.10/release/kubuntu-17.10.1-desktop-amd64.iso
и просмотр его с ark
.
Второй тест проводился с архивом tar размером более 30 ГБ, размещенным на сервере Debian в моей локальной сети. Для этого теста был специально создан архив, и я обратил внимание, какие файлы были добавлены в начале, а какие - в конце. Затем на клиенте Kubuntu я использовал mc
чтобы войти в архив, httpfs2
httpfs2, и скопировать файл из конца архива. Прошло некоторое время, прежде чем началось фактическое копирование (я думаю, что httpfs2
был «быстрой пересылкой» к выбранному файлу), затем оно прошло без нареканий. Я уверен, что весь архив не был отправлен.
Серверный процесс был apache2
. Подобный тест с python3 -m http.server 80
не прошел на этапе монтирования; этот сервер был слишком прост.