'전체 글'에 해당되는 글 1607건

  1. 2015.12.11 리눅스 파일 시스템
  2. 2015.12.11 [공유] 리눅스 배포판 만들기
  3. 2015.12.11 이클립스 디버깅
  4. 2015.12.11 이클립스 단축키 모음





반응형

P.C.를 처음 본 것이 1987년이었습니다. 그리고 1989년부터 DOS를 사용해왔기 때문에 횟수로 따진다면 만 19년동안 Microsoft사의 O.S.를 사용해 왔습니다. 그러다 보니 리눅스 시스템에 처음 입문했을 때 어려운 점은 참 많죠. 그래도 리눅스 시스템과 친해질 수 있었던 첫 걸음은 아마도 File System 에 대한 이해부터 라고 생각됩니다.

물론 지금도 자세하고 깊이 아는 것은 아닙니다만 File System의 이해와 마운트가 어떤 것인지 이해를 하다보니 조금씩 리눅스 시스템에 적응이 되어 가는 것으로 생각됩니다. 그래서 이번 시간에는 간단하게 나마 리눅스의 File System에 대해 소개하려 합니다.

간단 설명

리눅스에서 쉘은 여러 종류가 있고 쉘마다 특징이 있습니다. 쉘은 크게 본쉘(bash), C쉘(csh), 콘쉘(ksh)이 있습니다. 레드핫계열의 리눅스의 디렉토리 구조는 다음과 같습니다.

디렉토리 명 설    명
/ 루트 디렉토리
/bin 가장 필수적인 실행명령
/boot 커널,LILO 등 부팅에 관련된 파일
/dev 장치파일 모음
/etc 시스템 전체 설정파일
/home 사용자의 홈디렉토리
/lib C 라이브러리 등 가장 필수적인 공유 라이브러리
/mnt 임시 마운트용 디렉토리
/proc 시스템 정보를 위한 가상적인 디렉토리
/root 루트 사용자의 홈 디렉토리
/sbin 시스템 관리용 실행파일
/tmp 임시 파일 생성용 디렉토리
/usr 어플리케이션이 설치되는 디렉토리
/var 시스템 운영중 생성되는 각종 임시 파일

 

대충 흝터 받으니까 이번에는 상세하게 알아 보겠습니다.

/

"루트 디렉토리"라고 불리우며 리눅스 파일 시스템에서 가장 최상위 디렉토리이면서 파일 시스템의 근간을 이루는 기본 디렉토리로 모든 디렉토리 구조의 시작입니다. 이름이 루트이다 보니 저도 자꾸 /root 와 헤깔립니다. 그러나 /root 는 사용자 계정 중의 하나인 시스템 관리자의 계정입니다.

/boot

리눅스 커널이 저장되어 있는 디렉토리로서 리눅스 boot에 필요한 각종 booting지원 파일들이 저장되어 있습니다. 예로 부팅 이미지, 시스템 맵, 모듈 정보, 리눅스 커널 등이 들어 있습니다.

/dev

시스템의 각종 디바이스들에 접근하기 위한 디바이스 드라이버들이 저장되어 있는 디렉토리로 하드디스크에 차지하는 공간이 없는 가상 디렉토리이다. 대표적으로는 하드 드라이브, 플로피, 씨디롬, 시리얼 포트 그리고 루프팩장치 등이 존재합니다.

리눅스 시스템은 윈도우와 달리 각종 디바이스 장치들을 하나의 파일로 취급합니다. 따라서 시스템은 각각의 장치 정보를 /dev 디렉토리에 존해하는 해당 장치 파일로 부터 가지고 와서 처리합니다.

각 장치는 제어하기 위한 디바이스 드라이버 파일이 존재하는데, 크게 2가지가 있습니다. 하나는 통신포트, 프린터 포트, 터미널 장치처럼 한번에 한 바이트씩 차례로 오가는 단방향의 문자 장치가 있고, 또 하나는 버퍼를 사용하여 한번에 블록 단위로 처리하는 블록 장치가 있습니다.

앞서 말씀드린바와 같이 이 디렉토리에는 하드디스크의 공간을 차지하는 곳이 아닙니다. 디바이스 드라이버 파일을 만들고 이를 등록하면 이 폴더에 나타나게 되는데, 등록하는 방법에는 콘솔에서 직접 mknod 명령을 사용하거나 /dev/MAKEDEV 라는 스크립트를 이용할 수 있습니다.

장치 하나를 볼까요?

[root@jwCentOS dev]# ls -al ttyS0
crw-rw---- 1 root uucp 4, 64 3월 18 15:45 ttyS0

 

퍼미션 부분의 crw-rw---- 첫번째 문자 c 는 문자 장치를 나타냅니다. b 이면 블록 장치입니다. 그리고 uucp 다음에 나오는 첫 번째 숫자가 디바이스 드라이버의 메이저 번호이고 다음 숫자가 마이너 번호인데, (1) 각 장치에는 고유 번호인 메이저 번호가 있고 (2) 이 메이저 번호를 가지고 커널은 어떤 디바이스 드리이버를 사용할지를 결정하게 됩니다. (3) 또한 같은 디바이스 드라이버를 사용하는 같은 장치가 여러 개가 있을 때, (4) 디바이스 드라이버는 마이너 번호로 각 장치를 구별하게 됩니다.

예를 들어 시리얼 포트 첫번째가 메이저 번호 4번이고 마이너 번호가 64라면 두번째 시리얼 포트는 메이저 번호가 같은 4번이면서 마이너 번호가 65가 됩니다.

(1) 첫 번째 시리얼 포트를 사용하게 되면, (2) 커널은 메이저 번호 4번으로 디바이스 드라이버를 선택하고 (3) 디바이스 드라이버에 마이너 번호를 전달해 줍니다. 그러면 (4) 디바이드 드라이버는 마이너 번호로 어떤 장치를 제어할 지를 판단하게 됩니다.

몇 가지 대표적인 장치를 보겠습니다.

디렉토리 명 설    명
/dev/fd0 프로피 디스크 드라이브
/dev/hda 첫 번째 슬롯 마스터 IDE 하드 디스크 드라이브
/dev/hdb 첫 번째 슬롯 슬레이브 IDE 하드 디스크 드라이브
/dev/hdc 두 번째 슬롯 마스터 IDE 하드 디스크 드라이브
/dev/hdd 두 번째 슬롯 슬레이브 IDE 하드 디스크 드라이브
/dev/sda 첫 번째 SCSI 하드 디스크 드라이브
/dev/sdb 두 번째 SCSI 하드 디스크 드라이브
/dev/st0 첫 번째 SCSI 테이프 드라이브
/dev/st1 두 번째 SCSI 테이프 드라이브
/dev/scd0 첫 번째 SCSI CD 롬 드라이브
/dev/scd1 두 번째 SCSI CD 롬 드라이브
/dev/cdrom IDE CD 롬 드라이브
/dev/mouse 마우스
/dev/ttyS0 COM 1 시리얼 포트
/dev/ttyS1 COM 2 시리얼 포트
/dev/lp0 첫 번째 병렬 포트
/dev/lp1 두 번째 병렬 포트
/dev/console 시스템의 콘솔 장치입니다.
/dev/null

아무것도 없는 장치(?) 하수구라고 생각하시면 되겠습니다. 예로 어떤 출력을 해야 하는데, 그 출력을 그냥 버리고 싶다면 출력 방향을 이 장치로 설정하면 그냥 하수구로 버리듯이 모든 출력이 사라집니다.

이 장치는 프로그램에서 열기 명령을 사용하면 항상 OK가 됩니다. 그러므로 프로그램에서도 디버깅에 상용되며, 셀 명령 실행에서 보기 싫은 출력 문자열을 없앨 때에도 사용됩니다.

/dev/zero /dev/null처럼 가상 파일이면서 이 장치에 쓰기를 하면 출력이 사라지지만 특정한 길이의 초기화된 더미 파일을 임시 스왑 파일을 만들 때 사용한다고 합니다. 아직은 도대체 뭔 소리인지 잘 모르겠습니다. --;

 

/proc

MS 윈도즈의 작업 관리자를 보면 실행 중인 프로세스의 정보가 출력되는 것처럼 시스템의 각종 프로세서, 프로그램 정보 그리고 하드웨어적인 정보들이 저장되어 있습니다. 이 티렉토리도 /dev처럼 가상 파일 시스템으로 하드 디스크의 물리적인 공간을 사용하지 않고 메모리 상에 존재합니다.

예로 cpuinfo 를 출력해 보시면 CPU 정보를 보실 수 있습니다.

]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz
stepping : 6
cpu MHz : 1932.425
cache size : 2048 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme pse tsc msr pae cx8 pge cmov acpi mmx fxsr sse sse2
bogomips : 3914.89

 

역시 대표적인 정보를 알아 보겠습니다.

cat ****   설    명
/proc/1/status

첫번째 프로세스의 상태를 출력합니다.

/proc 아래에 프로세스 별로 번호에 맟춘 디렉토리가 있으며, 각 디렉토리에 프로세스별 정보가 있습니다. 예로,  /proc/1

/proc/cpuinfo cpu 에 대한 타입, 제조사, 모델, 성능 등에 관한 정보가 출력
/proc/devices 현재 동작 중인 디바이스 드라이버 목록
/proc/dma 현재 어떤 DMA 채널을 사용 중인지를 출력
/proc/filesystems 커널에 설정되어 있는 파일 시스템 목록
/proc/interrupts 어떤 인터럽트가 사용 중이고 각각의 인터럽트가 얼마나 사용되었는지를 출력
/proc/ioports 현재 어떤 I/O 포트가 사용 중인지를 출력
/proc/kcore 현재 시스템에서 사용중인 메로리의 실제 이미지로 실제 메모리의 내용을 모두 가진 것처럼 보이지만 프로그램이 필요로 하는 부분의 이미지만을 필요할 때 만들어 제공
/proc/kmsg 커널에 의해서 출력되는 메시지들을 저장하고 있는 파일
/proc/loadavg 현재 시스템의 평균 부하량(Load Average)에 대한 정보를 출력
/proc/ksyms 시스템 커널이 사용하고 있는 심볼들에 대한 정보를 저장하고 있는 파일
/proc/meminfo 사용중인 메모리의 사용량을 출력. 가상 메모리에 대한 정보도 얻을 수 있습니다.
/proc/self /proc를 억세스하는 프로그램의 프로세스 디렉토리에 대한 심볼릭 링크로 두개의 프로세스가 /proc에 접근하면 각각은 서로 다른 링크를 가지게 됩니다. 이것은 주로 프로그램이 자신의 프로세스 디렉토리에 쉽게 접근할 수 있도록 해줍니다.
/proc/stat 시스템의 현재 상태에 대한 다양한 정보를 저장하고 있는 파일
/proc/uptime 시스템이 얼마나 오래 동작했는지에 대한 정보를 저장하고 있는 파일
/proc/version 시스템이 현재 사용중인 커널 버전에 대한 정보를 저장하고 있는 파일

 

