반응형

VirtualBox 에서 Ubuntu Server 를 설치하고 폴더 공유하려다가 간신히 성공한 내용이다.  ㅡㅡ;;

 

보통 찾아보면 

 

Virtual Box 설정 -> 공유폴더 -> 머신 폴더 하위에 추가 -> 공유할 폴더 지정 

 

하라고 나온다.  그리고 나서 "장치" 메뉴에 "게스트 확장 이미지 삽입" 이라고 하면 자동으로 무엇인가가 설치 된다고 나오던데 그것도 안되더라...

 

그럼 우선 위에 언급한 거에서 "게스트 확장 이미지 삽입" 까지는 동일하다.

 

그 다음 다음과 같이 진행한다. 

 

# 게스트 확장 이미지를 바인드할 디렉토리 생성 & cdrom mount

mkdir tools

cd tools

sudo mount /dev/cdrom ./tools/

 

이렇게 하면 시디롬에 있던 정보들이 tools 디렉토리로 들어온다. 

 

그리고 나서 

sudo ./VBoxLinuxAdditions.run 을 실행시킨다.

 

그럼 사전 작업 완료

 

# 공유폴더 연결

mkdir share

sudo mount -t vboxsf [지정한폴더이름] ./share/

 

이렇게 하면 로컬 pc 의 폴더와 guest 의 폴더가 공유가 된다. 

 

 

728x90
반응형
반응형

Ubuntu 에서 gradle 설치를 해보자.

설치 방법은 정말 간단하다.

sudo apt-get install gradle

$ sudo apt-get install gradleReading package lists... DoneBuilding dependency tree Reading state information... DoneThe following additional packages will be installed:

이렇게 하면 설치가 쭉~~ 시작된다.

gradle -v------------------------------------------------------------Gradle 2.10------------------------------------------------------------Build time: 2016-01-26 15:17:49 UTCBuild number: noneRevision: UNKNOWNGroovy: 2.4.5Ant: Apache Ant(TM) version 1.9.6 compiled on July 20 2018JVM: 1.8.0_181 (Oracle Corporation 25.181-b13)OS: Linux 4.15.0-1021-gcp amd64

흠... 그런데... gradle 버전이 좀 이상하다.....

2.10?????

난 4 버전을 설치하고 싶은데.. 어떻게 해야하나.

sudo add-apt-repository ppa:cwchien/gradle
sudo add-apt-repository ppa:cwchien/gradle

sudo add-apt-repository ppa:cwchien/gradle

먼저 repository 를 추가한다.

그리고 sudo apt-get update 한번 쳐준다. 

sudo apt-get install gradle-4

여기까지 치고 TAB 키를 누르면

sudo apt-get install gradle-4.gradle-4.10 gradle-4.10.1 gradle-4.10.2 gradle-4.6 gradle-4.7 gradle-4.8.1 gradle-4.9

이렇게 설치할 수 있는 종류가 나온다.

나는 4.6 버전 선택해서 인스톨을 진행 했다.

gradle -v------------------------------------------------------------Gradle 4.6------------------------------------------------------------Build time: 2018-02-28 13:36:36 UTCRevision: 8fa6ce7945b640e6168488e4417f9bb96e4ab46cGroovy: 2.4.12Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017JVM: 1.8.0_181 (Oracle Corporation 25.181-b13)OS: Linux 4.15.0-1021-gcp amd64

이렇게 설치를 마무리 하면 된다.



728x90
반응형

'Development > Build' 카테고리의 다른 글

[Gradle] gradle build error tool.jar... valid JDK  (0) 2018.10.19
Jenkins 설치  (0) 2018.09.19
Mac 에서 gradle 설치  (0) 2016.07.04
Maven 라이브러리 추출  (0) 2016.01.06
Maven clean, install, build??  (0) 2015.05.12
반응형

Docker 로 mysql 를 올려봤다. 


실행시키는 방법은 아주 간단하다.


docker run --name mysql-db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<password> -d mysql


이렇게 하면 mysql container 가 구동된다.


docker container ps 


CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES

e99420ff2ee4        mysql               "docker-entrypoint.s…"   26 minutes ago      Up 6 minutes        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql-db


여기까지는 쉬웠다. 

그런데 내 로컬 컴퓨터에서 저 DB 에 접속을 하려고 하니.. .접속이 안됐다. 참고로 저 위치는 AWS 에 있는 EC2 에 ubuntu를 올려서 설치한 것이다.


