#deb 파일 설치
sudo dpkg -i *.deb
(i약자는 install)
#rpm 파일을 deb파일로 변환
sudo apt-get install alien
sudo alien -c *.rpm
다른 워드프레스 사이트
#deb 파일 설치
sudo dpkg -i *.deb
(i약자는 install)
#rpm 파일을 deb파일로 변환
sudo apt-get install alien
sudo alien -c *.rpm
echo `uname -s’ 를 출력해보면
Linux라는 문자열이 출력되는 것을 볼 수 있다.
uname -s라는 문자열이 명령어로 치환되어 반환된 결과 값인 Linux 문자로 변경 되는데 이런 것들을 명령어 치환이라고 부른다.
지금까지는 항상 복붙을 통해 위와같은 명령어들을 사용해 오다가 복붙이 안되는 환경에서 직접 타이핑을 해야될 일이 생겼는데 그만 실수를 하고 말았다.
역따옴표(` `)가 명령어치환 선언문자인데 나는 작음다옴표(‘ ‘)를 사용하여 제대로 치환이 안되는 문제가 발생했다.
솔직히 몰랐다 여태 작은따옴표인줄 알고있었는데 역따옴표있다.
뭐라고 구글링 해야되는지도 몰랐는데 간신히 echo 명령어 치환으로 검색해서 찾다보니 아래의 링크의 두번째 줄에서 역따옴표임을 알게되었다.;–
ㅋㅋㅋ
iwinv.kr 을 이용하여 서버를 구축한다.
절차는 다음과 같다.
가상서버선택 -> 운영체제 선택 -> 디스크 볼륨 추가 -> 방화벽설정 -> 설치
몇분후 가상서버 생성이 완료되는데 계정과 비밀번호는 등록된 관리자 email로 발송된다.
서버 생성 후 다음과 같은 초기 설정이 필요하다
1. root 계정 비밀번호 변경
2. 앞으로 사용할 sudo 권한 유저 생성.(visudo사용편집)
3. ssh root 로그인 방지(/etc/ssh/sshd_config 파일수정 PermitRootLogin no)
4. apt-get update && apt-get dist-upgrade
5. (한국 서버로 패키지 저장소 변경..등 궂이 안해도 됨)
초기 설정 후 이미지를 저장해 놓고 가상 서버 추가 생성시 저장된 이미지를 이용하여 서버를 생성할 수 있다.
# 추가로 저장된 이미지로 서버를 생성하면 /dev/null 퍼미션 오류가 발생한다. 이때는 /dev/null 파일을 삭제 후 서버를 재시작 해주면된다.
(재시작시 생성되는데 시간이 좀 걸리므로 재시작 말로 아래 명령으로 생성해 주어도 된다.
mknod -m 0666 /dev/null c 1 3)
#또 /etc/hosts 및 /etc/hostname 도 수정
이제 docker를 설치한다.
openstack에서는 오버레이 네트워크 사용으로 오버해드가 발생하는 것을 방지하기 위해서 가상 네트워크의 mtu 값을 기본 1500에서 1450으로 낮추는 어서 설정하게 되어있다.
반면 docker 네트워크는 기본 설정인 1500으로 되어있기 때문에 패킷손실로 네트워크 오류가 발생한다. 때문에 docker 설치 후 반드시 mtu 기본값을 변경해 주어야 하며, docker-compose는 기본네트워크를 사용하지 않고 임의 네트워크를 생성하여 작동하는데 이때 기본 mtu값 1500이 변경이 불가능하여 수동으로 네트워크를 생성하여 mtu 값을 1450으로 지정하고 사용할 네트워크를 명시하여 지정하여야 한다.
docker 설치
1. 설치된 docker 제거
sudo apt-get remove docker docker-engine docker.io
2. apt https를 통한 저장소 사용을 하도록 추가 패키지 설치
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
3. Docker의 공식 GPG 키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. 안정적인 저장소 추가
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
5. apt 색인 업데이트
sudo apt-get update
6. docker-ce 설치
$ sudo apt-get install docker-ce
docker 설정
1. docker 그룹 생성
sudo groupadd docker
2. 사용자 추가
sudo usermod -aG docker $USER
3. sudo 명령 없이 docker 사용가능한지 확인( 재로그인 또는 재시작 필요)
docker run hello-world
4. 부팅할때 docker 시작 구성
sudo systemctl enable docker
5. 기타 다른 저장소, 커널호환성, DNS서버지정, 원격 API 접근허용 등 설정은 docker홈페이지 참조.
docker 네트워커 기본 mtu 변경(네트워크 문제해걸)
1. docker.service 파일 복사
sudo cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service
2. docker.service 설정 수정( –mut 1450 옵션추가)
sudo vi /etc/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// ExecStart=/usr/bin/dockerd -H fd:// --mtu 1450 # 옵션 추가
3. docker 재시작
sudo systemctl daemon-reload sudo service docker restart
4. docker 네트워크를 생성할때 mtu변경 옵션 #참고 (mtu-1450은 네트워크이름)
docker network create -o "com.docker.network.driver.mtu"="1450" mtu-1450
docker-compose 설치
1. docker compose 다운로드 ( 최신 버전확인 후 아래 명령어의 버전정보 변경)
sudo curl -L https://github.com/docker/compose/releases/download/1.16.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2. docker-compose 파일 실행권한 추가
sudo chmod +x /usr/local/bin/docker-compose
3. 설치 테스트
docker-compose --version
docker-compose 네트워크 생성 (mtu=1450)
docker network create -o "com.docker.network.driver.mtu"="1450"
# mtu-1450은 네트워크이름임
block storage 추가시 설정 및 확인
1. 추가된 block storage 확인
sudo parted -l
# 신규 디스크 추가시 Error: /dev/vdb: unrecognised disk label 오류 발생함.
/dev/vdb가 디스크 장치명임.( 이용중 장치 추가시 reboot 또는 /etc/init.d/networking restart 해줘야함)
2. 파티션 생성
# sudo parted /dev/vdb
parted) mklabel msdos
parted) mkpart primary 4 100%
parted) q
3. 파티션 포맷
/sbin/mkfs.xfs -f /dev/vdb
4. 파티션 마운트
mkdir /home/jinho/docker
mount /dev/vdb /home/jinho/docker
df -Th
5. 마운트 설정파일에 등록
디스크 상세정보 ID 값 및 이름 확인
(ID: 39727e60-fff2-4d6c-8419-9dad2704aa4d )
vi /etc/mpoint 파일에 다음행 추가
39727e60-fff2-4d6c-8419-9dad2704aa4d /home/jinho/docker
# 오루발생 iwinv에서 가이드하고있는 mpoint로는 자동마운트가 되지 않음
vi /etc/fstab 파일에 다음행 추가
/dev/vdb /home/jinho/docker xfs defaults 0 0
#설정내용 바로 적용
sudo mount -a
6. 기타 디스크 삭제 분리 이동에 관련해서는 아래 링크 참조
오라클에서 java를 다운로드 받았더니 tar와 rpm 버전밖에 없었다.
alien이라는 프로그램을 설치해서 rmp을 deb파일로 변환하여 설치를 하였다.
AMD 최고사양의 컴퓨터를 장만했다.
cpu Ryzen7 1800x, ram 64Gb 3200Mhz, ssdm.,2 NVMe 500G
컴퓨터 성능을 측정하여 자랑하고 싶은데 리눅스용 프로그램을 찾지 못했다. 없는대로 서버 벤치마크 프로그램을 사용했다.
설치 : apt-get install sysbench
1. cpu: sysbench –test=cpu –cpu-max-prime=20000 run
2-1. memory read: sysbench –test=memory –memory-block-size=1K –memory-scope=global –memory-total-size=100G –memory-oper=read run
2-2. memory write: sysbench –test=memory –memory-block-size=1K –memory-scope=global –memory-total-size=100G –memory-oper=write run
3-1. disk-file-create: sysbench –test=fileio –file-total-size=64G prepare
3-2. disk-random-io: sysbench –test=fileio –file-total-size=64G –file-test-mode=rndrw –init-rng=on –max-time=300 –max-requests=0 run
3-3. disk-file-delete: sysbench –test=fileio –file-total-size=64G cleanup
아래는 성능 결과.. 뭔가 좀 만족스럽지가 않다. 특히 nvme 성능이 일반 ssd와 같다.
cpu
memory-read
memory-write
disk
추가로 파일 카피로 성능 테스트를 진행해 보았다.
2Gb의 파일을 복사시 순식간에 복사가 완료되어 20Gb로 파일복사 테스트를 진행해 보았다.
파일 개수는 약 127개로 sysbench 명령으로 생성하였다.
20기가 복사시 초당 1.3Gb/s 속도가 나왔으며 뒤로 갈수록 900Mb/s까지 줄어들었다.
어차피 20기가 이상 파일을 사용할 일이 없기 때문에 대단히 만족스러운 결과다.
그리고 자기 디스크에 읽고 쓰기를 하였기 때문에 최대 성능은 더 나올 것으로 예상된다.
앞으로 개발하기가 많이 수월할 것 같다.
우분투 17.04를 설치했는데 갑자기 크롬 설치가 되지 않는다. 아래 링크를 통해 설치를 하였다.
(google-chrome-stable_current_amd64.deb 파일 다운로드)
sudo apt-get -f install
sudo dpkg -i google-chrome-stable_current_amd64.deb