반응형
반응형
반응형

# 80 포트 추가
firewall-cmd --permanent --add-port=80/tcp

# 80 포트 삭제(참고)
firewall-cmd --permanent --remove-port=80/tcp


# 정책 재반영 및 방화벽 정책 확인
firewall-cmd --reload;firewall-cmd --list-all

반응형

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

CentOS 7 에서 PHP7.4 설치하기.  (1) 2021.06.28
[linux] 디스크 읽기/쓰기 속도  (0) 2021.06.14
프로세스 thread 갯수 확인  (0) 2019.10.31
rpm 사용법  (0) 2019.05.09
[링크] 파일 권한  (0) 2019.05.09
반응형

# Installing the epel repository
sudo yum -y install epel-release yum-utils
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

# Remi repository 설치
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

# 기본으로 php 5.4가 적용되는데 레포지토리에서 비활성화 하고 7.4를 활성화 해준다.
sudo yum-config-manager --disable remi-php54  
sudo yum-config-manager --enable remi-php74

# php7.4 설치
sudo yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json


$ php -v
PHP 7.4.20 (cli) (built: Jun  1 2021 15:41:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

 

 

반응형

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

방화벽 설정  (0) 2021.06.29
[linux] 디스크 읽기/쓰기 속도  (0) 2021.06.14
프로세스 thread 갯수 확인  (0) 2019.10.31
rpm 사용법  (0) 2019.05.09
[링크] 파일 권한  (0) 2019.05.09
반응형

dd
디스크의 읽기/쓰기 속도를 측정.

옵션
 - if : 입력파일, of : 출력파일, count : 반복횟수, bs : 블럭 사이즈(Bytes, 한번에 읽고 쓸 최대 바이트 크기)


쓰기.
$ dd if=/dev/zero of=testout count=1000 bs=1024k
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 1.49477 s, 701 MB/s

testout에 0x00값으로 1024kb를 1000번 반복. 1GB 파일생성.




읽기.

$ dd if=testout of=/dev/zero bs=1024
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 7.69626 s, 136 MB/s

testout 파일을 1024 바이트로 읽었을 때 속도는 136MB/s

반응형

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

방화벽 설정  (0) 2021.06.29
CentOS 7 에서 PHP7.4 설치하기.  (1) 2021.06.28
프로세스 thread 갯수 확인  (0) 2019.10.31
rpm 사용법  (0) 2019.05.09
[링크] 파일 권한  (0) 2019.05.09
반응형

프로세스의 쓰레드 갯수 확인.

 

$ ps -Lf -p [PID]

LWP : 쓰레드 ID

NLWP : 프로세스에서 동작하는 프로세스 갯수.

 

$ ps -Lf -p 1528

UID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMD
test     1528     1  1528  0   79 Oct23 ?        00:00:00 /usr/bin/java -jar ..
test     1528     1  1529  0   79 Oct23 ?        00:00:38 /usr/bin/java -jar ..
test     1528     1  1530  0   79 Oct23 ?        00:00:03 /usr/bin/java -jar ..
test     1528     1  1531  0   79 Oct23 ?        00:00:03 /usr/bin/java -jar ..
test     1528     1  1532  0   79 Oct23 ?        00:00:03 /usr/bin/java -jar ..
test     1528     1  1533  0   79 Oct23 ?        00:00:03 /usr/bin/java -jar ..
test     1528     1  1542  0   79 Oct23 ?        00:00:00 /usr/bin/java -jar ..

.....

 

반응형

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

CentOS 7 에서 PHP7.4 설치하기.  (1) 2021.06.28
[linux] 디스크 읽기/쓰기 속도  (0) 2021.06.14
rpm 사용법  (0) 2019.05.09
[링크] 파일 권한  (0) 2019.05.09
tcpdump  (2) 2019.02.11
반응형

rpm 설치 확인.
옵션)
 -q : 질의시에 꼭 써야하는 옵션이다. 패키지를 찾으면 패키지이름과 버전만 표시한다.
 -i : 설치된 패키지의 정보를 보여준다. -p옵션과 사용하면 패키지 파일정보를 보여준다.
 -l : 패키지에 포함된 모든 파일을 보여준다. -p옵션과 함께 사용 가능. (--list)
 -p 파일명: 패키지의 파일에 대한 정보를 보여준다. 정확한 이름을 입력해야 한다.
 -a : 시스템에 설치된 모든 패키지목록을 보여준다. (--all)
 -f 파일명: 지정된 파일이 포함된 패키지를 출력한다.
 -c : 해당패키지의 설정파일이나 스크립트파일을 보여준다.
 -d : 해당패키지의 문서파일을 출력한다.
 -R : 어떤 패키지에 의존하고 있는지를 보여준다. (--requires)

