scp 를 이용하면서 아주 가끔씩은 속도 제한을 걸

고 전송 해야하는 경우가 있다.

-l 옵션을 이용하면 속도제한을 걸수 있다.

scp -l 1000 blah.tgz .....

이렇게 쓴경우라면 초당 1000 kbit 전송이니깐 125Kbyte/sec 속도로 전송하게된다

[출처] http://blog.kfmes.com/entry/scp-이용시-속도-제한걸기

 

 

 

 


톰켓은 기본적으로 8080 포트를 이용하여 통신을 수행하게 됩니다.
즉 http://192.168.0.1:8080 과 같은 형식으로 접근해야 합니다.

하지만 접근의 편의성을 위해서는 80포트를 사용하는 것이 더욱 편리할 것입니다.
80 포트를 이용하면 http://192.168.0.1 과 같은 형식으로 접근할 수 있게됩니다.

톰켓 환경설정( usr / local / tomcat / conf / server.xml ) 파일을 수정하여 80포트로 접근하게 설정할 수 있으나 아마 정상적으로 동작하지 않음에 당황하시는 분들도 꽤 될거라 생각됩니다.

리눅스나 유닉스는 1024 이하의 포트(well-known port)들은 일반 유저 권한에서 바인딩 할 수 없도록 되어 있습니다.

보안에 문제가 생길 가능성을 차단하기 위해서 입니다.

톰켓서버는 구동시 tomcat 유저 권한으로 구동되게 됩니다. 물론 root 권한으로 구동되게 한다면 80 포트에 별 문제없이 바인딩하여 통신이 가능합니다. 하지만 톰켓서버가 일반 유저 권한으로 구동되는데는 다 그만한 이유가 있겠지요?

웹을 이용한 해킹을 방지하기 위해서 입니다. tomcat 유저 권한으로 동작하는 톰캣 서버는 공격을 받는다 하더라고 tomcat 유저 권한에 해당하는 부분까지만 접근 가능하기 때문에 root 권한으로 구동되는 것보다는 안전하다고 할 수 있습니다.

이런 문제는 회피하는 가장 좋은 방법은 iptables 를 이용한 포트포워딩 방식을 이용할 수 있습니다.

# vim /etc/sysconfig/iptables
iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -d 192.168.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080

# /etc/rc.d/init.d/iptables restart

빨간색 부분을 웹 서버를 구동할 서버의 IP 주소를 적으시면 됩니다.
그럼 80으로 접근한 요청을 리눅스 커널단에서 8080으로 포워딩 시켜주게 됩니다.

관련자료
http://cafe.naver.com/egosproject/29

 

TOMCAT 80 포트 운용방법

톰켓은 기본적으로 8080 포트를 이용하여 통신을 수행하게 됩니다. 즉 http://192...

cafe.naver.com

[원문출처] https://www.happyjung.com:6001/lecture/1228

 

[Linux] Tomcat 80 포트로 바인딩하기 (80, 443 포트 권한 바인딩) > 기술자료 | 해피정닷컴

톰켓은 기본적으로 8080 포트를 이용하여 통신을 수행하게 됩니다. 즉 http://192.168.0.1:8080 과 같은 형식으로 접근해야 …, 해피정닷컴 - 홈페이지제작, 웹에이전시, 웹디자인, 웹사이트 개발 및 리뉴얼, 유지보수, 고급웹디자인, 웹기획, 웹개발

www.happyjung.com:6001

 


# getconf -a | grep glibc
GNU_LIBC_VERSION                   glibc 2.12


1. 라인의 맨앞에 특정 키워드를 추가한다.

:%s/^/aaa/g   (각 라인들 앞에 aaa 가 추가됨)

2. 라인의 맨 뒤에 특정 단어를 추가하고자 할 경우

:%s/$/aaa/g (각 라인들 뒤에 aaa 가 추가됨)

3. 줄 끝에 있는 공백을 제거하는 방법

:%s/\s\+$//

4. 문서전체에 있는 공백을 제거하는 방법 (공백갯수 무관)

:s/ //g (스페이스로 구분된 공백의 갯수가 1또는 그이상이라도 공백은 1개만 입력)

5. 라인의 맨 뒤에 특정단어를 다른 단어로 치환

:%s/,$/;    (라인 맨 뒤의 , 를 ; 로 변경할 경우)