/bin

binaries의 약어로 이진 파일들이며 리눅스에서 가장 기본이 되는 명령어들이 모여 있는 디렉토리입니다. 파일 목록을 보여주는 ls 라든지 일반 사용자가 root 계정으로 잠시 로그인하게 해주는 su 라든 하는 일반 사용자를 포함한 모든 사용자들이 사용하는 프로그램이 들어 있습니다.

또한 이곳에는 부팅에 필요한 명령어들이 위치하여 부팅한 후에 시스템의 계정 사용자들이 사용할 수 있는 일반적인 명령어들도 위치 하고 있습니다.

프로그램이 많아서 모두 설명드릴 수 없지만 자주 사용하는 몇 가지를 올립니다.

프로그램  설    명
cat 파일 내용을 출력
chgrp

파일의 그룹 속성 변경

chmod 파일의 접근 권한 변경
chown 파일의 소유자 변경
cp 파일 복사
cut 특정 필드를 파일 밖으로 복사
date  현재 날짜 출력
df 파일 시스템별 용량 출력
dmesg

부팅 메시지 출력

grep 파일 안의 특정 패턴을 검색

gupzip
gzip

파일 압축
hostname 컴퓨터 이름 출력
kill 프로세스 죽이기
link 링크 만들기
ls 파일 목록 출력
mkdir 디렉토리 만들기
mount 장치를 시스템에 연결
mv 파일 이동/파일 이름 변경
netstat 현재 연결된 네트워크에 대한 모든 정보
ping 상대 P.C. 가 네트워크에 연결되어 있는지 확인
ps 실행 중인 프로세스 목록
pwd 현재 작업 디렉토리 출력
rm 파일 삭제
rmdir 디렉토리 삭제
rpm rpm 관리자
sleep 초 단위 대기
su 사용자 변경
tar 여러 개의 파일을 묶거나 풀기
touch 크기가 0인 파일을 만들거나 파일의 날짜/시간을 변경
umount mount 해제
unlink link 파일 제거
usleep 1/1,000,000초 단위로 대기
vi vi 에디터

 

 

/sbin

시스템 관리를 위한 다양한 프로그램이 들어 있는 디렉토리입니다. 매우 많은 프로그램이 들어 있어서 모두 설명을 드리기에는 어렵고 몇가지를 정리해 보겠습니다.

프로그램  설    명
clock 현재의 날짜와 시간을 출력
fdisk

파티션을 새로 생성하거나 삭제

findfs 라벨에 해당되는 파티션 정보 구하기
fixfiles 파일과 관련하여 많은 거부 상황이 발생할 때 사용
grub grub 부팅 관리자 관련 프로그램
grub-install
grub-md5-crypt
grub-terminfo
halt 시스템 종료
ifconfig 네트워크 설정
ifdown 네트워크 종료
ifup

네트워크 시작 

*** 네트워크 설정 상태를 변경하셨다면 ifdown 과 ifup으로 네트워크를 다시
*** 시작하실 수 있으나 /etc/init.d/network restart 로 한버에 재 시작할 수 있습니다.

lilo lilo 부팅 관리자 프로그램
mkfs 하드 디스크 파티션을 리눅스 파일 시스템
poweroff halt 와 같이 시스템 종료
reboot 시스템 리부팅

 

 

/etc

이 디렉토리는 리눅스 시스템에 관한 각종 환경 설정에 연관된 파일들과 디렉토리들을 가진 아주 중요한 디렉토리입니다. 이 디렉토리에 있는 대부분의 파일들은 시스템 관리자에 의해 관리되는 파일들입니다.

사용자 정보를 가지고 있는 passwd, 그룹 정의 파일인 group, 프린터 목록 파일 printcap, 자동 마운트될 파일 시스템을 등록해 두는 파일 시스템 테이블인 fstab 외에도 웹 서버 환경 설정, 시스템 계정 사용자 정보, 패스 워드 관리, 시스템의 파일 시스템 관리 파일, 여러가지 시스템 보안에 관련된 파일들, 시스템 초기화 설정 파일, TCP/IP 설정 파일 등 시스쳄 전반에 걸친 거의 모든 환경 설정 파일들이 모두 이 디렉토리에 있습니다.

내  용 설    명
/etc/rc.d

시스템의 부팅과 시스템 실행 레벨 변경시에 실행되는 스크립트들이 저장되어 있는 디렉토리로 리눅스의 6가지 실행 레벨로 각각의 해당 디렉토리가 있습니다.

/etc/shadow 파일에서 패스워드 부분만을 따로 저장하는 파일. 이 파일에 패스워드는 암호화 되어 셰도우 패스워드 형태로 저장되어 있으며 시스템 관리자만이 접근할 수 있기 때문에 크래킹 등에 대한 피해를 줄임.
/etc/group 시스템의 그룹에 대한 정보를 저장하고 있는 파일
/etc/inittab init를 설정하는 파일

/etc/issue,
/etc/issue.net

getty에 의해서 로그인을 위한 프롬프트가 뜨기 전에 출력되는 메시지를 설정하는 파일. 리눅스 시스템으로 접속할 경우 가장 처음으로 볼 수 있는 메시지로 보통 시스템에 대한 설명과 각종 환영 메시지를 전달하기 위해서 사용됩니다. issue 파일의 내용은 보통 시스템의 터미널에서 볼 수 있으며 /etc/issue.net 파일의 내용은 리모트상에서 시스템으로 접속할 경우 볼 수 있습니다.

/etc/motd 'Message of the day'의 약자로 시스템으로의 접속에 성공할 경우 쉘이 뜨기 전에 출력되는 메세지를 설정하는 파일
/etc/profile,
/etc/csh.login,
/etc/csh.cshrc
시스템이 시작될 때 사용자가 로그인을 할 때 본쉘이나 C쉘에 의해서 실행되는 스크립트 파일. 일반적으로 사용자들에 대한 기본 환경 설정에 사용.
/etc/securetty 시스템 관리자가 시스템에 로그인할 수 있는 안전한 터미널에 대한 정보가 저장. 일반적으로 가상 콘솔이 설정되어 있으며 네트워크를 통해 시스템으로 침입해 시스템 관리자의 권한을 획득하는 크랙킹을 막기 위해서 사용합니다.
/ete/shell 시스템에서 안정적으로 사용할 수 있는 쉘에 대한 정보를 저장하고 있는 파일. 만약 chsh명령을 사용해 사용중인 쉘을 바꾸려면 이 파일에 저장되어 있는 쉘중에 선택해야 합니다. 또한 ftp데몬의 경우 사용자의 쉘을 검사하여 /etc/shell에 저장되어 있지 않은 쉘을 사용한다면 로그인을 허용하지 않습니다.

 

/mnt

외부 장치인 플로피 디스크, 시디롬, 삼바등을 마운트하기 위해서 제공되는 디렉토리입니다. 임시로 사용되는 디렉토리이므로 프로그램들은 /mnt에 어떤 파일 시스템이 마운트 되었는지 자동으로 인식하지 않습니다. 또한 /mnt는 보통 여러 개의 하위 디렉토리로 나누어 사용되고, 평소에는 각 디렉토리들은 비어 있습니다.

예를 들어 CD-ROM을 마운트하시려면,

]# mount -t ISO9660 /dev/cdrom /mnt/cdrom

이렇게 CD-ROM을 마운트하면 CD-ROM이 열리질 않습니다. 마운트를 해제해야 CD-ROM이 빠집니다.

]# umount /mnt/cdrom

그런데, "Device is Busy" 라는 에러를 내면서 언마운트가 안되는 경우가 있습니다. 이럴 때에는 장치를 사용하는 프로세스를 죽이시면 됩니다.

fuser -km /mnt/cdrom

또 다른 사용은 nfs 공유 폴더를 공유하는 방법이죠.

]# mount -t nfs -o nolock 192.168.10.50:/home/jwjw/prjs /mnt/nfs

/usr

시스템에 사용되는 각종 프로그램들이 설치되는 디렉토리로 프로그램과 관련된 명령어와 라이브러리들이 이 디렉토리에 위치 합니다. 또한 X 시스템관련 파일들과 리눅스 커널 소스, 각종 C 언어 과련 해더 파일 등도 이 디렉토리 안에 저장되어 있습니다.

내  용 설    명
/usr/bin 리눅스 시스템에서 사용되는 각종 프로그램들이 저장되어 있으며 /bin 디텍토리에 없는 다양한 실행 파일들이 저장되어 있는 디렉토리
/usr/X11R6 X 윈도우 시스템에 사용되는 모든 파일들이 이 디렉토리 안에 저장되며 X 윈도우 시스템의 개발과 설치를 좀더 쉽게 하기 위해서 전체 시스템 디렉토리 구조에 통합되지 않고 독자적인 구조
/usr/etc /etc 디렉토리에는 각종 환경 설정 파일들이 있듯이 이곳에도 여러 가지 시스템 환경 설정 파일들이 저장되어 있습니다. /usr/etc의 파일들은 /etc디렉토리 안의 파일들과 달리 반드시 필요한 파일들은 아닙니다.
/usr/sbin 시스템 관리자를 위한 명령어들이 저장되는 디렉토리이며 명령어들은 루트 파일 시스템에는 필요가 없는 서버 프로그램들이 저장됩니다.
/usr/include C 라이브러리 및 각종 추가 라이브러리 헤더 파일
/usr/lib /lib 에 들어 있는 라이브러리를 제외한 라이브러리로 /usr/bin의 실행 파일의 동적 링크된 라이브러리가 들어 있습니다.
/usr/local 시스템 관리자에 의해서 따로 설치되는 프로그램들을 모아 놓은 곳으로 시스템에 관련된 프로그램이 아닌 관리자가 소스를 가져다가 컴파일하여 설치한 파일이 저장되는 곳입니다.
/usr/man man페이지의 실제 내용들이 저장되어 있는 디렉토리. man1, man2, man3, 등과 같이 여러개의 디렉토리들로 나누어져 있으며, man1 디렉토리는 섹션 1의 man 페이지 소스를 위한 디렉토리가 됩니다.
/usr/src 시스템에서 사용하는 각종 프로그램들의 컴파일되지 않은 소스 파일들이 저장되어 있다./usr/src/linux 디렉토리가 리눅스의 커널소스를 저장하고 있는 디렉토리입니다.
/usr/X386 /usr/X11R6 디렉토리와 유사한 티렉토리로 X11 Release 5를 위한 디렉토리
/usr/info GNU info문서들을 저장하고 있는 디렉토리
/usr/doc 각종 문서들이 저장되어 있는 디렉토리
/lib

