[root@ localhost /]# uname -a
Linux Localhost 2.6.18-92.el5 #1 SMP The Jun 10 18:49:47 EDT 2008 i686 i686 i386 GUN/Linux
<<< 32Bit 일 경우 출력되는 메시지
Linux Localhost 2.6.18-92.el5 #1 SMP The Jun 10 18:49:47 EDT 2008 x86_64 x86_64 x86_64 GUN/Linux
<<< 64Bit 일 경우 출력되는 메시지
[root@localhost /]# cat /etc/issue.net
CentOS release 5.4 (Final)
Kernel \r or an \m
USB Flash Disk의 기본 파일시스템은 대부분 'vfat'를 사용합니다. USB Flash Disk는 커널의 의해서 SCSI 장치를 이용하여 접근 대부분 /dev/sd* 을 사용할 것입니다.
1) USB 마운트
[root@localhost /]# mkdir /mnt/usb
[root@localhost /]# mount -t vfat /dev/sdb /mnt/usb/
[root@localshot /]# fdisk -l
Disk /dev/sda : 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Unit = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 33 265041 83 Linux
/dev/sda2 34 164 1052257+ 83 Linux
/dev/sda3 165 817 5245222+ 83 Linux
/dev/sda4 818 1044 1023377+ 5 Extended
/dev/sda5 818 948 1052226 83 Linux
/dev/sda6 949 1013 522081 82 Linux swap / solaris
Disk /dev/sdb: 16.0 GB, 8589934592 bytes <- USB가 /dev/sdb로 올라온 것을 확인할 수 있음
1 heads, 32 sectors/track, 978944 cylinders
Units = cylinders of 32 * 512 = 16384 bytes
This doesn't look like a partition table
Probably you selected the wrong device.
Device Boot Start End Blocks Id System
/dev/sdb1 2 978882 15662080 c W95 FAT32 (LBA)
Partition 1 does not end on cylinders boundary.
2) USB 데이터 확인
[root@localhost /]# ll /mnt/usb/
3) USB 언마운트
[root@localhost /]# umount /mnt/usb
4) 추가사항
[root@localhost /]# umount /mnt/usb
umount: /mnt/usb: device is busy
umount: /mnt/usb: device is busy
언마운트가 되지 않고 위와 같은 오류가 발생할 경우가 있습니다.
이 오류의 원인은 사용자가 마운트 된 디렉토리 내부에 있는 경우이거나, 마운트 시킨 장치와 관련된 프로세서가 살아있는 경우입니다.
디렉토리 내부에서 빠져나온 후, 언마운트를 시키거나 안될 시에는 아래와 같이 /mnt/usb 와 관련된 프로세서를 죽인 후, 언마운트 시키면 됩니다.
[root@localhost /]# fuser -km /mnt/usb
h : # <<< 진행사항 표시
U : Update <<< 수정
--replacepkgs <<< 이미 설치된 패키지 무시하고 설치
--replacefiles <<< 이미 설치된 파일 무시하고 설치
--oldpackage <<< 이전 패키지 무시하고 설치
--force <<< 강제 설치
--nodeps <<< 의존성 무시하고 설치
--test <<< 설치 전 테스트
e : erase <<< 삭제
q : query <<< 조회
V : Verify <<< 검증
b : build
간단하게 예를 들어, 아래와 같이 rpm 설치 명령어를 사용합니다.
# rpm -ivh xxx.rpm <<< xxx.rpm 파일을 설치하는데 자세히, 진행사항까지 표시해달라는 뜻입니다.
# rpm -ivh xxx.rpm --force <<< xxx.rpm 파일을 설치하는데 자세히, 진행사항까지 표시하며, 강제로 설치하라는 뜻입니다.
# rpm -qa | grep xxx <<< xxx 단어를 포함하는 설치된 패키지를 표시합니다.
# rpm -qi xxx <<< 설치된 xxx 패키지에 대한 정보를 표시합니다.
# rpm -ql xxx <<< 설치된 xxx 패키지가 설치한 목록을 표시합니다.
RPM 버전 확인 명령어입니다.
# rpm --version
1) USB Mount
# fdisk -l <- USB 인식 확인
# mkdir /media/usb <- USB 디렉토리 생성
# monut /dev/sdb1 /media/usb <- USB 마운트
2) DSA Installable File Copy
# cd /media/usb <- USB 디렉토리로 이동
# cp ibm_utl_dsa_xxxi_sles_i386.rpm /temp <- DSA Installable File을 /temp 디렉토리로 복사
3) USB Unmount
# umount /media/usb <- USB 언마운트
# cd /media/usb <- UBS 언마운트 확인 후, USB 제거
4) DSA Install
# rpm -ivh ibm_utl_dsa_xxxi_i386.rpm <- DSA 설치
5) DSA Run
# cd /opt/IBM/DSA <- DSA 디렉토리로 이동
# ./collectall -v <- DSA 실행, HTML 파일로 생성
6) DSA Log File Copy
# cd var/log/IBM_Support <- DSA Log 디렉토리로 이동
# cp -rf 9999XXX_99XXXX_20100000-0000 /media/usb <- USB로 Log 파일 복사
a : 다른 사용자의 프로세서 표시
x : 터미널 제어없이 프로세서 현황 표시
아래는 ps -aux 명령어를 실행한 화면입니다.
[root@localhost /] ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 1.0 0.2 2060 652 ? Ss 10:00 0:01 init [3]
root 2 0.0 0.0 0 0 ? S< 10:00 0:00 [migration/0]
root 3 0.0 0.0 0 0 ? SN 10:00 0:00 [ksoftirqd/0]
~
~
- USER : 프로세서 실행한 소유자의 계정
- PID : 프로세서 ID, 각 프로세서의 고유값
- %CPU : 프로세서가 사용한 CPU 사용량
- %MEM : 프로세서가 사용한 MEMORY 사용량
- VSZ :
- RSS : 프로세서의 의해 사용되는 실제 메모리 용량(KB)
- TTY : 제어 터미널(pst/1 : 터미널 1)
- STAT : 프로세서 상태
P - 수행가능/수행중
T - 일시정지
D - 디스크 입출력 대기
S - 20초 미만의 짧은 SLEEP
I - 20초 이상의 긴 SLEEP
Z - 좀비 프로세서
- START : 프로세서 시작 시간
- TIME : 현재까지 실행된 CPU 시간
- COMMAND : 명령어의 이름
리눅스 Consol 모드에서 하드웨어 점검을 할려면 하드웨어 관련 명령어를 알고 있어야 합니다.
하지만 굳이 명령어를 외우지 않더라도 '/proc' 디렉토리만 확인해 보더라도 시스템의 정보 및 상태를 쉽게 확인할 수가 있습니다.
※ proc 디렉토리 내부에 관한 설명
/proc/asound : 사운드 정보
/proc/cpuinfo : CPU 정보(제조회사, 모델, 타입, 성능 등)
/proc/device : 커널에 설정되어 있는 장치 정보
/proc/dma : DMA 채널 정보
/proc/filesystems : 커널에 설정되어 있는 파일시스템 정보
/proc/ide : 연결된 IDE 인터페이스, 디바이스 정보
/proc/interrupts : 인터럽트 정보
/proc/ioports : I/O 포트 정보
/proc/loadavg : 시스템 부하량(Load Average) 정보
/proc/meminfo : 메모리 사용량에 관한 정보
/proc/modules : 커널 모듈 정보
/proc/partitions : 파티션 분할 영역 정보
/proc/pci : PCI 버스와 설치된 PCI 카드 및 디바이스 정보
/proc/scsi/scsi : SCSI 인터페이스 및 디바이스 정보
/proc/stat : 시스템 상태 정보
/proc/uptime : 접속 시간 정보
/proc/version : 커널 버전 정보
1. 설치 된 전체 패키지 확인
# rpm -qa | more
2. 특정 설치 패키지 확인
# rpm -qa | grep <Package Name>
3. 초기 설치 패키지 정보 확인
/tmp/install.log 파일을 보면 리눅스 설치 초기시에 설치된 패키지를 확인할 수 있습니다.
리눅스 텍스트 모드로 설치하지 않아 'X-윈도우'로 부팅될 경우 텍스트 모드로 부팅되도록 설정을 변경할 수 있습니다.
아래 설정 파일은 root 계정으로 접근해야 수정이 가능합니다.
아래의 설정 파일을 vi 에디터를 이용하여 편집합니다.('X-윈도우' 상태일 경우에는 터미널 창을 이용하여 편집합니다.)
[minimemo@localhost /]# su -
********
[root@localhost /]# vi /etc/inittab
아래에 표시된 라인을 다음과 같이 수정합니다.
~
id:5:initdefault: <<< id:3:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
~
※ 리눅스 부팅 모드에 관한 설명
리눅스는 6가지의 부팅 모드가 있습니다. 그 중 3번이 텍스트 모드 부팅이며, 5번이 X-윈도우 모드 부팅입니다. 그 외 나머지는 잘 사용하지 않는 모드이며, 자세한 설명은 설정파일에 작성되어 있습니다.
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full Multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
리눅스 디렉토리 및 파일에 대한 사용자 권한 설정 방법입니다.
[root@localhost /]# chmod [-옵션] [퍼미션] [디렉토리명]
x (실행권한) : 1
w (쓰기권한) : 2
r (읽기권한) : 4
rwx rwx rwx
User Group Guest
아래는 변경 전 예시입니다.
[root@localhost /]# ll
total 138
drwxr-xr-x 2 root root 4096 Oct 20 10:00 bin
drwxr-xr-x 2 root root 1024 Oct 10 00:40 boot
drwxr-xr-x 11 root root 3940 Oct 20 13:00 dev
~
아래는 변경 후 예시입니다.
[root@localhost /]# chmod 777 bin
[root@localhost /]# ll
total 138
drwxrwxrwx 2 root root 4096 Oct 20 10:00 bin
drwxr-xr-x 2 root root 1024 Oct 10 00:40 boot
drwxr-xr-x 11 root root 3940 Oct 20 13:00 dev
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 9999 <- 패스워드 최대 사용 기간
PASS_MIN_DAYS 0 <- 패스워드 최소 사용 기간
PASS_MIN_LEN 5 <- 패스워드 생성 최소 길이
PASS_WARN_AGE 7 <- 패스워드 만료 전 경고 기간
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500 <- 사용자 추가 시, UID 최소 값
UID_MAX 60000 <- 사용자 추가 시, UID 최대 값
#
# Min/max values for automatic uid selection in groupadd
#
GID_MIN 500 <- 그룹 추가 시, GID 최소 값
UID_MAX 60000 <- 그룹 추가 시, GID 최대 값
#
# If defined, this command is run when removing a user.
# If should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument.)
#
#USERDEL_CMD /user/sbin/userdel_local
#
# If useradd should create home directories for users by default
# On RH systems, we do. this option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME yes <- HOME 디렉토리 생성 여부 설정
# The permission mask is initialized to this value. If not specified,
# The permission mask will be initialized to 022.
UMASK 077 <- 사용자 디렉토리 생성 시, UMASK 값 설정
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes
# USE MD5 or DES to encrypt password? Red Hat use MD5 by default.
MD5_CRYPT_ENAB yes
시스템이 네트워크에 연결되어 있다면, 다음과 같이 한글 표준 시간 서버에서 표준 시간을 받아서 설정할 수 있습니다.
[root@localhost /]# rdate -s time.kriss.co.kr
시스템의 네트워크가 온라인 상태가 아니라면 아래와 같이 수동으로 설정할 수도 있습니다.
[root@localhost /]# date -s "2009-01-01 10:00:00"
1. tar
'tar'는 여러개의 파일을 하나로 묶는 명령어입니다. 거의 대부분 'tar'는 'gzip' 이나 'bzip' 등과 같은 압축 유틸리티과 함께 사용하는 것이 일반적이다. 하지만 'tar' 추가옵션을 이용하여 'tar' 명령만으로도 효율적인 파일 압축 관리를 할 수 있습니다. 'tar' 명령어는 절대 압축명령어가 아닙니다.
# tar [옵션] [묶음파일명] [파일 또는 디렉토리]
[Option] - c : 여러개의 파일을 하나의 파일로 묶을 때 사용
- d : 묶음파일(.tar)과 해당 파일시스템간의 차이점을 확인 하고자 할 때 사용
- r : 묶음파일(.tar)에 파일을 추가할 경우 사용
- t : 묶음파일(.tar)의 내용을 확인하고자 할 때 사용
- f : 묶음파일(.tar)을 사용할 때 반드시 사용
- p : 묶음파일(.tar)을 생성할 때 원본 파일의 퍼미션을 그대로 유지시킴
- v : 진행되는 과정을 보여줌
- Z : compress로 압축이나 해제 할 수 있는 옵션
- z : gzip로 압축이나 해제 할 수 있는 옵션
※ 예시
[root@localhost /]# tar -cvf home.tar /home <<< /home 디렉토리 내의 모든 내용을 home.tar 묶음 파일로 생성
[root@localhost /]# tar -zcvf home.tar.gz /home <<< /home 디렉토리 내의 모든 내용을 gzip을 이용하여 압축. 확장자가 .tar의 의미는 묶음 파일이며,확장자가 .tag.gz 또는 .tgz는 묶음 파일을 다시 gzip으로 다시 압축한 파일을 의미
[root@localhost /]# tar -xvf home.tgz <<< home.tar 묶음 파일의 묶음을 해제
[root@localhost /]# tar -zxvf home.tar.gz /home <<< home.tar.gz 압축 파일의 압축 및 묶음을 해제
2. gzip, gunzip
'gzip'은 압축을 하는 명령어이고, 'gunzip'은 압축을 해제하는 명령어입니다. 참고로 'gzip-d'는 'gunzip'가 동일한 명령어입니다.
# gzip [옵션] [압축파일]
[Option] - d : 압축 해제
- * : 현재 디렉토리 내의 모든 파일을 한번에 각각 압축, 기존 파일 삭제 후 gz 파일만 남김
- f : 강제 압축하기
- l : 압축 효율 확인
- S : 임의 확장자 지정
- r : 특정 디렉토리 내의 모든 파일을 압축
[root@localhost /]# gzip test.txt <<< test.txt 파일을 압축
[root@localhost /]# gunzip text.txt.gz <<< test.txt.gz 파일의 압축을 해제
3. bzip2
'bzip2'와 'bunzip2'는 'gzip', 'gunzip' 이 후에 나온 압축 효율이 뛰어난 압축 유틸리티입니다. compress로 압축된 압축 파일은 uncompress로 풀어야하며, gzip로 압축된 파일은 gunzip(= gzip -d)로 풀어야 하는 것 처럼, bzip2로 압축된 파일은 반드시 bunzip2(= bzip2 -d)로 풀어야 합니다.
# bzip2 [옵션] [압축 후의 파일명] [압축할 파일 또는 디렉토리]
[Option] - d : 압축 해제
- * : 여러 개의 파일을 동시에 압축 또는 해제
- f : 동일한 압축 파일명이 존재하면 덮어씀
[root@localhost /]# bzip2 test.txt <<< test.txt 파일을 압축
[root@localhost /]# bzip2 -d test.txt.bz2 <<< text.txt.bz2 파일의 압축을 해제
/etc/sysconfig/network-script 디렉토리 아래를 살펴보면, 시스템에 설치 된 Ethernet Card 를 확인할 수가 있습니다. ifcfg-eth0, ifcfg-eth1 등 추가 된 카드를 쉽게 확인할 수 있습니다. 이 파일을 vi 에디터로 열어보면 아래와 같은 내용을 확인할 수 있습니다.
[root@localhost /]# vi /etc/sysconfig/network-script/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
onBoot=yes
사용 중인 IP를 변경하거나, 신규 이더넷카드 추가 시에는 ifcfg-eth 파일을 수정한 후에 반드시 네트워크 서비스를 Restart 해야합니다.
[root@localhost /]# service network restart
- 시스템크론 설정디렉토리 : /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly
- 사용자크론 설정파일 : /var/spool/cron/* (사용자계정명과 동일한 파일명으로 존재함.)
- 사용자크론설정 명령어 : /usr/bin/crontab
- cron 실행내용 기록되는 로그파일 : /var/log/cron
3. 시스템 cron 의 설정
[root@localhost /]# vi /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
4. 사용자 cron 의 설정
[root@localhost /]# crontab -l
00 01 * * * su - root /usr/bin/rdate -s time.bora.net && /sbin/hwclock -w
00 03 * * * su - root '/root/backup.sh' >& /dev/null
00 08 * * * su - root '/root/check_of_system.sh' > /root/COS_result
5. 각 필드의 의미
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
필드1 : 분(minitues)을 의미, 0~59까지 입력
필드2 : 시(hour)를 의미, 0~23까지 입력
필드3 : 일(day)를 의미, 1~31까지 입력
필드4 : 월(month)를 의미, 1~12까지 입력
필드5 : 요일(weekday)을 의미, 0과 7은 일요일, 1은 월요일~6은 토요일
필드6 : 실행 권한과 실행 될 내용을 입력
※ 참고
* 기호 : 각 필드에 * 기호로 입력하면 해당 필드의 모든 값을 의미
- 기호 : 그 사이의 모든 값을 의미
, 기호 : 지정한 모든 값을 의미, 불규칙적인 값 지정 시 사용
passwd : all authentication token updated successfully.
3. 사용자 계정 정보 확인
[root@localhost /]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
~
※ 리눅스에서 사용자의 계정 정보는 '/etc/passwd' 파일에 저장되고, 사용자 계정의 비밀번호는 '/etc/shadow' 파일에 저장됩니다.
필드1 (root) : 사용자 계정
필드2 (x) : 비밀번호 (/etc/shadow 파일에 암호화되어 있습니다.)
필드3 (0) : 사용자 계정 UID
필드4 (0) : 사용자 계정 GID
필드5 (root) : 사용자 계정 이름
필드6 (/bin/hash) : 사용자 계정 로그인 쉘
4. 비밀번호 정보 확인
[root@ns root]# vi /etc/shadow
root:$1SLdEIMPHq$dWFwHGSsw3DGsGHS6MVNSLs:12345:0:99999:7:-100:99999:
~
필드1 (root) : 사용자 계정
필드2 ($1SLdE~) : 암호화된 비밀번호
필드3 (12345) : 'shadow' 파일 최종 수정일
필드4 (0) : 비밀번호 변경 최소일
필드5 (99999) : 비밀번호 변경 최대일
필드6 (7) : 비밀번호 만료 경고 기간
필드7 (-100) : 비밀번호 파기 기간 (비밀번호 파기 후 계정 비활성 기간)
필드8 (99999) : 계정 만료 기간
필드9 (Blank) : 예약 필드
좋은 정보 입니다.
제가 작성한 자료는 아니구요~ 후배 CGM 의 자료 입니다.
좋은 정보라서 공유합니다.
'My Retain Tip > X Series' 카테고리의 다른 글
Booted from back-up UEFI image 메시지 복구방법 (0) | 2011.12.16 |
---|---|
예전 RAID 카드 SUPPORT CD 7.0 (0) | 2011.12.11 |
44X1948 QLogic 8Gb Fibre Channel 1Xe PCI-Express Expansion Card (CIOv) (option) (0) | 2011.12.07 |
부품리스트 System service parts - IBM IntelliStation M Pro (Type 6218) (0) | 2011.12.06 |
<CPU Package ACPI C-State Limit> 란? (0) | 2011.12.05 |