Я предполагаю, что протокол 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 не прошел на этапе монтирования; этот сервер был слишком прост.