Cent OS 7 부터 기본 패키지만 설치할 경우, ifconfig 명령어 실행하면 command not found 에러가 발생한다.

이 때 대체용으로 다음 command 를 실행한다.

$ ip a

다음 글 [CentOS 6.4 네트워크 활성화] 을 참고하여 Network 설정한다.

이후에 다음 패키지를 설치하자.

$ yum install net-tools


참고

  • http://sharadchhetri.com/2014/07/25/ifconfig-command-found-centos-7/


Posted by 집시F

CentOS 6.6 에서 nginx 를 설치하면 기본적으로 시스템이 리부팅할 때도 daemon 이 자동으로 재실행되지 않습니다.

이를 설정하기 위해서 다음 명령을 root 권한에서 실행합니다.

$ chkconfig nginx on


시스템 부팅할 때 실행되는 daemon 목록을 확인하려면 다음과 같습니다.

$ chkconfig --list
auditd         	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
blk-availability	0:해제	1:활성	2:활성	3:활성	4:활성	5:활성	6:해제
cgconfig       	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
cgred          	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
crond          	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
htcacheclean   	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
httpd          	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
ip6tables      	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
iptables       	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
lvm2-monitor   	0:해제	1:활성	2:활성	3:활성	4:활성	5:활성	6:해제
messagebus     	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
mysqld         	0:해제	1:해제	2:해제	3:활성	4:활성	5:활성	6:해제
netconsole     	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
netfs          	0:해제	1:해제	2:해제	3:활성	4:활성	5:활성	6:해제
network        	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
nginx          	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
ntpd           	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
ntpdate        	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
php-fpm        	0:해제	1:해제	2:활성	3:활성	4:해제	5:활성	6:해제
postfix        	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
rdisc          	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
restorecond    	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
rsyslog        	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
saslauthd      	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
spawn-fcgi     	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
sshd           	0:해제	1:해제	2:활성	3:활성	4:활성	5:활성	6:해제
svnserve       	0:해제	1:해제	2:해제	3:해제	4:해제	5:해제	6:해제
udev-post      	0:해제	1:활성	2:활성	3:활성	4:활성	5:활성	6:해제

여기서 각 숫자값은 run level 입니다.

이 명령어로 해당 run level 이 활성화되었는지, 비활성화 되었는지 확인할 수 있습니다.

run level 은 시스템이 시스템이 부팅한 이후의 상태를 의미합니다.

  • 0: 시스템이 정지
  • 1: 시스템 관리자 작업 모드
  • 2: 네트워크 인터페이스 비활성화
  • 3: 시스템이 정상 실행
  • 4: 사용자 정의 실행
  • 5: 시스템이 GUI 디스플레이와 함께 정상 실행
  • 6: 시스템이 리부팅

참고

  • http://www.rackspace.com/knowledge_center/article/centos-adding-an-nginx-init-script
  • http://support.suso.com/supki/CentOS_Init_startup_scripts
  • https://en.wikipedia.org/wiki/Runlevel


Posted by 집시F

다음의 사항은 ubuntu 12.04 이상에서 동작할 것입니다.


core dump 경로 및 파일명은 /proc/sys/kernel/core_pattern 을 편집하면 설정을 변경할 수 있습니다.

이 설정을 영구적으로 지정하려면 다음과 같은 설정이 필요합니다.


1. apport 서비스를 끈다. sudo vi /etc/default/apport 를 편집하고 다음처럼 설정합니다.

enabled=0


2. /etc/sysctl.d/ 에 60-core-pattern.conf 파일을 만듭니다.

kernel.core_pattern = core.%t

unix time stamp 를 추가해서 시간대별로 남기도록 설정했습니다.


3. 시스템을 리부팅하거나 sudo sysctl --system 으로 재설정합니다.



Posted by 집시F

실제 예제로 eclipse juno 를 추가해보도록 합니다.


1. eclipse 설치

eclipse juno 를 공식 홈페이지에서 다운받아서, Documents 폴더에 압축을 풉니다.


2. desktop 파일 만들기

vi 를 이용하여 다음의 내용을 eclipse-juno.desktop 으로 저장합니다.

[Desktop Entry]
Version=1.5.2
Name=Eclipse Juno C++
Comment=Develop C++ applications
GenericName=C/C++ IDE
Type=Application
Exec=/home/ubuntu/Documents/eclipse-juno/eclipse
Icon=/home/ubuntu/Documents/eclipse-juno/icon.png
Terminal=false
StartupNotify=true
Categories=Development;
Keywords=
MimeType=text/plain;

icon.png 는 별도로 만들어서 해당 폴더에 넣어둡니다.


3. desktop 파일 복사하기

작성된 eclipse-juno.desktop 파일을 /usr/share/applications 에 복사합니다.


참고: https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles


Posted by 집시F

Windows 환경에서 xubuntu 로 원격 데스크톱으로 연결하여 편리하게 GUI 환경에서 작업을 할 수 있습니다.

xrdp 패키지를 설치합니다.

$ sudo apt-get install xrdp


xubuntu 는 xfce 를 기본으로 사용하고 있으므로 다음과 같이 세션을 설정해줍니다.

$ echo xfce4-session > ~/.xsession