일반적인 리눅스 시스템에서 사용하는 공용 라이브러리 파일들이 위치한 디렉토리입니다.
/lib/modules 디렉토리에는 커널로 로딩 사능한 커널 모듈들이 저장되어 있습니다.

 

/home

사용자 별로 제공되는 홈 디렉토리가 위치하는 디렉토리입니다. 그러므로 시스템에서 사용하지 않으며 네트워크로 시스템에 접속하는 사용자들을 위한 공간입니다.

/var

각종 시스템 로그 파일이나 사용자 로그인에 대한 보안기록등과 같은 시스템에서 사용되는 동적인 파일들이 저장됩니다.

내  용 설    명
/var/cache 포멧된 메뉴얼 페이지들이 잠시 대기(Cache)하기 위한 디렉토리
/var/lib 시스테이 동작하면서 계속 수정되고 변경되는 파일들을 위한 디렉토리
/var/local /usr/local 디렉토리에 설치된 프로그램들의 각종 데이터들이 저장되는 디렉토리
/var/lock 잠금 파일들이 저장되는 디렉토리로 프로그램들이 특정한 장치나 파일들을 프로그램 자신이 독점적으로 사용하려 할 때 /var/lock 디렉토리에 잠금 파일을 만들어 사용하게 됩니다. 그렇기 때문에 다른 프로그램들은 장치나 파일을 사용하기 전에 우선 이 디렉토리의 내용을 조사하여 해당 장치나 파일들이 사용중인지 확인합니다.
/var/log 프로그램들의 로그 파일을 저장하는 디렉토리
/var/log/boot.log 부팅시 시작된 데몬들에 대한 정보
/var/log/cron 크론 메시지
/var/log/dmesg 부팅 시 컴퓨터 초기화 부분의 메시지가 기록되며 마직 부팅 메시지를 담습니다.
/var/log/secure 서비스를 받기 위하여 서버에 접속하는 모든 기록이 저장
/var/log/spooler 메일 및 뉴스 로그 파일
/var/log/statistics 센드 메일에서 사용하는 로그 파일
/var/log/wtmp 로그인한 사람의 정보를 가지고 있는 데이터 파일. 시스템을 사용하고 있는 사람의 정보를 가지고 있습니다.
/var/log/lastlog 마지막에 로그인한 사람에 대한 정보
/var/log/messages 시스템의 이상 유무에 대한 로그 파일로 시스템의 이상 유무를 파악하는데 사용
/var/log/xferlog ftp 억세스 로그 파일
/var/log/htmlaccess.log 아파치 웹 억세스 로그 파일. rpm으로 설치 시 여기에 억세스 로고가 쌓이며 /var/log/httpd/와 더블어 아파치와 관련된 로그 파일
/var/log/maillog 센드 메일의 로그 파일. 사용자가 메일 관련하여 접속할 경우 기록
/var/run 시스템의 현재 정보들을 저장하고 있는 디렉토리. /var/run/xinetd.pid 파일의 경우 현재 사용중인 xinetd 데몬의 프로세스 번호를 저장
/var/spool 메일이나 뉴스, 프린터 큐 등고 같은 시스템상에서 대기 상태에 있는 작업들을 위한 디렉토리. 각각의 대기 작업들은 모두 /var/spool 아래 고유의 디렉토리에 위치합니다. 예를 들어 시스템의 계정 사용자들의 메일은 /var/spool/mail 에 저장됩니다.
/var/tmp /tmp에 저장된 임시 파일들중에 오래 보관되어야 할 임시 파일들이 저장되는 디렉토리
/var/log/netconf.log netconf 명령어 수행에 대한 로그 파일

 

/tmp

임시 파일을 위한 디렉토리입니다.

/root

시스템 관리자의 홈 디렉토리입니다.

 

[출처] http://forum.falinux.com/zbxe/?document_srl=406068

반응형



Posted by 궁극의 java개발자
,





반응형
 

 

CD 만들기
1.1. 필요사항(파일)
1.2. 부팅 관련 이미지 만들기
1.3. 작업 순서
1.4. rpm저장소 생성
1.5. comps 파일 작성법
1.6. hdlist 작성
1.7. 패키지순서 파일 및 크기분할
1.8. 크기 분할에 맞춘 확정 hdlist 재작성
1.9. ISO 만들기
1.10. 확인하기
1.11. 시디굽기
2. RPM 사용하기
2.1. 패키지 디렉토리
2.2. 소스 rpm 풀어서 rpm 만들기
2.3. 설치하기
2.3.1. -U 옵션
2.3.2. -Uv 옵션
2.3.3. -Uvh 옵션
2.3.4. -i
2.3.5. --nodeps
2.3.6. --force
2.4. 지우기
2.4.1. -evv 옵션
2.4.2. --test
2.4.3. --nodeps
2.4.4. rpm 이 아래와 같이 중복으로 설치 되어 있을 경우 해결 방법
2.4.5. rpm 이 스크립트 에러 인하여 지워지지 않을 경우
2.5. 패키지 정보 알아내기
2.5.1. -q
2.5.2. -qa
2.5.3. -qa | grep
2.5.4. -qa | grep -i
2.5.5. -qa | wc -l
2.5.6. -qf
2.5.7. -q --whatprovides module-info
2.5.8. -qi
2.5.9. -ql
2.5.10. -qlv
2.5.11. -qc
2.5.12. -qdf
2.5.13. -q -requires
2.5.14. -ql --dump
2.5.15. -q -scripts
2.5.16. -q --queryformat
2.5.17. --querytags
2.5.18. -qcf
2.5.19. -qpil
2.5.20. -qf
2.5.21. -q --whatrequires
2.6. 비교하기
2.6.1. -K
2.6.2. -Kv
2.6.3. -Kvv
2.7. 검사하기
2.7.1. -V
2.7.2. -Va --nofiles
2.8. spec 화일
2.8.1. spec 화일 정책
2.8.2. 매크로 정의
2.8.3. 다음은 스펙정보의 예제 이다.
2.8.4. 소스 부분
2.8.5. setup
2.8.6. patch
2.8.7. build
2.8.8. install
2.8.9. clean
2.8.10. files
2.8.11. if
2.8.12. Requires
2.8.13. Buildprereq
2.9. rpm 만들기
2.9.1. -bp
2.9.2. -bc
2.9.3. -bi
2.9.4. -bb
2.9.5. -ba
2.9.6. -bs
2.9.7. --rebuild
2.10. rpm2cpio 사용하기
2.10.1. cpio -t
2.10.2. cpio -E list --quiet -iumd
2.10.3. cd imsi; cpio -E ../list --quiet -iumd
2.11. 3.7 패치 적용하기
3. 패키지 그룹
3.1. 커널
3.2. 아나콘다 분석
3.2.1. 개요
3.2.2. 변경사항
3.2.3. anaconda-runtime
3.3. base
3.3.1. base 목록
3.3.2. stage2.img를 만들기 위한 목록
3.3.3. setup
3.3.4. wow-release
3.3.5. wow-menus
3.3.6. wow-logos
3.3.7. bzip2
3.3.8. glibc
3.3.9. gzip
3.3.10. tar
3.3.11. lilo
3.3.12. mount
3.3.13. pam
3.3.14. passwd
3.3.15. rpm
3.3.16. bash
3.3.17. apt-rpm
3.3.18. telnet
3.3.19. ncftp
3.3.20. initscripts
3.3.21. kernel-pcmica-es
3.3.22. man
3.3.23. mkinitrd
3.4. XFree86
3.5. KDE
3.5.1. 의존성관계
3.5.2. qt 304 온더스팟패치
3.5.3. kdebase
3.6. gdk, gtk
3.6.1. 의존성 관계
3.7. GNOME
3.7.1. gnome 띄우기
3.7.2. gnome-core
3.7.3. gdm 2.2.5.5
3.7.4. doorman 1.0.9
3.7.5. wow-faq 0.1
3.7.6. wow-menus 1.4.1.1
3.7.7. gnome-utils
3.7.8. control-center
3.7.9. sawfish
3.7.10. gnome-applets
3.7.11. xinitrc 3.22
3.7.12. gedit 0.9.7
3.8. 유틸
3.8.1. hanterm
3.8.2. 기타
3.9. 인터넷
3.9.1. mozilla
3.9.2. evolution 1.0.5
3.9.3. 기타
3.10. 멀티미디어
3.10.1. xmms 1.2.7
3.10.2. 기타
3.11. 그래픽
3.11.1. GIMP 1.2.3 빌드할때 요구되는 꾸러미
3.11.2. 기타
3.12. 개발툴
3.12.1. 의존성
3.12.2. docbook
3.12.3. 기타
3.13. 서버 관련
3.14. 기타 패키지
3.15. 보안
3.16. 오락
3.16.1. gnome-games 1.4.0.1
4. apt 사용
4.1. 저장소 만들기
4.2. apt-get 사용
4.2.1. 소스리스트
4.2.2. 목록 새로작성
4.2.3. 설치
4.2.4. 업그레이드
5. 설치한후 설정값 변경
5.1. kde 에서 X 띄울때 한글 locale 띄우기
5.2. 윈도우메니저 바꾸기
5.3. 네트워크 , 호스트이름 설정하기
5.4. init 스크립트 amazing wowlinux 바꾸기

1. CD 만들기





1.5. comps 파일 작성법

comps 파일은 설치 과정에서 패키지들이 어떻게 꾸려지는지를 정의하며, 기본 위치는 /i386/RedHat/base이며 이 위치에 파일을 작성/저장한다.

이 파일은 패키지들을 기능에 따라 분리/정의 한다. 아래의 예 :

  • X Window System

  • GNOME

  • Mail/WWW/News Tools

  • Kernel Development

