728x90
반응형
참고자료 : 서진수_부록1_리눅스기초.pdf   &  개인 자료 스크랩 카페(cafe.naver.com/beamrock)
 
제가 1년여간 학습하고, 실제 써보고, 테스트했던 리눅스 관련 내용들을 종합해서 정리해봤습니다.
 
전반적으로 위의 참고자료를 정리한 내용이고,
 
사용 예제는 부분적으로 제가 임의로 만들어봤습니다. (약간 어색한 부분도 있지만, 오라클과 관련되서 제가 직접 수행했던 기억들을 더듬어서 써봤습니다. ^^;)
 
총 2개의 파일로 구성했습니다.
 
1. 리눅스 기본 명령어 모음 for 오라클 엔지니어 (PnD_OS_Linux_Oper_140402.pdf)
 
2. 리눅스 Advanced 명령어 모음 for 리눅스 엔지니어(PnD_OS_Linux_Service_140402.pdf)
 
1번 내용은 자주 사용하는 명령어 위주로 편집했습니다. 오라클 엔지니어라면 많이 익숙한 명령어들일 겁니다.
 
2번 내용은 사실 저도 별로 활용도가 없습니다. ㅋ 그래도 알아두면 비상시에 유용하게 활용할 수 있을거라 생각됩니다.
 
YUM, RPM은 말할 것도 없고, FTP나 텔넷 사용법은 오라클 설치시에 OS엔지니어가 해결해주지 않으면 스스로 설정할 줄 알아야 합니다.
 