이후에 원격 데스크톱으로 접속한 뒤에, 터미널에서 TAB 을 눌렀을 때 자동완성 기능이 동작하지 않을 수 있습니다.

그럴 때는 ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml 파일에서 다음의 내용을 수정합니다.

<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key" />

위의 switch_window_key 를 삭제하고 type 을 empty 로 수정합니다.

<property name="&lt;Super&gt;Tab" type="empty" />

Logout 을 한뒤에 다시 접속하면 TAB 키로 자동완성 기능이 동작합니다.


참고


Posted by 집시F

/etc/network/interfaces 의 설정을 수정하면 된다.

auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8 8.8.4.4


설정을 마치고 다음과 ethernet 장치를 OFF 했다가 다시 ON 해준다.

$ sudo ifdown eth0
$ sudo ifup eth0


참고:


Posted by 집시F

Linux 에서 netstat 명령어를 이용하면 네트워크 접속 상황을 알 수 있습니다.

이를 활용하여 특정 포트에 접속한 접속자수(소켓 갯수)를 구하는 명령어를 만들어 봅니다.


다음의 명령어는 외부의 웹서버 80포트로 접속한 소켓 갯수를 구합니다. (Remove Port 가 80인 경우)

$ while true; do netstat -nat | grep -P ':80\s+EST' | wc -l; sleep 1; done;

다음의 명령어는 자신의 웹서버 80포트로 접속한 소켓 갯수를 구합니다. (Local Port 가 80인 경우)

$ while true; do netstat -nat | grep -P ':80\s+[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]+\s+EST' | wc -l; sleep 1; done;


grep 에서 \s 는 공백을 뜻하고 \s+ 는 공백이 한개 이상을 의미합니다.


참고:


Posted by 집시F

VMware 에서 설치한 CentOS 6.4 를 이미지를 복제한 뒤에, 네트워크를 설정하다보면 다음과 같은 오류가 발생합니다.


$ service network restart
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present, delaying initialization.
                                                           [FAILED]

이는 가상화 이미지를 복제할 때 ethernet adapter 의 MAC 주소가 바뀌기 때문에 발생하는 것입니다.

CentOS 에서는 이 때 ethernet adapter 를 새로 한개 더 추가해서 eth0 가 아닌 eth1 로 잡습니다.

이는 다음과 같이 확인해 볼 수 있습니다.

$ ls /sys/classs/net
eth1     lo

불필요한 ethernet adapter 를 삭제해주기 위해서, 장치 관리자가 자동으로 생성한 규칙 파일을 편집합니다.

해당 파일은 /etc/udev/rules.d/70-persistent-net.rules 입니다.

$ vi /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:2c:ff:a7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:da:06:f2", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

실제로 가상화 이미지의 ethernet adapter 의 MAC 주소를 확인해보면 00:0c:29:da:06:f2 로 확인될 것입니다.

위의 파일 내용에서 NAME="eth0" 항목을 삭제하고, NAME="eth1" 의 이름을 "eth0" 으로 바꿉니다.

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:da:06:f2", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

/etc/sysconfig/network-scripts/ifcfg-eth0 를 수정합니다.

여기에 MAC 주소가 이전의 것으로 지정되어 있으므로, 새로운 MAC 주소로 설정합니다.

참고: http://netmaid.tistory.com/91


그리고 시스템을 리부팅합니다.


참고:


Posted by 집시F

CentOS 6.4 를 minimal iso 를 이용하여 설치하면 ethernet 네트워크가 비활성화된 상태입니다.

다시 활성화하려면 다음과 같이 설정합니다.


1. /etc/sysconfig/network-scripts/ifcfg-eth0 편집

유동 IP로 할당하려면 다음과 같이 합니다. (ONBOOT, BOOTPROTO 수정)

DEVICE=eth0
HWADDR=00:0C:29:2C:FF:A7
TYPE=Ethernet
UUID=d8bd83b0-7876-4a55-a3b6-4483e35cdd1d
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

고정 IP로 할당하려면 다음과 같이 합니다. (ONBOOT, BOOTPROTO, IPADDR, NETMASK, GATEWAY 수정)

DEVICE=eth0
HWADDR=00:0C:29:2C:FF:A7
TYPE=Ethernet
UUID=d8bd83b0-7876-4a55-a3b6-4483e35cdd1d
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.0.50
NETMASK=255.255.255.0
GATEWAY=192.168.0.1


2. 네트워크 서비스 재시작

service network restart


3. DNS 서버 추가

/etc/resolv.conf 를 편집하고 다음을 추가합니다.

nameserver 8.8.8.8
nameserver 8.8.4.4


Posted by 집시F

Fedora18 로 넘어오면서 firewalld 데몬이 추가된 것 같습니다.


iptables 로 저수준으로 관리하는 것이 싫었나봅니다.

svn 포트를 추가하려면 iptables 에서는 다음과 같이 했습니다.

iptables -A INPUT -p tcp --dport 3690 -j ACCEPT

그리고 이 설정을 저장합니다.

/etc/init.d/iptables save

새로운 firewalld 에서는 다음과 같이 firewall-cmd 로 설정해줘야 합니다.

firewall-cmd --permanent --zone=public --add-port=3690/tcp


참고:


Posted by 집시F