설치하는 도중에 사용자는 "설치 유형" 과 "패키지 선택" 화면을 보고 받게 된다. 어떠한 패키지(컴포넌트)들은 미리 선택되어 있고 어떤 것들은 그렇지 않다.

 

comps 형식 버전

[1|0] [--hide] [패키지명] {
	? [패키지명] { 
		rpm명
	}
	@ 정의된 패키지명, 
	[(lang language명) : | 아키텍쳐명 : rpm명]
	...
}
  

 

comps 파일은 첫번째 줄에-최초 한번-현재 comps 양식의 버전을 기술하는 것으로 시작한다.

comps형식버젼과 패키지명, 패키지명과 패키지명 사이는 반드시 공란으로 비워야 하며, “{ }” 로 패키지를 묶어 구분한다.

패키지명과 "{}" 사이는 하나의 공백이 존재한다.

 

4

1 Base {
  MAKEDEV
  SysVinit
  alpha: aboot
  anacron
  i386: apmd
  ash
  ...
  (lang ko) : han2
}

1 Printer Support {
  a2ps
  psutils
  ...
  chkfontpath
}

0 Kernel Development {
  @ Development
  kernel-source
}

0 Emacs {
  ? X Window System {
    emacs-X11
  }
  ? Authoring/Publishing {
   psgml
  }
  emacs
  emacs-nox
  tamago
  (lang ko): semi
}

0 --hide Server {
  @ Mail/WWW/News Tools
  @ ProFTPD Server
  @ Printer Support
  @ Networked Workstation
  @ Dialup Workstation
  @ Network Server
  @ Network Management Workstation
  @ Development
  @ Utilities
}
  

 

각 컴포넌트의 이름 앞 기본 선택을 나타내는 1이나 0이 주어진다. 1은 그 컴포넌트가 기본적으로 선택된다는 것을, 0은 선택되지 않음을 의미한다.

첫번째 컴포넌트는 Base이고, 반드시 존재해야 하며 대화상자에 나타나지 않는다는 점에서 특별하다. 당연히 기본 설치는 선택하지 않을 수 없다.

다음에는 그 컴포넌트에 해당하는 rpm 패키지들의 목록이 나온다. 이름들이 rpm 파일 안에 저장되어 있는 이름이 라는 점에 주의하여야 한다.

--hide 옵션은 expert 설치과정을 선택하지 않는다면 목록을 볼 수 없음을 의미한다. (설치유형에서만 보여진다.)

? 는 컴포넌트를 설치할 때 지정한 컴포넌트가 선택되어 있다면 추가로 설치할 패키지를 지정할 수 있다. 위의 예제를 보자면 Emacs 컴포넌트를 설치하는데 X윈도우가 선택되어 있다면 emacs-X11 패키지를 설치하는 것이다.

@ 은 미리 정의한 컴포넌트를 다른 컴포넌트에서 사용하고자 할때 사용된다.

(lang ko) : 은 설치환경이 한글(ko) 일 경우에만 설치되는 패키지를 지정해 줄 수 있다.

i386 : 와 같이 플랫폼 환경에 따라 설치할 패키지를 선택해 줄수 있다. !386 과 같이하면 i386 플랫폼을 뺀 나머지 플랫폼에 설치된다.

* 참고 : 이 파일이 어떻게 parse 되는지 알고 싶다면 /usr/lib/anaconda/comps.py 를 확인 한다.








2. RPM 사용하기



2.3. 설치하기







2.4. 지우기

2.4.1. -evv 옵션

아래와 같이 삭제를 하는 동안에 상세한 설명을 보여준다.

 

root@wow:~# rpm -evv FlashPlayer
D: opening db index       /var/lib/rpm/Packages  mode=0x82
D: locked  db index       /var/lib/rpm/Packages
D: opening db index       /var/lib/rpm/Name  mode=0x82
D: opening db index       /var/lib/rpm/Requirename  mode=0x82
D: getting list of mounted filesystems
D: opening db index       /var/lib/rpm/Basenames  mode=0x82
D: opening db index       /var/lib/rpm/Group  mode=0x82
D: opening db index       /var/lib/rpm/Providename  mode=0x82
D: opening db index       /var/lib/rpm/Conflictname  mode=0x82
D: opening db index       /var/lib/rpm/Triggername  mode=0x82
D: opening db index       /var/lib/rpm/Depends create mode=0x82
D: will remove files test = 0
D:    file: /usr/lib/mozilla/plugins/libflashplayer.so action: remove
D:    file: /usr/lib/mozilla/plugins/ShockwaveFlash.class action: remove
D: running postuninstall script (if any)
D:   ---       1042 FlashPlayer-5.0r48-0wl
D: removing "FlashPlayer" from Name index.
D: removing 2 entries from Basenames index.
D: removing "Applications/Internet" from Group index.
D: removing 3 entries from Requirename index.
D: removing 2 entries from Providename index.
D: closed  db index       /var/lib/rpm/Depends
D: closed  db index       /var/lib/rpm/Triggername
D: closed  db index       /var/lib/rpm/Conflictname
D: closed  db index       /var/lib/rpm/Providename
D: closed  db index       /var/lib/rpm/Requirename
D: closed  db index       /var/lib/rpm/Group
D: closed  db index       /var/lib/rpm/Basenames
D: closed  db index       /var/lib/rpm/Name
D: closed  db index       /var/lib/rpm/Packages

 






2.5. 패키지 정보 알아내기














2.5.14. -ql --dump

패키지 덤프 화일 보기

 

root@wow:/aaa/RPMS# rpm -ql --dump dump
/etc/dumpdates 0 982172352 d41d8cd98f00b204e9800998ecf8427e 0100664 root disk 1 0 3393 X
/sbin/dump 50140 982172354 6c57678dd26a765ed08e1391d037677f 0100755 root root 0 0 3406 X
/sbin/rdump 4 982172352  0120777 root root 0 0 20372 dump
/sbin/restore 72348 982172354 ff8ae2e4631de1fccd822de888722491 0100755 root root 0 0 7715 X
/sbin/rrestore 7 982172352  0120777 root root 0 0 7713 restore
/usr/share/doc/dump-0.4b21 4096 982172354  040755 root root 0 0 20376 X
/usr/share/doc/dump-0.4b21/CHANGES 27209 979411835 7a851ca3e9ee5f2e028572c85b640639 0100644 root root 0 1 20373 X
/usr/share/doc/dump-0.4b21/COPYRIGHT 2080 975944595 963d90fbeea4272f49e9f88cb01df1b6 0100644 root root 0 1 3409 X
/usr/share/doc/dump-0.4b21/KNOWNBUGS 652 943143432 dd0e6e2b7d193bac42caadc819069c89 0100644 root root 0 1 506 X
/usr/share/doc/dump-0.4b21/MAINTAINERS 527 975944595 d2122fbfa2d61bea97213a9a6a5290ca 0100644 root root 0 1 20352 X
/usr/share/doc/dump-0.4b21/README 353 939648664 7ea33b6ab167e746b61d06c695f9922f 0100644 root root 0 1 2562 X
/usr/share/doc/dump-0.4b21/REPORTING-BUGS 2491 975944595 a553ad81c2415f876a03a3019e6bd0b2 0100644 root root 0 1 3411 X
/usr/share/doc/dump-0.4b21/THANKS 2997 977397292 477772fd2b8cc709d8f8b1640e8b2a6e 0100644 root root 0 1 3394 X
/usr/share/doc/dump-0.4b21/TODO 1613 959884208 056f7dde4660874f9537fedc46289c2a 0100644 root root 0 1 3412 X
/usr/share/doc/dump-0.4b21/dump.lsm 611 979411835 3ab7a18193ddfeb5d7a784008a44b006 0100644 root root 0 1 3413 X
/usr/share/man/man8/dump.8.gz 6112 982172351 1898b0f6d96c9efb471ab9258b204536 0100644 root root 0 1 20374 X
/usr/share/man/man8/rdump.8.gz 9 982172353  0120777 root root 0 1 20285 dump.8.gz
/usr/share/man/man8/restore.8.gz 6292 982172351 f7aa2c9dca172530ff21acaa434a9712 0100644 root root 0 1 20377 X
/usr/share/man/man8/rrestore.8.gz 12 982172353  0120777 root root 0 1 7720 restore.8.gz

 











2.8. spec 화일



2.8.3. 다음은 스펙정보의 예제 이다.

 

Summary:        GNU Compiler Collection
Name:           gcc
Version:        2.95.3
Release:        1wow

License:        GPL
URL:            http://gcc.gnu.org/
Source:         http://gcc.gnu.org/gcc-2.95/%{name}-%{version}.tar.gz
Group:          Development/Languages
Requires:       glibc
BuildRoot:      /var/tmp/%{name}-%{version}

Vendor:         WOWLiNUX co., Ltd <http://www.wowlinux.com>
Distribution:   WOWLiNUX 7.3 DeBak
Packager:       Kim Yong Il <nalabi@formail.org>

%description
A compiler aimed at integrating all the optimizations and features
necessary for a high-performance and stable development environment.

%package -n cpp
Summary: The C Preprocessor.
Group: Development/Languages
Prereq: /sbin/install-info

%description -n cpp
Cpp (or cccp) is the GNU C-Compatible Compiler Preprocessor.
.......................
......................

 

 

0) define		: 변수를 사용한다. name 이라는 변수를 gcc 로 치환을 해서 사용한다.
1) Summary		: 간단하게 요약을 해주는 부분
2) Name			: 꾸러미 이름을 지정한다	
3) Version		: 꾸러미 버전을 나타낸다.
4) Release		: 발표한 수를 나타낸다.
5) License		: 허가증을 적어 준다.
6) Group		: 어디에 묶여 있는지를 나타낸다. 
7) Source		: 원본 화일이 어디 있는지 적어 둔다.
8) URL			: 꾸러미 홈페이지를 적어 둔다.
9) Distribution		: 배포본을 나타낸다.
10) Vendor		: 매각인을 표시한다.
11) Packager		: 꾸러미 만든 사람을 적어둔다.
12) description		: 상세한 설명을 적어 둔다.

 












2.9. rpm 만들기








2.10. rpm2cpio 사용하기





3. 패키지 그룹


3.3. base

3.3.1. base 목록

 

