install : 권한, 속성, 소유자, 그룹명등을 지정하여 복사하는 명령어 install 명령어 옵션 -c : 전통 유닉스 버젼과 호환을 위한 옵션, 별 의미 없음 -d : 복사될 경로를 지정, 경로가 존재하지 않으면 디렉토리 만들어서 복사 -g : 그룹 변경 (-g 그룹명) -m : 퍼미션 변경 (-m 퍼미션) -o : 소유자 변경 (-o 소유자)
runleve 중, 1=single-user모드는 별도의 로그인 과정 없이 root 계정으로 시스템을 사용할 수 있는 모드 이 모드로 부팅하면 root 패스워드를 변경할 수 있다. ※ 콘솔모드에서만 된다. <GRUB 메뉴가 나올경우> 1. 부팅해서 아래 커널선택 후 e키를 입력 2. Kernel 로 시작하는 줄에서 e키를 한번 더 입력 3. 끝부분에 "1" 또는 "single" 입력하고 Enter 누르면 2번의 화면으로 돌아오게 되는데 b키 입력 4. "passwd" 명령어 사용해서 패스워드 변경하고 reboot <선택메뉴만 나올경우> 1. Ctrl + X 를 누름 2. linux single 를 입력 후 엔터 3. 명령프롬프트가 나오면 passwd 를 누른뒤 암호를 변경
파일의 내용을 페이지 단위로 내용을 확인 # more 명령어 사용형식 : more [옵션][+줄번호][파일명] [옵션] space bar, f : 한 페이지씩 앞으로 이동 b : 한 페이지씩 뒤로 이동 enter : 한행씩 이동 ! : 쉘명령어 입력 / : 문자열 검색 (대소문자 구분) v : 현재위치에서 vi 실행 + 숫자 : 숫자행부터 출력 # less 명령어 옵션 사용형식 : less [옵션] 파일명 space bar, f : 한 페이지씩 앞으로 이동 b : 한페이지씩 뒤로 이동 enter : 한행씩 이동 방향키 : 한행씩 이동
- 예전에는 LILO(Linux Loader)를 사용했지만 요즘은 부트로더로 대부분 GRUB 사용 (SULINUX, CentOS, Redhat, Fedora 등) - GRUB은 윈도우 운영체제와 리눅스 운영체제 등에서 모두 사용 할 수 있는 멀티부트로더임 - MBR에 저장됨 * 시스템에 전원이 공급되면 가장 먼저 ROM-BIOS에서 시스템 제어권을 가지고 장착된 하드웨어에 대한 점검과 인식을 함 * 끝나면 ROM-BIOS는 하드디스크의 첫번째 부트섹트의 MBR에 있는 부트로더(GRUB)에게 제어권을 넘겨줌 * 그러면 GRUB은 시스템 부팅을 시작함 < GRUB 초기화면> : 여기서부터 GRUB에 의해 부팅될 OS가 선택되고 시스템제어권이 넘어감 # GRUB 초기화면에서 'c' 키 입력 : GRUB의 명령모드 - 서버가 부팅되지 않을 경우 부팅과정을 변경 또는 편집하기 위해 (bash쉘에서 사용했던 명령어와 유사) - 명령어 모드에서 초기화면으로 돌아가려면 'ESC" 키 # GRUB 초기화면에서 'e' 키 입력 : 부팅메뉴 편집 <부팅메뉴 편집화면> 편집모드에서 사용할 수 있는 키 b : 선택된 부트메뉴의 명령어로 시스템을 부팅
[root@push06 dev]# cat /proc/scsi/scsiAttached devices:Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: Hitachi HDS72105 Rev: JP2O Type: Direct-Access ANSI SCSI revision: 05Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: Hitachi HDS72105 Rev: JP2O Type: Direct-Access ANSI SCSI revision: 05 <SATA 일때>[root@push06 ~]# smartctl -i /dev/sdasmartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.18-348.16.1.el5] (local build)Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net === START OF INFORMATION SECTION ===Device Model: Hitachi
# root의 cron 설정 확인 : crontab -l (루트계정에서) 1. /etc/crontab 이용 # run-parts 01 * * * * root run-parts /etc/cron.hourly // 매시 1회 자동실행하기 위한 시스템 크론 설정, /etc/cron.daily 디렉토리내에 존재하는 스크립트 파일 실행 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 // 매월 (분, 시, 일, 월, 요일) * : 모든 숫자 - : 연속된 숫자 2. crontab 명령어를 이용 일반 사용자가 crontab 명령어를 사용하려면 /etc/cron.allow 에 등록※ cron.allow 파일이 있다면 root라도 등록 되어 있어야 crontab 설정 가능 [root@~ ]# cat /etc/cron.allowrootabcdefg1234567 root를 비롯한 사용자들
* 아파치 소스파일 디렉토리에서 수정 후 컴파일 source/server/mpm/prefork/prefork.c#define DEFAULT_SERVER_LIMIT 값을 4096 source/server/mpm/worker/worker.c #define DEFAULT_SERVER_LIMIT 값을 20 >> 그리고 httpd.conf 파일 수정 # MaxKeepAliveRequests 10000→ 연결을 유지한채로 허용할 수 있는 최대 요구수이 값이 0이라면 제한하지 않는다, 수치가 높을수록 성능은 좋아짐 # KeepAliveTimeout 25→ 동일한 방문자가 동일한 브라우저로 연결을 한 채로 25초동안 다음 요청이 이루어지지 않으면 연결을 끊음 (httpd 프로세스 죽임) # MinSpareServers 15→ 방문자수가 많지 않더라도 유휴 httpd 프로세스 수 유지 # MaxSpareServers 45→ 방문자가 많을 경우 최대한 허용하는 httpd 프로세스 수 # StartServers 20→ 아파치가 실행이 될때 생성할 httpd 프로세스 수 # MaxClients 4096→ "DEFAULT_SERVER_LIMIT" 값과 맞춰줌[출처]아파치
마운트는 리눅스 시스템에 사용하기를 원하는 특정장치를 시스템에 인식시키는 작업 다시말해서 특정장치를 특정디렉토리로 연결시킴 # 마운트 정보 보기 ① [root@ ~] cat /etc/mtab ② [root@ ~] mount # DVD, CD-ROM 마운트 DVD와 CD-ROM의 파일시스템은 iso9660이라는 파일시스템타입을 사용 * 사용형식 : mount -t [파일시스템타입] [장치명] [마운트포인트] ex) mount -t iso9660 /dev/cdrom /media/cdrom /media/cdrom 디렉토리에서 CD-ROM에 저장된 파읽 볼 수 있음 # 언마운트 마운트된 장치명을 마운트 해제 시킴 * 사용형식 : umount [마운트포인트] ex) umount /media/cdrom ※ 마운트 되어 있는 디렉토리 내부에서는 언마운트 사용 불가 # 읽기만 가능하게 마운트하기 [root@~ ]# mount -r # 읽기 쓰기 모두 가능하게 마운트하기 [root@~ ]# mount -w # 윈도우에서 사용하던 파일시스템 마운트하기 * 사용형식 : mount -t vfat [장치명] [마운트포인트] # USB 메모리 마운트하기 장치명확인(fdisk -l)
파일시스템이 깨지는 문제가 발생하는 원인 1. 체인이 끊어짐 → e2fsck 사용 2. check filesystem 문제 → 재부팅 # e2fsck 가 점검하는 실제 항목들 - inodes - blocks - sizes - 디렉토리 구조 - 디렉토리 연결성 - 파일링크 정보 - 전체파일 개수 - 전체블록수중 사용중인 블록 # e2fsck 작업이 종료되면 종료코드 출력 0 - 에러 없이 정상종료 1 - 파일시스템을 복구하였음 2 - 파일시스템이 복구되었고, 시스템 재부팅함 4 - 작업대상 파일시스템에 문제가 있으나 복구하지 않고 그대로 둠 8 - 실행에러 16 - 사용법 또는 문법 에러 32 - e2fsck 작업이 사용자에 의해 취소됨 128 - 공유 라이브러리 에러 # ================================= # ext4 파일시스템 e2fsck -v -j ext4 /dev/sda5 e2fsck 명령어 사용할때는 대상 파일시스템이 마운트 되어 있지 않아야함 -f 옵션을 주면 강제로 진행되나 추천하지 않음 ext4을 대상으로 하려면 -j ext4 옵션을 준다 # ================================= # ext3 파일시
[root@~ ]# dumpe2fs /dev/sda5 | grep superblock dumpe2fs 1.39 (29-May-2006) Primary superblock at 0, Group descriptors at 1-1 Backup superblock at 32768, Group descriptors at 32769-32769 Backup superblock at 98304, Group descriptors at 98305-98305 Backup superblock at 163840, Group descriptors at 163841-163841 Backup superblock at 229376, Group descriptors at 229377-229377 Backup superblock at 294912, Group descriptors at 294913-294913 Backup superblock at 819200, Group descriptors at 819201-819201 Backup superblock at 884736, Group descriptors at 884737-884737 Backup superblock at 1605632, Gr
◎ hwclock : 하드웨어시간, 메인보드에 있는 CMOS의 시간(ROM-BIOS에서 인식하고 있는 시간) * 하드웨어와 소프트웨어 시간 둘다 재설정 가능 # hwclock -w : 운영체제 시간을 참조해서 하드웨어 시간 재설정 # hwclock -s : 하드웨어 시간을 참조해서 운영체제 시간 재설정 ◎ date : 리눅스시스템의 시간, 리눅스커널의 시간 * 소프트웨어 시간만 설정 가능 # date MMDDhhmmCCCC ※ 운영체제가 부팅시 마다 하드웨어의 시간을 가져와서 적용 ◎ rdate : 지정한 원격타임서버의 시간과 운영체제 시간을 동기화 # rdate -p time.bora.net : 시간값 확인 # rdate -s time.bora.net : 동기화 - 시스템 재부팅할 때마다 동기화 [/etc/rc.d/rc.local] /usr/bin/rdate -s time.bora.net /sbin/hwclock -w ◎ cron 으로 동기화 00 01 * * * su - root /usr/bin/rdate -s time.bora.net && /sbin/hwclock -w
id : 현재 사용자의 UID, GID, 그룹정보 확인 whoami : 현재 사용자의 EUID 확인 who am i : 최초 접속자 EUID 확인 * EUID (Effective User ID) : 어떤 명령어를 실행했을때 실제 어떤 사용자 권한으로 실행되는지