예제)
# 설치된 패키지이름과 버전을 보여준다.
$ rpm -q mysql-community-server

# 패키지의 많은 정보를 보여준다.
$ rpm -qi mysql-community-server

# 현재 설치된 모든 패키지를 보여준다.
$ rpm -qa | grep mysql

# 설치되어 있는 경로를 보여준다.
$ rpm -ql mysql-community-server

# 파일을 사용하는(관련된) 패키지를 보여준다.
$ rpm -qf /etc/my.cnf

# 관련 문서파일을 보여준다.
$ rpm -qd mysql-community-server

# 의존하고 있는 패키지를 보여준다.
$ rpm -qR mysql-community-server

# 패키지가 설치되는 파일들을 보여준다.(정확한 파일 명을 적어야 한다.)
$ rpm -qlp /root/rpm/mysql/mysql-community-server-5.7.13-1.el7.x86_64.rpm



rpm 설치.
옵션)
 -i : 새로운 패키지를 설치할 때 사용한다.
 -U : 기존의 패키지를 새로운 버전의 패키지로 업그레이드할 때 사용하고 설치된 패키지가 없을 경우 패키지를 설치를 한다.
 -F : 이전 버전이 설치되어 있는 경우에만 설치한다.(--freshen)
 -v : 메시지를 자세히 보여준다.
 -h : '#'기호로 표시해 준다.
 --force : 기존에 설치된 패키지와 관계없이 강제로 설치 한다. 
 --nodeps : 의존성 관계를 무시하고 설치 한다.
 -vv : 메시지를 아주 자세히 보여준다.
 --oldpackage : 구버전으로 다운그레이드할 때 사용한다.
 --rebuilddb : 특정한 패키지 설치후에 rpm패키지로 검색했으나 나타나지 않을 때 rpm 데이터베이스를 업데이트한다.


예제)
# 새로운 패키지 설치
$ rpm -ivh mysql-community-server-5.7.13-1.el7.x86_64.rpm

# 업그레이드하거나 새로운 패키지 설치
$ rpm -Uvh mysql-community-server-5.7.13-1.el7.x86_64.rpm

# 이전 버전의 패키지가 있는 경우에만 패키지 설치
$ rpm -Fvh mysql-community-server-5.7.13-1.el7.x86_64.rpm



rpm 삭제.
옵션)
  -e : 설치된 패키지를 제거한다.
  --nodeps : 제거시 의존성을 무시한다.

예제)
# sendmail-devel-8.11.6-27.73 라는 rpm 패키지를 삭제 한다.
$ rpm -e sendmail-devel-8.11.6-27.73 

# 삭제시 의존성 에러 메세지로 삭제가 안될 경우 --nodeps를 붙이면 강제로 삭제를 하는데 주의를 요한다.
# 패키지에 의존성이 있더라도 무조건 제거한다.
$ rpm -e sendmail-devel-8.11.6-27.73 --nodeps



rpm 패키지 검사
 - 설치된 패키지 파일들을 검증한다. 보통 보안상 침입자에 의해 실행파일들이 권한획득을  위해 변조되는 경우가 있는데 이러한것을 찾아낼 때 유용하다.

옵션)
    -V : verify의 약자로 검증할때 쓰는 기본 옵션이다.
    -a : 모든 패키지를 검사한다.