MAKEDEV-3.3-4.i386.rpm
SysVinit-2.84-2.i386.rpm
anacron-2.3-17.i386.rpm
apmd-3.0.2-10.i386.rpm
ash-0.3.7-2.i386.rpm
at-3.1.8-23.i386.rpm
atk-1.0.1-1.i386.rpm
authconfig-4.2.8-4.i386.rpm
authconfig-gtk-4.2.8-4.i386.rpm
basesystem-7.0-2.noarch.rpm
bash-2.05a-13.i386.rpm
bzip2-1.0.2-2.i386.rpm
bzip2-libs-1.0.2-2.i386.rpm
chkconfig-1.3.5-3.i386.rpm
console-tools-19990829-40.i386.rpm
cpio-2.4.2-26.i386.rpm
dev-3.3-4.i386.rpm
dev86-0.15.5-1.i386.rpm
diffutils-2.7.2-5.i386.rpm
dosfstools-2.8-1.i386.rpm
e2fsprogs-1.27-3.i386.rpm
eject-2.0.12-4.i386.rpm
file-3.37-5.i386.rpm
filesystem-2.1.6-2.noarch.rpm
fileutils-4.1-10.i386.rpm
findutils-4.1.7-4.i386.rpm
gawk-3.1.0-4.i386.rpm
glib-1.2.10-5.i386.rpm
glib10-1.0.6-10.i386.rpm
glib2-2.0.1-2.i386.rpm
glibc-2.2.5-34.i386.rpm
glibc-2.2.5-34.i686.rpm
glibc-common-2.2.5-34.i386.rpm
glibc-profile-2.2.5-34.i386.rpm
glibc-utils-2.2.5-34.i386.rpm
grep-2.5.1-1.i386.rpm
gzip-1.3.3-1.i386.rpm
lilo-21.4.4-14.i386.rpm
info-4.1-1.i386.rpm
initscripts-6.67-1.i386.rpm
kbdconfig-1.9.15-2.i386.rpm
kernel-2.4.18-3.i386.rpm
kernel-BOOT-2.4.18-3.i386.rpm
kernel-doc-2.4.18-3.i386.rpm
kernel-source-2.4.18-3.i386.rpm
kernel-pcmcia-cs-3.1.27-18.i386.rpm
gettext-0.11.1-2.i386.rpm
kernel-utils-2.4-7.4.i386.rpm
ksymoops-2.4.4-1.i386.rpm
krb5-libs-1.2.4-1.i386.rpm
kudzu-0.99.52-1.i386.rpm
less-358-24.i386.rpm
lesstif-0.93.18-2.i386.rpm
libstdc++-2.95.3-7.i686.rpm
libtermcap-2.0.8-28.i386.rpm
man-1.5j-6.i386.rpm
man-pages-1.48-2.noarch.rpm
man-pages-ko-20010321-2.noarch.rpm
mingetty-1.00-1.i386.rpm
mkbootdisk-1.4.3-1.i386.rpm
mkinitrd-3.3.10-1.i386.rpm
mktemp-1.5-14.i386.rpm
modutils-2.4.14-3.i386.rpm
mount-2.11n-13.i386.rpm
mouseconfig-4.25-1.i386.rpm
ncurses-5.2-26.i386.rpm
ncurses4-5.0-5.i386.rpm
net-tools-1.60-4.i386.rpm
openldap-2.0.23-4.i386.rpm
openldap-clients-2.0.23-4.i386.rpm
openldap-servers-2.0.23-4.i386.rpm
openldap12-1.2.13-3.i386.rpm
pam-0.75-32.i386.rpm
pam_krb5-1.55-1.i386.rpm
pam_smb-1.1.6-2.i386.rpm
passwd-0.67-1.i386.rpm
pciutils-2.1.9-2.i386.rpm
raidtools-1.00.2-1.3.i386.rpm
rootfiles-7.2-1.noarch.rpm
rpm-4.0.4-7x.18.i386.rpm
rpm-build-4.0.4-7x.18.i386.rpm
rpm-perl-4.0.4-7x.18.i386.rpm
rpm-python-4.0.4-7x.18.i386.rpm
rpm2html-1.7-6.i386.rpm
rpmdb-redhat-7.3-0.20020419.i386.rpm
rpmfind-1.7-7.i386.rpm
rpmlint-0.38-5.noarch.rpm
sed-3.02-11.i386.rpm
setserial-2.17-5.i386.rpm
setup-2.5.12-2wl.noarch.rpm
setuptool-1.8-2.i386.rpm
sh-utils-2.0.11-14.i386.rpm
shadow-utils-20000902-7.i386.rpm
slang-1.4.5-2.i386.rpm
slocate-2.6-1.i386.rpm
tcsh-6.10-6.i386.rpm
syslinux-1.52-2.i386.rpm
sysklogd-1.4.1-8.i386.rpm
tar-1.13.25-4.i386.rpm
termcap-11.0.1-10.noarch.rpm
textutils-2.0.21-1.i386.rpm
time-1.7-16.i386.rpm
timeconfig-3.2.7-1.i386.rpm
tmpwatch-2.8.3-1.i386.rpm
unzip-5.50-3.i386.rpm
utempter-0.5.2-7.i386.rpm
util-linux-2.11n-13.i386.rpm
vim-common-6.1-3.i386.rpm
vim-minimal-6.1-3.i386.rpm
vixie-cron-3.0.1-64.i386.rpm
which-2.13-3.i386.rpm
words-2-18.noarch.rpm
zlib-1.1.4-2.i386.rpm
wow-logos_1.0-2wl_noarch.rpm
wow-release_7.3-2wl_noarch.rpm
lvm-1.0.3-4.i386.rpm
db3-3.3.11-6.i386.rpm
db3-utils-3.3.11-6.i386.rpm
db3x-3.2.9-4.i386.rpm
procps-2.0.7-12.i386.rpm
procps-X11-2.0.7-12.i386.rpm
ttfonts-1.0-9.noarch.rpm
mtools-3.9.8-2.i386.rpm
openssl-0.9.6b-18.i386.rpm
pine-4.44-7.i386.rpm
rsh-0.17-5.i386.rpm
rsh-server-0.17-5.i386.rpm
traceroute-1.4a12-2.i386.rpm
db1-1.85-8.i386.rpm
popt-1.6.4-7x.18.i386.rpm
hwdata-0.14-1.noarch.rpm
apt-0.3.19cnc55-fr7.i386.rpm
iputils-20020124-3.i386.rpm
libuser-0.50.2-1.i386.rpm
wow-release_7.3-2wl_noarch.rpm
gdbm-1.8.0-14.i386.rpm
cyrus-sasl-1.5.24-25.i386.rpm
cyrus-sasl-md5-1.5.24-25.i386.rpm
cracklib-2.7-15.i386.rpm
cracklib-dicts-2.7-15.i386.rpm
newt-0.50.35-1.i386.rpm
pcre-3.9-2.i386.rpm
ncftp-3.1.3-3.i386.rpm
iproute-2.4.7-1.i386.rpm

 


3.3.2. stage2.img를 만들기 위한 목록

 

python-1.5.2-38.i386.rpm
python-clap-1.0.0-3.noarch.rpm
python-docs-1.5.2-38.i386.rpm
python-popt-0.8.8-7.x.2.i386.rpm
python-tools-1.5.2-38.i386.rpm
python-xmlrpc-1.5.1-7.x.3.i386.rpm
python2-2.2-16.i386.rpm
python2-docs-2.2-16.i386.rpm
XFree86-100dpi-fonts-4.2.0-8.i386.rpm
XFree86-3DLabs-3.3.6-44.i386.rpm
XFree86-4.2.0-8.i386.rpm
XFree86-75dpi-fonts-4.2.0-8.i386.rpm
XFree86-8514-3.3.6-44.i386.rpm
XFree86-AGX-3.3.6-44.i386.rpm
XFree86-FBDev-3.3.6-44.i386.rpm
XFree86-ISO8859-15-100dpi-fonts-4.2.0-8.i386.rpm
XFree86-ISO8859-15-75dpi-fonts-4.2.0-8.i386.rpm
XFree86-ISO8859-2-100dpi-fonts-4.2.0-8.i386.rpm
XFree86-ISO8859-2-75dpi-fonts-4.2.0-8.i386.rpm
XFree86-ISO8859-9-100dpi-fonts-4.2.0-8.i386.rpm
XFree86-ISO8859-9-75dpi-fonts-4.2.0-8.i386.rpm
XFree86-Mach32-3.3.6-44.i386.rpm
XFree86-Mach64-3.3.6-44.i386.rpm
XFree86-Mach8-3.3.6-44.i386.rpm
XFree86-Mono-3.3.6-44.i386.rpm
XFree86-P9000-3.3.6-44.i386.rpm
XFree86-S3-3.3.6-44.i386.rpm
XFree86-S3V-3.3.6-44.i386.rpm
XFree86-SVGA-3.3.6-44.i386.rpm
XFree86-VGA16-3.3.6-44.i386.rpm
XFree86-W32-3.3.6-44.i386.rpm
XFree86-Xnest-4.2.0-8.i386.rpm
XFree86-Xvfb-4.2.0-8.i386.rpm
XFree86-base-fonts-4.2.0-8.i386.rpm
XFree86-compat-libs-4.0.3-2.i386.rpm
XFree86-compat-modules-3.3.6-44.i386.rpm
XFree86-cyrillic-fonts-4.2.0-8.i386.rpm
XFree86-doc-4.2.0-8.i386.rpm
XFree86-font-utils-4.2.0-8.i386.rpm
XFree86-libs-4.2.0-8.i386.rpm
XFree86-tools-4.2.0-8.i386.rpm
XFree86-truetype-fonts-4.2.0-8.i386.rpm
XFree86-twm-4.2.0-8.i386.rpm
XFree86-xdm-4.2.0-8.i386.rpm
XFree86-xf86cfg-4.2.0-8.i386.rpm
XFree86-xfs-4.2.0-8.i386.rpm
XFree86-xtrap-clients-4.2.0-8.i386.rpm
Xconfigurator-4.10.7-1.i386.rpm
anaconda-7.3-7.i386.rpm
anaconda-images-7.3-6.noarch.rpm
anaconda-runtime-7.3-7.i386.rpm
anaconda-help-7.3-2.noarch.rpm
gtk+-1.2.10-15.i386.rpm
gtk+10-1.0.6-10.i386.rpm
kon2-0.3.9b-7.i386.rpm
kon2-fonts-0.3.9b-7.i386.rpm
pygnome-1.4.2-3.i386.rpm
pygnome-applet-1.4.2-3.i386.rpm
pygnome-capplet-1.4.2-3.i386.rpm
pygnome-gtkhtml-1.4.2-3.i386.rpm
pygnome-libglade-1.4.2-3.i386.rpm
pygtk-libglade-0.6.9-3.i386.rpm
pygtk-0.6.9-3.i386.rpm
pygtk-glarea-0.6.9-3.i386.rpm
pygtk2-1.99.8-7.i386.rpm
pygtk2-libglade-1.99.8-7.i386.rpm
gnome-libs-1.4.1.6-1wl.i386.rpm
gdk-pixbuf-0.14.0-8.i386.rpm
gdk-pixbuf-gnome-0.14.0-8.i386.rpm
gtk-engines-0.12-1wow.i386.rpm
imlib-1.9.13-3.7.x.i386.rpm
imlib-cfgeditor-1.9.13-3.7.x.i386.rpm
libjpeg-6b-19.i386.rpm
libjpeg6a-6a-8.i386.rpm
libpng-1.0.12-2.i386.rpm
libtiff-3.5.7-2.i386.rpm
audiofile-0.2.3-1.i386.rpm
esound-0.2.24-1.i386.rpm
krb5-workstation-1.2.4-1.i386.rpm
busybox-0.60.2-4.i386.rpm
busybox-anaconda-0.60.2-4.i386.rpm
parted-1.4.24-3.i386.rpm
reiserfs-utils-3.x.0j-3.i386.rpm
fonts-ISO8859-2-1.0-3.noarch.rpm
fonts-ISO8859-2-100dpi-1.0-3.noarch.rpm
fonts-ISO8859-2-75dpi-1.0-3.noarch.rpm
fonts-ISO8859-2-Type1-1.0-3.noarch.rpm
fonts-ISO8859-7-1.0-2.noarch.rpm
fonts-ISO8859-7-100dpi-1.0-2.noarch.rpm
fonts-ISO8859-7-75dpi-1.0-2.noarch.rpm
fonts-ISO8859-7-Type1-1.0-2.noarch.rpm
fonts-KOI8-R-1.0-1.noarch.rpm
fonts-KOI8-R-100dpi-1.0-1.noarch.rpm
fonts-KOI8-R-75dpi-1.0-1.noarch.rpm
mt-st-0.7-3.i386.rpm
hdparm-4.6-1.i386.rpm
gettext-0.11.1-2.i386.rpm
ttfonts-ko-1.0.11-9.noarch.rpm  
  

 
























