라즈베리파이 3 CentOS 7 이미지


Raspberry Pi 에 CentOS 리눅스도 설치가 가능합니다.

http://mirror.centos.org/altarch/7/isos/aarch64/ 여기에 가서 다운로드 받을 수 있습니다.


CentOS-7-aarch64.img.xz 를 받아서 Rufus 유틸리티를 이용해서 MicroSD 카드에 구우면 될 것 같네요~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

리눅스 쉘스크립트 배열 파싱


행과 열로 이루어진 데이터를 개행과 특정 문자를 기준으로 split 잘라서 배열에 담을 수가 있습니다.

쉘스크립트에서는 개행과 스페이스(공백문자)를 기준으로 배열로 인식합니다.

이 특성을 이용하면 배열로 이용이 가능합니다.

아래는 예제입니다.

#!/bin/sh


ARR_STR="apple,10

        pear,20

        graph,30"


for STR in $ARR_STR ; do

        ROW=`echo $STR | awk -F ',' '{print $1" "$2}'`

        for COL in $ROW ; do

                echo $COL

        done

done

$COL 값이 하나씩 분해된 값입니다.


awk -F '구분문자' '{print $1" "$2" "$3}'

$1 이 첫번째 값이고 $2가 두번째 값입니다.

이 사이를 " " 공백문자를 붙이면 됩니다.

그러면 for in 에서 알아서 배열로 넘어갑니다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x Cannot allocation memory



필요한 유틸리티를 설치하려고 하는데 메모리 부족으로 설치가 안되는 경우가 있네요~


# yum install -y cpulimit

...

Error downloading packages:

  1:cpulimit-0.2-1.20151118gitf4d2682.el7.x86_64: [Errno 5] [Errno 12] Cannot allocate memory


이런 경우엔 램 용량이 추가하면 좋지만 그럴 수 없다면 스왑메모리를 추가하면 됩니다.


[root@vultr-1 ~]# free -m

              total        used        free      shared  buff/cache   available

Mem:            488         339          46          28         102          98

Swap:             0           0           0


[root@vultr-1 ~]# mkdir /var/spool/swap


[root@vultr-1 ~]# dd if=/dev/zero of=/var/spool/swap/swapfile bs=1M count=512

512+0 records in

512+0 records out

536870912 bytes (537 MB) copied, 1.17655 s, 456 MB/s


[root@vultr-1 ~]# mkswap /var/spool/swap/swapfile

Setting up swapspace version 1, size = 524284 KiB

no label, UUID=82d8c6e2-eceb-4555-a2ec-8e42d62af295


[root@vultr-1 ~]# swapon /var/spool/swap/swapfile

swapon: /var/spool/swap/swapfile: insecure permissions 0644, 0600 suggested.


[root@vultr-1 ~]# free -m

              total        used        free      shared  buff/cache   available

Mem:            488         343           5          28         139          94

Swap:           511           0         511


위에는 스왑메모리가 없는 상태에서 진행 방법입니다.


스왑메모리가 있다면 https://ivps.tistory.com/283 여기를 참고하세요~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

특정 도메인이 nslookup 이 안되고 막힌 경우



Vultr VPS 사용 중에 특정 도메인이 IP 조회가 안되는 경우가 있더군요~



아래 처럼 /etc/resolv.conf 파일을 한번 수정해서 테스트 해봅니다.


nameserver 8.8.8.8

;nameserver 108.61.10.10



그래도 안된다면 /etc/hosts 파일에 직접 아이피를 열거하여 주면 됩니다.


아이피주소1 특정도메인

아이피주소2 특정도메인

아이피주소3 특정도메인


멀티IP 라면 순서대로 나열해 주면 됩니다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

Linux 원격지 명령어 실행 방법



리눅스에서 원격지의 서버의 명령어를 ssh 를 이용해서 실행할 수가 있습니다.


먼저 ssh-keygen 으로 키를 생성해서 ssh-copy-id 명령어로 원격지에 복사하여야 합니다.


# ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:qFVgQxr7KJdSmg6kNfFGejV3WGZr3MCNwCZc/t3mpWw root@localhost

The key's randomart image is:

+---[RSA 2048]----+

|  . ooBo+=*o     |

|   = *o*+=o+.    |

| .+ B  oo + .    |

|o. B + o o . .   |

|o = + + S . . o .|

| o + o       + o |

|  . .         E  |

|             .   |

|                 |

+----[SHA256]-----+



생성한 키를 원격지에 복사합니다.


# ssh-copy-id root@www.example.com

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

The authenticity of host 'www.example.com (133.130.111.206)' can't be established.

ECDSA key fingerprint is SHA256:/IMwZdnxDgCXr+hJAd118bqopeH+jgzb00yRDF+zjBA.

ECDSA key fingerprint is MD5:46:27:13:68:65:3d:7d:80:69:e0:ec:f3:ce:db:70:cc.

Are you sure you want to continue connecting (yes/no)? yes

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