/var/spool/clientmqueue는 sendmail이 메일 발송 목적지를 확정 하지 못할 경우 메일을 임시로 보관 하는 공간입니다.

목적지가 확정 되면 /var/spool/mqueue 디렉토리로 메일이 옮겨진 뒤 발송이 되며, 목적지가 확정 되지 않을 경우에는

관리자가 삭제 하기 전까지는 계속 해당 디렉토리에 메일이 남아 있게 됩니다.

또한 sendmail을 전혀 사용 하지 않는 시스템에서도 clientmqueue 디렉토리에 메일이 지속적으로 쌓이는 경우가 있습니다.

이는 logwatch가 시스템 상의 주요 로그를 간추린 보고서나 cron이 구동 되면서 발생 하는 각종 메세지를 root 계정으로

메일 발송 되게끔 설정 되어 있기 때문입니다.

 logwatch의 메일 발송을 중단 하려면 아래와 같이 /etc/crontab 내용을 수정해 주면 됩니다.

[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root   <---- 이 부분을

MAILTO=""   <---- 이렇게

[출처] http://faq.hostway.co.kr/Linux_Mail/3954


linux 에서 스크립트 실행할 때
/bin/sh^M: bad interpreter: No such file or directory
와 같은 에러 메시지가 나타날 때가 있다.

이것은 십중 팔구 윈도우에서 스크립트 파일을 만든 뒤, linux 에서 실행했기 때문에 나타나는 오류이다.
정확히는 줄 끝 (줄바꿈)을 의미하는 개행문자가 달라서 발생하는 문제인데 이것의 해결을 위해서는 다음의 방법 중 한 가지로 처리한다.

1. vi -b
vi 의 바이너리 모드로 들어가면 ^M 이라는 문자가 보인다. 이것을 지워주면 된다.

2. dos2unix
linux 콘솔에서 dos2unix filename.txt 와 같이 명령을 주어 파일을 변경한다.

3. subversion property 설정
형상관리 시스템으로 subversion을 쓰고 있을 경우, 해당 스크립트 파일의 property 에 svn:eol-style=native 를 추가해 준다.
(native 는 줄 끝 문자를 해당 OS에 맞게 변경해준다)


출처 : http://tod2.tistory.com/28


아래 명령어를 이용하면 확인이 가능함.

1. HDD의 경우

cat /sys/block/sda/queue/rotational 명령을 실행한 결과가 1

2. SSD의 경우

cat /sys/block/sda/queue/rotational 명령을 실행한 결과가 0

커널 2.6.29 이상부터 가능.


mount된 디렉토리를 umount 하고자 할 때, 만약 특정 사용자 & 프로세스가 해당 디렉토리를 사용하고 있으면

"device is busy" 메세지가 발생하며 umount 가 되지 않습니다.

이 경우 umount를 위해 해당 프로세스를 강제로 kill 하는 방법은 아래와 같습니다.

# fuser -ck 마운트디렉토리

ex) fuser -ck /backup

위 명령으로 프로세스를 kill 하고 umount를 재시도하면 정상적으로 mount가 해제 됩니다.

* 해당 디렉토리를 사용하는 사용자가 누구인지 확인하고 싶을 때
# fuser -cu /backup

출처 : http://faq.hostway.co.kr/Linux_ETC/4209


 

yum 패키지 관리자는 패키지 설치/삭제를 트랜잭션으로 관리하므로 예전 패키지 설치 상태로 되돌릴 수 있는 방법을 제공하고 있습니다.


yum 을 통해 패키지 설치, 변경, 삭제로 인해 내부 저장소가 변경되는 작업을 트랜잭션(transaction)이라고 하며 CentOS 6 에 내장된 yum 부터는 트랜잭션 내역을 확인하고 rollback 을 할 수 있습니다. 


트랜잭션 목록 보기

yum history 명령을 옵션없이 실행하거나 옵션에 list 를 주면 최근 트랜잭션 목록을 볼 수 있습니다.

