WSL(Windows Subsystem for Linux) Ubuntu Config user password

WSL(Windows Subsystem for Linux)을 사용하다 보면 user password를 잃어 버리는 경우가 있다. WSL이 아닌 경우 여러가지 복원 절차를 통해야 하지만 WSL인 경우 MS(Microsoft)에서 개발한 리눅스 호환 커털 인터페이스를 제공하기 때문에 간단히 user password를 초기화 할 수 있다.

먼저, 설치된 WSL 버전을 확인 해야 한다.
명령 실행 창에서 ‘CMD’를 실행하고 아래 명령어를 입력하면, 설치된 WSL 버전 정보를 확인 할 수 있다. (여기서는 Ubuntu 1804 Linux를 기준으로 한다.)

c:\> wslconfig /list /all

Windows Subsystem for Linux Distributions:
Ubuntu-18.04 (Default)

설치된 WSL은 Ubuntu-18.04이고, 실행 명령어는 ‘Ubuntu1804’가 된다.
(만약, Ubuntu(Default)로 나왔다면 실행 명령어는 ‘Ubuntu’가 된다.)

위에서 확인한 실행 명령어를 가지고 CMD창에서 다음과 같이 Ubuntu 기본 사용자를 root(관리자)로 변경해 준다.

c:\> Ubuntu1804 config --default-user root

이제, WSL Ubuntu를 실행하면 기본사용자가 root로 되어 있기 때문에 root로 로그인 된다.
바로, 대상 user의 password를 변경해 주고 로그아웃 한다.

$ passwd user

Enter new UNIX password: (type password)
Retype new UNIX password: (type password)

$ exit

다시 CMD창으로 돌아와 Ubuntu 기본 사용자를 기존 user로 변경해 준다.

c:\> Ubuntu1804 config --default-user user

이제, 다시 WSL Ubuntu를 실행하여 확인해 보면 password가 변경된 것을 확인 할 수 있다.

서버 백업 / 복원하기

백업하기

전체 백업을 하기위해서 우선 루트 디렉토리로 간다.

$ cd /

tar을 이용해서 전체 백업을 한다.

$ sudo tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /

혹시 빼주고 싶은 파일이나 폴더가 있다면 exclude에 넣어주면된다.

--exclude=/[제외 폴더]

백업이 완료되면 루트 디렉토리 (/)에 backup.tar.gz이라는 파일을 볼 수 있다.
USB같은 외부 저장장치에 잘 보관해 두면 된다.

복구하기

루트 디렉토리에서 백업을 했기때문에 복구 할때도 루트 디렉토리에서 한다.

$ cd /

백업을 해두었던 tar파일을 압축을 풀어 복구한다.

$ tar xvpfz backup.tar.gz -C /

**앞에서 루트(/)디렉토리로 옮겨가라고 했지만 -C / 옵션을 사용한다면 다른곳에 저장되어 있어도 상관없다.

백업에서 제외햇던 디렉토리는 직접 만들어 준후 재부팅을 하면 복구가 완료된다.

$ reboot

추가 옵션 설명

​-z 압축 백업자료를 gzip을 이용하여 압축한다.
-c 생성 새로운 저장 파일을 만든다.
-v 수다 백업이 되고 잇는 파일 목록을 보여준다.
-p 퍼미션 보존 파일 보호를 위한 정보는 복구할 수 있도록 기억해 둔다.

Ubuntu에서 nvidia 그래픽 카드 드라이버 설치하는 방법

로그인 부팅하고 최초 로그인 화면에서 화면이 멈추다 깨지거나 로그인을 하고 x-window로드중에 시스템이 멈춰서 사용이 불가능 하는 경우, 그래픽 드라이버가 제대로 설치가 안된 것이다.

로그인 화면이 뜨는 순간 바로 Crtl + Alt + f1~6을 빠르게 눌러서 터미널 창에 접속한다.

(* 우분투도 2013년 4월25일 이후의 업데이트부터는 저장소에서 기본으로 지원합니다.)
그 다음 nvidia-current 패키지를 설치 하면 된다.

$ sudo apt-get install nvidia-current

재부팅을 하고 로그인을 하면 정상적으로 GUI환경에서 사용하실 수 있다.

USB 드라이브로 Ubuntu 설치 시 부팅이 되지 않을 때

