실수로 / etc의 이름을 바꾼 후 이름을 바꾸려면 어떻게합니까?


36

우분투 18.04를 사용하고 있습니다.

/etc폴더 이름을로 변경 했습니다 apache2. 그건 내 가장 큰 실수 였어

이제를 사용해야하기 때문에 이름을 바꿀 수 없지만 sudo오류가 발생하면

sudo: unknown uid 1000

이 문제를 어떻게 해결할 수 있습니까? 부팅 할 라이브 시스템이없고 복구 모드에서 루트 터미널이 열리지 만을 (를) 닫습니다 cannot open password database.


17
설치 매체에서 부팅하고 "Try Ubuntu"를 선택하고 루트 파일 시스템을에 마운트 한 다음 /mnt이름을 바꾸고 재부팅하십시오.
AlexP

설치 매체를 부팅하는 방법은 무엇입니까?
너구리

@ 잔나, 시프트는 메뉴를 보여주지 않았다. 다른 버튼으로 열 수 있습니까?
너구리

@Zanna, 복구 메뉴-> 루트는 터미널을 열지 만 암호 데이터베이스를 열거 나 닫을 수 없음을 나타냅니다
Racoon

@Zanna, no,하지 않았습니다 :(
Racoon

답변:


62

이와 같은 문제를 해결하는 쉬운 방법은 종종 라이브 시스템에서 부팅하고 루트 파티션을 마운트 /mnt 한 다음 파일 이름을 바꾸는 것입니다.

라이브 시스템이 없거나 시스템을 만들 수있는 방법이 없거나 시스템에 물리적으로 액세스 할 수 없지만 GRUB 메뉴를 재부팅하고 가져올 수있는 경우 GRUB 편집기를 사용하여 루트 쉘을 가져와 이름을 바꿀 수 있습니다 파일.

재부팅하거나 전원을 껐다가, 스위치, 정상적으로 부팅 눌러에 GRUB 메뉴가 표시되지 않는 경우 Shift또는 EscGRUB 메뉴에 도착.

아래로 커서를 이동 우분투에 대한 고급 옵션 Enter 키를 누릅니다 enter다음를 누릅니다 e편집에 부팅 옵션 (하나의 시간 - 우리가 나중에 정리하지 않아도, 영구적으로하지 않습니다 여기 변경).

다음과 같은 화면이 나타납니다 1 :

GRUB 메뉴 편집기의 스크린 샷

커서를 시작하는 줄로 linux이동 한 다음 커서를 해당 줄의 끝 또는 커널 부팅 매개 변수의 아무 곳으로나 이동하십시오. 시스템이 /etc제자리에 있지 않으면 부팅에 실패 할 수 있으므로 올바른 행에 있고 여기에주의하여 입력하십시오 .

텍스트를 추가 하고을 init=/bin/bash눌러 F10부팅하십시오.

이것은 Bash 쉘을 init로하여 시스템을 시작합니다. 루트 셸을 얻게되고 파일 시스템은 읽기 전용으로 마운트됩니다. 2 파일 시스템을 쓰기 가능하게하려면 다음 명령을 입력하십시오.

mount -o remount,rw /

이제 이름을 바꿀 수 있습니다 /etc(먼저 이름을 원할 수도 있음 ls)

mv /apache2 /etc

이제 루트 쉘을 일반 init 시스템 3으로 바꾸어 재부팅하거나 여기에서 정상적으로 부팅을 완료 할 수 있습니다 .

exec systemd 

Ubuntu MATE 18.04에서이 절차를 테스트했습니다.


1 VirtualBox에서 GRUB 편집기의 우수한 스크린 샷을 얻은 Kulfy 에게 감사드립니다 !
2/etc 이 시나리오에서는 구성 파일에서 PATH를 설정할 수 없지만 Bash는 자동으로 하나를 설정 합니다.
3 의 경우는 exec systemd, 당신을 위해 작동하지 않는 exec /sbin/init트릭을 할해야합니다. 그렇지 않다면, readlink -e /sbin/initinit 프로그램이 실행해야 할 경로를 지정해야합니다 exec. 그러면 전체 경로 를 사용할 수 있습니다 . 이 방법으로 진행할 수 없으면을 입력하십시오 reboot.


4
스크린 샷 +1 :)을 포함한 매우 철저한
WinEunuuchs2Unix 16:18의

3
@Kulfy 너무 감사합니다! RAM이 충분하지 않기 때문에 DI는 VB를 사용할 수 없습니다. 내 답변을 개선하는 데 도움을
주신

3
스크린 샷이 너무
커졌다

1
@Racoon 천만에요. 반가워요 :)
Zanna

테스트하려고 시도했지만 Ubuntu 18.04.Desktop에서 작동하지 않습니다. 지시 사항을 그대로 따르십시오 . 작동 안함. F10몇 줄만 나타난 후 빈 화면에서 멈 춥니 다. 당신은 뭔가를 제안 할 수 있습니까?
Vijay

