mv: 'home'을 'home-old'로 이동할 수 없습니다. 장치 또는 리소스가 사용 중입니다.

mv: 'home'을 'home-old'로 이동할 수 없습니다. 장치 또는 리소스가 사용 중입니다.

/home내 nfs 마운트 홈 디렉토리를 심볼릭 링크로 바꾸고 싶습니다 .

루트 로그인만 가능하며 /home은 별도의 파일 시스템이 아니며 lsof에는 잠금이 표시되지 않으며 selinux는 느슨합니다. 내가 무엇을 놓치고 있나요?

SSH를 통해 루트로 직접 로그인했습니다.

[root@usil01-sql01 /]# uname -a
Linux usil01-sql01 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@usil01-sql01 /]# w
 15:30:33 up  1:41,  1 user,  load average: 0.00, 0.02, 0.22
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/2    10.50.11.114     15:13    1.00s  0.19s  0.01s w

[root@usil01-sql01 /]# lsof | grep /home

[root@usil01-sql01 /]# lsof +D /home

[root@usil01-sql01 /]# df -h /home
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        63G  4.1G   56G   7% /

[root@usil01-sql01 /]# mount | grep -w /
/dev/sda2 on / type ext4 (rw,relatime,seclabel,data=ordered)

[root@usil01-sql01 /]# ls -lFd /home
drwxr-xr-x. 3 root root 4096 Mar  7 13:36 /home/

[root@usil01-sql01 /]# getenforce
Permissive

[root@usil01-sql01 /]# mv /home /home-old
mv: cannot move "/home" to "/home-old": Device or resource busy

또 무엇을 확인할 수 있나요?

추가 시스템 정보:

[root@usil01-sql01 /]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 836.6G  0 disk 
|-sda1   8:1    0 768.6G  0 part /storage
|-sda2   8:2    0    64G  0 part /
`-sda3   8:3    0     4G  0 part [SWAP]
sr0     11:0    1  1024M  0 rom  

[root@usil01-sql01 /]# blkid
/dev/sda2: UUID="5ba6a429-4c65-4023-82b4-3673bfcf6a88" TYPE="ext4" 
/dev/sda3: UUID="b5eb680f-8789-43b2-9f7e-c52570b0eb73" TYPE="swap" 
/dev/sda1: UUID="cb22d57d-4a5b-4963-a990-890abe0c56dc" TYPE="ext4" 

답변1

mv: '/home'을 '/home-old'로 이동할 수 없습니다. 장치 또는 리소스가 사용 중입니다.

[*]에 대해 제가 생각할 수 있는 유일한 "사용"은 파일 이름이 변경되는 것을 방지하는 마운트 지점입니다.

또 무엇을 확인할 수 있나요?

확실하지는 않지만 마운트가 다른 마운트 네임스페이스에 여전히 존재하는 경우 이런 일이 발생할 수 있습니다. 어떤 이유로 루트 네임스페이스에서 제거를 전파하지 않기 때문에? 아니면 내 시스템의 결과를 보려면 systemd 서비스가 함께 제공됩니까 ProtectHome?

$ grep -h home /proc/*/task/*/mountinfo | sort -u
121 89 0:22 /systemd/inaccessible/dir /home ro,nosuid,nodev shared:142 master:24 - tmpfs tmpfs rw,seclabel,mode=755
275 243 253:2 / /home ro,relatime shared:218 master:33 - ext4 /dev/mapper/alan_dell_2016-home rw,seclabel,data=ordered
321 288 253:2 / /home rw,relatime shared:262 master:33 - ext4 /dev/mapper/alan_dell_2016-home rw,seclabel,data=ordered
84 64 253:2 / /home rw,relatime shared:33 - ext4 /dev/mapper/alan_dell_2016-home rw,seclabel,data=ordered
85 46 253:2 / /home rw,relatime master:33 - ext4 /dev/mapper/alan_dell_2016-home rw,seclabel,data=ordered

/home이 마운트 지점(현재 네임스페이스에서)으로 표시되지 않더라도 이름을 바꿀 수 없는 이 문제는 Linux 커널 버전 3.18 이상에서 해결되어야 합니다.

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=linux-3.18.y&id=8ed936b5671bfb33d89bc60bdcc7cf0470ba52fe


특정 프로세스의 네임스페이스를 찾는 방법은 무엇입니까?

lsns설치해 놓으면 유용할 것 같습니다. 더 많은 가능한 명령:

마운트 네임스페이스를 나열합니다.

# readlink /proc/*/task/*/ns/mnt | sort -u

루트 마운트 네임스페이스를 식별합니다.

# readlink /proc/1/ns/mnt

특정 마운트 네임스페이스가 있는 프로세스 찾기

# readlink /proc/*/task/*/ns/mnt | grep 4026531840

특정 프로세스의 네임스페이스를 확인합니다.

# cat /proc/1/task/1/mountinfo

[*] oldpath 또는 newpath가 일부 프로세스에서 사용 중인 디렉터리이기 때문에(현재 작업 디렉터리, 루트 디렉터리 또는 읽기 위해 열려 있기 때문에) EBUSY 이름 바꾸기에 실패했습니다.또는 시스템에서 사용 중입니다(예: 마운트 지점으로)., 시스템에서는 이를 오류로 간주합니다. (이 경우에는 EBUSY를 반환할 필요가 없습니다. 어쨌든 이름을 바꾸는 것은 괜찮았을 것입니다. 그러나 시스템이 그러한 경우를 처리할 수 없는 경우에는 허용됩니다.)

답변2

네트워크 관리자입니다.

실행은 systemctl stop mysqld httpd postfix ipmievd tuned atd rsyslog smartd crond irqbalance gssproxy polkit chronyd도움이 되지 않지만 프로세스 테이블을 매우 작게 만듭니다.

그 후 systemctl stop NetworkManager/home의 이름을 바꿀 수 있었습니다.

답변3

단일 사용자로 시작하여 홈 디렉토리를 변경할 수 있습니다.

  1. 시스템을 다시 시작하고 그럽 선택 중에 눌러 줄을 편집했습니다.e
  2. 온라인으로 & 옵션을 linux16제거 하고 해당 위치에 두십시오 .rhgbquiteinit=/bin/bash
  3. ctrl+x시작하려면 버튼을 누르세요 . 그러면 bash 콘솔에 메시지가 표시됩니다.
  4. /다음 명령을 실행하여 읽기/쓰기 옵션을 다시 마운트하십시오.mount -o remount,rw /
  5. 그런 다음 /home디렉터리를 편집하고 이름을 바꾸는 등의 작업을 수행할 수 있습니다.
  6. 작업이 완료되면 다음 명령을 사용하여 selinux에 태그를 다시 지정하세요.touch /.autorelabel
  7. 최종 실행이 exec /sbin/init정상적으로 시작됩니다.

@sourcejedi: 답변 감사드립니다.

관련 정보