사용자 추가 명령어
wsl 설치시 root계정으로 시작할 경우가 존재한다. 이 때 사용자를 추가하는 방법은 다음과 같다. 만약 추가되어 있더라도, 처음 접속하는 곳이 root로 되어 있으면 변경해줄 수 있다.
사용자를 추가하는 방법은 ubuntu내에서 사용자를 추가하는 것이다.
- ubuntu 터미널을 연다.
sudo adduser <username>
을 친다.
1
sudo adduser jhyoon
마지막으로 Y
를 눌러 유저를 생성한다.
3.user계정을 sudo 그룹에 추가한다.
1
sudo usermod -aG sudo jhyoon
wsl bash가 실행되지 않을 때
이 때는 다양한 문제가 있을 수 있다.
먼저 윈도우에서 wsl이 사용 가능하도록 되어 있는지 확인해야 한다. powershell에서 아래 명령어를 쳐본다.
1
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
사용이 가능하다고 하면, 다음 단계로 넘어간다.
- 가상 메모리가 할당되어 있는지 확인
참고 : https://qkrm.tistory.com/3
사용 가능하다고 되어 있어도 오류가 난다면, 가상 메모리가 할당되어 있는지 확인해본다. 먼저 windows + R
을 눌러 실행창을 띄우고, SystemPropertiesAdvanced
를 친다.
그리고, 성능 부분에 설정을 클릭한다.
그 후 고급에 들어가 가상 메모리 편집을 클릭한다. 그러면 본인이 사용하고자 했던 디스크에 가상메모리가 할당되어 있는지 확인할 수 있다.
나의 경우 D:에 wsl을 설치했는데, 페이징 파일이 없었다. 그래서 시스템이 관리하는 크기
를 선택해주어 시스템에서 자동으로 메모리를 할당하도록 했다.
이를 다 하고 나면, 재부팅하라고 뜨는데, 재부팅하고, wsl을 실행하면 된다.
다른 디렉토리에 wsl 경로 설정
다른 드라이브에 wsl 경로를 설정하고자 한다면, 먼저 기본으로 설정되어 있는 것을 해제해야 한다.
powershell을 연다.
1
2
3
4
5
6
> wsl -l -v
NAME STATE VERSION
* Ubuntu-18.04 Running 2
Ubuntu-20.04 Stopped 2
docker-desktop-data Stopped 2
docker-desktop Stopped 2
다른 배포판을 기본으로 설정하고자 하면 -s
또는 --set-default
를 사용한다.
1
wsl -s Ubuntu-20.04
하나의 배포판을 다른 디렉토리로 옮기기 위해서는 배포판을 압축파일로 만든 후 옮겨야 한다.
wsl --export {배포판 이름} {내보낼 파일 이름}
1
wsl --export Ubuntu-18.04 Ubuntu-18.04.tar
이렇게 하면 현재 디렉토리에 Ubuntu-18.04.tar 파일이 생성된다.
이를 다른 폴더로 import 시켜준다.
wsl --import {배포판 이름} {배포판 위치 지정} {배포판 파일 이름}
1
wsl --import Ubuntu-18.04 D:\wsl\ Ubuntu-18.04.tar
그 후, 배포한다.
1
wsl -d Ubuntu-18.04
여기서 에러가 나지 않고, 우분투 계정으로 로그인이 되면, 잘 수행된 것이다.
이렇게 하고 나면, 기본 계정이 root로 되어 있다. root에서 작업을 하는 것은 위험하므로 일반 계정을 기본 계정으로 지정해주어야 한다.
ubuntu 18.04 를 기준으로
ubuntu1804 config --default-user {계정 이름}
만약 ubuntu 20.04라면
ubuntu2004 config --default-user {계정 이름}
wsl 진입이 불가능할 때
powershell에서도 wsl을 진입할 수 없을 때 사용하는 방법이 있다.
1
wsl -u root
root 계정으로 진입하는 것으로, 이것을 사용해도 진입이 안된다면….
sudoers 파일 오류
sudoers 파일은 살짝만 오류나도 시스템이 전부 고장날 수 있다. 그래서 조심스럽게 수정해야 하지만, 피치못할 사정으로 수정을 했는데 오류가 나는 경우 복구하는 방법을 설명한다.
- https://meoru-tech.tistory.com/m/70
중요한 것은 sudoers 파일은 쓰기 권한을 주면 안된다. 쓰기 권한을 주면 바로 오류가 난다고 한다.
만약 wsl을 사용하다가 오류가 난 것이라면, 위에 wsl -u root
를 사용하여 wsl 시스템에 진입해야 한다.
진입을 해서 nano 나 vim 등을 사용하여 /etc/sudoers
파일을 수정한다.
1
nano /etc/sudoers
또는
1
pkexec visudo
pkexec를 사용했는데, 아래와 같은 오류가 난다면 nano를 통해 수정해야 한다.
1
Error getting authority: Error initializing authority: Could not connect: No such file or directory