이번 포스팅에서는 MariaDB 최신 버전 설치하는 방법에 대해 작성하려고 합니다. ubuntu의 apt 기본 레파지토리를 이용하여 MariaDB를 설치하게 되면 현재 가장 최신 버전이 설치되지 않고 10.1 버전 정도가 설치되게 됩니다. 따라서 현재 가장 최신 버전의 MariaDB를 설치하기 위해서는 별도로 최신 LTS 버전을 다운 받아서 설치해주어야 합니다. 1. MariaDB 최신 버전 다운로드 https://mariadb.com/downloads/ MariaDB Products & Tools Downloads | MariaDB Find MariaDB downloads, connectors, and tools including Community Server, Enterprise Server, Col..
리눅스 시스템을 이용하다 보면 ulimit 이라는 설정을 변경해야하는 경우가 종종 발생하게 됩니다. 아마 병렬처리 프로그램이나 동시 접속자가 많은 서비스를 운영하시면 max user process 부족이나 open files 의 부족이 그 경우일 것 입니다. 그렇다면 이때 내 장비에 설정된 ulimit은 어떻게 확인할 수 있는지, 내가 원하는 값으로 설정은 어떻게 변경하는지 알아보도록 하겠습니다. 더보기 1. ulimit 이란 2. ulimit 확인 방법 3. ulimit 설정 방법 3-1. 명령어 사용(임시) 3-2. limits.conf 변경(영구) 4. 마치며 1. ulimit 이란 ulimit이란 user limit를 줄인 단어로, 사용자가 실행시키는 프로세스의 자원을 제한하는 설정 입니다. 앞서..
리눅스를 사용하다 보면 서버가 켜질 때, 즉 부팅이 될 때 자동으로 실행시켜야할 명령어나 스크립트가 생기기 마련입니다. 저의 경우에는 /var/run 경로에 서비스가 이용하는 디렉터리를 만들어 놓았는데, /var/run 경로는 서버가 재부팅되면 제가 임의로 생성해 놓은 디렉터리는 삭제 됩니다. 따라서 재부팅 후에도 바로 다시 디렉터리를 생성해 주도록 명령어 등록이 필요합니다. 윈도우에서는 간단히 시작 프로그램으로 등록해주면 윈도우가 켜지면서 자동으로 실행시켜줍니다. 그렇다면 리눅스에서는 어떻게 해야할지 알아보겠습니다. 저는 주로 Ubuntu를 사용하기 때문에 Ubuntu18.04 버전을 기준으로 설명 드리겠습니다. 더보기 1. 실행할 명령어 또는 스크립트 확인 2. rc.local 파일 생성 및 편집 3..
Ubuntu에서 설치한 MySQL을 깨끗하게 삭제하고 싶을 경우 아래와 같이 mysql 관련된 파일들을 purge로 삭제해 주고 자동 생성된 mysql 디렉터리 삭제 후 autoremove와 autoclean을 통해서 불필요한 파일들을 삭제하면 된다. sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* sudo rm -rf /etc/mysql /var/lib/mysql sudo apt-get autoremove sudo apt-get autoclean
안녕하세요. 린아저씨 입니다. 오늘은 리눅스를 이용하는데 필수 명령어인 계정 생성, 삭제, 확인하는 방법에 대해서 알아보도록 하겠습니다. 계정을 생성하고 삭제하고 확인하는 일련의 과정이 정말 쉬운데 꼭 써먹으려고 하면 늘 다시 찾아보곤 하는데요 이번에 제대로 정리해서 머리속에 기억해두어야겠습니다. 1. 리눅스 계정 리스트 확인하기 명령어 : cat /etc/passwd $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin ..... hadoop:x:905:905:Named:/var/hadoop:/sbin/nologin 리눅스에서는 계정을 생..
안녕하세요. 린아저씨 입니다. 오늘은 리눅스를 다루면서 현재 실행 중인 프로세스를 종료하거나, 프로세스가 먹통이 되어 강제 종료해야하는 경우에 사용할 수 있는 다양한 방법의 종료 방법에 대해서 알아보도록 하겠습니다. 1. 현재 실행 중이 프로세스 확인하기 $ ps -ef UID PID PPID C STIME TTY TIME CMD lina 13123 0 0 Apr16 ? 00:01:05 /usr/bin/test.sh root 1 0 0 Apr16 ? 00:00:00 /usr/bin/vmtoolsd systemd+ 1 0 0 Apr16 ? 00:00:00 /lib/systemd/systemd-networkd root 1 0 0 Apr16 ? 00:11:00 /usr/sbin/cron -f root 1 0 ..
안녕하세요. 린아저씨 입니다. 리눅스를 사용하다 보면 프로그램을 백그라운드에서 세션과의 연결이 끊어져도 돌려야할 일이 많이 발생합니다. 그럴때 주로 사용하는 명령어가 바로 nohup 과 & 명령어 입니다. 오늘은 nohup 명령어와 & 명령어에 대해서 아주 쉽게 설명해 보려 합니다. 1. nohup 명령어란 무엇일까? nohup은 no hang up 의 약자 입니다. 해석 그대로 "끊지마!" 입니다. 내가 세션과 연결을 종료해도 지금 실행시킨 프로그램을 종료하지 마! 라는 것이죠. 즉, 로그아웃으로 세션과의 연결이 종료되더라도 nohup 으로 돌린 프로세스는 데몬 형태로 실행되게 되어 종료되지 않고 계속 실행되는 것 입니다. 2. nohup 어떻게 사용하지? 중단 없이 실행하고자 하는 프로그램 명령어 앞..
안녕하세요. 린아저씨 입니다. 우리가 리눅스 OS를 사용하면서 안쓰고 싶어서 안쓸수 없는 프로그램 중 하나가 'vi에디터' 입니다. CentOS를 쓰는 사람도, Ubuntu를 쓰는 사람도 vi 없이는 텍스트 파일 편집을 할 수 없습니다. (물론, nano 에디터도 있긴 해요!) 그래서 이번에는 "이것만 기억해" 시리즈로 vi 에디터에 대해 필수 단축키만 다뤄볼 생각입니다. (사실.. 맨날 쓰는 명령어만 써요 ^^;;) 사실 저희가 맨날 쓰는 vi 에디터는 현재는 vim 에디터 입니다. vi에서 성능이 향상된 프로그램이 vim인데 많은 사람들이 이미 vi 명령어에 익숙해져 있으니까 vim에 자동으로 alias를 걸어줘서 vi로 vim을 실행시키고 있습니다. (그리고 vim은 세글자지만 vi는 두글자라 한글..
안녕하세요. 린아저씨 입니다. 오늘은 MySQL Server 설치 방법에 대해서 포스팅하려고 합니다. 사실 Internet이 가능한 Public 환경에서라면 MySQL Server 설치는 아주 쉽습니다. 자 그럼 바로 설치해 봅시다. 1. apt Repository 업데이트 MySQL Server를 설치하기 전 apt repository를 최신으로 업데이트 해줍니다. $ sudo apt update 2. MySQL Server 설치 특정 버전을 선택할 것이 아니라면, ubuntu apt repository에서 제공해주는 버전으로 설치합니다. 20년 04월 14일 기준으로는 mysql server 5.7 버전을 제공해주고 있습니다. $ sudo apt install -y mysql-server 특별히 물어..
MySQL도 버전업이 진행되면서, root 패스워드 변경 방법도 변화가 있었습니다. 기존 방법대로는 패스워드 변경이 안되는 경우가 있어서 다시 한번 정리 합니다. 제가 테스트한 버전은 ubuntu 18.04 이고, 공식 ubuntu respository에서 apt update 후에 mysql-server를 설치하게 되면, MySQL 5.7이 설치 됩니다. MySQL 5.7을 설치할 때는 별도로 root 패스워드 설정하는 과정이 나오지 않고 바로 설치가 완료됩니다. 따라서 설치가 완료되면 sudo 권한을 통해 mysql 접근해야합니다. $ sudo mysql -u root -p Eneter password: 패스워드를 물어보면 그냥 Enter를 치면 로그인이 됩니다. 이제 원하는 패스워드로 root 패스워..
top 시스템의 상태를 전반적으로 빠르게 파악 가능 (CPU, Memory, Process) 옵션 없이 입력하면 interval 간격(기본 3초)으로 화면을 갱신하며 정보를 보여줌 top 실행 전 옵션 순간의 정보를 확인하려면 -b 옵션 추가(batch 모드) -n : top 실행 주기 설정(반복 횟수) top 실행 후 명령어 shift + p : CPU 사용률 내림차순 shift + m : 메모리 사용률 내림차순 shifi + t : 프로세스가 돌아가고 있는 시간 순 k : kill; k 입력 후 PID 번호 작성. signal은 9 f : sort field 선택화면 -> q 누르면 RES 순으로 정렬 a : 메모리 사용량에 따라 정렬 b : Batch 모드로 작동 1 : CPU Core별로 사용량 ..
TMPFS(Temp File Storage) tmpfs는 유닉스 계열 운영 체제의 임시 파일 스토리지(Temp File Storage) 기능을 일컫는 이름이다. 마운트된 파일 시스템 처럼 보이지만 영구적인 기억 장치가 아닌 휘발성 메모리에 저장 된다. 덜 사용되는 페이지들을 스왑공간으로 스왑 아웃 처리를 하며, 메모리 부족현상을 피하고자 올라오는 페이지의 크기와 inode를 제한한다. (물리 RAM의 절반, RAM페이지 수의 절반) 간혹 메모리 영역이 부족으로 Target Error가 나면, tmpfs의 공간을 늘림으로 해결도 가능하다. # mount -o remount,size=10G tmpfs ramfs와 tmpfs의 차이 기본적으로 ramfs와 tmpfs는 몇가지 세세한 사항을 제외하고는 거의 동일..
최근 외부망에 연결되지 않은 우분투에 호튼웍스 HDP Local Repository를 구축하면서 패키지 리스트에 apt 패키지를 등록하는 작업을 하였습니다. CentOS에는 Local Repository 생성하는 작업을 기존에 여러번 진행해 보았기 때문에 apt-key를 등록하는 방법까지 쉽게 했었지만, 이번에 우분투에 Local Repository를 등록하면 한참을 헤메었습니다. 그래서 이번 기회에 apt-key를 이용해서 gpg key를 등록하는 방법에 대해 정리하고자 합니다. apt key가 제대로 등록되어 있지 않을 경우에는 apt update 가 정상적으로 실행되지 않습니다. Command : apt-key Usage: apt-key [--keyring file] [command] [argume..
Linux를 사용하다보면 ls cd 만큼 많이 사용하는게 grep 명령어 입니다. 그래서 조금 더 grep에 대해 자세히 정리하고자 합니다. grep은 입력되는 파일에서 주어진 패턴 목록과 매칭되는 라인을 검색한 다음 출력해주는 명령어 입니다. 1. 기본 문법 grep [option] pattern [file] 2. 옵션 옵션 설명 -c 매칭된 검색 결과를 출력하지 않고 매칭된 행의 총 라인 수를 출력한다. -i 매칭에 사용하는 문자의 대소문자를 구분하지 않는다. -l 패턴에 매칭된 라인이 하나라도 있는 파일의 이름만을 출력한다. -n 파일 내에서 매칭된 행 번호를 함께 출력한다. -s 에러 메시지 외에는 출력하지 않는다. -v 패턴과 매칭되지 않는 행만 출력한다. -w \로 둘러싸인 패턴표현을 하나의 ..
이제는 Disk 가격이 워낙 저렴해졌기 때문에 2T보다 작은 Disk를 사용하는게 더 이상하다. 그런데 fdisk를 이용해서는 2T까지 밖에 파티션이 되지 않아서 당황할때가 있다. 2T 이상으로 파티션을 설정할 때는 GNU에서 제공하는 parted 명령어를 사용해서 파티션을 잡아야한다. 1. 파티션 잡을 디스크 선택 # parted /dev/sdb 2. 디스크에 라벨링 (parted)mklabel gpt *기본적으로 linux partition은 MBR(Master boot Record) 방식이다. 그런데 이 MBR의 파티션당 최대 크기는 2TB이다. 따라서 18EB(엑사바이트)까지 파티션 크기를 잡을 수 있는 GPT(GUID partition Table) 방식을 써야한다. 3. 파티션 나누기 (part..
서버에서 여러 윈도우 서버로 부터 cifs 마운트를 사용해야하는 경우가 있습니다. 그런데 윈도우 서버 문제로 인해 이 cifs 마운트가 해제되는 경우가 간혹 발생하게 됩니다. 이럴 경우 사전에 마운트에 발생한 장애를 알기 쉽지 않기 때문에, 적절한 간격으로 마운트를 확인할 필요가 생겼습니다. 이때 아래와 같이 mountponit 명령어를 이용해서 mount가 정상적으로 유지되고 있는지 확인할 수 있습니다. 또한 다음과 같은 스크립트를 이용하여 쉡스크립트를 작성하여 crontab에 등록하게 되면, 원하는 간격으로 mount에 대한 상태 체크 또한 가능합니다. 사용 명령어 : mountpoint -q #!/bin/bash # 마운트가 되어있지 않으면 "Not mounted" 출력 if ! mountpoint..
1. vmware 설정하기 VMware workstation 15.5 PRO 기준으로 설명하도록 하겠습니다. 네트워크 변경에 앞서 Ubuntu 18.04 Bionic Beaver의 VMware 가상이미지는 모두 생성하셨을 거라 생각듭니다. 1)VMware Workstaion의 Edit 탭에서 Virtual Network Editor 클릭 2) Virtual Network 목록에서 VMnet8 NAT Type의 Network가 있는지 확인 2-1) VMnet8 NAT Type의 Network가 있을 경우 수정을 위해 Change Settings를 클릭 2-2) VMnet8 NAT Type의 Network가 없을 경우 Change Settings를 먼저 누른 후 Add Network를 눌러 NAT Type의..
Ubuntu 18.04 Bionic Beaver 에서는 기존 하위 버전인 Ubuntu16.04, Ubuntu14.04 등과 달리 네트워크 설정에서 달라진 부분들이 생겼습니다. 저도 처음 이부분을 접했을 때는 뭐지..? 싶으면서 당황했었지만, Ubuntu 18.04의 업데이트 Release 노트만 잘 봤어도 충분히 알 수 있었을텐데 저의 안일함에 민망해졌습니다. 우선 Ubuntu 18.04 에서는 기존에 /etc/network/interface 파일을 더 이상 사용하지 않습니다. 그리고 /etc/netplan/77-cloud-init.yaml 파일을 사용하여 네트워크를 정의하게 됩니다. yaml 파일을 사용하다보니 개인적으로 여러개의 IP를 사용하게 될 경우 기존 보다 가독성 측면에서 좀더 나아지지 않았나..
1. 파일의 존재 여부 확인하기 test 명령어 -e 옵션 사용 /// test 명령어를 대괄호[] 로 대체 가능 확인할 파일 : /tmp/my_test_file.txt #!/bin/bash file_path='my_test_file.txt' #파일이 있을 경우 메시지 출력 if test -e $file_path; then echo "$file_path : Found the file." fi ------------------------------- #파일이 없을 경우 메시지 출력 if ! test -e $file_path; then echo "$file_path : Not found the file." fi ------------------------------- #대괄호[] 사용 if [ -e $fil..
사용자 패스워드 속성 변경 # chage -l username : 해당 user의 현재 설정이 나열된다. # chage -d 0 username : 다음 로그인 시 강제로 암호 업데이트를 실행하도록 한다.# chage -E YYYY-MM-DD username : 특정 날짜에 계정을 만료한다. ※ date 명령을 사용하여 향후 날짜를 계산할 수 있다.$ date -d "+90 days" Sun Feb 10 11:19:30 KST 2019 ☞ 이 글이 도움이 되셨다면 광고 클릭을 부탁드립니다 :) ☜
[CentOS7] LVM /home 크기 대신 /(root) 크기 늘리기 서버 구성시 /home 영역이 필요 없는데 기본 값으로 설정했을 경우 /home 대신 /(root) 크기를 늘려줘야 하는 경우가 있다.이럴 경우 /home LVM을 삭제하고 /(root) LVM을 늘린 후 적용하는 방법이다. 1. 우선 현재 mount 되어 있는 영역을 확인한다.12345678910111213# df -Th Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/centos-root xfs 50G 9.4G 45G 18% /devtmpfs devtmpfs 17G 0 17G 0% /devtmpfs tmpfs 17G 0 17G 0% /dev/shmtmpfs tmpfs 17..
[Linux]GPT와 MBR 차이 이번에 2T 이상 파티션을 잡아보면서 GPT와 MBR의 차이를 간단히 정리하고자 한다. 가장 흔히 linux OS에서 파티션을 잡는 방법은 fdisk 명령어를 사용하는 것이다. 그런데 2T 이상 파티션을 잡으려면 이 fdisk로는 불가능하다. fdisk는 MBR(Master Boot Record) 방식을 사용하는 파티셔닝 명령어이기 때문이다. 이 MBR 방식은 파티션당 최대 2TB까지 밖에 크기를 설정할 수 없다. 따라서 2TB 이상 파티션을 잡고 싶다면 GPT(GUID Partition Table) 방식으로 파티셔닝을 해야한다. GPT 방식을 사용한다면 18EB(엑사바이트)까지 파티션을 잡을 수 있다. GPT 방식을 사용하기 위해서는 parted 라는 명령어를 사용하면..
[Linux]2T 이상 파티션 잡기 그 전까지는 fdisk를 통해서만 파티션을 잡아오다가 8T를 파티션해야하는데 fdisk로는 2T가 한계라 당황한 일이 있었다. 그리고 구글링 결과 2T 이상 파티션을 잡기 위해서는 GNU에서 제공하는 parted를 사용하면 된다는 것을 확인. parted를 이용하여 8T 파티션에 성공하였다. 1. 파티션 잡을 디스크 선택# parted /dev/sdb 2. 디스크에 라벨링(parted)mklabel gpt*기본적으로 linux partition은 MBR(Master boot Record) 방식이다. 그런데 이 MBR의 파티션당 최대 크기는 2TB이다. 따라서 18EB(엑사바이트)까지 파티션 크기를 잡을 수 있는 GPT(GUID partition Table) 방식을 써야..
MySQL DB를 사용하다 보면 간간히 DB 백업이 필요할 때가 발생합니다. Test 용도에서의 사용 뿐 아니라 Production으로 사용중인 DB라면 더욱 더 자주 백업이 필요하게 됩니다. 이때를 위해 MySQL DB 백업 방법을 간단히 정리하였습니다. 1. 명령어 mysqldump [옵션] DB명(Table명) > /디렉터리/덤프파일명 - 전체 DB 덤프 $ mysqldump -h localhost -u root -p패스워드 --all-databases > /디렉터리/덤프파일명 - 특정 DB 덤프 $ mysqldump -h localhost -u root -p패스워드 --databases DB명 > /디렉터리/덤프파일명 2. 옵션 옵션 의미 Default 비고 -n, --no-create-db CR..
1. 사전구성 1) 호스트네임이 FQDN 형식을 갖고 있는지 확인한다. $ hostname test01.ldaptest.com 2) /etc/hosts 파일에 IP와 FQDN 형식의 호스트네임을 정의해준다. $ echo "192.168.75.100test01.ldaptest.comtest01" | tee -a /etc/hosts 2. OpenLDAP 설치 1) apt 레파지토리 업데이트를 진행한 뒤, slapd와 ldap-utils 패키지를 설치해 준다. $ sudo apt update $ sudo apt install -y slapd ldap-utils slapd 설치 중 패스워드를 묻게 되면 admin 계정의 패스워드이므로 꼭 기억하자. 2) slapcat 명령어를 통해 정의된 dn 정보를 확인한다...
와일드카드 서브도메인(*.domain.com) *.domain.com 처럼 앞에 붙은 와일드카드 문자인 *가 서브도메인 역할을 합니다. 실제 주소로 와일드카드를 사용하여 접속을 하려고 하면 일반적인 경우에는 접속을 할 수 없습니다.서브도메인이지만 실제로 접속할 수 없는 이유는 도메인 레코드 설정상의 주소이기 때문에 어디까지나 뒷세계에서만 존재하는 아주 특별한 도메인이기 때문입니다. *.domain.com은 지정되지 않은 임의의 서브 도메인에 대해서 모든 연결을 domain.com (또는 따로 지정한 주소)로 연결을 하게끔 합니다. 예를 들어, domain.com의 서브 도메인을 aaa와 bbb, ccc만 설정하였다면 abc.domain.com의 경우는 서브도메인으로 등록되지 않았기 때문에페이지를 불러올 ..
출처 : www.machbase.com 인피니플럭스(대표 김성진)의 마크베이스 제품 교육에 다녀왔습니다! 마크베이스는 기존에는 사명과 동일한 인피니플럭스 였던 제품명을 새롭게 리브랜딩한 이름입니다. 마크베이스에 대해 설명 드리자면 서버, 장비, 어플리케이션으로 부터 대량으로 발생하는 로그성 시계열 데이터를 실시간으로 저장하고 분석하는 혁신적인 기술의 DBMS 입니다. 주요 기능으로는 출처 : Machbase 교육 교안 다음과 같이 수집부터 저장, 분석, 시각화, 관리까지 전반적인 영역에 걸쳐서 다양한 기능을 제공하고 있습니다. 성능적인 측면에서는 Intel i7 3.6 Ghz 4 core CPU, 32GB Memory, 7200 SATA HDD, CentOS 6.6 환경에서 130 bytes, 1억 건,..
1. 가장 최근의 자바 아카이브를 다운 받는다. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz" wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=a..
처음 MySQL 설치 후에는 root 계정의 비밀번호가 설정되어 있지 않으므로 root 계정 비밀번호 부터 설정해 준다. ### MySQL 접속 ### $ mysql -u root -p $ Enter password: // 비밀번호 설정이 안되있으므로 그냥 엔터 한번더 입력. ### root 비밀번호 설정 ### 1. mysqladmin을 이용하여 root 암호 설정 $ mysqladmin -u root -p password '새로운비밀번호' //명령어 실행 후 비밀번호를 물어보지만 처음에는 root 비밀번호가 없으므로 그냥 엔터를 치면 된다. mysql에 접속하여서 확인해 보면 다음과 같이 localhost root계정에는 비밀번호가 설정된 것을 확인할 수 있다. 단 사진과 같이 mysqladmin 방..
서버를 처음 설치시에는 기본적으로 root 계정만 있기 때문에 root 계정을 제외한 새로운 관리자 계정을 생성해 주어야 한다.이후 root를 통해서는 원격지에서 접속하지 못하도록 막아주어야 보안상 안전할 수 있다. 이렇게 만들어진 새로운 관리자는 sudo 권한을 주어 전체적인 시스템을 관리하게 된다. ### 새로운 사용자 계정 추가 ### $>useradd 사용자ID // 사용자ID 추가 $>passwd 사용자ID // 사용자 비밀번호 설정 ### 계정에 sudo권한 부여하기 ### 관리자(root)가 특정 사용자(특정 그룹)에게 특정 명령(명령그룹)을 root계정으로 실행할 수 있는 권한을 부여하는 것. 구성 파일 : /etc/sudoers $>rpm -qa | grep sudo // sudo가 설치..