이 에러와 관련해서 이미 여러 블로그 포스팅이 있지만

한글로 된 포스팅 중에서 내 문제를 해결해준 경우는 없었다.

 

통상적으로 docker를 깔고 난 후

바로 docker ps 명령어 등을 하였을 때도 에러 없이 잘 나온다고 하면 다행인 것이지만,

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

혹은

Cannot connect to the Docker daemon at tcp:///localhost:2375. Is the docker daemon running?

와 같은 문제가 발생할 수 있다.


이 경우 아래 명령어들을 다 한 번씩 시도해보면 좋다.

우선, tcp localhost 2375가 나온다고 하면 DOCKER_HOST 환경변수가 알게 모르게 세팅되어 있는 경우가 있다. WSL 환경에서 도커를 세팅하고자 한다면 localhost:2375에 연결해두어야 하지만, 순수한 우분투 환경이라면 그렇게 하지 않아도 된다. 따라서 아래 명령어로 환경변수를 제거한다. 

unset DOCKER_HOST
unset DOCKER_TLS_VERIFY
unset DOCKER_TLS_PATH

위 명령어를 수행한 후에 다시금 "docker ps" 를 실행해보자. 그렇게 하면 적어도 tcp 에러가 아니라 unix~~ 에러로 변경되었을 것이다. 이때 해결이 그냥 잘되었으면 끝.

 

이제 at unix:///var/.... 까지 왔다면 그 다음에는 dockerd 명령어를 실행해보거나 아니면 status restart를 해보면 된다.

다른 블로그에서는 그냥 systemctl start랑 enable을 하라고 하지만, 이미 잘 켜져 있는 상태에서는 의미가 없다.

나의 경우 start와 enable로는 해결이 안되었지만 restart로는 해결이 되었다.

$ sudo dockerd

혹은

$ sudo service docker restart

C 소스 코드를 작성할 때 기본적인 헤더파일들의 위치는


/usr/include/ 에 위치합니다.



 일반적으로, Windows xp, 7, 8 과 같은 윈도우즈 운영체제를 컴퓨터에 설치해서 사용하시는 분들이 많을텐데요.

공부나 업무용 혹은 호기심의 목적으로 리눅스 우분투등과 같은 다른 운영체제를 사용할 경우가 있습니다. 

 

 윈도우즈 운영체제를 기본적으로 사용하면서 추가로 운영체제를 설치할 수 있는 방법이 있습니다.

바로 '가상머신'이라는 유틸리티 프로그램을 사용하는 것입니다.

 

 가상머신을 사용하게 되면, 기존의 운영체제를 시동한 후, 새로운 운영체제를 그 위에 다시 시동하여 사용할 수 있으며,

이 상태에서는 동시에 두 개의 운영체제를 사용할 수 있습니다. 기존이 운영체제를 '호스트 운영체제'(주인 운영체제)라고 하고,

새로 설치할 운영체제를 '게스트 운영체제'(손님 운영체제)라고 합니다. 

주인 집 위에 손님 집을 짓는다고 생각하면 이해가 빠를 것입니다.

 

 

 오늘은 무료로 사용할 수 있는 'VirtualBox'라고 하는 가상머신을 사용해서

'Linux Ubuntu LTS 12.04' 라고 하는 새로운 운영체제를

설치하는 과정에 대해서 설명해보려고 합니다.

 

 

1. VirtualBox 설치하기

https://www.virtualbox.org/wiki/Downloads 

위 사이트에 들어가신 후, 기존의 운영체제 버전에 맞는 VirtualBox 프로그램을 다운로드합니다.

 



 

 일반적으로는 윈도우즈를 사용하니까, 

VirtualBox 4.2.18 for Windows hosts 에 있는 파일을 다운로드합니다.

(만약 다른 운영체제를 사용한다면 그에 맞춘 파일을 다운로드 받으세요.)

 

 설치파일을 실행시켜서 설치를 진행합니다.

만약, 설치 중에 Installation Failed Error 오류가 난다면 다음 사이트를 참조하여 해결할 수 있습니다.

http://thinkpro.tistory.com/41

 

 

2. 리눅스 우분투 설치하기

http://www.ubuntu.com/download/desktop

 위 사이트에 들어가신 후, 원하는 버전의 운영체제 디스크 이미지 파일을 다운로드하세요.

저는 LTS의 12.04 버전 32bit 를 선택해서 다운로드 하였습니다.

 

 

제대로 가상머신 만들어보기 전에, 가상머신에 리눅스 우분투가 설치되는 큰 설명을 할게요.

