Debian: 파일이 드라이브에는 표시되지 않지만 LiveCD에는 표시됩니다.

Debian: 파일이 드라이브에는 표시되지 않지만 LiveCD에는 표시됩니다.

xfce4-Buster-Debian을 설치했고, 설치하는 동안 수동 파티셔닝을 선택하고 일부 파일이 포함된 드라이브를 특정 위치에 마운트하도록 선택했습니다. 물론 해당 드라이브의 경우 드라이브를 포맷하지 않기로 결정했습니다. 데비안을 다른 파티션에 설치하고 OS로 부팅한 후 마운트 디렉터리에 파일이 보이지 않습니다. 디렉토리는 내가 예상한 위치에 표시되지만, 디렉토리와 에 CD를 넣으면 ls -la해당 디렉토리에는 아무것도 없습니다. 그러나 GParted에 따르면 데이터가 공간을 차지하고 있습니다.

LiveCD로 부팅했는데 파일이 거기에 표시됩니다.

이 동작의 가능한 원인은 무엇입니까?


편집: 다음 출력을 제공합니다.

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=ff57c2c0-e962-4578-be1b-0500f82bceb3 /home/go       ext4    defaults,noatime 0 2
UUID=16DB-7490                            /boot/efi      vfat    defaults,noatime 0 2
UUID=6ff37539-9538-40d4-b3bf-094f44e8410f /              ext4    defaults,noatime 0 1
UUID=5fb9e868-f3c7-47a5-96da-7ccf13bfd998 /home          ext4    defaults,noatime 0 2
UUID=25a379fc-3db3-4f58-813b-a914d147e7c2 swap           swap    defaults,noatime 0 2
$ lsblk -f
NAME        FSTYPE  LABEL                     UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda         iso9660 d-live nf 10.6.0 xf amd64 2020-09-26-13-15-55-00                              
├─sda1      iso9660 d-live nf 10.6.0 xf amd64 2020-09-26-13-15-55-00                     0   100% /media/marius/d-live nf 10.6.0
└─sda2      vfat    d-live nf 10.6.0 xf amd64 DEB0-0001                                           
sdb                                                                                               
└─sdb1      vfat                              F802-75AF                              27,9G     3% /media/marius/F802-75AF
mmcblk0                                                                                           
└─mmcblk0p1 ext4                              ff57c2c0-e962-4578-be1b-0500f82bceb3   53,8G     1% /home/go
nvme0n1                                                                                           
├─nvme0n1p1 ext4                              6ff37539-9538-40d4-b3bf-094f44e8410f   58,5G    18% /
├─nvme0n1p2 ext4                              5fb9e868-f3c7-47a5-96da-7ccf13bfd998  101,4G    15% /home
├─nvme0n1p3 swap                              25a379fc-3db3-4f58-813b-a914d147e7c2                [SWAP]
└─nvme0n1p4 vfat                              16DB-7490                             294,3M     2% /boot/efi

장치는 다음 mmcblk0p1과 같습니다. 마운트 지점은 다음과 같습니다./home/go


편집2:

$ stat -c '%n - %i' / /home /home/go
/ - 2
/home - 2
/home/go - 2

답변1

stat -f -c '%n - %i' / /home /home/go나는 당신에게 디렉토리의 기본 파일 시스템에 대한 장치 식별자를 제공하는 의 출력을 제공하도록 요청하려고 했습니다 . (만약 그것들이 모두 달랐다면 우리는 그것들이 다른 파일 시스템이라는 것을 알았을 것입니다.) 그러나 stat -c '%n - %i' / /home /home/go제가 제공한 명령의 출력은 우리의 목적에 충분합니다. 이는 세 디렉토리 모두의 루트 inode가 동일하다는 것을 알려줍니다. 즉, 2 , 이는 또한 서로 다른 파일 시스템이어야 함을 의미합니다.

LiveCD를 사용하면 파일을 볼 수 있지만 실제 부팅 환경에서는 볼 수 없다는 점을 고려하면 파일이 에 있고 /마운트할 때 /home파일 /home/go이 있는 디렉터리를 마스킹하는 것이 좋습니다.

다음과 같이 루트로 파일을 찾으세요.

mkdir /mnt/root             # Create temporary directory mountpoint
mount --bind / /mnt/root    # Make /mnt/root identical to /
ls /mnt/root/home           # List area hidden by /home
ls /mnt/root/home/go        # List area hidden by /home/go

명령 중 하나가 ls파일을 생성하면 해당 ls /home또는 ls /home/go. do show files ls에 대한 명령이 있고 그렇지 않은 경우에 해당하는 경우에만 이 두 세그먼트 중 하나 또는 둘 다를 사용하여 파일을 올바른 위치로 이동할 수 있습니다./mnt/home/.../home/...

모든 파일을 마스크된 파일에서 /home/go실제 파일로 이동합니다 /home/go.

(
shopt -s dotglob
cp -au /mnt/root/home/go/. /home/go && rm -rf /mnt/root/home/go/*
)

모든 파일을 마스크된 파일에서 /home실제 파일로 이동합니다 /home.

(
shopt -s dotglob
cp -au /mnt/root/home/. /home && rm -rf /mnt/root/home/*
)

병합 중에 명령이 실패하는 것을 원하지 않기 때문에 cp && rm대신 사용했습니다 . mv플래그 cp -u는 오래된 파일이 새 파일을 덮어쓰는 것을 중지합니다.

답변2

/homeis는 하나의 ext4 파티션(또는 그 일부)의 마운트 지점이며 모든 사용자가 /home/userx다음 과 같은 홈 디렉토리를 갖도록 설계되었습니다.

/home/go그러나 동시에 두 번째 파티션(다른 장치)의 마운트 지점으로 사용하려고 합니다 . 'go' 파티션을 다른 곳에 마운트하는 것이 좋습니다 /mnt/go. 이렇게 하면 데이터가 마운트 지점과 혼동되지 않습니다.

예를 들어 비디오 파일 전용의 큰 파티션이 있습니다. 이것은~ 아니다에 마운트되었지만 /home/video에 마운트되었습니다 /mnt/video.

내 GUI 파일 관리자는 이 배열에 매우 만족합니다.

관련 정보