예제)
# 패키지를 검사
$ rpm -V mysql-community-server
S.5....T.  c /etc/my.cnf

모든 패키지를 검사한다.
$ rpm -Va


RPM 검증코드)
 - 5 : MD5체크섬을 변경
 - S : 파일의크기를 변경
 - L : 심볼릭 링크를 변경
 - T : 파일의 수정일을 변경
 - D : 장치파일을 변경
 - U : 파일사용자/소유자가 변경
 - G : 파일 그룹이 변경
 - M : 파일모드(권한과 파일형태)가 변경
 - ? : 원인을 알 수 없거나 예측하지 못한 결과인 경우

반응형

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

[linux] 디스크 읽기/쓰기 속도  (0) 2021.06.14
프로세스 thread 갯수 확인  (0) 2019.10.31
[링크] 파일 권한  (0) 2019.05.09
tcpdump  (2) 2019.02.11
crontab  (0) 2018.09.12
반응형
반응형

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

프로세스 thread 갯수 확인  (0) 2019.10.31
rpm 사용법  (0) 2019.05.09
tcpdump  (2) 2019.02.11
crontab  (0) 2018.09.12
CentOS 버전 정보 확인.  (0) 2018.07.31
반응형


사용법.

tcpdump [options] [expression]


예제)

$ sudo tcpdump -v -n -i eth0 "udp and dst host 127.0.0.1 and dst portrange 10000-20000"


[options]

-v : 좀 더 많은 정보 출력.

-n : 주소를 번역하지 않음.

-i [interface] : 특정 interface 의 패킷 캡쳐.

-w [file name] : 패킷 저장 파일.

-s [length]: 패킷들로부터 추출하는 샘플을 default값인 68 byte외의 값으로 설정.


[expression]

프로토콜 : tcp | udp | .....

방향 : src | dst

타입 : host | port(portrange) | net

연산 : and | or | not


src port (O)

dst host (O)

udp dst port (O)

udp dst host (X)




반응형

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

rpm 사용법  (0) 2019.05.09
[링크] 파일 권한  (0) 2019.05.09
crontab  (0) 2018.09.12
CentOS 버전 정보 확인.  (0) 2018.07.31
쉘 스크립트(shell script) - 예제.  (0) 2016.02.22
반응형



참조 : https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B0%98%EB%B3%B5_%EC%98%88%EC%95%BD%EC%9E%91%EC%97%85_cron,_crond,_crontab




cron 등록.



*   *  *   *  *  수행할 명령어

┬ ┬ ┬ ┬ ┬

│ │ │ │ │

│ │ │ │ │

│ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일)

│ │ │ └───────── 월 (1 - 12)

│ │ └───────── 일 (1 - 31)

│ └───────── 시 (0 - 23)

└───────── 분 (0 - 59)




* * * * * /root/every_1min.sh

→ 매 1분마다 /root/every_1min.sh 를 수행


15,45 * * * * /root/every_30min.sh

→ 매시 15분, 45분에 /root/every_30min.sh 를 수행


*/10 * * * * /root/every_10min.sh

→ 10분마다 /root/every_10min.sh 를 수행


0 2 * * * /root/backup.sh

→ 매일 02:00에/root/backup.sh 를 수행


30 */6 * * * /root/every_6hours.sh

→ 매 6시간마다 수행(00:30, 06:30, 12:30, 18:30)


30 1-23/6 * * * /root/every_6hours.sh

→ 1시부터 매 6시간마다 수행(01:30, 07:30, 13:30, 19:30)


0 8 * * 1-5 /root/weekday.sh

→ 평일(월요일~금요일) 08:00


0 8 * * 0,6 /root/weekend.sh

→ 주말(일요일, 토요일) 08:00

반응형

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

[링크] 파일 권한  (0) 2019.05.09
tcpdump  (2) 2019.02.11
CentOS 버전 정보 확인.  (0) 2018.07.31
쉘 스크립트(shell script) - 예제.  (0) 2016.02.22
환경변수 제거 후 스크립트 실행.  (0) 2016.02.12
반응형