먼저 AWS 보안 그룹을 추가했다.


그래도 안된다.


그 다음에 mysql 설정을 찾아봤다.


docker exec -it mysql-db bash


이렇게 하면 container 안으로 들어올 수 있다.  container에 들어와서 mysql -u root -p 를 이용해서 mysql 로 접속한다.


mysql> select host from mysql.user where user='root';

+-----------+

| host      |

+-----------+

| %         |

| localhost |

+-----------+

2 rows in set (0.00 sec)


저렇게 쿼리를 했을 때 %가 포함되어있으면 root 계정에 한해서 모든 접속을 허용한다고 한다.... 그런데 안되네?????


계속 해서 에러가 난다.


Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found


이 에러는 mysql 의 password 방식이 변경되서 나는 에러라고 한다. 

그래서 다시 검색!!!! 그러던 중 아래와 같은 글을 발견했다.


https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded


먼저 /etc/mysql/my.cnf 파일에 아래와 같은 설정을 추가한다. 


[mysqld]

default_authentication_plugin=mysql_native_password


그래도 안된다...


ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';


나같은 경우는


ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '<password>';


이렇게 실행을 했더니 드디어 접속이 됐다. 

하아... 정말 길고 긴 여정이었다. 

docker로 mysql 은 설치 했는데 접속을 할줄 몰라서 고생하고, 어떻게 접속을 해야 하는지 몰라서 찾아보고...

접속을 했는데 편집기가 설치가 안되어 있어서 vim 도 다시 설치하고...

정말 알아야 할게 너무 많구나.

그런데.. 내가 원래 하려던 것은 이게 아니었는데 DB 를 준비하려고 하다 보니 이런 삽질을 했다...ㅠㅠ


728x90
반응형
반응형

Docker 를 사용하려면 기본적으로 루트 권한이 필요하다. 그래서 그냥 쓰려면 매번 sudo 를 붙여 쓰던지 아니면 root 권한으로 변경해서 사용해야 한다.

root 로 변경해서 사용하기는 좀 그렇고 현재 사용중인 사용자를 docker 그룹에 등록을 해주면 된다.



sudo usermod -aG docker [현재 사용자]


usermod : 사용자 속성을 변경하는 명령어

-G (--groups) : 새로운 그룹을 말한다.

-a(--append) : 다른 그룹에서 삭제 없이 G 옵션에 따른  그룹에 사용자를 추가한다.


그리고 나서 우분투를 재기동 해주면 sudo 없이 사용할 수 있다.


sudo systemctl reboot


또는


sudo -su - [현재사용자]


로 해주면 재기동 없이 사용할수 있다. 



혹시라도 다음과 같은 에러가 발생한다면..


Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied


/var/run/docker.sock 파일의 권한을 변경한다.

sudo chmod 666 /var/run/docker.sock


728x90
반응형
반응형

현재 AWS  EC2 에 올라가 있는 ubuntu 에 kubernetes를 설치해 보았다. 

그런데 설치를 하다보니 프리티어로 받은 t2.micro 가지고는 너무 성능이 느렸다. 거의 접속도 못할 지경에 이르렀다. 그래서 어차피 설치하고 지울거니깐 t2.large로 올렸다.


설치 전에 Docker 가 먼저 설치 되어 있어야 한다.

(Docker 가 설치 안되어 있다면 https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository 여기 참고하거나 아래 링크 에도 내용은 나와있다.)


https://kubernetes.io/docs/setup/independent/install-kubeadm/


여기에 들어가보면 친절하게 설치 하는 방법을 찾을 수 있다.

내용을 살펴보면 Docker 설치도 포함하고 있어서 Docker 가 설치되어 있지 않다면 그대로 따라 하면 된다.


그리고 나는 Ubuntu 에 설치를 하니 아래와 같이 명령어를 실행 했다. 혹시 명령어 실행중 permission 에러가 나면 sudo 붙이고 실행 하면 된다.

apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl

이렇게 하면 kubelet, kubeadm, kubectl 이 설치가 된다.


https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/


그 다음 스텝으로 위 링크로 들어가서 클러스터를 생성 하면 된다.


여기 나와 있는 내용중에 보면 사양이 나와있다. 

  • One or more machines running a deb/rpm-compatible OS, for example Ubuntu or CentOS
  • 2 GB or more of RAM per machine. Any less leaves little room for your apps.
  • 2 CPUs or more on the master
  • Full network connectivity among all machines in the cluster. A public or private network is fine.

