레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시
레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시

2021년 1월 27일 수요일

단락 연산자(short-circuit operator)

 리눅스에서 명령어를 연속 해서 사용 할 때가 있다.

보통 || 와 &&을 사용한다. 이를 단락 연산자(short-circuit operator)라고 한다.

첫번째 명령어를 실행하고 곧이어 두번째 명령어를 실행하는 역할이다.


예제는 다음과 같다.

[root@localhost ~]# true || echo 'ok'
[root@localhost ~]# false || echo ok
ok
[root@localhost ~]#

||는 앞의 명령어 성공하면 뒤의 echo 'ok'는 실행하지 않는다.
앞의 명령이 실패하면 뒤의 echo 'ok' 명령를 실행한다.

&&은 ||과 반대이다. 앞의 명령이 성공하면 뒤의 명령을 실행한다.
앞의 명령이 실패하면 뒤의 명령을 실행하지 않는다.

[root@localhost ~]# true && echo 'ok'
ok
[root@localhost ~]# false && echo 'ok'
[root@localhost ~]#

앞 명령어와 상관없이 실행하고자 할 때는 ;를 쓴다.
[root@localhost ~]# echo '1ok'; echo '2ok'
1ok
2ok
[root@localhost ~]#

2016년 11월 16일 수요일

PPS cfgmaker

mrtg로 pps 를 체크하는 것에 대해서 글을 썼는데,
cfgmaker로 만들고 그걸 다시 수정하는 게 번거로웠다.

cfgmaker는 perl 로 작성되어 있어서 수정이 가능하다.

그래서 target 관련 부분만 수정해서 ppscfgmaker를 만들었다.

diff로 비교해 보면 알지만 한개 라인만 수정하였다.
[root@localhost bin]# diff cfgmaker ppscfgmaker 
730c730
< my $default_target_directive = "Target[$target_name]: $if_ref:$router_connect";
---
> my $default_target_directive = "Target[$target_name]: ifInUcastPkts.$if_ref&ifOutUcastPkts.$if_ref:$router_connect + ifInNUcastPkts.$if_ref&ifOutNUcastPkts.$if_ref:$router_connect";

ppscfgmaker
확장자가 없으면 업로드가 안되서 .txt를 추가했다.
.txt 부분만 지우고 사용하면 된다.

2016년 7월 13일 수요일

determining if ip address is already in use for device eth0 centos

determining if ip address is already in use for device eth0

위와 같은 오류가 발생.

아무리 찾아 봐도 원인을 알 수 없다.

ARPCHECK=no 옵션을 주면 에러가 안 난다고 하는데, 왠지 찝찝하다.

해당 옵션이 무엇인지에 대한 설명은 /usr/share/doc/initscripts-9.03.40/sysconfig.txt 에 나와 있다.
    ARPCHECKn=yes|no
If set to 'no', ifup will not try to determine, if requested ip address
is used by other machine in network.
Defaults to 'yes'.

네트워크에 있는 다른 머신에 의해 결정한다는 건데, 이름에서 추측하건데 arp 체크를 통해 서 중복되는 ip를 찾는 것 같다.

근데!!! 중복되는 IP 가 없어~!!!!

arping 을 해 보라는 둥.. tcpdump 를 잡아 보라는 둥.. 전부 해봐도 특별한 이유가 없다..

xenserver로 설치 한 거라서 조금 특별한 원인이 있지 않을 까도 싶다.

결국 그냥 사용하는 걸로..;;

 

참조:https://blog.cles.jp/item/6718




160928 추가.

ip 셋팅이 되어 있는 부분을 command로 다시 설정하면서 꼬이는 것 같다.
ifconfig eth0 down
service network restart

오류가 나는 인터페이스를 다운 시킨 후 네트워크를 재시작하면 없어진다.

원격에서 작업시 매우 주의!!

2012년 11월 13일 화요일

특정 아이피 연결 끊기

특정 아이피에 대한 커넥션을을 끊어야 할 경우 tcpkill 명령을 사용하면 된다고 한다.

tcpkill은 dsniff 패키지에 포함 되어 있다.

설치방법

tcpkill 이 필요한 서버(CentOS release 5.7 (Final))에서 libnids가 yum 으로 설치되지 않는다.
해서 그냥 명령어 조합으로 사용해서 썼는 데, 그냥 저냥 유용한 것 같다.
lsof -n -i@194.219.126.61 | awk {'print $2'} | xargs kill -9
아이피 부분만 바꿔서 사용하면 된다.