내 서버 중 하나(종료 예정)를 VirtualBox 시스템에 복제했습니다. 나는 rsync
이 목적으로 그것을 사용하며 관련 속성 등을 유지하는 것을 기억합니다. 나도 수정했습니다 fstab
. 이전에 비슷한 서버를 성공적으로 복제한 적이 있습니다.
가상 서버를 시작할 수 있지만 읽기 전용입니다. 다음은 일부 출력입니다.
Loading, please wait...
INIT: version 2.86 booting
mount: only root can do that
touch: cannot touch '/lib/init/rw/.ramfs': Read-only file system
mkdir: cannot create directory '/lib/init/rw/sendsigs.omit.d/ : File exists
mount: only root can do that
Starting the hotplug events dispatcher: udevd
Synthesizing the initial hotplug events...done
Waiting for /dev to be fully populated... [ 6.435055] piix4_smbus 0000:00:08.0
: SMB base address uninitialized - upgrade BIOS or use force_addr=0xaddr
[ 6.609103] Error: Driver 'pcspkr' is already registed, aborting.....
읽기 전용 파일 시스템 관련 오류가 많이 발생하면서 한동안 이런 일이 계속되었지만 결국에는 로그인 프롬프트가 표시되었습니다.
로그인은 되지만 시스템이 심각하게 다운되었습니다. 예를 들어 루트로 로그인했는데도 대부분의 명령에 대해 "루트만 이 작업을 수행할 수 있습니다"라는 메시지가 표시됩니다.
나는 이것을 시도했지만 fsck
도움이 되지 않습니다.
올바르게 부팅할 수 있는 아이디어를 주시면 대단히 감사하겠습니다.
그건 그렇고, 이것은 꽤 오래된 Debian Lenny입니다.
편집: rsync 명령은 다음과 같습니다.
rsync -azhv --exclude-from=exclude.lst / [email protected]:/backup/
Except.lst에는 다음 내용이 포함되어 있습니다.
# Exclude
- /dev/*
- /proc/*
- /sys/*
- /tmp/*
- lost+found/
- /media/*
- /mnt/*
답변1
/sbin/init는 루트가 소유합니까, 아니면 다른 사용자가 소유합니까?
/bin/mount와 같은 파일과 함께 루트가 아닌 사용자가 소유할 수 있습니다. 이는 실행될 때(SUID 비트가 설정됨) 루트가 아닌 사용자로 실행됨을 의미합니다.
아래 예. mount와 mount.steve의 내용은 동일하지만 mount.steve는 steve가 소유하고 있음을 확인하세요. 따라서 mount.steve는 루트가 아닌 steve에 SUIDing하기 때문에 "루트만 이 작업을 수행할 수 있습니다"라는 메시지와 함께 실패합니다.
[root@localhost bin]# ls -l mount mount.steve
-rwsr-xr-x. 1 root root 44208 Nov 27 2014 mount
-rwsr-xr-x. 1 steve users 44208 Jun 30 14:11 mount.steve
[root@localhost bin]# ./mount /foo /foo
mount: mount point /foo does not exist
[root@localhost bin]# ./mount.steve /foo /foo
mount.steve: only root can do that (effective UID is 1000)
[root@localhost bin]#
(저는 여기에 처음이라 전체 댓글과 답변을 이해하지 못합니다. 안내해 주셔서 감사합니다)