3.5. KDE



3.5.3. kdebase

 

ftp://ftp.kde.org/pub/kde/stable/latest/src/

  • 바탕 화면을 변경 한다.(www.kde-look.org)

    설정파일 : /usr/share/config/kdesktoprc 에서 변경

    전역파일 : /usr/share/wallpapers/

    지역파일 : ~$USERHOME/.kde/share/wallpapers/

  • 바탕 화면을 변경 한다.

    전역파일 : /usr/share/apps/kdesktop/DesktopLinks/

    지역파일 : ~$USERHOME/.kde/share/apps/kdesktop/DesktopLinks/

  • hanterm 메뉴를 추가 한다.

  • www.wowlinux.com 링크추가및 변경을 한다

  • kde splash 이미지 변경

    관련화일 : splash_top.png, splash_bottom.png, splash_active_bar.png, splash_inactive_bar.png

    전역설정 : /usr/share/apps/ksplash/pics

    지역설정 : ~$USERHOME/.kde/share/apps/ksplash/pics

  • kde side 이미지 변경

    관련파일 : kside.png(22x132), kside_title.png(22x1)

    전역설정 : /usr/share/apps/kicker/pics/

    지역설정: ~$USERHOME/.kde/share/apps/kickeer/pics/

  • kde hicolor 테마 변경

    관련파일 : go.png(16x16/22x22/32x32/48x48/64x64) - 시작아이콘

    전역설정 : /usr/share/icons/hicolor/*/apps/

    지역설정: ~$USERHOME/.kde/icons/hicolor/*/apps/

    * kde기본 아이콘 테마는 hicolor이며, 현제 설정중인 아이콘 테마는 "kde제어판-모양새와 쓰임새-아이콘"에 정의되어 있다.

  • kde 기본판넬아이콘 등록

    관련파일 : /usr/share/apps/kicker/default-apps

    kkicker.cpp에서 기본 메뉴를 변경해야 한다.


3.7. GNOME

gnome-core

gnome-core
  + libpanel-applet0            
  + wow-utils
  + scrollkeeper
  + gnome-libs
  +  ximian-menu = wowmenus
  |   + gnome-libs
  |   |   + imlib
  |   |   + libungif
  + wow-doorman
  |   + wow-wallpaper
  |   + gtk-engines-thinice
  |   + gtk-themes
  |   + sawfish-themes
  |   |    + sawfish
  |   |    |    + control-center
  |   |    |    |   + bonobo-conf
  |   |    |    |   |   + bonobo
  |   |    |    |   |   |   + oaf
  |   |    |    |   |   |   + libgnomeprint
  |   |    |    |   |   + GConf
  |   |    |    |   + libgal19
  |   |    |    |   + libcapplet
  |   |    |    |   + libgtkhtml20
  |   |    |    + librep
  |   |    |    |   + gmp
  |   |    |    + rep-gtk
  |   |    |    + rep-gtk-gnome

 

gnome-utils

gnome-utils
  + libgtop

 

 

http://gnome.org/

ftp://ftp.gnome.org/pub/GNOME/unstable/latest/sources/

와우리눅스 그놈은 지미안(Ximian) 그놈을 기반으로 하여 꾸러미를 만든다.

이 문서에서의 변경사항은 지미안 그놈 꾸러미에서 패치를 추가한 것이다.

더 자세한 사항은 src.rpm 꾸러미에 포함된 spec 과 patch 를 참고한다.

그놈에서 한글 폰트 설정 형식은 아래와 같다.

-adobe-courier-medium-r-normal-*-*-120-*-*-m-*-iso8859-1,-*-gulim-medium-r-normal--*-120-*-*-*-*-ksc5601.
1987-0

 

그놈 설치시에 요구되는 꾸러미

  • ImageMagick

  • fam

  • xinetd

그놈 빌드시에 요구되는 꾸러미

  • 그놈 개발 꾸러미들 (꾸러미-devel)

  • bison

  • sharutils


3.7.2. gnome-core

  • splash 화면에서 한글이 깨지는 것을 수정 한다.

    gnome-core-1.4.0.6/gsm/splash.c 에서 그림파일을 바꾸어 주면 되고 한글 폰트 정보를 추가해 준다.

     

  • gnome-core-wow-splash.patch

    splash 화면에 들어갈 이미지를 변경 한다.

    spec 화일에 install -m 644 %{SOURCE4} pixmaps/wow-splash.uue를 추가한다.

    /usr/share/pixmaps/wow/wow-splash.png

  • 메시지를 번역 하여 추가 한다.

    1.4.0.8 에 포함된 ko.po 파일을 가져와서 와우그놈에 맞도록 수정 한다.

    gnome-core-ko.po

  • 지미안 그놈 메뉴 형태를 지원 한다.

    gnome-core-foobar-restructure.patch

  • 메뉴의 경로를 변경 한다.

    wow-menus 패키지와 의존하여 동작 하도록 한다.

    gnome-core-wow-desktop-fixup.patch

  • 그놈 힌트에서 한글 깨지는 현상을 수정 한다.

    gnome-core-1.4.0.6/gnome-hint/gnome-hint.c 에서 한글 글꼴 정보를 추가한다

    gnome-hint-font.patch

  • 패널 메뉴에서의 아이콘을 변경 한다.

    /usr/share/pixmaps/wow/wow-button-blue.png

    /usr/share/pixmaps/wow/wow-splsh.png


3.7.3. gdm 2.2.5.5

  • splash 화면을 변경 한다.

     

  • gdm-wow-logo.patch

    /usr/share/pixmaps/wow/wow-gdm-screen.png

  • 한글 지원이 가능 하도록 패치를 한다.

    gdm-2.2.5.5./config.gdm.conf.in 파일에 한글 폰트 정보를 추가 한다

    gdm-conf-hangulfont.patch

  • 메시지 번역을 하여 판올림 하도록 한다.

    화면상에서 번역되지 않은 부분 번역

    gnome-ko.po



















4. apt 사용

4.1. 저장소 만들기

makeapt.sh 저장소 새로만들고 패키지 업글 되었을때 사용하는 스크립트

#! /bin/sh

# 저장소 기본 경로

APTDIR=/var/ftp/wow


# first : 저장소 처음 만들때
# up    : 패키지 업그레이드 할때