버츄얼 박스는 주인 집(윈도우즈) 위에 손님 집(리눅스 우분투)을 짓게 해주는 프로그램입니다.

우리는 우선, 1. 손님 집이 될 빈 집 자리를 만들고, 2. 그 빈 집에 리눅스 우분투를 넣어서 손님 집을 완성시킬 것입니다.

 

 

설치를 완료하였으면, 프로그램을 실행시켜서 빈 집을 만들어 봅시다~

 

 

우선, 새로운 운영체제를 설치해야 하므로 좌측 상단의 '새로 만들기(N)'을 클릭합니다.


 

제일 처음, 이름을 입력하라고 합니다.

저는 'Linux Ubuntu 12.04' 라는 이름을 사용했고, 이름란에 쓰는 단어에 맞추어

밑의 종류(T) 및 버전(V)이 자동으로 설정이 됩니다. 이 둘은 사용자가 임의로 변경할 수도 있습니다.

 

새로운 운영체제에 사용할 램 용량, 즉 메모리 크기에 대해서 설정하는 부분입니다.

리눅스 우분투 운영체제를 설치할 때, 추천 메모리 크기는 512MB입니다.

저는 RAM 용량의 여분이 많은 관계로 4096MB, 즉 4GB를 할당해 주었습니다.


 

그리고 새로운 운영체제가 설치 될 하드 드라이브에 대한 설정입니다.

이미 가상 하드 드라이브가 있다면 '기존 가상 하드 드라이브 파일 사용(U)'를 클릭해서

기존의 가상 하드 드라이브를 사용하시면 됩니다.

 

처음 설치하시는 경우, 가상 하드 드라이브 파일이 없을 테니,

'지금 가상 하드 드라이브 만들기(C)'를 클릭하여 가상 하드 드라이브를 만듭시다.

 

하드 드라이브 파일의 종류에 대한 설정입니다. 어느 것을 선택하여도 됩니다.

다만, 다른 가상머신을 사용할 계획이 있다면 그에 맞추어 변경해주시면 됩니다.

 

예를 들어, 지금 만든 가상 하드 드라이브 파일을 QEMU 라고 하는 새로운 가상머신을 사용해

시동할 경우, QED 확장자를 사용해서 만들어 놓으면 버츄얼 박스에서도 사용이 가능하고, QEMU

가상머신에서도 사용이 가능합니다.


 

하드 드라이브를 어떤 방식으로 만들 것인지 결정하는 단계입니다.

이 부분이 처음 설치하시는 분께는 제일 이해가 안되는(??) 부분입니다.

 

저도 처음엔 동적 할당/ 고정 크기 의 개념이 이해가 되지 않았는데요.

동적 할당은 말 그대로 동적으로 만들겠다는 것입니다. 

설치할 새로운 운영체제에서 파일이 생길 때마다 가상 하드 드라이브 파일의 크기가 커집니다.

고정 크기는 그냥 처음 정해놓은 가상 하드 드라이브 파일의 크기만큼 파일이 생깁니다.


 

가상 하드 드라이브의 크기를 설정하는 단계입니다.

저는 250GB SSD 를 사용해 그리 넉넉치 않은 용량의 하드 디스크를 가지고 있어서,

약 30GB만큼을 할당해주었습니다.

 

새로이 설치할 운영체제에서 얼마만큼의 하드 디스크 용량이 필요한지 계산해서 적절하게 변경해주시면 되곘습니다.

 

이제, 빈 집은 만들었습니다. 

지금까지 빈 집의 램은 얼마고, 하드디스크는 얼마가 되야 할지를 설정한 것입니다.


자, 이제 빈 집에 리눅스 우분투라고 하는 놈을 넣어봅시다.




오른쪽 클릭 후 > 설정(S) 에 들어가서



1. '저장소' 클릭! 

2. '비어 있음' 클릭!

3. 작은 CD 아이콘 클릭!

4. 사용할 리눅스 우분투 이미지 파일을 찾아 선택

5. '확인' 클릭!

 

이제, 리눅스 우분투 이미지 파일까지 빈 방에 집어넣었습니다.

그리고 '시작(T)' 버튼을 누르면 설치가 진행됩니다.

 

 

그 이후 과정은 너무나 쉬워서 이 포스트에서는 설명을 생략하겠습니다.

그냥, 하라는 대로 주우욱 진행하면 됩니다.

 

2. SAMBA란 무엇인가?

삼바는 SMB 프로토콜을 유닉스 컴퓨터에 구현한 프리웨어로서, 원래 국립 호주대학의 앤드루 트리젤이 유닉스용으로 개발하였다. 

이것은 윈도우 클라이언트에서 유닉스 서버에 있는 파일들이나 프린터를 공유할 수 있게 해준다. 