root@www.example.com's password:


Number of key(s) added: 1


Now try logging into the machine, with:   "ssh 'root@www.example.com'"

and check to make sure that only the key(s) you wanted were added.



이제 원격으로 명령어를 실행해 봅시다.


# ssh root@www.example.com "df -h"

Filesystem      Size  Used Avail Use% Mounted on

udev            477M     0  477M   0% /dev

tmpfs           100M   11M   89M  11% /run

/dev/vda2        50G  5.0G   42G  11% /

tmpfs           497M     0  497M   0% /dev/shm

tmpfs           5.0M     0  5.0M   0% /run/lock

tmpfs           497M     0  497M   0% /sys/fs/cgroup

tmpfs           100M     0  100M   0% /run/user/0


이런 방법으로 원격지의 서버에 명령어를 실행할 수가 있습니다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

쉘스크립트 랜덤 함수



쉘스크립트로 random 함수를 만들어 보았습니다.


nano초를 이용하여 만들었는데 효과가 있는것 같네요~


random 함수에 최소값 최대값 인자를 넣어주면 값을 확인 가능합니다.


#!/bin/bash


function random() {

  MIN=$1

  MAX=$2

  DIF=`expr $MAX - $MIN + 1`

  TIME_N=`date +%N`

  N=`expr $TIME_N % $DIF + $MIN`

  return $N

}


for I in {1..10} ; do

  random 5 10

  echo $?

done


함수 뒤에 공백 기준으로 인자가 $1, $2 로 받아들입니다.


위의 스크립트로 한번 테스트 해보세요~



CentOS 는 #!/bin/sh 로 function 정의시 되는데


Ubunto 는 #!/bin/bash 로 해야 에러가 안나는군요~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x 크론이 정상적으로 동작 안하는 경우



구글 클라우드 플랫폼에서 CentOS 7.x 버전으로 가상서버를 개설하고 /etc/cron.d/ 디렉토리에 쉘스크립트가 실행되도록 넣었는데 작동을 안하네요~


황당해서 crond 데몬을 재시작 해주었더니 그제서야 동작을 하는군요~



제 경험상 cron 이 정상적으로 실행되지 않은 경우는 두번째 같네요.


위의 경우와 쉘스크립트에 date 같은 명령어 사용시 경로를 누락하고 프로그래밍시 경로를 못찾아서 실행이 안된 경우가 있습니다.


직접 쉘에서 스크립트를 실행하면 경로를 따로 안잡아도 실행이 되는데 크론에서 동작시 먹히지가 않더군요~


/usr/bin/date 이렇게 직접 경로를 풀로 적어주어야 동작이 되더군요~



아무튼 이런 경우도 있다는 것을 공유하고자 합니다.



여러분들도 동작이 안될 때 위의 경우를 한번 살펴보시기 바랍니다.



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x aclocal command not found


아래와 같은 에러 메시지가 나오는 경우

#./autogen.sh

./autogen.sh: line 8: aclocal: command not found


automake 를 설치하여야 하네요~

# yum -y install automake

...

Installing:

 automake                 noarch        1.13.4-3.el7          base        679 k

Installing for dependencies:

 autoconf                 noarch        2.69-11.el7           base        701 k

 m4                       x86_64        1.4.16-10.el7         base        256 k

 perl-Data-Dumper         x86_64        2.145-3.el7           base         47 k

 perl-Test-Harness        noarch        3.28-3.el7            base        302 k

 perl-Thread-Queue        noarch        3.02-2.el7            base         17 k

...


설치하고 나니 잘 되는군요~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

우분투 16.04 Desktop 에서 한글 입력 문제


Ubuntu 16.04 Desktop 을 설치했는데 한글 입력이 안되는군요~


System Settings 메뉴에서 Text Entry 를 실행합니다.


먼저 Language Support 에 Korean 은 미리 추가하여야 합니다.

그리고 Keyboard input method system IBus 가 아니라면 IBus 로 변경하고 재부팅을 해주어야 합니다.


+ 아이콘을 눌러서 Korean (Hangul)(IBus) 를 추가하고 Switch to previous source using 에서 Shift + Space 를 눌러서 등록합니다.

한/영 키를 눌러서 등록해도 되더군요~


이제 한영전환이 잘 되는지 확인하면 됩니다.



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

Ubuntu Desktop 콘솔 터미널 창 여는 방법


우분투 데스크탑을 설치했더니 Console Terminal 창 메뉴가 보이지 않는군요~

단축키로 여는 방법이 있고 찾아서 여는 방법이 있습니다.

Ubuntu Desktop 콘솔 터미널 창 여는 방법

Ctrl + Alt + T 키를 누르면 바로 실행이 됩니다.


Ubuntu Desktop 콘솔 터미널 창 여는 방법

그리고 윈도우 키를 누르고 찾아도 됩니다.


왜 메뉴에는 없는지 모르겠군요~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,