최소 사양이다. 이러니 t2.micro 로는 역부족이었다.

kubeadm init <args> 

이렇게 명령어를 날리면 뭔가 내용이 올라오면서 설치가 된다. args는 다양하게 있으나 나는 우선 필요가 없어서 안 넣었다. 설치가 완료되면 아래와 같은 내용들이 나온다. (ip랑 port, 토큰 부분은 ㅌㅌㅌ로 처리했다.)


Your Kubernetes master has initialized successfully!


To start using your cluster, you need to run the following as a regular user:


  mkdir -p $HOME/.kube

  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  sudo chown $(id -u):$(id -g) $HOME/.kube/config


You should now deploy a pod network to the cluster.

Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:

  https://kubernetes.io/docs/concepts/cluster-administration/addons/


You can now join any number of machines by running the following on each node

as root:


  kubeadm join <ip>:<port> --token ㅌㅌㅌㅌㅌㅌㅌㅌ --discovery-token-ca-cert-hash sha256:ㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌ


잘 읽어보면 cluster 시작하려면 .kube에 config 파일을 만들라는 내용이 있다. 아주 편리하게 저 내용을 그대로 복사해서 붙여넣으면 된다. 그리고 아래 join에 나오는 내용은 잘 복사해서 저장해두자.


이렇게 하고 "kubectl get pods --all-namespaces" 라고 치면 아래와 비슷하게 나온다. 


NAMESPACE     NAME                                       READY     STATUS    RESTARTS   AGE

kube-system   coredns-78fcdf6894-86s7n                   0/1       Pending   0          7m

kube-system   coredns-78fcdf6894-ngk7x                   0/1       Pending   0          7m

kube-system   etcd-ip-172-31-22-134                      1/1       Running   0          7m

kube-system   kube-apiserver-ip-172-31-22-134            1/1       Running   0          7m

kube-system   kube-controller-manager-ip-172-31-22-134   1/1       Running   0          6m

kube-system   kube-proxy-46x54                           1/1       Running   0          7m

kube-system   kube-scheduler-ip-172-31-22-134            1/1       Running   0          6m


그리고 위에도 써있듯이 cluster에 network를 배포해야 한다. 