USB로 우분투를 설치하는 경우, 부트로더에서 USB로 부팅을 하면 커서만 깜빡이고 진행이 멈춰버리는 증상이 나타날 때가 있다.

  1. USB이미지를 http://www.ubuntu.com에서 제공하는 툴로 설치 usb를 만든다.
  2. 윈도우 콘솔(cmd)을 띄운 후 diskpart를 입력하면 실행이 된다.
  3. list disk 명령어를 입력하면 현재 사용되고 있는 디스크 목록이 나온다.
  4. 목록 중 select disk #no 입력해서 우분투 설치 USB드라이브를 선택 한다.
  5. list partition 명령어를 입력하면 선택한 드라이브의 파티션 목록이 나온다.
  6. 목록 중 select parition #no 입력해서 설치 로더가 있는 파티션을 선택한다.
  7. active를 입력하고 list partition #no 하면 파티션 이름 앞에 *가 붙는다.
    (디스크 파티션이 활성화 되었다.)

다시 재부팅해서 USB로 부팅하면 설치가 잘 된다.

Can’t ssh localhost

ssh localhost를 하였을때, Read from socket failed: Connection reset by peer 라는 메시지가 튀어 나오면서 접속이 안되는 경우가 있다.

이경우 ssh_config파일을 죽어라 재설정 해도 잘 되지 않는다.
일단, 이 메시지가 나오면 포트를 확인해본다.

$ lsof -i:22

현재 LISTEN 상태인지 다른 프로세스하고 ESTABILISHED 되어 있는지 확인한다. 상태가 LISTEN이 아니거나 아무것도 안나오면 서버가 실행되지 않은것이고 다른 프로세스하고 ESTABILISHED되어있으면 해당 프로세스를 과감히 kill 해준다.

하지만

sshd    2750 root    3r  IPv4  15134      0t0  TCP *:ssh (LISTEN)
sshd    2750 root    4u  IPv6  15136      0t0  TCP *:ssh (LISTEN)

이런식으로 나올경우 서버 자체는 정상 작동하고 다른 프로세스하고는 연관이 없다. 그냥 재설치 하자.

재설치를 그냥 reinstall 옵션을 사용해도 좋지만 서버의 경우 설정파일이 그냥 남아 있는 경우가 있으므로, 제일 먼저 설정파일을 관리자 권한으로 모조리 삭제 해준다.

$ sudo rm /etc/ssh/sshd_config

그 다음은 purge 옵션으로 서버를 삭제 해주고 재설치를 하면 된다.

$ sudo apt-get purge openssh-server
$ sudo apt-get install openssh-server

이제 마지막으로 재부팅을 한후에 다시 실행하면 잘 접속 될 것이다.

Swap메모리 추가하기

메모리가 부족할 경우 시스템이 멈추거나 장애가 생긴다.
Ubuntu의 경우 Bus error이라는 메시지가 나오는 경우 보통 메모리 문제인데
이경우 Swap 메모리를 늘려주면 해결된다.

1. Swap 메모리를 늘리기 위해서는 root유저로 로그인 해야한다.

$ su - OR $ sudo -s

2. Swap메모리로 사용될 가상 파일을 생성해준다.

$ dd if=/dev/zero of=/swapfile bs=1024 count=3145728
#(**여기서 3145728는 1024*1024*3으로 나온것이며 3GB를 나타낸다**)

그러면 약 2~3분후 다음과 같이 결과가 나온다.

3145728+0 records in
3145728+0 records out
3221225472 bytes (3.2 GB) copied, 504.698 s, 6.4 MB/s

3. 만들어진 Swap 파일을 리눅스에서 사용할수 있는 메모리 형태로 만들어 주어야 한다.

$ mkswap /swapfile

그러면 Swap 메모리가 만들어진다.

Setting up swapspace version 1, size = 3145724 KiB
no label, UUID=cb9b919d-dfa9-406f-99e3-9717b7c96b51

4. 이제 만들어진 Swap 파일을 Swap 메모리 영역에 올려주면 된다.

$ swapon /swapfile

5. free명령어로 확인하면 가상메모리 (Swap)영역이 증가한 것을 확인 할 수있다.

         total      used    free    shared      buffers  cached
Mem:    738540    731124    7416         0         5828  371416
-/+ buffers/cache:353880  384660
Swap:  3145724         0 3145724