/etc/init.d/tomcat7 start
/etc/init.d/tomcat7 stop
/etc/init.d/tomcat7 restart
booting시에 자동으로 시작하는 기능은
$ sudo update-rc.d tomcat(7) defaults
제외는
$ sudo update-rc.d -f tomcat(7) remove
라고 입력합니다.
CentOS는 여기 참조: Ref-Site
/etc/init.d/tomcat7 start
/etc/init.d/tomcat7 stop
/etc/init.d/tomcat7 restart
booting시에 자동으로 시작하는 기능은
$ sudo update-rc.d tomcat(7) defaults
제외는
$ sudo update-rc.d -f tomcat(7) remove
라고 입력합니다.
CentOS는 여기 참조: Ref-Site
[Redhat계열] Linux hostname변경
$ hostname : 이건 그냥 조회
$ hostname abc_server : 이렇게 세팅가능하며, 리부팅이 되면 원복이 되는 문제점 존재.
리부팅 시에도 적용되게 하려면
/etc/sysconfig/network 여기서
HOSTNAME=abc_server 이렇게 수정하도록 한다.
ftp에 접속해서 파일을 다 가져오는 shell script는 다음과 같다.
여기서 EOF 대신에 ENDFILE등 다른 임의의 단어를 사용해도 된다.
< autoFTP.sh 내용>
ftp -n 127.0.0.1 << EOF
user root pass1234
cd ftpserver
prompt off
binary
mget *.out
bye
EOF
흔히 보는 linux의 파일권한 type은 다음과 같다.
-rwsrwsrwt
1. 여기서 현재 '-'로 표시되어 있는
첫 글자가 c/b인 경우라면 device file을 뜻한다.
(모두 나열하면)
c: 캐릭터 입출력하는 device
b: 블록 단위로 입출력하는 device
p: named pipe
s: socket
D: door
2. 그리고
네번째, 일곱번째 글자가 s일경우 set-uid 또는 set-gid 비트임.
돌리는 동안 잠깐 super (root)가 된다. ps로 확인 가능
(/usr/bin/passwd 참고. ) 보안체크시 필수체크항목
3. 마지막 글자가
t:sticky 폴더는 타인이 못지우게 함 /tmp/ 용
0. 추가적으로 옵션설정방법:
chmod 에 6777 옵션을 줄 수 있는데
처음 6표시된 자리는
4: set-uid
2: set-gid
1: sticky
과 같은 용도로 사용한다.
Linux 및 unix에서는 파일이
[File명: inode번지] 로 관리가 된다. (ls –i 하면 inode 조회 가능하다)
여기서 inode번지는
è <inode table 구조> 를 참조하게 된다: (ls –l하면 나오는 정보들이라고 보면 된다)
1File Type
2Permission
3Hard Link Count (inode 번지 복사) 하드링크시 사용. ( 용법: ln f1 f2 이며 그 후에 : rm f1 해도 됨. )
단, 파티션이 다르면 번지중복으로 사용 불가
4Owner
5Group
6Size
7Time
8Point à data block저장소를 가르킴
symbolic link의 경우 point에 원본위치 있음 (ln -s f1 f2 로 지정)
Symbolic link장점: 1. 디렉토리도 된다,
2. 파티션 달라도 된다.
solaris에서는 하드링크를 주로 사용하고
linux에서는 심볼릭 링크(소프트 링크)를 주로 사용하게 된다.
LINUX RUN LEVEL
<부팅 순서>
Run-level
0 linux:halt solaris: PROM모드
1 Single모드
2 Multi user 모드 (약간 제외 – NFS, samba제외)
3 Multi user 모드 – 모든서비스 가동
4 X
5. GUI까지 구동( linux에만 존재)
/etc/init.d/ 원본script가 있는데
/etc/rc1.d/kxxx sxxxx 로 링크 함.
( rc1=runLevel K=stop, S=Start 프로세서 )
rc2, rc3….여러 링크 폴더 존재
run_level 스테이징 순서대로 구동 됨.
linux 커널을 빌드해서 설치하다 보니
/etc가 read-Only인 경우가 발생했다.
=> (원인은 cloud다 보니, XenServer 에서 발생.. /var/log/messages에 blkfront: barrier: empty write xvdb op failed )
확인:
$ cat /proc/mounts 해보면
/dev/xvda3 / ext3 ro,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered 0 0
이렇게 ro가 보인다.
$cat /etc/fstab 해보면 부팅시 mount되는 type /위치를 알 수 있다.
이 때 remount를 하면 되는데
$ mount -o rw,remount -t ext3 /dev/xvda3 /
=> mount: cannot remount block device /dev/xvda3 read-write, is write-protected
또 에러가 난다.
제대로 된 remount를 하려면
/etc/fstab 에다가 옵션이 defaults일 경우 ext3 rw,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered 라고 가정하고
옵션을 defaults ==> ext3 rw,relatime,errors=continue,user_xattr,acl,barrier=0,data=ordered 으로 수정해서 한번 해본다.
기존에는 chkconfig이란 명령어로 init.d 데몬들을 관리했지만
ubuntu 14.04부터는
update-rc.d 명령어로 하게 되었다.
만약 tomcat7을 startup시에 실행하고 싶지 않다면
$ update-rc.d -f tomcat7 remove
로 하면된다.
Linux 커널 빌드
소스를 받은 후에
1) $ uname -r 해서 현재 linux 커널 버전 확인
2.6.32-281-blabla.
2) 필요시에만.. 즉 재빌드 하는 경우 등에 이전 빌드 clean해 놓기
$make clean && make mrproper
3) 현재 config을 .config로 복사
cp /boot/config-2.6.32-281-blabla ./.config
4)
$make menuconfig 해서 GUI화면이 뜨게 되면 그냥 exit하면서 save=Yes 로 답하면 됨.
5)
$make all (혹은 make -j4 all : 4 core cpu일 경우 4배 빨리 build)
6)혹은 rpm으로 build하기 위해서는 rpm-build 툴이 깔려있어야 한다. 그 후에 ( 예)yum install rpm-build )
$make rpm
해당 rpm을 설치시에는
$rpm -ivh kernel-x.x.xxblabla.rpm 하면 됨.
<개인적인 firmware conflict발생 및 conflict해결>
$yum list kernel kernel-firmware
$yum remove kernel kernel-firmware.noarch 까지 해서 해결.
<설치 완료후 grub설정 을 하려는데..>
1. initramfs파일이 /boot에 없어서
$dracut initramfs-2.6.39.4.img 2.6.39.4
2. /boot/grub/grub.conf 수정.
- 0번자리(즉 윗자리)에 4줄 복사해서 추가하고 vmlnuz-버전과 initramfs 버전 수정.
Linux에서 네트웍 진단이나 통계시에
netstat 커맨드가 매우 유용하게 쓰인다.
netstat에는 여러가지 옵션이 존재하는데, 이 중에서 비교적 많이 쓰게 되는 옵션은 다음과 같다.
- netstat -nap (n:숫자로 표시, a:all, p:프로세스 ID) : 즉 프로세서별로 통계
- netstat -ntl (tcp 리스닝), -nul (udp 리스닝) : tcp/udp 리스닝 상태
- netstat -su (s:통계, u=udp) : udp통계
그 외에 nmap이라는 유틸리티를 설치할 경우 특정 IP에 대한 상대방 진단이 가능한데
사용법은
- nmap -sU -p 100-2000 +상대ip (s:스캔, U=UDP -p: 포트대역)