예를 들면, 유닉스 서버에 있는 파일을 편집하기 위하여 텔넷으로 접속하는 대신에, 

윈도우95/98 사용자가 윈도우 익스플로러 내에 있는 드라이브에 연결함으로써 유닉스 컴퓨터 상의 삼바 서버에 접속한 후, 

윈도우용 에디터를 이용하여 그 파일을 편집할 수 있다.


무슨 말인지 모르겠죠...ㅎ

ssh는 '설치'한다고 했는데 samba는 '구축'한다고 할거에요.

왜냐하면 samba는 윈도우 운영체제에서 유닉스 컴퓨터에 접근할 때 사용하는 프로그램이거든요.

우리는 지금 리눅스 우분투를 기반으로 하고 있잖습니까? 즉 우리가 서버 역할을 하는 입장인 거에요.

따라서, 우리한테는 samba를 구축한다고 하는게 더 어울리는 표현인거죠.

이제, 삼바 SAMBA 를 구축하는 방법을 소개해드립니다.


2-1. samba 설치하기

$ sudo apt-get install samba

2-2. smb.conf 파일 수정하기
$ sudo vi /etc/samba/smb.conf

smb.conf 파일은 약간의 수정과 추가할 것이 있어요... 


수정해야 할 것:
....
# security = user
....

줄을 찾아서 #을 지워 주석처리를 해제하고 저장합니다.

추가할 것:
[userid]
path = /home/userid
public = no
only guest = no
writable = yes
create mask = 0777
force user = userid

가장 마지막 줄 뒤에
를 추가합니다. 여기서 'userid'는 사용자 이름입니다.

가령 제 계정 이름이 jeongmin 이면

[jeongmin]
path = /home/jeongmin
public = no
only guest = no
writable = yes
create mask = 0777
force user = jeongmin

이렇게 추가하는 겁니다.



2-3. 사용자 등록
$ sudo smbpasswd -a userid // userid는 사용자 이름 

2-4. samba 재 시작
$ sudo /etc/init.d/smbd restart


리눅스 운영체제는 유닉스 시스템을 기반으로 하고 있으며, 기본적으로 운영체제가 부팅될 때,

'로그인'이라는 과정을 진행하게 됩니다. 


로그인 과정은 user ID 즉, 계정 이름과 비밀번호를 요구합니다. 

오늘은 user ID를 생성하는 방법

계정에 sudo 권한을 부여하는 방법에 대해서 설명하겠습니다.



1. user ID 생성

$ sudo adduser [userid]            // 사용자 계정을 새로 만드는 명령어


[userid]는 생성하고자 하는 user id 값입니다.

가령, jeongmin 이라는 계정을 추가하고 싶다면

$ sudo adduser jeongmin

이렇게 사용하시면 됩니다.



2. 계정에 sudo 권한 부여하기

 우선, sudo 권한이 무엇인지 부터 알려드려야 겠네요.

리눅스 운영체제를 사용해보신 적 있다면 sudo apt-get install... 등 과 같이 sudo 명령어를

은근히 몇 번 써보셨을 겁니다. sudo 명령어는 사용자에게 루트 권한을 부여하는 것입니다.


리눅스 운영체제에서는 일부 중요한 데이터나 시스템을 변경하는 등의

책임이 큰 행동에 대해서는 루트 권한을 요구합니다. 

쉽게 생각해서 루트 권한을 뭐든지 할 수 있는 슈퍼 유저라고 생각하십시오.


그리고 일반 사용자가 잠시동안 루트 권한을 빌리는 방법이 바로 sudo 명령어를 사용하는 것입니다.

그런데 아무 사용자나 sudo 명령어를 쓸 수 있다면 굳이 sudo 명령어가 필요하겠습니까?

일반 사용자도 sudo 명령어를 쓸 수 있는 계정/ 쓸 수 없는 계정이 있습니다.


한 사용자 계정이 sudo 권한을 부여 받으려면 /etc/sudoers 파일 안에 등록이 되어야 합니다.

다음 명령어를 입력해봅시다.

$ sudo visudo                         // /etc/sudoers 에 접근


/etc/sudoers 파일 내에서

....

# User privilege specification

root ALL=(ALL:ALL) ALL

....

이 곳에 

[userid] ALL=(ALL:ALL) ALL                // [userid] 는 권한을 부여하고자 하는 계정 이름.

을 추가하시면 됩니다.


예를 들어, jeongmin 을 추가했다면

jeongmin    ALL=(ALL:ALL) ALL

을 추가해주시면 됩니다.

+ Recent posts