CentOS 버전 정보 확인하는 방법.



1. cat /etc/*-release | uniq


2. cat /etc/issue


3. rpm -qa centos-release*



반응형

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

tcpdump  (2) 2019.02.11
crontab  (0) 2018.09.12
쉘 스크립트(shell script) - 예제.  (0) 2016.02.22
환경변수 제거 후 스크립트 실행.  (0) 2016.02.12
쉘 스크립트(shell script) - 날짜  (0) 2015.08.21
반응형


#!/bin/sh


################# substring #################

STR="abcdefg"


# 3 ~ 4th char

substr=`echo $STR | cut -c3-4`


# expr substr string position length

substr=`expr substr $STR 3 2`


# bash ${string:position:length}

substr=${STR:2:2}


결과 : cd

########################################



참조 : http://blog.daum.net/_blog/BlogTypeView.do?blogid=02Ql9&articleno=171

################# if 조건문 #################

if 조건문에서 사용되는 연산자들에는 다음과 같은 것들이 있다.

 

- 문자열체크


[ stringName ] - 문자열이 널(NULL)인지 체크, Null이 아니면 참

[ -n stringName ] - 문자열의 사이즈가 0 이상인지 체크, 0 이상이면 참

[ -z stringName ] - 문자열의 사이즈가 0 인지 체크, 0이면 참

[ stringNameA = stringNameB ] - A문자열과 B문자열이 같은지 체크, 같으면 참

[ stringNameA != stringNameB ] - A문자열과 B문자열이 다른지 체크, 다르면 참

 

- 숫자 대소 관계 체크

[ intA -ge 100 ] - 숫자 A가 100보다 크거나 같은지 체크, 100 이상이면 참

[ intA -gt 100 ] - 숫자 A가 100보다 큰지 체크, 100이 넘으면 참

[ intA -le 100 ] - 숫자 A가 100보다 작거나 같은지 체크, 100 이하이면 참

[ intA -lt 100 ] - 숫자 A가 100보자 작은지 체크, 100 미만이면 참

 

- 파일 체크

[ -r filename ] - 해당 파일이 읽기 가능한지 체크

[ -w filename ] - 해당 파일이 쓰기 가능한지 체크

[ -x filename ] - 해당 파일이 실행 가능한지 체크

[ -s filename ] - 해당 파일의 사이즈가 제로 이상인지 체크

[ -d filename ] - 해당 파일이 디렉토리 파일인지 체크

[ -f filename ] - 해당 파일이 보통 파일인지 체크

[ -h filename ] - 해당 파일이 링크 파일인지 체크

 

- 조건문의 결합

[ 조건문A -a 조건문B ] - 조건문 A와 B가 모두 참인지 체크, -a는 AND

[ 조건문A -o 조건문B ] - 조건문 A와 B중 참이 하나라도 있는지 체크, -o는 OR


########################################



참조 : http://www.tutorialspoint.com/unix/unix-shell-functions.htm

################# 함수 호출 #################

#!/bin/sh


# Calling one function from another

number_one () {

   echo "This is the first function speaking..."

   number_two

}


number_two () {

   echo "This is now the second function speaking..."

}


# Calling function one.

number_one



# Define your function here

Hello () {

   echo "Hello World $1 $2"

   return 10

}


# Invoke your function

Hello Zara Ali


# Capture value returnd by last command

ret=$?


echo "Return value is $ret"


# 스크립트 실행.

$ test.sh

This is the first function speaking...

This is now the second function speaking...

Hello World Zara Ali

Return value is 10

########################################


반응형

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

crontab  (0) 2018.09.12
CentOS 버전 정보 확인.  (0) 2018.07.31
환경변수 제거 후 스크립트 실행.  (0) 2016.02.12
쉘 스크립트(shell script) - 날짜  (0) 2015.08.21
[CentOS] svn 설치.  (1) 2015.06.16

+ Recent posts