if [ $# -ne 1 -o \( "$1" != "first" -a "$1" != "up" \) ]; then
        echo "Usage: $0 [ first | up ]"
        echo "        first : 저장소 처음 만들때"
        echo "        up    : 패키지 업그레이드 할때"
        exit 1
fi
MODE=$1

###########################################################################
#### REDHAT 7.3 I386 MAIN OS
###########################################################################

if [ "$MODE" = "first" ]; then
        # 디렉토리 생성 

        echo "$APTDIR/7.3-debak/SRPMS.os 디렉토리 생성"
        mkdir -p $APTDIR/7.3-debak/SRPMS.os || exit 1

        echo "$APTDIR/7.3-debak/i386/RPMS.os 디렉토리 생성"
        mkdir -p $APTDIR/7.3-debak/i386/RPMS.os || exit 1


        echo "$APTDIR/7.3-debak/i386/base 디렉토리 생성"
        mkdir -p $APTDIR/7.3-debak/i386/base || exit 1

        # 릴리즈 화일 생성 
        echo "$APTDIR/7.3-debak/i386/base/release.os 화일 생성"
        cat >$APTDIR/7.3-debak/i386/base/release.os ..EOF 
Archive: stable
Component: os
Version: 7.3
Origin: Wow
Label: Wow
Architecture: i386
EOF

fi

if [ "$MODE" = "first" -o "$MODE" = "up" ]; then
        # base 디렉토리에 패키지 정보를 업글 한다.
        echo "7.3-debak/i386 os 패키지를 업글 합니다."
        echo ""
        echo ""
        genbasedir --topdir=$APTDIR 7.3-debak/i386 os
fi
  

 

필요한 화일 (apt 프로 그램을 설치하면 자동으로 생성 된다)

/usr/bin/genbasedir

/usr/bin/genpkglist

/usr/bin/gensrclist

처음 저장소를 만들때

bash-2.04$ makeapt.sh first 

	

 

업글할때 사용방법

bash-2.04$ makeapt.sh up
7.3-debak/i386 os 패키지를 업글 합니다.


os: pkglist done
os: srclist done
os: hashfile done
All your base are belong to us !!
  

 


4.2. apt-get 사용




4.2.4. 업그레이드

upgrade : 설치되어 있는 패키지를 새로운 꾸러미로 판올림

root@wow:~# apt-get upgrade                  
Processing File Dependencies... Done
Reading Package Lists... Done       
Building Dependency Tree... Done
The following packages have been kept back
  bonobo-conf evolution gtkhtml gtkhtml-devel mozilla mozilla-devel mozilla-mail mozilla-nspr mozilla-nspr-devel mozilla-nss mozilla-nss-devel
  mozilla-psm xscreensaver 
The following packages will be upgraded
  ami ami-gnome audiofile audiofile-devel bonobo bonobo-devel bug-buddy esound esound-devel gdk-pixbuf gdk-pixbuf-devel gdk-pixbuf-gnome glade glib
  glib-devel gnome-audio gnome-audio-extra gnome-mime-data gnome-user-docs gnome-utils gqview gtk+ gtk+-devel gtk-engines imlib imlib-cfgeditor
  imlib-devel libghttp libghttp-devel libgtop libgtop-devel libole2 libole2-devel librep librep-devel librsvg librsvg-devel libunicode libunicode-devel
  nautilus nautilus-mozilla oaf oaf-devel rep-gtk rep-gtk-gnome rep-gtk-libglade xinitrc 
47 packages upgraded, 0 newly installed, 0 to remove(replace) and 13 not upgraded.
Need to get 48.8MB of archives. After unpacking 61.3MB will be used.
Do you want to continue? [Y/n] 
Get:1 ftp://210.181.87.2 7.3-debak/i386/os glib 1:1.2.10-5wl [244kB]
Get:2 ftp://210.181.87.2 7.3-debak/i386/os ami 1.0.11-9wl [412kB]
Get:3 ftp://210.181.87.2 7.3-debak/i386/os ami-gnome 1.0.11-9wl [96.6kB]
Get:4 ftp://210.181.87.2 7.3-debak/i386/os audiofile 1:0.2.3-2wl [173kB]
Get:5 ftp://210.181.87.2 7.3-debak/i386/os audiofile-devel 1:0.2.3-2wl [392kB]
Get:6 ftp://210.181.87.2 7.3-debak/i386/os bonobo 1.0.20-7wow [1685kB]
Get:7 ftp://210.181.87.2 7.3-debak/i386/os bonobo-devel 1.0.20-7wow [6206kB]
Get:8 ftp://210.181.87.2 7.3-debak/i386/os bug-buddy 1:2.0.8-1wl [239kB]
Get:9 ftp://210.181.87.2 7.3-debak/i386/os esound 1:0.2.25-1wl [131kB]
Get:10 ftp://210.181.87.2 7.3-debak/i386/os esound-devel 1:0.2.25-1wl [92.2kB]
Get:11 ftp://210.181.87.2 7.3-debak/i386/os gdk-pixbuf 1:0.17.0-1wow [638kB]
Get:12 ftp://210.181.87.2 7.3-debak/i386/os gdk-pixbuf-devel 1:0.17.0-1wow [914kB]
Get:13 ftp://210.181.87.2 7.3-debak/i386/os gdk-pixbuf-gnome 1:0.17.0-1wow [37.9kB]
Get:14 ftp://210.181.87.2 7.3-debak/i386/os glade 1:0.6.4-1wl [1356kB]
Get:15 ftp://210.181.87.2 7.3-debak/i386/os glib-devel 1:1.2.10-5wl [351kB]
Get:16 ftp://210.181.87.2 7.3-debak/i386/os gnome-audio 1.4.0-4wl [765kB]
Get:17 ftp://210.181.87.2 7.3-debak/i386/os gnome-audio-extra 1.4.0-4wl [675kB]
Get:18 ftp://210.181.87.2 7.3-debak/i386/os gnome-mime-data 1.0.5-1wl [685kB]
Get:19 ftp://210.181.87.2 7.3-debak/i386/os gnome-user-docs 1.4.1.1-2wl [6445kB]
Get:20 ftp://210.181.87.2 7.3-debak/i386/os gnome-utils 1:1.4.1.2-1wl [2812kB]
Get:21 ftp://210.181.87.2 7.3-debak/i386/os gqview 1.1.3-1wl [266kB]
Get:22 ftp://210.181.87.2 7.3-debak/i386/os gtk+ 1:1.2.10-25wl [1687kB]
Get:23 ftp://210.181.87.2 7.3-debak/i386/os gtk+-devel 1:1.2.10-25wl [4353kB]
Get:24 ftp://210.181.87.2 7.3-debak/i386/os gtk-engines 1:0.12-1wl [771kB]
Get:25 ftp://210.181.87.2 7.3-debak/i386/os imlib 1:1.9.14-1wl [614kB]
Get:26 ftp://210.181.87.2 7.3-debak/i386/os imlib-cfgeditor 1:1.9.14-1wl [252kB]
Get:27 ftp://210.181.87.2 7.3-debak/i386/os imlib-devel 1:1.9.14-1wl [1106kB]
Get:28 ftp://210.181.87.2 7.3-debak/i386/os libghttp 1:1.0.9-8wl [45.2kB]
Get:29 ftp://210.181.87.2 7.3-debak/i386/os libghttp-devel 1:1.0.9-8wl [73.0kB]
Get:30 ftp://210.181.87.2 7.3-debak/i386/os libgtop 1:1.0.13-2wl [365kB]
Get:31 ftp://210.181.87.2 7.3-debak/i386/os libgtop-devel 1:1.0.13-2wl [940kB]
Get:32 ftp://210.181.87.2 7.3-debak/i386/os libole2 0.2.4-3wl [97.7kB]
Get:33 ftp://210.181.87.2 7.3-debak/i386/os libole2-devel 0.2.4-3wl [85.3kB]
Get:34 ftp://210.181.87.2 7.3-debak/i386/os librep 1:0.15.2-1wl [913kB]
Get:35 ftp://210.181.87.2 7.3-debak/i386/os librep-devel 1:0.15.2-1wl [647kB]
Get:36 ftp://210.181.87.2 7.3-debak/i386/os librsvg 1.0.3-2wl [112kB]
Get:37 ftp://210.181.87.2 7.3-debak/i386/os librsvg-devel 1.0.3-2wl [157kB]
Get:38 ftp://210.181.87.2 7.3-debak/i386/os libunicode 0.4.gnome-4wl [65.5kB]
Get:39 ftp://210.181.87.2 7.3-debak/i386/os libunicode-devel 0.4.gnome-4wl [84.1kB]
Get:40 ftp://210.181.87.2 7.3-debak/i386/os nautilus 1.0.6-ximian.10 [9256kB]
Get:41 ftp://210.181.87.2 7.3-debak/i386/os nautilus-mozilla 1.0.6-ximian.10 [38.2kB]
Get:42 ftp://210.181.87.2 7.3-debak/i386/os oaf 0.6.9-1wl [291kB]
Get:43 ftp://210.181.87.2 7.3-debak/i386/os oaf-devel 0.6.9-1wl [17.6kB]
Get:44 ftp://210.181.87.2 7.3-debak/i386/os rep-gtk 1:0.15-7wl [1170kB]
Get:45 ftp://210.181.87.2 7.3-debak/i386/os rep-gtk-gnome 1:0.15-7wl [1063kB]
Get:46 ftp://210.181.87.2 7.3-debak/i386/os rep-gtk-libglade 1:0.15-7wl [3243B]
Get:47 ftp://210.181.87.2 7.3-debak/i386/os xinitrc 3.22-1wl [16.6kB]
Fetched 48.8MB in 4s (10.1MB/s)
Executing RPM (-U)...
준비 중...                  ########################################### [100%]
   1:gnome-audio-extra      ########################################### [  2%]
   2:xinitrc                ########################################### [  4%]
   3:librep                 ########################################### [  6%]
   4:gnome-mime-data        ########################################### [  8%]
   5:glib                   ########################################### [ 10%]
   6:gtk+                   ########################################### [ 12%]
   7:libgtop                ########################################### [ 14%]
   8:oaf                    ########################################### [ 17%]
   9:glib-devel             ########################################### [ 19%]
  10:gtk+-devel             ########################################### [ 21%]
  11:gnome-audio            ########################################### [ 23%]
  12:libunicode             ########################################### [ 25%]
  13:libgtop-devel          ########################################### [ 27%]
  14:imlib                  ########################################### [ 29%]
  15:gtk-engines            ########################################### [ 31%]
  16:imlib-devel            ########################################### [ 34%]
  17:libunicode-devel       ########################################### [ 36%]
  18:librsvg                ########################################### [ 38%]
  19:audiofile              ########################################### [ 40%]
  20:gnome-user-docs        ########################################### [ 42%]
  21:audiofile-devel        ########################################### [ 44%]
  22:gdk-pixbuf             ########################################### [ 46%]
  23:gqview                 ########################################### [ 48%]
  24:gdk-pixbuf-devel       ########################################### [ 51%]
  25:ami                    ########################################### [ 53%]
  26:oaf-devel              ########################################### [ 55%]
  27:librep-devel           ########################################### [ 57%]
  28:esound                 ########################################### [ 59%]
  29:gdk-pixbuf-gnome       ########################################### [ 61%]
  30:esound-devel           ########################################### [ 63%]
  31:glade                  ########################################### [ 65%]
  32:bug-buddy              ########################################### [ 68%]
  33:gnome-utils            ########################################### [ 70%]
  34:bonobo                 ########################################### [ 72%]
  35:bonobo-devel           ########################################### [ 74%]
  36:ami-gnome              ########################################### [ 76%]
  37:imlib-cfgeditor        ########################################### [ 78%]
  38:rep-gtk                ########################################### [ 80%]
  39:rep-gtk-gnome          ########################################### [ 82%]
  40:rep-gtk-libglade       ########################################### [ 85%]
  41:libole2                ########################################### [ 87%]
  42:libole2-devel          ########################################### [ 89%]
  43:librsvg-devel          ########################################### [ 91%]
  44:libghttp               ########################################### [ 93%]
  45:libghttp-devel         ########################################### [ 95%]
  46:nautilus               ########################################### [ 97%]
  47:nautilus-mozilla       ########################################### [100%]
		

 



 

 

 

출처 Gold Wolf - One Dream, One Chance | 자부선인
원문 http://blog.naver.com/jabusunin/20017934793

반응형



Posted by 궁극의 java개발자
,

이클립스 디버깅

IT/Eclipse 2015. 12. 11. 17:30





반응형

이클립스 디버깅 (Eclipse Debug)에 대해 알아 봅시다~



1.먼저 문제가 될만한 곳을 찾아서브레이크 포인트를 잡아주세요~~

벌레모양을 눌러 DEBUG로 들어가서 잡아줘도 상관없음






2. 그다음 벌레 모양 디버깅모드를 실행 합니다~




3. 디버그 모드로 바뀐다는 문구 ~~ Yes 를 클릭해주세요.





4. 오른쪽 상단 Debug 로 바뀌었네요. 시작 지점과 끝 지점을 브레이크 포인트를 지정해서 상단에 화살표(F5) 버튼 Step Into 한 스텝씩 진행하면서 볼 수 있습니다. 제일먼저 hi 라는 내용이 나옵니다.





5. 계속 F5 버튼을 눌러주면 한개씩 실행되면서 Console 모양이 변합니다~




이런식으로 의심이 되는 곳에 추가해서 디버깅을 해보길

 

출처: http://ggari.tistory.com/299


 

 

반응형



Posted by 궁극의 java개발자
,





반응형
Ctrl + 1 : 빠른 교정
문맥에 맞는 소스코드의 교정을 도와준다. 예를 들어 인터페이스를 구현하는 클래스에서 인터페이스에서 선언된 메소드를 구현하고 있지 않을 때, 빨간색 에러가 표시되는데 구현 클래스 명에서 이 단축키를 적용하면 인터페이스에 선언된 메소드의 원형이 구현 클래스에 추가된다.


Ctrl + Shift + O : import!!문 자동 생성

자동으로 import!!문을 추가해 준다. 그것도 패키지 유형의 분류에 따라. 예를 들어 java.net.URL 클래스를 사용하고자 어딘가에서 URL url = new URL("http://..."); 이런식으로 작성했을 경우, import!!문을 통해 URL이라는 클래스가 인식되지 않기 때문에 에러가 표시되지만 이 단축키를 적용하게 되면 자동으로 문맥에 맞는 import!!문이 삽입된다. 만약 동일한 이름의 클래스가 여러 개 있을 경우 적절한 패키지를 선택할 수 있는 대화상자가 나타난다.

Ctrl + Space bar : Content Assist
따로 설명이 필요없을 듯.

Alt + Shift + R : 이름변경(클래스, 패키지, 변수, 메소드 등등...)
나는 변수명이나 클래스명, 패키지명, 메소드명 등을 상당히 자주 바꾸는 타입이다. 문맥에 맞지 않거나 조금 의미가 약한 경우 여지없이 이 단축키를 눌러댄다. 거의 Content Assist 만큼이나 자주 쓰는 단축키. 자동으로 참조 정보까지 변경해 주기 때문에 너무 편리하다. ^^

Alt + Shift + V : 이동(클래스, 인터페이스 등..)
역시나 이름변경 단축키와 함께 자주 사용되는 단축키이다. 해당 자원을 원하는 곳으로 이동할 수 있게 해주며, 역시나 자동으로 참조 정보까지 변경해 준다.

Ctrl + Page Up / Ctrl + Page Down : 좌/우 창 이동
코드 편집 창에 여러개의 창이 띄워져 있을 경우, 각 창 사이를 이 단축키로 왔다리 갔다리 할 수 있다.

F3 : 선언 위치로 이동
이 단축키를 눌러 변수의 경우에는 변수가 선언된 위치로, 메소드의 경우에는 메소드의 본문이 있는 곳으로 이동할 수 있다.

Alt + ↑ / ↓ : 줄 위치 바꿈
문장의 위/아래 위치를 바꾼다. 즉 한 라인을 위로 올리고 싶을 경우, Alt + ↑를 눌러 이동시킬 수 있다.

Ctrl + D : 한줄 삭제

현재 커서가 위치한 라인 전체를 삭제한다.

Ctrl + Shift + Delete : 현재 위치에서 라인 끝까지 삭제
현재 커서가 위치한 곳에서부터 그 라인의 마지막까지의 내용을 삭제한다.

Ctrl + J : Incremental Find
이 단축키를 누르게 되면, 이클립스 창의 하단 상태 표시줄 부분에 Incremental Find라고 표시되며, 한글자씩을 누를 때마다 그곳에 입력된 글자가 보이고 코드내의 일치하는 문자열로 이동하게 된다. 입력을 끝내고 다시 Ctrl + J를 누르면 그 문자열과 일치하는 곳으로 커서가 이동하게 된다.

Alt + Shift + S : Source 메뉴
아래와 같은 source 메뉴의 메뉴가 퀵 메뉴로 나타난다.

 

 


Ctrl + / : 주석처리 토글

현재 라인을 주석처리 하거나 주석처리된 부분의 주석을 제거해 준다.

'sysout' + (Ctrl + Space) : System.out.println() 문장 삽입
출력결과 확인할 때 상당히 편리하다. ^^;;

Alt + Shift + Z : Surround With 메뉴
코드를 블록으로 선택한 다음 이 단축키를 적용하면 다음과 같은 퀵 메뉴가 나타나며 선택한 문장으로 블록으로 선택했던 문장들을 감싼다.



Ctrl + Shift + F : 코드 포맷팅
코드의 내용을 문법 템플릿에 맞게 포맷팅 해준다. 자바 표준 코딩 스타일을 준수시켜 줄 때 좋다. ^^

Ctrl + F11 : 마지막 Run 구성 실행

마지막으로 실행시켰던 Run 구성을 실행시킨다.
Ctrl + Alt + ↓ : 한줄 복사후 붙여넣기
이 단축키를 적용하게 되면 현재 커서가 위치한 라인의 문장 전체를 복사해서 바로 아랫줄에 붙여넣는다. C&P 하던 것보다 간편하다.

Ctrl + Shift + X : 대문자로 / Ctrl + Shift + Y : 소문자로
===== 단축키 =====
▶ Ctrl + Shift + F ⇒ 자동 줄맞춤.
▶ Ctrl + W ⇒ 창 끄기.
▶ Ctrl + Shift + F4 ⇒ 모두 닫기.
▶ Ctrl + Shift + L ⇒ 모든 단축키 보기.
▶ Ctrl + 1 ⇒ 에러 자동 해결.
▶ Ctrl + Spacebar ⇒ 문장 자동 완성.
▶ Ctrl + L ⇒ 창에 숫자 입력->원하는 라인으로 이동.
▶ Shift + Alt + R ⇒ 같은 이름 모두 바꾸기.
▶ 블록지정 +Shift + Alt + Z ⇒ 관련된 여러 가지 기능 문들 나옴.
▶ Ctrl + Shift + F ⇒ 알아서 정렬.
▶ Ctrl + Shift + / , \ ⇒ 블록 주석, 풀기.
▶ Ctrl + O ⇒ 해당 소스의 메소드 리스트를 확인
▶ Ctrl + T ⇒ 계층 구조 보기
▶ Ctrl + / ⇒ 한줄 주석
▶ Ctrl + D ⇒ 한줄 삭제
▶ Ctrl + Alt + 방향키 ⇒ 아래나 위 로 하면 그줄이 복사가 된다.
===== 에디터 변환 =====
에디터가 여러 파일을 열어서 작업중일때 Ctrl + F6 키를 누르면 여러파일명이 나오고 F6키를 계속 누르면 아래로
Ctrl + Shift + F6 ⇒ 키를 누르면 위로 커서가 움직인다.
▶ Ctrl + F6 ⇒ Tab기능(파일단위 이동).
Ctrl + F7 ⇒ 뷰간 전환
Ctrl + F8 ⇒ 퍼스펙티브간 전환
F12 ⇒ 에디터로 포커스 위치
▶ Alt +방향키 ⇒ 소스코드 네비게이션(순서대로 나타나고 닫은창도 버퍼안 있으면 살아남)
▶ Ctrl + F6 ⇒ 소스코드 네비게이션
▶ Ctrl + F7 ⇒ 뷰간 네비게이션
▶ Ctrl + F8 ⇒ 모드(Perspective)창 간의 네비게이션
▶ Ctrl + 마우스커서(혹은 F3) ⇒ 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때
===== 실행 =====
▶ Ctrl + F11 ⇒ 바로 전에 실행했던 클래스 실행.
▶ Shift +Alt + X ⇒ 실행에 관련 된 단축키 나옴
(A ⇒ 애플릿실행, R ⇒ 서버실행, J ⇒ 어플리케이션실행).
▶ Ctrl +Alt +H ⇒ Call Hierarch.
▶ Run - Run Configurations - Arguments tab - program arguments (매개변수 넣기)
===== 문장 자동 기능 사용 시 키워드 =====
▶ sysout ⇒ System.out.println()
▶ try ⇒ try~catch문 완성.
▶ for ⇒ for문 완성 배열에 관련된 변수가 조건문 알아서 들어감.
▶ do ⇒ do~while문 완성.
▶ while ⇒ while문 완성.
===== 중요하진 않지만 알아두면 유용한 팁 =====
▶ F2 ⇒ 컴파일 에러의 빨간줄에 커서를 갖져다가 이 키를 누르면 에러의 원인에 대한 힌트를 제공.
▶ F4 ⇒ 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다.
▶ Ctrl + Shift + Space ⇒ 메소드의 가로안에 커서를 놓고 이 키를 누르면 파라미터 타입 힌트를 볼 수 있다.
===== 문자열 찾기 =====
▶ Ctrl + K ⇒ 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다.
▶ Ctrl + Shift + K ⇒ 역으로 찾고자 하는 문자열을 찾아감.
▶ Ctrl + J ⇒ 입력하면서 찾을 수 있음.
▶ Ctrl + Shift + J ⇒ 입력하면서 거꾸로 찾아갈 수 있음.
▶ Ctrl + F ⇒ 기본적으로 찾기
===== 이클립스 기본 설정 =====
▶ Windows - Preferences - Java - Editor - Syntax Coloring - java==>
- Keyword 'return' , Keywords excluding 'return' = (blue)
- Classes - (red)
▶ Windows - Preferences - General - Appearance - Colors and Fonts - Basic -
Text Font ->Tahoma,Verdana, 굵게, 크기12로 조정
 
반응형



Posted by 궁극의 java개발자
,