위 링크(https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network 또는 https://kubernetes.io/docs/concepts/cluster-administration/addons/) 따라가보면 종류별로 방법이 있다. 설치하고 나서 다음과 같이 확인 해보면 된다.


 kubectl get nodes

NAME               STATUS    ROLES     AGE       VERSION

ip-111-11-11-111   Ready     master    32m       v1.11.2


아직 node 를 추가 못해봤는데 다음에는 node 도 따로 추가해봐야겠다.


728x90
반응형
반응형

최근 백기선님이 하시는 방송을 보면서 Docker를 따라 해보려고 하니 내가 가지고 있는 Mac 에는 한계가 있었다. 설치를 하려고 하니 설치가 안 된다고 한다..

2010년 mid 맥북 프로인데.. 그래서 어쩔수 없이 Docker는 AWS에 올려놓은 Ubuntu 에 설치하고 따라하기 시작했다.

그런데 다시 문제가 발생했다. 내가 로컬에서 작성한 파일을 EC2 서버에 올려야 하는데 어떻게 해야 하는거지????

그래서 찾기 시작했다. 


일단 작동중인 Ubuntu 서버에 FTP 설정이 필요했다.


1. Ubuntu 서버에  vsftpd 를 설치한다. 


먼저 apt-get 을 업데이트 한다.

sudo apt-get update
cs

그리고 vsftpd를 설치한다. vsftpd(Very Secured FTPD) : 우분투에서 기본적으로 제공되는 FTP 서버이다.

sudo apt-get install vsftpd
cs

설치가 완료되면 /etc/vsftpd.conf 파일에서 몇가지 설정을 변경해줘야 한다.


아래 설정에 대한 주석 해제

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list


위에 설정에서 chroot_list_file에 지정되어있는 파일을 만들어서 root를 추가해준다.

sudo vi /etc/vsftpd.chroot_list
cs

root 추가

sudo systemctl restart vsftpd
cs

그리고 vsftpd 를 재시작 해줘야 한다. 이렇게 하면 일단 Ubuntu 서버는 준비가 됐다.


2. 보안 그룹에 20 번 포트 등록

이제 FTP 서버에 접속할 수 있도록 보안그룹에 설정을 해줘야 한다.



이렇게 하면 끝


3. FileZilla로 접속해보자!!



이렇게 하면 접속이 완료된다.!!!

 Docker 한번 해보려다가 많은것을 배운다..


728x90
반응형
반응형

기존에 사용하고 있던 넷북을 서버로 켜놓을까 하다가 항상 켜놓을 수 없고 매일 사용할때마다 코드 꼽고 하는 작업이 번거로웠다. 그리고 SSH로 접속을 해보았는데 좀 느려서 써먹기는 좀 힘들어 보였다. 그래서 AWS 에 가상 서버를 한번 만들어서 써보자는 생각이 들었다. 어차피 프리티어 기간에는 어느정도 수준 까지는 공짜로 사용할수 있으니 딱 좋았다. 그리고 예전에 AWS 세미나 갔을때 받았던 크래딧도 있어서 이 기회에서 써봐야 겠다고 마음먹었다.




먼저 아마존 Console Home 에서 EC2 를 클릭하고 나오는 화면에서 Create Instance 밑에 있는 Launch Instance 를 클릭한다. 



여기에서는 AWS 에서 만들 가상 서버 종류를 선택할 수 있다. 서버 아래에 보면 "Free Tier Eligible" 이라는 단어가 있는 서버가 프리티어에서 제공되는 서버인것 같다. 참고로 Virtual Appliance 는 하이퍼 바이저에서 실행할수 있는 OS와 기타 소트프웨어를 포함하는 이미지 이다. 그리고 위에 보이는 AMI(Amazon Machine Image)는 EC2 서비스를 사용하기 위핸 Virtual Appliance 다.



Instance Type은 가상 서버의 크기를 결정하는 것이다. 여기도 역시 "Free Tier Eligible" 이라고 써있는것을 선택한다.



따로 설정을 변경할 일이 없기 때문에 모든 설정은 Default 로 되어있는것으로 하고 바로 Next를 누른다.



가상 서버에 저장장치를 추가하는 화면이다. 역시 Default로 하고 Next를 누른다.


   


여기는 태그를 추가하는 화면이다. 키-값의 쌍으로 이루어져 있다. 적당한 값을 넣고 Next를 누른다.





방화벽은 SSH로 접근을 허용할 수 있도록 기본 구성을 하고 "Review and Launch"를 클릭한다.



지금까지 설정사항을 보여준다. Launch를 클릭한다.



가상 서버의 키를 선택하는 화면이다. 나는 미리 키를 만들어둬서 기존에 만들어놨던 키를 선택했다. 만약 만들지 않았다면 EC2 서비스 화면에서 "Key Paris" 메뉴를 선택해서 만들면된다. 가상 서버를 로그인 하려면 키가 필요하며 이 키는 비밀번호를 대신해서 사용한다. "Launch Instances"를 클릭하면 모든게 마무리 된다. 



잘 동작 하는지 확인해보려면 맨 처음 보았던 화면(EC2서비스 화면) 에서 Instances를 클릭하면 현재 서버가 어떤 상태인지 확인 할 수 있다.

지금 글로 적기는 했지만 실제로 해보면 정말 간단하다. 윈도우 설치보다도 더 간단하다. 클릭클릭 몇번만 하면 내가 사용할 수 있는 서버가 짠~ 하고 만들어진다. 아직 모르는게 많지만 앞으로 써보면서 많이 배워야겠다.


728x90
반응형
반응형

집에 있던 삼성 넷북 NT-N150을 어떻게 하면 쓸수 있을가 고민을 했다. 

처음 샀을때에 윈도우 XP가 깔려 있던 모델이고 성능을 봐서도 거의 폐급 수준이다. 도저히 그냥은 사용할 수 없는 수준이어서 업그레이드를 시도했다. 


마침 집에 있던 128기가 짜리 SSD가 있어서 하드는 이것으로 교체했다. 어차피 공부용으로 쓰거나 테스트 용으로 사용할거라서 많은 용량은 필요하지 않았다. 그리고 2기가 램을 하나 구매해서 기존 1기가 램과 교체를 했다.


자. 이제 하드웨어는 준비가 끝났고 OS는 뭘 깔아야 할까.


데스크탑은 윈도우10을 쓰고 있고 , 맥북에는 맥OS 가 설치되어있고. 이제 남는것은 리눅스다. 

그럼 리눅스는 어떤것을 설치해야 하나. 이번에 한빛 리더스를 통해서 받은 우분투 책도 있겠다 공부도 할겸 우분투로 정했다. 


그런데 이렇게 보면 정말 짧은 몇줄로 끝난 일이었지만 여기까지 오는 길은 정말 많은 일들이 있었다. 


비하인드 스토리.

처음에는 그냥 넷북에다 ubuntu-16.04.2-desktop-amd64 이미지를 받아서 무작정 설치했다. 물론 설치는 성공적으로 끝났다. 하지만 이건 너무 느려서 마우스를 움직일 수 없는 지경이었다. 그래서 혹시 64비트를 설치해서 그런가? 라는 생각에 ubuntu-16.04.2-desktop-i386을 받아서 설치했다. 하지만 결과는 똑같았다. 그래서 이번에는 14 버전 이미지를 받아서 설치해봤다. 여전히 느리다. 

인터넷을 검색해 보니 centos 가 좀더 가볍다고 하길래 centos 를 받아서 설치를 했다. 그런데 이번에는 설치가 안된다. 

설치가 안됐던 원인은 이미지를 usb 부트디스크로 만드는 과정에서 난 Universal-USB-Installer-1.9.7.2를 사용했는데 이게 잘 작동을 안해서였다. 이미지 만들때 이미 에러가 난 상황이니 설치가 제대로 안될 수 밖에. 이것때문에 설치만 4,5번 했다. 

centos를 설치해서 봤는데 뭔가 만족스럽지가 않다. 여전히 느렸기 때문이다. 

다시 검색을 해보니 루분투라는게 있더라. 그래서 다시 그 이미지 구해다가 설치를 했는데 이건 뭔가 더 맘에 안들었다. 

그래서 내린 결론은 지금의 성능으로는 그냥 아무것도 못하는게 맞다는 결론을 내렸다. 그래서 위에서 쓴것과 같이 업그레이드를 했다.

그리고 나서 다시 ubuntu-16.04.2-desktop-i386를 설치했다. 그랬더니 그래도 할만한 정도로 넷북이 돌아갔다. 처음에 64비트를 설치 안한 이유는 그래도 혹시나 성능이 딸릴까봐 32비트를 설치했다. 그런데 우분투에 Docker를 설치하려고 했더니 64비트를 설치하라는 말이 있어서 결국은 다시 ubuntu-16.04.2-desktop-amd64로 바꿔 설치했다. 대체 몇번을 재설치 한건지 모르겠다.

비하인드 스토리 끝.


아래 화면들은 설치하면서 아이폰으로 찍은 과정이다. 



USB를 꼽고 부팅을 하면 위와 같이 화면이 나온다. 

여기에서 한국어 선택하고 계속을 클릭한다. 



무선 네트워크는 아직 연결하지 않는게 좋다고 나와있어서 연결을 하지 않았다.

연결을 하게 되면 업데이트 항목까지 설치 시점에 다운로드 하기 때문에 시간이 많이 걸린다고 한다.



그래픽과 와이파이 정도는 설치를 해줘야 하기때문에 아래를 체크하고 계속을 클릭한다.



항상 OS를 설치할 때에는 무조건 깨끗한게 좋다. 어차피 백업할 자료도 없기 때문에 무조건 싹 지우고 설치한다. 



난 서울에 살고 있기 때문에 서울 선택하고 계속 버튼을 누른다.



계정 이름과 정보를 누르고 암호도 넣어준다. 



그러면 이렇게 파일 복사하고 설치가 완료된다.




봤듯이 설치는 간단하다. 하긴 요즘은 윈도우도 USB 로 부팅디스크 만들어서 설치하면 금방 다 설치가 되니 별다른 차이는 없는것 같다. 

이렇게 해서 나의 우분투 리눅스 설치 삽질이 끝났다. 덕분에 우분투 이미지 만들어서 설치하는것은 눈감고도 할수 있을것 같다. 아주 많은 삽질과 시간과 비용이 들어갔지만 재미는 있었다. 어렵게 설치하고 만들어놨으니 앞으로 공부하면서 잘 써먹어야겠다. 



728x90
반응형

'Development > Linux' 카테고리의 다른 글

netstat 사용 중인 포트 찾기  (0) 2020.07.30
openSSH 서버 활용하기  (0) 2017.04.18
Command Line 명령어  (0) 2016.01.14
sed 명령어  (0) 2016.01.12
[Unix]tar 명령어  (0) 2012.11.12

+ Recent posts