Я пытаюсь распределить файл BZ2, но затем я получаю сообщение об ошибке, не введя пространство

bzip2 -dk a.osm.bz2

bzip2: I/O or other error, bailing out.  Possible reason follows.
bzip2: No space left on device
    Input file = a.osm.bz2, output file = a.osm
bzip2: Deleting output file a.osm, if it exists.

Я сделал DF -H и

Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv  439G  115G  302G  28% /
/dev/sda2                          976M  104M  806M  12% /boot
....

Файл около 100 ГБ. И я определенно должен иметь около 350 ГБ свободного хранения. Я не понимаю, почему это вызывает ошибку.

$du -sh a.osm.bz2
100G    a.osm.bz2

$ df -h .
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv  439G  121G  295G  30% /
7
задан 8 February 2021 в 06:09

2 ответа

Это большой мир ;-) Ошибка обоснована.

С https://wiki.openstreetmap.org/wiki/Planet.osm:

в 2021-02-01, простой вариант OSM XML берет на себя 1370.5 Гб при распаковке из загруженного файла данных, сжатого на 99.3 Гб bzip2).

Вы можете ...

  • получить больше дискового пространства
  • скачать osm-файлы только для -регионов , которые вам действительно нужны
  • - для небольших регионов, -использовать API.
  • используйте осмос для самостоятельного извлечения необходимых данных из файла planet.osm. Но вместо файла .bz2 следует использовать pbf версию , что будет намного быстрее.
24
ответ дан 18 March 2021 в 23:36

Со временем из самого архивного файла можно было узнать, насколько велики файлы в архиве.

-rw------- 1 criggie criggie 95M Jul 22  2015 home-email.tar.bz2

$ bzcat home-email.tar.bz2 | wc -c 
149606400

Так что архив размером 95 МБ расширился до 149,606,400 байт в одном tar-файле, что является достаточным количеством информации для ваших целей.


В unix-мире сжатие может быть другим процессом архивирования, поэтому мы имеем gzip и bzip2, и отдельно имеем tar для склеивания вещей.

Вы можете копать внутри расширенного tar файла с тестовыми и многословными флагами

$ bzcat home-email.tar.bz2 | tar -tv
...big list of output....

Архиватор/компрессор типа zip сочетает эти две функции, поэтому если бы ваш архив был zip или arc или lhz и т.д., которые возникли в мире ПК, вам пришлось бы проверять флаги для опции LIST - например, :

$ unzip -lv /home/criggie/config.zip
Archive:  /home/criggie/config.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0   0% 2020-07-28 17:04 00000000  dir/
    1708  Defl:N     1093  36% 2017-02-15 14:15 7c7aee5a  dir/file1.txt
    5354  Defl:N     2860  47% 2020-03-10 15:57 31be4459  dir/file2.txt
--------          -------  ---                            -------
  319022            10362  26%                            20 files
7
ответ дан 18 March 2021 в 23:36

Другие вопросы по тегам:

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