8

라이브 USB가있는 경우 USB로 부팅하여 기존 파일 시스템을 마운트 한 다음 이름을 바꿉니다 /etc. 라이브 USB를 만드는 방법에 대한 자습서는 다음과 같습니다 .

라이브 USB로 부팅 한 후 (Ubuntu 18.04 드라이브를 사용하는 경우) "설치하지 않고 Ubuntu 설치"를 선택하면 종료 후에도 유지되지 않는 Ubuntu 설치의 전체 인스턴스가 제공됩니다. 부팅되면 몇 가지 옵션이 있습니다.

커맨드 라인 방식

터미널을 열고 실행하십시오 lsblk. 원래 설치 드라이브가 될 볼륨을 찾고 어떤 번호 (/ dev / sd #)인지 확인하십시오.

그런 다음을 사용하여 드라이브의 마운트 지점을 생성 한 다음을 사용하여 드라이브 mkdir -p /mnt/directory를 마운트하십시오 sudo mount /dev/sd# /mnt/directory. 로 디렉토리를 탐색 cd /mnt/directory하면 이제 설치의 루트 디렉토리에 있지만 작동중인 sudo명령 이 있어야합니다 . sudo mv apache2 etc가상으로 작동하는 OS를 실행 하고 재부팅하십시오.

그래픽 방식

디스크를 검색하여 디스크 유틸리티를여십시오. 설치 드라이브처럼 보이는 볼륨을 선택하고 마운트하십시오. 파일 관리자를 열고 마운트 된 볼륨을 선택하고 /apache2폴더를 마우스 오른쪽 단추로 클릭 하고 이름을 바꾼 /etc다음 재부팅하십시오.


Rt에 "이름 바꾸기"옵션이 없기 때문에 "그래픽 방식"이 작동하지 않습니다. 딸깍 하는 소리.
Vijay

1
@Vijay 파일 권한 때문에 파일 관리자를 루트로 열어서 그래픽으로 표시해야합니다. 그렇게하려면 sudo nautilus터미널 에서 명령 을 실행하십시오 . (우분투는 Windows가 "탐색기"를 사용하는 것과 같은 방식으로 "nautilus"를 파일 관리자로 사용합니다.)
AJMansfield

2
@AJMansfield는 물론 라이브 시스템에서는 중요하지 않지만 일반적으로 우리는 sudo -H nautilus루트가 구성 파일의 소유자가되는 것을 피하여 $HOME잠재적으로 일반 사용자로 실행되는 프로그램에서 액세스 할 수 없도록해야합니다. 당신은 아마 이것을 알고 있지만 다른 독자들에 대해서는 언급하고 있습니다.
Zanna

6
  1. 여기에 표시된 것처럼 부팅 가능한 USB를 만드십시오 .

  2. 여기에 표시된대로 키를 눌러 USB에서 부팅 하십시오.

  3. 를 실행하여 파일 시스템 파티션을 찾으십시오 gparted. 그것이 sdxy라고 가정하십시오.

  4. 터미널에서 실행 sudo mount /dev/sdxy /mnt

  5. 터미널에서 실행 sudo mv /mnt/apache2 /mnt/etc

  6. / mnt의 파일 시스템에서 이름 변경을 확인하십시오.

  7. 터미널에서 실행 sudo reboot

  8. 프롬프트가 표시되면 USB를 제거하고 Enter를 누르십시오.


@ Kulfy 시도했지만 sudo 없이는 작동하지 않습니다. 여기를 참조 하십시오 .
Vijay

sda2가 sudo로 마운트 되었기 때문에 sudo 만 조치를 수행 할 수 있습니다. 그러나 특별한 권한없이 노틸러스로 드라이브를 마운트하면 sudo없이 작업을 수행 할 수 있습니다.
Kulfy

`ubuntu @ ubuntu : ~ $ mount / dev / sda2 / mnt mount를 확인했습니다 : 루트 만이 ubuntu @ ubuntu를 수행 할 수 있습니다 : ~ $
Vijay

1
AFAIK mount프로그램은 매우 엄격하며 항상 루트로 실행해야합니다. 이것에 대한 유일한 예외는 파일 시스템이 fstab있고 user옵션 이있을 때 입니다. 이 프로그램 udisksctl은 일반 사용자가 예를 들어 udisksctl mount -b /dev/sda1(를 사용하여 적절한 마운트 지점을 생성) 장치를 마운트 할 수 있도록 /media/$USER/합니다. 나는 udisksctl라이브 시스템에서 사용하려고 시도하지 않았지만 , 라이브 시스템에서 항상 sudo암호없이 실행할 수있는 권한이있는 사용자 이므로 udisksctl다른 유용한 유틸리티가 필요하지 않습니다.
Zanna
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.