개인적으로도 계속 베이스로 활용 자료로 사용하기에 정리한 내용이니, 틀린 부분이나 추가할 부분 있으면 댓글 바랄께요. ^^
 
 
Last Updated : 2014-04-01   /  작성자 : beamrock@naver.com
<기반 지식>
EXT 파일 시스템(ext1, ext2, ext3, ext4) http://cafe.naver.com/beamrock/39
구분 리눅스 명령어 설명 리눅스 사용 예제 서진수_
부록1_
리눅스기초
웹 레퍼런스
공통 유닉스 계열의 이름 지정 규칙 : period(.)은 숨긴 파일 ; 확장자 개념 없음 ; 대/소문자 구분 ; 이름은 최대 255자 가능 1  
PATH(절대경로 / 상대경로) : [oracle:/home/oracle]# cd /  와 [oracle:/home/oracle]# cd ../.. 의 결과는 같다 2  
Shell Meta Character : ~(홈디렉토리 의미) ; *(All 의미) ; ?(All, but 1글자만 해당) ;
[ ](대괄호 사이의 모든 글자를 의미) ; \ (탈출 문자 - touch \*.sh)
3 ~ 4  
파이프( | ) : 하나의 명령의 결과를 다음 명령의 입력으로 넘김. (예) ls $ORACLE_HOME/rdbms/admin/*.sql | wc -l 18 ~ 19  
정규식(Regular Expression) : 검색 조건을 보다 다양하게 줄 수 있는 방법. 10g부터 SQL에서도 지원됨. 25 ~ 27  
/dev/null 에 관하여   http://cafe.naver.com/beamrock/42
Re-direction( > ; >> ; < ; << ) 표준입력(키보드)과 표준출력(모니터)을 다른 곳으로 변경.
(예) cat alert_snui.log | grep 'ORA-' >> a.txt
18  
기본
명령어
alias <-> unalias 파일 또는 디렉토리에 별칭 줄 때 사용 alias ss='sqlplus / as sysdba' 17  
cat (concatenate) 텍스트 파일 내용 화면 출력   14  
cd 디렉토리 이동   8  
compress 파일 압축
(요즘 거의 사용않함. gzip으로 대신)
compress 파일명    
cp  파일 복사 cp -irv .bash_profile .bash_profile140401 10  
dd 파일을 블록단위로 복사
(주로 raw device용)
dd if=/dev/raw/raw1 of=/data/backup/system_raw1 bs=8k 17  
find 파일이름or소유자or크기or권한 등의
조건으로 검색
find /home/oracle -name '*.sh'
find /home/oracle -user oracle
find /home/oracle -size +5k -size -10k
find /home/oracle -size 0k -exec rm -f {} \;
21 ~   
grep(또는 egrep) 텍스트 파일에서 특정 단어나 구문 검색 grep –ic ora- alertorcl.log
grep '^ORA-' alertorcl.log
grep 'ORA-$' alertorcl.log
grep [^a-e] alertorcl.log
egrep 'do(es|ing)+' alertorcl.log
25 ~ 27 http://cafe.naver.com/beamrock/43
gzip(gunzip) 파일 압축(해제) 디렉토리는 압축할
수 없어, tar 명령어의 압축 옵션으로
주로 사용
gzip -9 -v OPatch.tar
gunzip OPatch.tar
   
head 문서의 처음 ?줄 화면출력(기본10줄) head .bash_profile 또는 head +5 .bash_profile 14  
id 현재 계정의 id & 그룹 등 정보 출력      
ln (link) 하드링크(복사)
소프트링크(윈도 바로가기)
ln -s /dev/rhdisk01 /asm/raw01 16  
ls (list) 파일 및 디렉토리 목록 출력 ls -alrhS 5 ~ 7  
man (manual) 명령어 옵션 및 의미 출력 Enter(1line), Spacebar(1page), b(-1page), q(quit) 5  
mkdir 디렉토리 생성 mkdir -p /data/oracle/product/11g 8  
more  문서 내용 페이지 단위 화면 출력 Enter(1line), Spacebar(1page), b(-1page), q(ctrl+c) 14  
mv (move) 파일 이동 또는 이름 변경 mv -i initorcl.ora initorcl.ora.140401 12  
passwd 패스워드 변경 passwd oracle 31  
pwd  현재 디렉토리 경로 출력   9  
rm 파일 또는 디렉토리 삭제 rm -rf /data/oracle/product/11g 13  
rmdir 디렉토리 삭제 rmdir -rf /data/oracle/product/11g 8  
tar 파일 묶음(리눅스는 옵션으로 압축 지원) tar cvf OPatch.tar.140331 ./OPatch 19 ~ 20  
tail 문서의 마지막 ?줄 화면출력(기본10줄) tail -f alertorcl.log
tail –n 10000 alert_SID.log > pnd_SID_alert_0807_0904.pnd
15  
touch 용량이 0인 파일 생성 touch -t 05011230 a.txt 9  
uname 시스템 정보 확인 uname -a  # 시스템 정보 전체 확인
시스템 정보 부분 확인 :
uname -a ; uname -s ;
uname -n ; uname -o ;
uname -i ; uname -anr ; uname -opr
[다른 방법]
# cat /proc/version
# cat /etc/redhat-release
# cat /etc/issue.net
[Bit 확인] getconf LONG_BIT ; file /sbin/init
  http://cafe.naver.com/beamrock/70
wc (word count) 특정 문서or결과물에서 단어or줄수 계산 wc -l .bash_profile 15  
사용자
관리
groupadd 새로운 그룹 생성 groupadd -g 501 dba
[확인] cat/etc/group | grep dba
28  
groupmod 그룹 정보 변경 groupmod -g 502 -n oper dba 28  
groupdel 그룹 삭제 groupdel oper 또는 /etc/group 직접 편집과 같은 효과 29  
useradd 일반 사용자 계정 생성 useradd -u 601 -g  dba -G oper
-d /home/oracle -s /bin/bash oracle
옵션 설정 없이 생성시 /etc/skel에 있는 파일들을
홈디렉토리로 복사
[확인] cat /etc/passwd
29 ~ 30  
usermod 사용자 계정 정보 변경 usermod -u 602 -g dba -G oper,oinstall -l oracle2 oracle 32  
userdel 일반 사용자 계정 삭제 userdel -r oracle 
-- oracle 홈디렉토리까지 삭제
userdel -f oracle 
-- oracle 계정이 로그인되어 있어도 강제로 삭제 가능 
32 http://cafe.naver.com/beamrock/77
권한
관리
chmod 사용 권한만 변경 chmod -R 775 /u01   # SetUID 설정
chmod -R 4755 /u01
-- 4(SetUID) ;  2(SetUID) ; 1(Sticky Bit)
[참고]소유자 권한이 S인 경우
: 실행권한이 없는 상태에서 SetUID 지정한 경우
36 ~ 38  
chown 소유자 또는 그룹 사용 권한 변경 chwon -R oracle:dba /u01 38  
디스크
관리
df (disk free) 디스크 및 해당 디렉토리 이름 출력 df -h ; df -m ; df -k 41  
du (disk usage) 특정 디렉토리의
하위 디렉토리별 용량 출력
du -h /u01 --max-depth=1 41 ~ 42  
fdisk 물리적 디스크 및
파티션 작업(분할, 합병 등)
fdisk -l ; fdisk /dev/sdb 42 ~ 46  
mkfs 디스크 및 파티션 포맷 mkfs.ext3 /dev/sdb1 46  
mount 디스크 및 파티션과 디렉토리 연결 mount /dev/sdb1 /u01 또는 /etc/fstab 등록 47  
LVM (Logical Volume Manager) 작업시 fdisk 작업시 t, 8e 부분 추가 48 ~ 49  
pvcreate LVM용 디스크를 물리적 볼륨으로 변환 pvcreate /dev/sdb1 50  
vgcreate 물리적 볼륨을 1개의 볼륨그룹으로 합병 vgcreate vol1 /dev/sdb1 /dev/sdb2 /dev/sdb3 50  
lvcreate 볼륨그룹의 파티션 분할 lvcreate -L 1500MB -n vote01 vol1 50  
vgdisplay 볼륨그룹의 구성 공간 확인 vgdisplay 51  
lvscan 생성되어 있는 논리적 볼륨 그룹 조회 lvscan 51  
vgscan 생성된 볼륨그룹 조회 vgscan 52  
lvdisplay 생성된 논리적 볼륨 조회 lvdisplay 52  
vgextend 생성된 VG에 PV 추가 vgextend VG 새PV명 53  
vgreduce 생성된 VG에 PV 삭제 vgreduce VG PV명 53  
lvextend 생성된 LV의 용량 확장 lvextend -L +200M /dev/vol1/lv1 53  
lvreduce 생성된 LV의 용량 축소 lvreduce -L -500M /dev/vol1/lv1 53  
lvremove LV 삭제 lvremove lv1 53  
vgremove 볼륨 그룹 삭제 vgremove vol1 53  
프로세스
관리
ps 프로세스 목록 조회 ps -ef | grep ora 57  
pstree 프로세스 Tree 형태 출력 pstree 57  
sar CPU별 사용량 파악 sar -P ALL -u 3 100
-- 전체 CPU에 대한 사용률을 3초 간격으로 100번 조회
   
top 리눅스 작업관리자 top -c 
Shift + P(CPU사용량순)
Shift + M(메모리 사용량순)
58 http://cafe.naver.com/beamrock/65
kill 프로세스 종료 kill -9 PID -- 강제종료
kill PID -- 정상종료
kill -1 PID  -- 강제종료후재시작
58 ~ 59  
로그
관리
rpm -qa RPM 설치 여부 조회 rpm -qa | grep openssh 59  
rpm -Uvh  RPM find 검색 후 설치 find /media -name openssh*
rpm -Uvh openssh~
rpm -Uvh openssh~.rpm --nodeps  
-- 의존성 문제 생겨도 무시하고 설치
rpm -Uvh openssh~.rpm --force  
-- 강제로 한번더 설치
60 ~ 61  
rpm -e  RPM 제거 rpm -e openssh~ 60  
스케줄링
관리
crontab -e cron 작업 내역 등록 * 5 * * * /etc/cron.d/expdp.sh > /dev/null 2>&1  
# 매일5시 expdp.sh 파일을 수행.
출력결과(1)과 에러(2) 등을 /dev/null로 보냄
[참고] /var/spool/cron/USERNAME 으로 저장됨.
63  
crontab -l cron 작업 목록 출력 crontab -l 63  
crontab -r cron 모든 작업 내역 삭제 crontab -r 63  
 
 
Last Updated : 2014-04-01   /  작성자 : beamrock@naver.com
구분 서비스명 서비스 구분 예제 설명 예제 참고 레퍼런스
패키지
관련
yum 설치 OEL5 이상은 대부분 기본 설치됨.
보통 OEL4 버전 이하에서 yum 수동 설치함
(오른쪽 6개의 rpm 패키지 설치해야함)
libsqlite-3.2.1-1.i386.rpm
sqlite2-2.8.17-2.el4.remi.i386.rpm
python-elementtree-1.2.6-7.el4.rf.i386.rpm
python-sqlite-0.5.0-1.2.el4.rf.i386.rpm
python-urlgrabber-2.9.6-1.2.el4.rf.noarch.rpm
yum-2.4.2-0.4.el4.rf.noarch.rpm
http://cafe.naver.com/beamrock/120
세팅 repo 추가
URL을 못찾는다는 메시지가 있을 경우에는
상대 경로는 절대 경로 이름으로 바꾼다.
[root@rac2 yum.repos.d]# cd /etc/yum.repos.d
[root@rac2 yum.repos.d]# wget -P /etc/yum.repos.d/ http://jmnote.com/centos/Daum.repo
[root@rac2 yum.repos.d]# vi Daum.repo
[Daum]
name=Daum
baseurl=http://ftp.daum.net/centos/$releasever/os/$basearch/

gpgcheck=0
enable=1
활용법 패키지 설치 yum install 패키지명
트러블슈팅 Redhat 계열에서 CentOS Yum 사용하기   http://cafe.naver.com/beamrock/271
rpm 설치 패키지 설치 방법 # rpm -Uvh 패키지명   - 패키지명이 정확한 명이어야 함.  
검색 설치된 패키지 조회 # rpm -qa | grep 패키지명 -- 패키지명이 일부분이어도 상관없음  
삭제 설치된 패키지 삭제 # rpm -e 패키지명  -- 패키지명이 정확한 명이어야 함  
패키지 의존성 상관없이 삭제 # rpm -e --nodeps 패키지명  
트러블슈팅 rpm 삭제가 안될 경우 # vi /etc/rpm/macros.local
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
# rpm -e mysql-4.1.12-3.RHEL4.1.i386 --nodeps
http://cafe.naver.com/beamrock/267
환경
설정
Locale
설정
폰트 설치 yum을 이용하여 한글 폰트 설치 [root@rac1 yum.repos.d]# yum install fonts-korean -y http://esheep.net/78
http://ibabo.tistory.com/65
http://cafe.naver.com/beamrock/92
로케일 확인   # echo $LANG   -- 현재 설정된 로케일 확인
# locale -a   --  설정 가능한 로케일 확인 명령어
# cat /usr/share/locale/locale.alias   -- locale alias 조회
한글 세팅 1.한글입력 환경 설정
2.X윈도우에서 키보드 레이아웃 설정
1. $ su - root
# vi /etc/sysconfig/i18n
LANG="ko_KR.eucKR"
SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"

2. 작업표시줄에서 System - Preferences - Keyboard 클릭
Layouts 탭 클릭 - Add 버튼 클릭 - Korea, Republic of  추가
Korea, Republic of 옆의 Default 체크박스를 체크 - Close
로케일 변경 임시적으로 로케일 변경시에 활용 한글 로케일 설정(3개 동일 효과) * locale alias 참조
# export LANG="korean"
# export LANG="korean.euc"
# export LANG="ko_KR"
네트워크
설정
네트워크
정보조회
IP 조회 ipconfig -a http://cafe.naver.com/beamrock/121
서버 라우팅 경로 확인 netstat -rn
게이트웨이 또는 IP 패킷 송수신 확인 ping 192.168.0.1
IP변경 netcfg 유틸리티를 이용하는 방법 별도 패키지 필요
netconfig 유틸리티를 이용하는 방법 별도 패키지 필요
setup 유틸리티를 이용하는 방법 # setup
직접 명령어로 수작업하는 방법 호스트네임 및 게이트웨이 변경
# vi /etc/sysconfig/network
interface 장치 파일 변경
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
서비스 재시작(설정 변경 적용) # /etc/rc.d/init.d/network restart
또는
# service network restart
NAS마운트 원격지 폴더 mount 방법 # mount -t nfs 112.109.108.52:/home/testnas /testnas  
텔넷설정 RPM확인 미설치시 RPM 설치 # rpm -qa | grep telnet
# yum install telnet
http://cafe.naver.com/beamrock/315
환경설정 환경 파라미터 수정 # vi /etc/xinetd.d/telnet
dsiable = yes 부분을 no로 변경함
서비스재시작 변경 사항 적용 # service xinetd restart
트러블슈팅 방화벽 확인 # setup    -- 방화벽 설정 부분의 방화벽 비활성화
# system-config-securitylevel   -- SELinux 보안 설정 조정
root 접속 제한 해제
(기본적으로 root접속 불가능)
# vi /etc/securetty
pts/0 부터 pts/9 까지 추가 후 서비스 재시작
FTP설정 RPM확인 미설치시 RPM 설치 # rpm -qa | grep vsftp
# yum install vsftpd
http://cafe.naver.com/beamrock/316
서비스 시작 ftp 서비스 시작 또는 재시작 # service vsftpd start
자동시작설정 setup 유틸리티의 시스템 서비스 등록 또는
chkconfig 설정
# chkconfig --level 2345 vsftpd on
트러블슈팅 root 접속 제한 해제
(기본적으로 root접속 불가능)
# vi /etc/vsftpd/vsftpd.conf
userlist_enable=YES 부분을 NO로 만든다.
또는
# vi /etc/vsftpd/ftpusers와 # vi /etc/vsftpd/user_list
root 주석 처리
정보
조회
관련
하드웨어
확인
CPU 관련 CPU 모델 확인 # grep "model name" /proc/cpuinfo | tail -1
또는
# dmesg | grep CPU
http://cafe.naver.com/beamrock/131
CPU 코어 전체 개수 확인 # grep -c processor /proc/cpuinfo
물리 CPU 수 확인 # grep "physical id" /proc/cpuinfo | sort -u | wc -l
processor는 0부터 시작함. 즉 0이 표시되면 1개라는 뜻.
CPU당 물리 코어 수 # grep "cpu cores" /proc/cpuinfo | tail -1
CPU 정보 전부 확인 # vi /proc/cpuinfo
기타 메모리 정보 # cat /proc/meminfo
# dmesg | grep memory
# free -m
서버 모델 확인 # dmidecode | grep Name
시리얼 번호 확인 # dmidecode | grep Serial
하드디스크 정보 scsi : # cat /proc/scsi/scsi
ide : # cat /proc/ide/hda/model
raid : # cat /proc/mdstat 
네트워크 장비 관련 # cat /proc/net/netlink 
모든 정보 보기 # dmesg
기타 하드웨어 장비 확인 전체검색 : cat /etc/sysconfig/hwconf
상세검색 :
# cat /etc/sysconfig/hwconf | grep Mouse
# cat /etc/sysconfig/hwconf | grep Graphic
# cat /etc/sysconfig/hwconf | grep Net
로그
확인
콘솔로그 콘솔에 뿌려지는 로그(관련데몬 : kernel) # cat /dev/console http://cafe.naver.com/beamrock/136
시스템로그 리눅스 kernel 로그 및 주 로그(syslogd) # cat /var/log/messages
TCPD로그 xinetd에 의한 로그(xinetd) # cat /var/log/secure
메일로그 메일로그(sendmail / qpopper) # cat /var/log/maillog
Cron로그 crond에 의한 로그(crond) # cat /var/log/cron
부팅로그 시스템 부팅시 로그(boot) # cat /var/log/boot.log
# cat /var/log/dmesg
FTP로그 ftp 로그(ftpd) # cat /var/log/xferlog
로그 웹서버로그(rpm)
웹서버로그(컴파일)
# cat /var/log/httpd/*
# cat /usr/local/apache/logs/*
네임서버로그 네임서버로그(구버전)
네임서버로그
메모리관련통계로그
# cat /var/log/named.log
# cat /var/named/data/named.run
# cat /var/name/data/named_mem_stats.txt
로그로그 전체 로그인 기록 # cat /var/log/utmp
각 계정의 가장 최근 로그인 기록 # cat /var/log/lastlog
현재 로그인 사용자에 대한 기록 # cat /var/log/wtmp
정보
수집툴
활용
sosreport RHEL 4.6 이상 시스템 정보 수집 툴 # yum install sos
# sosreport
# cd /tmp
# tar xvf /tmp/sosreport-xxxx-xxxxxx.tar.bz2
http://cafe.naver.com/beamrock/137
sysreport RHEL 4.6 이하 시스템 정보 수집 툴 # sysreport -norpm  -- rpm 버전은 제외하고 레포트 생성 http://cafe.naver.com/beamrock/138

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,