# yum history list


ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
24 | lesstif <lesstif> | 2017-07-12 12:02 | Install | 5
23 | lesstif <lesstif> | 2017-06-28 11:38 | Install | 1
22 | lesstif <lesstif> | 2017-06-28 11:11 | Install | 15
21 | lesstif <lesstif> | 2017-06-28 11:11 | Erase | 6 EE
20 | lesstif <lesstif> | 2017-06-28 10:57 | Install | 1 EE
19 | lesstif <lesstif> | 2017-06-28 10:57 | Install | 1
18 | lesstif <lesstif> | 2017-06-19 09:30 | Install | 6
17 | lesstif <lesstif> | 2017-06-19 09:21 | I, O, U | 255 EE
16 | lesstif <lesstif> | 2017-06-19 09:18 | Install | 1
15 | lesstif <lesstif> | 2017-06-19 09:16 | I, U | 8
14 | root <root> | 2015-01-30 04:12 | Install | 3

yum history list 실행 결과

ID는 트랜잭션 번호를 의미하며 수차적이므로 총 24번의 트랜잭션이 있었음을 나타내며 Action 은 실행한 행동이며 Altered 는 트랜잭션에 의해 변경된 패키지의 갯수를 나타냅니다.


이력에 표시되는 모든 Action 항목은 아래 표에 있으며 여러 개의 Action 이 있었을 경우 I,U 같이 축약어로 표시됩니다.

Action
축약어
의미
Downgrade D 최소 한개의 패키지가 예전 버전으로 다운그레이드됨.
Erase E 최소 한개의 패키지가 삭제됨.
Install I 최소 한 개의 패키지가 설치됨.
Obsoleting O 최소 한개의 패키지가 obsolete 로 표시됨.
Reinstall R 최소 한개의패키지가 재설치됨.
Update U 최소 한개의 패키지가 새로운 버전으로 업데이트됨.
가능한 Action

Altered 필드는 변경된 패키지의 숫자와 변경 내역에 대한 기호가 표시되며 각 기호의 의미는 다음과 같습니다.

기호
의미
< 트랜잭션이 완료되기 전에 rpmdb 데이타베이스가 yum 이 아닌 외부에서 변경됨.
> 트랜잭션이 완료된 후에 rpmdb 데이타베이스가 yum 이 아닌 외부에서 변경됨.
* 트랜잭션을 종료하지 못함
# 트랜잭션이 성공적으로 종료되었지만 yum 이 0 아닌 종료 코드를 전달함.
E 트랜잭션이 성공적으로 종료되었지만 에러나 워닝이 표시됨.
P 트랜잭션이 성공적으로 종료되었지만 rpmdb 데이타베이스에 문제가 계속 존재함.
s

트랜잭션이 성공적으로 종료되었지만 --skip-broken 옵션을 사용하였으므로 어떤 패키지는 건너뜀.

Alteted 필드 의미

ID 가 24 번인 트랜잭션의 경우 Acton 이 Install 이고 Altered 항목이 5 이므로 5개의 패키지를 설치했다는 뜻입니다.

ID 가 21인 작업의 경우는 6개의 패키지를 삭제했다는 로그이며 17번인 트랜잭션은 I, O, U 이므로 설치와 업데이트를 했고 몇몇 패키지는 이제는 불필요(Obsolete)해졌다는 의미입니다.


자세한 정보 보기

해당 트랜잭션의 자세한 정보를 보고 싶으면  info 명령어 뒤에 트랜잭션 id 를 적어주면 되며  독자들도 사용하고 있는 리눅스 시스템의 트랜잭션 목록에서 상세 작업 이력을 확인해 보기 바랍니다.

아래는 22 번 트랜잭션의 상세 내용을 보는 예제입니다.

yum history info 22


Transaction ID : 22
Begin time : Wed Jun 28 11:11:52 2017
Begin rpmdb : 378:16ce599ad759e8435336997b266340324c5b0671
End time : 11:11:55 2017 (3 seconds)
End rpmdb : 393:3035f14323d91e76579575a07b6b2c04986f7800
User : lesstif <lesstif>
Return-Code : Success


Command Line : install php70w-cli php70w-common php70w-gd php70w-mbstring php70w-mysqlnd php70w-pdo php70w-fpm php70w-xml


Transaction performed with:
Installed rpm-4.11.3-21.el7.x86_64 @base
Installed yum-3.4.3-150.el7.centos.noarch @base


Packages Altered:
Dep-Install libX11-1.6.3-3.el7.x86_64 @base
Dep-Install libX11-common-1.6.3-3.el7.noarch @base
Dep-Install libXau-1.0.8-2.1.el7.x86_64 @base
Dep-Install libXpm-3.5.11-3.el7.x86_64 @base
Dep-Install libjpeg-turbo-1.2.90-5.el7.x86_64 @base
Dep-Install libpng-2:1.5.13-7.el7_2.x86_64 @base
Dep-Install libxcb-1.11-4.el7.x86_64 @base
Install php70w-cli-7.0.20-1.w7.x86_64 @webtatic

