小编Cri*_*gie的帖子

我正在尝试解压缩 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.
Run Code Online (Sandbox Code Playgroud)

我做了一个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
....
Run Code Online (Sandbox Code Playgroud)

该文件大约为 100GB。而且,我绝对应该有大约 350GB 的免费存储空间。我不明白为什么它会导致错误。

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

$ df -h .
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv …
Run Code Online (Sandbox Code Playgroud)

partitioning disk-usage

7
推荐指数
2
解决办法
1503
查看次数

如何根据UUID获取硬盘型号?

我正在尝试根据我在命令中知道的硬盘驱动器的 UUID 来查找硬盘驱动器制造商/型号。

我尝试使用lsblk -o FSTYPE,MOUNTPOINT,UUID,MODEL,SIZE列出所有硬盘驱动器,然后将它们存储在一个数组中以查找 UUID 及其型号。但是挂载的硬盘的UUID并不包含硬盘的型号信息。

它仅在硬盘的根位置(即/sda)上列出型号硬盘。

我正在编写一个 bash 脚本,用于存储 UUID 和硬盘的制造/型号以及文件系统类型,以便我可以自动将具有有效文件系统类型的硬盘安装在文件夹前缀上/someLocation/${model}-${UUID-first-4-char}

下面创建了两个数组,一个用于 uuid,另一个用于文件类型。

 #create array
    fsTypeArray=()
    uuidArray=()
    mapfile -t fsTypeArray < <(lsblk -o FSTYPE,MOUNTPOINT,UUID | awk 'NF==2 {print $1}')
    mapfile -t uuidArray < <(lsblk -o FSTYPE,MOUNTPOINT,UUID | awk 'NF==2 {print $2}')
Run Code Online (Sandbox Code Playgroud)

然后这里是挂载 ext4 或 ntfs 的 if 语句

index=0
    for i in "${fsTypeArray[@]}"
    do
        if [ $i == ntfs ] 
        then
            echo "mountNtfsDrive"
            currentDate="date +%Y%m%d%H%M%S"
            mountNtfsDrive "${uuidArray[$index]}" `$currentDate`
        elif [ $i == ext4 ] …
Run Code Online (Sandbox Code Playgroud)

bash mount hard-drive

3
推荐指数
1
解决办法
1843
查看次数

标签 统计

bash ×1

disk-usage ×1

hard-drive ×1

mount ×1

partitioning ×1