'컴퓨터 서적 정리'에 해당되는 글 69건
- 2011.08.13 [Chap10 #07] - Hardware 조사
- 2011.08.13 [Chap10 #06] - Straight to the Kernel
- 2011.08.13 [Chap10 #05] - 시작과 런 레벨 제어
- 2011.08.13 [Chap9 #02] - 실행중인 프로세스 찾기(pgrep, fuser)
- 2011.08.13 [Chap9 #01] - 활성화 프로세스 보기(ps, top)
- 2011.08.12 [Chap8 #02] - 네트워크를 통해 백업하기(ssh, rsync)
- 2011.08.11 [Chap8 #01] - tar를 사용하여 백업 아카이브(archive) 만들기
- 2011.08.10 [Chap7 #04] - 파일시스템 검사하기 (badblocks , fsck)
♧ lspic 명령어를 사용하여 컴퓨터의 PIC 디바이스 정보 나열
$ lspic | PIC 하드웨어 항목나열 |
00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02) 00:01.0 PCI bridge: Intel Corporation 82865G/PE/P PCI to AGP Controller (rev 02) 00:06.0 System peripheral: Intel Corporation 82865G/PE/P Processor to I/O Memory Interface (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02) … | |
$ lspci -v | 더 자세한 정보화 함께 PCI 하드웨어 항목 나열 |
$ lspci -vv | 더욱 자세한 정보와 함께 PCI 하드웨어 항목 나열 |
♧ dmidecode 명령어를 사용하여 컴퓨터 하드웨어 컴포넌트 정보 표시.
$ sudo dmidecode | less | 하드웨어 컴포넌트 나열 |
$ sudo dmidecode 2.7 SMBIOS 2.3 present. 50 structures occupying 1851 bytes. Table at 0x000F9D30.
Handle 0x0000, DMI type 0, 20 bytes BIOS Information Vendor: American Megatrends Inc. Version: 0EAS.4002 Release Date: 07/05/2005 Address: 0xF0000 Runtime Size: 64 kB … |
♧ hdparm 명령어를 사용하여 하드웨어 정보와 연관된 정보를 변경 및 보기.
$ sudo hdparm /dev/sda | 하드디스크 설정 표시(SATA or SCSI drive) |
/dev/sda: multcount = 16 (on) IO_support = 1 (32-bit) readonly = 0 (off) readahead = 256 (on) geometry = 9733/255/63, sectors = 156368016, start = 0 |
☞ 하드디스크의 기능 정보를 보는 것은 안전하지만, 일부러 설정을 변경하는 것은 하드디스크에 잠재적 위험.
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap11 #07] - 네트워크 문제 해결 (0) | 2011.08.17 |
---|---|
[Chap11 #02] - 네트워크 인터페이스 카드 관리 (0) | 2011.08.13 |
[Chap10 #06] - Straight to the Kernel (0) | 2011.08.13 |
[Chap10 #05] - 시작과 런 레벨 제어 (0) | 2011.08.13 |
[Chap9 #02] - 실행중인 프로세스 찾기(pgrep, fuser) (0) | 2011.08.13 |
♧ 현재 시스템에서 실행중인 커널이 무엇인지 확인.
$ uname -r /* 커널 릴리즈 이름 표시 */ 2.6.38-10-generic $ uname -a /* 가능한 모든 커널 정보 표시 */ Linux Xubun11 2.6.38-10-generic #46-Ubuntu SMP Tue Jun 28 15:05:41 UTC 2011 i686 i686 i386 GNU/Linux |
♧ dmesg 명령어를 사용하여 커널 ring buffer 내용 표시.
~$ dmesg | less [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.38-10-generic (buildd@vernadsky) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ) #46-Ubuntu SMP Tue Jun 28 15:05:41 UTC 2011 (Ubuntu 2.6.38-10.46-generic 2.6.38.7) [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) …[중략]… |
☞ 커널프로세스에 대한 다른 정보는 특히 /var/log 파일, 메시지 파일에서 찾을 수 있다.
♧ lsmod 명령어를 사용하여 로드된 모듈의 이름, 크기, 기타 모듈들이 어떻게 사용 되는지 출력.
$ lsmod …[중략]… snd_intel8x0 33213 3 snd_ac97_codec 105614 1 snd_intel8x0 ac97_bus 12642 1 snd_ac97_codec snd_pcm 80042 2 snd_intel8x0,snd_ac97_codec nouveau 621970 2 …[중략]… tvaudio 32495 0 snd_seq_midi_event 14475 1 snd_seq_midi tda7432 13042 0 msp3400 31504 0 snd_seq 51291 2 snd_seq_midi,snd_seq_midi_event bttv 112771 0 …[중략]… |
♧ modinfo 명령어를 사용하여 특정 모듈에 관한 더 많은 정보 찾기.
$ modinfo snd filename: /lib/modules/2.6.38-10-generic/kernel/sound/core/snd.ko alias: char-major-116-* license: GPL description: Advanced Linux Sound Architecture driver for soundcards. author: Jaroslav Kysela <perex@perex.cz> license: GPL description: Jack detection support for ALSA author: Mark Brown <broonie@opensource.wolfsonmicro.com> srcversion: 01A2250C004B4DB5F156B0C depends: soundcore vermagic: 2.6.38-10-generic SMP mod_unload modversions 686 parm: slots:Module names assigned to the slots. (array of charp) parm: major:Major # for sound driver. (int) parm: cards_limit:Count of auto-loadable soundcards. (int) |
♧ modprobe 명령어를 사용하여 적재 모듈을 추가하거나 제거.
$ modprobe -l | grep c-qcam kernel/drivers/media/video/c-qcam.ko |
c-qcam을 찾아서, 모든 모듈 나열 |
$ sudo modprobe c-qcam |
QuickCam 컬라 QuickCam 모듈 로드 |
$ sudo modprobe -r c-qcam |
QuickCam 컬라 QuickCam 모듈 제거 |
♧ sysctl 명령어를 사용하여 실행중인 시스템의 커널 파라미터를 제어.
$ sudo sysctl -a | less kernel.sched_time_avg = 1000 kernel.sched_shares_window = 10000000 kernel.timer_migration = 1 … |
모든 커널 파라미터 나열 |
$ sudo sysctl kernel.hostname |
특정 파라미터 값 나열 |
$sudo sysctl -p |
Load parms from /etc/sysctl.conf |
$sudo sysctl -w kernel.hostname=joe |
kernel.hostname 값 설정 |
☞ /etc/sysctl.conf파일에 영구적으로 파라미터를 추가할 수 있다.
그래서 그룹이나 각 재부팅시 로드할 수 있다.
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap11 #02] - 네트워크 인터페이스 카드 관리 (0) | 2011.08.13 |
---|---|
[Chap10 #07] - Hardware 조사 (0) | 2011.08.13 |
[Chap10 #05] - 시작과 런 레벨 제어 (0) | 2011.08.13 |
[Chap9 #02] - 실행중인 프로세스 찾기(pgrep, fuser) (0) | 2011.08.13 |
[Chap9 #01] - 활성화 프로세스 보기(ps, top) (0) | 2011.08.13 |
♧ 커널이 시작된후에, init 프로세스를 시스템에서 제어한다.
init 프로세스는 시스템에서 처음으로 실행하는 프로세스(PID 1), /etc/inittab 파일 내용을
기반으로 직접 다른 프로세스를 시작, 기본 런 레벨, init 스크립트의 런 레벨 싱행 설정을 한다.
기본 런 레벨은 일반적으로 데스크탑 시스템은 5, 서버시스템은 3으로 설정.
대부분 리눅스 관리자는 기본적인 기능을 혼자하고 서비스가 선택된 레벨에서 켜져있는지
꺼져있는지 초점을 맞춘다. 우분투(Ubuntu)에서 런 레벨 스크립트를 시작하는 메커니즘과
비슷한 시스템은 System V Init 기능, AT&T의 유닉스 System V 시스템을 기반으로 한다.
우분투(Ubuntu)는 init 시스템보다 upstart 시스템을 사용하지만 init 혹은 telinit 명령어로 런 레벨을 여전히 변경한다. |
▶ 시스템 초기화 스크립트 및 런 레벨 변경 작업:
$ runlevel N 2 |
현재와 이전 런 레벨 표시 |
$ sudo init 5 |
현재 런 레벨 5(X 데스크탑)로 변경 |
$ sudo init q |
파일의 변경 프로세스 시작 혹은 중지 |
$ sudo /etc/init.d/ntp start Starting NTP server ntpd |
즉시 Samba 서비스 시작 |
◎ 각각의 서비스가 /etc/init.d 디렉토리에 있는 쉘 스크립트가 함께 제공 되며,
각각의 서비스는 시작 혹은 정지 옵션을 지원한다.
▶ service의 시작과 중시 서비스 사용법
$ /etc/init.d/ntp Usage: /etc/init.d/ntp {start|stop|restart|try-restart|…} |
옵션이 없으면 사용법 출력. |
$ sudo /etc/init.d/ntp restart Restart * Stopping NTP server ntpd * Starting NTP server ntpd |
NTP 서비스 재시작(처음에 정지, 그다 음 시작) [OK] [OK] |
$ sudo /etc/init.d/ntp try-restart Restart * Stopping NTP server ntpd * Starting NTP server ntpd |
NTP 서비스 재시작(이미 실행중) [OK] [OK] |
$ sudo /etc/init.d/ntp force-reload * Stopping NTP server ntpd * Starting NTP server ntpd |
설정파일 설정 다시 읽어들임 [OK] [OK] |
$ sudo /etc/init.d/ntp status * NTP server is running. |
NTP 서비스가 실행중인 검사(smbd) |
$ sudo /etc/init.d/ntp stop * Stopping NTP server ntpd |
NTP 서비스 정지 [OK] |
☞ /etc/init.d 안에 포함된 init 스크립트가 이러한 방법으로 시작하지만
모든 스크립트가 보여주는 것처럼 지원하지 않는다.
init 0(셧다운), init 6(재부팅)을 포함하여, 언제든지 런 레벨을 변경하기 위해 init 명령어를 사용할 수 있지만,
리눅스 정지를 위한 구체적인 명령어를 사용.
halt, reboot, poweroff, shutdown 같은 명령어의 이점은 셧다운 하기 전에 일부 기능을 멈추도록 하는 옵션이 포함.
$ sudo reboot |
컴퓨터 재부팅 |
$ sudo halt -n |
셧다운 하기 전에 하드드라이브에서 동기화를 하지 마라. |
$ sudo halt -h |
중단하기 전에 대기 모드에서 하드드라이브를 써라. |
$ sudo shutdown 10 |
유저에게 경고 후 10분 있다가 셧다운 |
$ sudo shutdown -r 10 |
유저에게 경고 후 10분 있다가 재부팅 |
$ sudo shutdown 10 'Bye!' |
셧다운 전에 유저에게 사용자 정의메시지를 보냄 |
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap10 #07] - Hardware 조사 (0) | 2011.08.13 |
---|---|
[Chap10 #06] - Straight to the Kernel (0) | 2011.08.13 |
[Chap9 #02] - 실행중인 프로세스 찾기(pgrep, fuser) (0) | 2011.08.13 |
[Chap9 #01] - 활성화 프로세스 보기(ps, top) (0) | 2011.08.13 |
[Chap8 #02] - 네트워크를 통해 백업하기(ssh, rsync) (0) | 2011.08.12 |
[ pgrep으로 실행중인 프로세스 찾기 ] |
|||||||
♧ pgrep을 사용하여 가장 기본적인 형태로, 이름을(또는 일부) 검색.
▶ 기본적인 사용 예제:
▶ ps 와 pgrep 결합 사용 예:
☞ 이러한 방법으로 입력한 프로세스 ID와 pgrep을 결합할 수 있다.
|
[ fuser로 실행중인 프로세스 찾기 ] |
||
♧ fuser명령은 프로세스의 파일 혹은 socket을 찾는데 사용. fuser 명령은 마운트된 파일시스템의(로컬 하드디스크 혹은 삼바 공유와 같은)프로세스를 찾는데 유용.
▶ /boot와 연관 되서 실행중인 프로세스 ID 출력
☞ 파일 오픈, 쉘 오픈 혹은 /boot안의 현재 디렉토리와 자식 프로세스의 쉘을 오픈할 수 있다. ☞ (-m 옵션) : 파일시스템 또는 블록장치를 사용하는 모든 프로세스 출력. ☞ (-a 옵션) : 모든 프로세스 출력. ☞ (-u 옵션) : 각 유저의 프로세스를 표시. ☞ (-v 옵션) : 정보 출력.
▶ 파일시스템의 파일을 오픈한 모든 프로세스에 시그널을 보냄(kill)
|
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap10 #06] - Straight to the Kernel (0) | 2011.08.13 |
---|---|
[Chap10 #05] - 시작과 런 레벨 제어 (0) | 2011.08.13 |
[Chap9 #01] - 활성화 프로세스 보기(ps, top) (0) | 2011.08.13 |
[Chap8 #02] - 네트워크를 통해 백업하기(ssh, rsync) (0) | 2011.08.12 |
[Chap8 #01] - tar를 사용하여 백업 아카이브(archive) 만들기 (0) | 2011.08.11 |
▣ ps의 칼럼 출력 선택과 보기
[ 옵 션 ] |
[ 칼럼 헤드 ] |
[ 설 명 ] |
%cpu |
%CPU |
프로세스가 사용하는 CPU 점유율 |
%mem |
%MEM |
프로세스가 사용하는 메모리 점유율 |
args |
COMMAND |
명령어와 모든 인수를 문자열로 출력 |
bsdstart |
START |
시작된 시간 : HH:MM or Mon Day |
bsdtime |
TIME |
총 CPU 시간 (사용자 및 시스템) |
comm |
COMMAND |
사용자가 실행한 명령어 |
cp |
CP |
10분1 CPU 사용률 |
cputime |
TIME |
총 CPU시간 [DD-]HH:MM:SS 형식 |
egid |
EGID |
이펙티브 그룹ID 프로세스(정수) |
egroup |
EGROUP |
이펙티브 그룹ID 프로세스(이름) |
etime |
ELAPSED |
프로세스가 실행된 소요시간 출력 [[DD-]HH:]MM:SS 형식 |
euid |
EUID |
이펙티브 유저ID 프로세스(정수) |
euser |
EUSER |
이펙티브 유저ID 프로세스(이름) |
fgid |
FGID |
파일시스템 액세스 그룹ID(정수) |
fgroup |
FGRUOP |
파일시스템 액세스 그룹ID(이름) |
fname |
COMMAND |
명령어의 처음 8문자 |
fuid |
FUID |
파일시스템 액세스 유저ID(정수) |
fuser |
FUSER |
파일시스템 액세스 유저ID(이름) |
lstart |
STARTED |
날짜 및 시간 명령을 시작 |
nice |
NI |
우선순위, 19부터 0까지 |
pgid |
PGID |
프로세스의 프로세스 그룹ID |
pid |
PID |
프로세스의 프로세스 ID 넘버 |
ppid |
PPID |
프로세스의 부모프로세스 ID |
psr |
PSR |
할당된 프로세스 |
rgid |
RGID |
실제 그룹ID(정수) |
rgourp |
RGOURP |
실제 그룹(이름) |
rss |
RSS |
실제 메모리 사용량 |
rtprio |
RTPRIO |
리얼타임 우선순위 |
ruid |
RUID |
실제 유저ID(정수) |
ruser |
RUSER |
실제 유저(이름) |
s |
S |
수면, no interrupt 인터럽트, R:running 실행중, S:sleep 수면, can interrupt 인터럽트, T:stopped 정지, W:paping |
sess |
SESS |
세션 지도자의 세션ID |
sgio_p |
P |
현재 실행중의 프로세스의 프로세서 |
size |
SZ |
프로세스가 사용하는 자료와 스택크기 |
start |
STARTED |
프로세스가 시작된 시간 : HH:MM:SS 혹은 Month Day |
start_time |
START |
프로세스가 시작된 시간 : HH:MM:SS 혹은 Month Day |
stat |
STAT |
실행되고 있는 프로세스 상태 |
sz |
SZ |
프로세스의 이미지 크기(물리적 페이지) |
tname |
TTY |
tty(터미널) 제어 |
user |
USER |
이펙티브 유저ID 프로세스(이름) |
vsize |
VSZ |
프로세스 가상 메모리(1024 바이트) |
[ ps를 사용하여 활성화 프로세스 보기 ] |
||||||||||||||||||||||||||||||||||||||||||||||
♧ 리눅스 시스템은(Unix 계열 시스템뿐만 아니라, BSD, Mac OS X, 여러 가지 리눅스) ps 명령어가 포함. 세월이 흐르면서 많은 다른 버전 및 약간 다른 옵션을 제공하는 ps가 나왔다. 처음에는 Unix 시스템의 ps 날짜 때문에 몇 가지 옵션들을 비표준 방식으로 지원했다.
▶ 현재 사용자를 위해 프로세스 실행을 표시할 수 있는 몇 가지 예:
▶ 현재 시스템에서 실행중인 모든 프로세스에 대한 출력 예:
▶ 계층적 프로세스 (tree 형식) :
▶ 사용자 칼럼 지정 보기의 몇 가지 예: (-o 옵션 : 사용자 포맷 지정)
☞ --sort 옵션 : 데이터 정렬
▷ ps 명령의 몇 가지 다른 예:
|
[ top을 사용하여 활성화 프로세스 보기 ] |
||||||||||||||||||||||||||||||||||
♧ top 명령어는 시스템에서 지속적으로 업데이트하여 실행중인 프로세스를 보여준다.
▶ 실행중인 프로세스를 지속적으로 표시하는데 사용할 수 있는 다른 옵션 예:
▶ 실행될 때 다른 방법으로 프로세스를 업데이트 및 정렬:
|
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap10 #05] - 시작과 런 레벨 제어 (0) | 2011.08.13 |
---|---|
[Chap9 #02] - 실행중인 프로세스 찾기(pgrep, fuser) (0) | 2011.08.13 |
[Chap8 #02] - 네트워크를 통해 백업하기(ssh, rsync) (0) | 2011.08.12 |
[Chap8 #01] - tar를 사용하여 백업 아카이브(archive) 만들기 (0) | 2011.08.11 |
[Chap7 #04] - 파일시스템 검사하기 (badblocks , fsck) (0) | 2011.08.10 |
[ ssh를 사용하여 tar아카이브 백업 ] | ||||
♧ OpenSSH(www.ppenssh.org)는 안전한 원격 로그인, 원격 실행, 그리고 네트워크 인터페이스를 통해 원격지로 파일을 복사할 수 있는 툴들을 제공.
▶ 원격 시스템의 파일을 → 로컬 시스템으로 복사.
☞ 원격지 시스템에서 실행한 tar 명령어(파일을 압축된 아카이브로 생성)의 표준출력 스트림을 파이프로 보내고 ssh 명령어를 통해 로컬시스템으로 전달한 뒤 로컬의 tar 명령어로 풀어냄. (로컬 디렉토리에 동일한 파일이 있을 경우 덮어쓰기 함)
▷ 로컬 시스템의 파일을 → 원격 시스템으로 복사.
☞ 원격지 시스템에 있는 특정 디렉토리로 이동하기 위해 cd명령 추가.
▶ 원격 시스템에서 전송받은 압축 파일을 풀어내지 않고 tgz 파일로 저장.
☞ server1에 devanix사용자의 홈 디렉토리에서 myfile로 시작하는 모든 파일을 압축한 뒤 로컬 시스템에 myfiles.tgz로 저장.
▷ 로컬 시스템의 압축한 파일을 원격 시스템에 tgz파일로 전송.
|
[ rsync를 사용하여 파일 백업] | ||||
♧ rsync는 체크섬을 사용하여 원격지 파일과 로컬 파일을 작은 블록 단위로 비교해 백업을 수행.
rsync 명령어는 원격 쉘 프로그램인 ssh를 이용하거나 원격 서버에서 실행되는 rsyncd데몬을 통해 동작할 수 있다.
▶ ssh를 통해 원격 디렉토리와 동일한 로컬 디렉토리(미러)를 만드는 rsync 예제 :
☞ (-a 옵션) : 원격지 디렉토리 이하의 모든 파일을 재귀적으로 복사. ☞ (-v옵션) : 명령어가 실행되는 동안 보다 상세한 정보 출력. ☞ (-z 옵션) : 압축 옵션. ☞ (--delete) : rsync 원격 시스템에 존재하지 않은 파일은 로컬에서도 삭제. (rsync는 기본적으로 변경된 파일만 백업하기 때문에, 원격지에서 파일이 삭제된 경우, 아무런 조치를 취하지 않는다. 따라서 --delete 옵션을 사용해 더 이상 백업할 필요가 없는 파일을 삭제해 준다)
▶ 매주 rsync를 이용하여 백업.
☞ 원격시스템 server1의 /home/devanix/data 디렉토리의 모든 파일이 로컬 디렉토리 /var/backups/current-backup으로 복사. ☞ 당일 변경된 모든 파일은 /var/backups/backup-Monday와 같은 형태로 복사. ☞ 한 주 동안, 과거 7일간의 변경사항이 반영된 7개의 디렉토리가 생성 된다.
▶ 하드링크를 이용해 백업.
☞ 지난 backup-old 디렉토리 내용을 지우고, ☞ 기존의 backup-current 디렉토리 백업내용을 backup-old 디렉토리로 이동. ☞ 이렇게 2주가 지난 backup-old 디렉토리는 지난주 백업된 backup-current로 대체될 것이다. ☞ 새로운 백업은 rsync를 --link-dest 옵션과 함께 실행해 만든다. 원격시스템 server1의 data/ 디렉토리에서 새로 백업한 파일이 이전 백업(이제는 backup-old에 저장)과 동일한 경우, 해당 파일을 backup-current에 backup-old 디렉토리 간에 하드링크를 생성.
▷ 두 디렉토리간 하드링크를 통해 많은 디스크 공간을 절약할 수 있다. 만약 양쪽 디렉토리에 file1.txt 파일을 가지고 있다면, 다음 명령어를 통해 해당 파일의 inode가 하나의 동일한 물리적 파일을 향하는 것을 확인할 수 있다.
|
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap9 #02] - 실행중인 프로세스 찾기(pgrep, fuser) (0) | 2011.08.13 |
---|---|
[Chap9 #01] - 활성화 프로세스 보기(ps, top) (0) | 2011.08.13 |
[Chap8 #01] - tar를 사용하여 백업 아카이브(archive) 만들기 (0) | 2011.08.11 |
[Chap7 #04] - 파일시스템 검사하기 (badblocks , fsck) (0) | 2011.08.10 |
[Chap7 #03] - (2) 파일시스템 마운트 & 언마운트(mount, umount) (0) | 2011.08.10 |
♧ tar(tape archiver)는 초기 유닉스 시스템에서부터 사용. 지금은 마그네틱 테이프가 일반적이지 않지만, tar는 여전히 아카이브 파일을 생성하고 여러 미디어를 통해 배포하는데 선호되는 명령어이다. |
◈ [ 기능 옵션 ] - 반드시 아래 옵션들 중 하나가 들어가야 함
옵 션 [ ,긴 옵션 ] | 설 명 |
-c, --create | 새로운 아카이브를 만든다 |
-x, --extract | 아카이브 파일을 풀어준다 |
-d, --diff | 아카이브 파일을 비교하여 다른 점을 찾는다 |
-u, --update | 아카이브 파일에 저장된 사본보다 새로운 파일만 덧붙여 업데이트 |
-A, --catenate | 하나의 tar 파일에 다른 파일을 병합 |
-r, --append | 아카이브 파일 끝에 파일을 덧붙여 추가 |
-t, --list | 아카이브 파일 내용목록을 보여준다 |
--delete | 기존 아카이브 파일에서 삭제 (자기 테이프에 쓰면 안됨X) |
◎ [ 부가적인 옵션 ]
옵 션 [ ,긴 옵션 ] | 설 명 |
-f, --file ARCHIVE | 지정한 아카이브파일에 읽기 ∙ 쓰기를 실행. (필수) " - " 는 표준입력에서 데이터를 받거나 표준출력으로 데이터를 쓴다. |
-v, --verbose | 처리중인 과정을 자세히 출력 |
-p | 모든 퍼미션 정보를 유지. |
-j, --bzip2 | bzip2 사용하여 파일 압축/풀기 |
-z, --[un]gzip | gzip 사용하여 파일 압축/풀기 |
-Z, --[un]compress | compress 사용하여 파일 압축/풀기 |
--use-compress-program PROG | PROG 로 지정된 압축툴로 아카이브 파일을 다시 처리 ( PROG는 반드시 -d(압축 해제)를 처리해야 함) |
tar는 명령어에 옵션을 넣어주는 표준적인 방법이 정해지기 전에 만들어진 명령이다. 지금은 tar에서도 대시(-)로 시작하는 옵션을 사용할 수 있지만 항상 필요한 것은 아니다. 때문에 옵션을 의미하는 문자가 없는 tar xvf와 같은 명령어도 볼 수 있다. |
tar [ .tar ] - 기본 사용 예 | ||||||
♧ tar는 기본적으로 압축은 하지 않고 단순히 하나의 파일(.tar)로 묶음.
▶ tar 아카이브 파일 생성(묶기) : (c옵션)
▶ tar 아카이브 파일 풀기 : (x옵션)
▶ tar 아카이브 파일 목록 보기 : (t옵션)
▶ tar 아카이브 파일에 다른 파일을 병합 : (A 옵션)
☞ archive2.tar 파일이 archive1.tar 아카이브에 추가된다.
▶ tar 아카이브에서 파일 삭제 : (--delete)
▶ tar 아카이브에 하나 이상의 파일 추가 : (r 옵션)
☞ ddd.txt, eee.txt가 archive1.tar 아카이브 파일에 추가 된다.
|
tar + 타 압축 필터(gzip, bzip2, ...) | |||||||
♧ tar + gzip (z 옵션) ⇒ tar로 하나의 파일로 묶고 gzip으로 압축하는 과정을 한번에 수행. ⇒ tar+gzip의 확장자 : [ .tar.gz | .tar.z | .tgz ]
▶ tar + gzip 아카이브 파일 압축 생성 : (.tar.gz)
▷ z옵션이 지원하지 않는 경우 :
☞ tar로 하나의 아카이브 파일로 묶고(.tar) gzip로 압축(.gz) 한다.
▶ tar + gzip 아카이브 압축 파일 풀기 : (.tar.gz)
▷ z옵션이 지원하지 않는 경우 :
☞ gunzip으로 압축 파일을 풀고(.gz) tar로 나머지 아카이브 파일 풀기(.tar)
♧ tar + bzip2 (j 옵션) ⇒ tar로 하나의 파일로 묶고 bzip2으로 압축하는 과정을 한번에 수행. ⇒ tar+bzip2의 확장자 : [ .tar.bz2 ]
▶ 압축 생성 & 해제 역시 위의 예와 동일하나 해당 압축 필터 사용 옵션으로 변경 한다.
♧ tar + lzop (--use-compress-progarm 옵션) ⇒ --use-compress-program옵션 사용하여 lzop 압축 툴 사용. ⇒ 해당 lzop 압축 유틸은 조금 덜 통합된 tar이다. ⇒ lzop를 사용하기 전에 lzop 패키지를 먼저 인스톨 해야 한다. ⇒ tar+lzop의 확장자 : [ .tar.lzo ]
▶ tar+lzop 압축 & 해제 사용
※ 다른 압축 파일 역시 사용 방법은 다 비슷하므로 file 명령을 사용하여 압축 파일의 종류를 먼저 구분한다.
|
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap9 #01] - 활성화 프로세스 보기(ps, top) (0) | 2011.08.13 |
---|---|
[Chap8 #02] - 네트워크를 통해 백업하기(ssh, rsync) (0) | 2011.08.12 |
[Chap7 #04] - 파일시스템 검사하기 (badblocks , fsck) (0) | 2011.08.10 |
[Chap7 #03] - (2) 파일시스템 마운트 & 언마운트(mount, umount) (0) | 2011.08.10 |
[Chap7 #03] - (1) fstab 파일의 파일시스템 마운트 (0) | 2011.08.09 |
♧ 리눅스에서는 윈도우에서 사용하는 scandisk 유틸리티와 같은
물리적인 수준에서 배드블록을 검사하기 위해 badblocks 명령어를 사용한다.
그리고 fsck 명령어를 사용해 논리적인 수준에서 파일시스템의 오류를 검사할 수도 있다.
■ badblocks - 장치의 배드블럭을 검색
badblocks [ -b 블록크기 ] [ -o 출력파일 ] [ -v ] [ -w ] |
◈ [ 옵션 ]
옵 션 | 설 명 |
-b 블록크기 | 블록크기를 바이트 수로 나타냄 (기본값 : 1024 bytes) |
-o 파일명 | 지정한 파일에 배드 블록의 리스트 기록 |
-v | 자세한 출력 모드 |
-e 최대블록개수 | 점검을 멈출 최대 블록 개수 (0이면 지정된 범위 까지 점검) |
-p num_passes | 지정된 숫자 만큼 디스크 스캔 반복. |
-w | 읽기/쓰기 모드 에서 배드블록을 검사 (-n 옵션과 함께 사용 X, 상호 배타적임) |
-n | 비-파괴 읽고/쓰기 모드 ( -w옵션과 함께 사용 X, 상호 배타적임) |
-s | 검사 진행 과정 표시 |
badblocks 명령의 일반적인 사용 예: | ||||
▶ -v 옵션 : 자세한 정보 출력과 함께 기본적인 사용
▶ 비-파괴 모드로 배드블록을 검사.
☞ 기본적으로, 배드블록 검사는 읽기전용 모드에서 수행하는 것이 안전하다. 비-파괴(non-destructive) 읽고/쓰기 검사는 매우 느리지만 디바이스에 저장된 데이터의 손실 없이 검사할 수 있는 가장 좋은 방법이다.
▶ 읽기/쓰기 모드 검사. ( 경고 : 데이터가 파괴될 수 있음 )
☞ 읽기/쓰기 모드에서 배드블록을 검사하는 것으로 빠르게 검사할 수는 있지만 데이터가 파괴 된다.
▶ 다수의 배드블록 검사 수행
☞ 디스크 품질을 검사하고, 초기 고장률을 낮추기 위한 테스트용으로 사용. |
■ fcsk - 리눅스 파일시스템을 검사
♧ fsck 명령어는 특정 파일시스템 유형에 사용되는 검사 유틸리티의 프론트엔드 역할을 수행.
fsck [ -AVRTNP ] [ -s ] [ -t 파일시스템유형 ] [ 파일시스템옵션 ] 파일시스템 [ ... ] |
◈ [ 옵션 ]
옵 션 | 설 명 |
-A | /etc/fstab 파일에 표시된 모든 파일시스템을 한 번 씩 모두 점검. |
-R | -A 플래그와 같이 사용될 때 루트 파일시스템은 제외 |
-T | 시작할 때 버전정보를 출력하지 않음 |
-V | 자세한 출력 수행 |
-N | 실행하지는 말고 어떤 작업을 할 것인지만 보여줌. |
fsck 명령의 일반적인 사용 예: | ||
▶ 파일시스템 검사 (-TV : 자세한 출력 및 버전 출력 방지 옵션)
▷ 검사 수행 도중 문제가 발생하면, 문제를 수정할 것인지 사용자에게 물어보는데 -y옵션을 추가하여 모든 질문에 대해 yes로 답변하도록 할 수 있다.
|
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap8 #02] - 네트워크를 통해 백업하기(ssh, rsync) (0) | 2011.08.12 |
---|---|
[Chap8 #01] - tar를 사용하여 백업 아카이브(archive) 만들기 (0) | 2011.08.11 |
[Chap7 #03] - (2) 파일시스템 마운트 & 언마운트(mount, umount) (0) | 2011.08.10 |
[Chap7 #03] - (1) fstab 파일의 파일시스템 마운트 (0) | 2011.08.09 |
[Chap7 #02] - (3) 파일시스템 포맷(mkfs), 가상 파일 생성 (0) | 2011.08.09 |