강조한 부분처럼 해당 트랜잭션으로 실행한 명령어 및 변경된 패키지의 자세한 정보를 알수 있습니다.


되돌리기(Undo)

"history undo ID" 명령어로 특정 트랜잭션을 되돌릴 수 있으며 되돌리기 작업은 수행한 트랜잭션을 이전 상태로 되돌리는 것이므로 작업한 내용과 반대의 작업을 수행하게 됩니다.


즉 트랜잭션이 패키지 설치라면 해당 트랜잭션에서 설치된 패키지는 삭제되고 트랜잭션이 패키지 삭제라면 삭제한 패키지는 설치됩니다.

되돌리기도 새로운 트랜잭션이므로 성공적으로 종료되었을 경우 별도의 트랜잭션 ID 를 갖게 되므로 전체 트랜잭션 ID 는 1 이 증가됩니다.

독자들도 수행한 트랜잭션중에 하나를 골라서 되돌리기 작업을 수행해 보기 바랍니다.


다음은 필자의 리눅스 시스템의 마지막 트랜잭션(ID: 24)을 되돌리는 예제입니다.

yum history undo 24


되살리기(Redo)

"yum history redo ID" 명령어로 특정 트랜잭션을 되살릴 수 있습니다.

위에서 24번 트랜잭션으로 5개가 설치되고 트랜잭션 되돌리기로 삭제되었습니다. 이제 24번 트랜잭션에서 설치한 패키지를 재설치하려면 "yum history redo 24" 명령어로 24번 트랜잭션을 되살릴 수 있습니다.

이 작업은 25번 트랜잭션을 되돌리는 "yum history undo 25" 번과 비슷한 결과를 가져오게 됩니다.

 

출처 : https://www.lesstif.com/pages/viewpage.action?pageId=43844113

'Works > CentOS' 카테고리의 다른 글

디스크가 HDD인지 SSD인지 확인하기  (0) 2018.10.24
강제 umount 방법 (umount : device is busy 발생시)  (0) 2018.10.22
yum 트랜잭션 및 롤백  (0) 2018.09.07
CentOS7 Locale설정  (0) 2018.05.29
SFTP log 설정  (0) 2018.02.22
dig 개념 및 사용법  (0) 2017.11.01


 

CentOS 7 에서 로케일 변경하는 방법입니다.


현재 사용가능한 한글관련 로케일


# localectl list-locales | grep -i ko

ko_KR

ko_KR.euckr

ko_KR.utf8

kok_IN

kok_IN.utf8

korean

korean.euc

ru_RU.koi8r

ru_UA.koi8u

tg_TJ.koi8t

uk_UA.koi8u

utf8 로 변경


 # localectl set-locale LANG=ko_KR.utf8

수동으로 변경시는 /etc/locale.conf 파일을 만들어 아래 내용 추가


LANG=ko_KR.utf8

서버 부팅 후 로케일 설정 확인


# locale

LANG=ko_KR.utf8

LC_CTYPE="ko_KR.utf8"

LC_NUMERIC="ko_KR.utf8"

LC_TIME="ko_KR.utf8"

LC_COLLATE="ko_KR.utf8"

LC_MONETARY="ko_KR.utf8"

LC_MESSAGES="ko_KR.utf8"

LC_PAPER="ko_KR.utf8"

LC_NAME="ko_KR.utf8"

LC_ADDRESS="ko_KR.utf8"

LC_TELEPHONE="ko_KR.utf8"

LC_MEASUREMENT="ko_KR.utf8"

LC_IDENTIFICATION="ko_KR.utf8"

LC_ALL= 


# cat /etc/locale.conf



출처: http://itposting.tistory.com/62 [IT 관련 포스팅]

'Works > CentOS' 카테고리의 다른 글

강제 umount 방법 (umount : device is busy 발생시)  (0) 2018.10.22
yum 트랜잭션 및 롤백  (0) 2018.09.07
CentOS7 Locale설정  (0) 2018.05.29
SFTP log 설정  (0) 2018.02.22
dig 개념 및 사용법  (0) 2017.11.01
크론테이블에 등록 : crontab -e  (0) 2017.09.22