'분류 전체보기'에 해당되는 글 152건

  1. 2008.08.21 재부팅 없이 시스템 리소스를 솔라리스10 존에 지정하기 by yangdaegam
  2. 2008.06.19 Google Search by yangdaegam

소개

몇몇 리소스들, 파일 시스템이나 raw 디바이스, 테입 디바이스, IP 주소 같은 리소스들을 글로벌 존에서 논-글로벌존으로 지정하는 것은 일반적으로 논-글로벌 존의 재부팅을 요구 합니다. 실제 프로덕션 환경에서 불운하지만 리소스의 지정 후에는재부팅이 필요 하고 그러므로 솔라리스 관리자는 존을 백업하기 전에 데이타베이스 관리자와 백업 관리자의 승낙을 기다려야 합니다.종종 재부팅의 기회가 주말의 마지막 몇분 밖에 주어지지 않는 경우도 있습니다.

이러한 일을 피하기 위해서, 적어도 파일 시스템과 raw 디바이스의 경우, 존의 설정을 먼저 조정한 다음에 관리 명령을 아래와 같이 제안드리는 순서대로 실행함으로써 가능합니다.

여기서 알려드리는 방법은 오직 파일 시스템의 관리 명령들이 글로벌 존에서 이루어지는 경우에만 적용 됩니다. 이러한 방법은SPARC 용 솔라리스10의 어떠한 버전에서도 혹은 Sparse Zone 이나 Whole Root Zone 에서도 사용이가능하지만 x86 버전과 Branded 존에서는 아직 테스트 되지 않았습니다.

여기서 고려되는 파일 시스템의 타입은 UFS, ZFS 그리고 LOFS (Loopback File System) 입니다.ZFS 의 경우 파일 시스템은 반드시 레가시 마운트 포인트로 지정되어야 하는데, 이것은 즉 기본적으로 어떠한 마운트 포인트도갖지 않는 것을 의미 합니다. raw 디바이스의 경우 솔라리스 볼륨 메니저에 의해 생성된 것들만 고려 됩니다. 그러나 여기서사용된 개념을 다른 솔라리스 디바이스에서도 이용할 수 있을 것입니다.


파일 시스템

먼저 우리는 파일 시스템과 디렉토리를 글로벌 존에 생성합니다:

# newfs /dev/md/rdsk/d35
# zpool create my_zpool c0t2d0
# zfs create my_zpool/my_zfs
# zfs set mountpoint=legacy my_zpool/my_zfs
# mkdir /my_lofs

그 다음 my_zone 이라고 불리는 논-글로벌 존을 설정합니다:

# zonecfg -z my_zone
zonecfg:my_zone> add fs
zonecfg:my_zone:fs> set dir=/my_ufs
zonecfg:my_zone:fs> set special=/dev/md/dsk/d35
zonecfg:my_zone:fs> set raw=/dev/md/rdsk/d35
zonecfg:my_zone:fs> set type=ufs
zonecfg:my_zone:fs> end
zonecfg:my_zone> add fs
zonecfg:my_zone:fs> set dir=/my_zfs
zonecfg:my_zone:fs> set special=my_zpool/my_zfs
zonecfg:my_zone:fs> set type=zfs
zonecfg:my_zone:fs> end
zonecfg:my_zone> add fs
zonecfg:my_zone:fs> set dir=/my_lofs
zonecfg:my_zone:fs> set special=/my_lofs
zonecfg:my_zone:fs> set type=lofs
zonecfg:my_zone:fs> end
zonecfg:my_zone> commit
zonecfg:my_zone> exit
#

부팅시에 논-글로벌 존의 파일 시스템을 마운트 파기 위해 다음의 작업을 수행합니다:

# zoneadm -z my_zone reboot

존의 파일시스템을 마운트 하려면 존이 온라인 상태이여야 합니다. 예를 들어 다음의 경우 /my_zone 이 zone 경로 입니다:

# mkdir /my_zone/root/my_ufs
# mkdir /my_zone/root/my_zfs
# mkdir /my_zone/root/my_lofs
# mount -F ufs /dev/md/dsk/d35 /my_zone/root/my_ufs
# mount -F zfs my_zpool/my_zfs /my_zone/root/my_zfs
# mount -F lofs /my_lofs /my_zone/root/my_lofs

참고로 마운트 포인트 디렉토리들이 반드시 존에 이미 생성이 되어 있어야 합니다.

이제 논-글로벌 존에서 df 커맨드의 출력값은 다음과 같을 것입니다:

# zlogin -l root my_zone df -h
Filesystem size used avail capacity Mounted on
/ 6.9G 5.5G 1.4G 81% /
/dev 6.9G 5.5G 1.4G 81% /dev
proc 0K 0K 0K 0% /proc
ctfs 0K 0K 0K 0% /system/contract
swap 13G 272K 13G 1% /etc/svc/volatile
mnttab 0K 0K 0K 0% /etc/mnttab
fd 0K 0K 0K 0% /dev/fd
swap 13G 16K 13G 1% /tmp
swap 13G 32K 13G 1% /var/run
/dev/md/dsk/d35 6.9G 5.5G 1.4G 81% /my_ufs
my_zpool/my_zfs 7.9G 2.0G 5.8G 27% /my_zfs
/my_lofs 22G 15G 6,1G 72% /my_lofs

글로벌 존에서 동일한 병력의 출력 결과는 좀 다를 것입니다:

# df -h
Filesystem size used avail capacity Mounted on
/dev/md/dsk/d0 22G 15G 6,1G 72% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 13G 1,1M 13G 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
/platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1
22G 15G 6,1G 72%
/platform/sun4u-us3/lib/libc_psr.so.1
/platform/sun4u-us3/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1
22G 15G 6,1G 72%
/platform/sun4u-us3/lib/sparcv9/libc_psr.so.1
fd 0K 0K 0K 0% /dev/fd
swap 13G 19M 13G 1% /tmp
swap 13G 80K 13G 1% /var/run
/dev/md/dsk/d3 20G 6.8G 13G 35% /my_zone
/dev/md/dsk/d35 6.9G 5.5G 1.4G 81% /my_zone/root/my_ufs
my_zpool/my_zfs 7.9G 2.0G 5.8G 27% /my_zone/root/my_zfs

대신 my_zone 의 마운트 커맨드는 다음과 같이 나타날 것입니다. 글로벌 존, 논-글로벌 존 모두 출력되고 결과의 일부를 생략하였습니다:

# zlogin -l root my_zone mount | awk '{print $1, $2, $3, $4}'
/ on / read/write/setuid/devices/intr/largefiles/logging/xattr/
onerror=panic/dev=154001f
/dev on /dev read/write/setuid/devices/zonedevfs/dev=4e0000e
/proc on proc read/write/setuid/nodevices/zone=identity/dev=4bc000f
/system/contract on ctfs read/write/setuid/nodevices/zone=identity/
dev=4b8000f
/etc/svc/volatile on swap read/write/setuid/nodevices/xattr/zone=
identity/dev=4c4002b
/etc/mnttab on mnttab read/write/setuid/nodevices/zone=identity/
dev=4c0000f
/dev/fd on fd read/write/setuid/nodevices/zone=identity/dev=4e4000f
/tmp on swap read/write/setuid/nodevices/xattr/zone=identity/dev=
4c4002c
/var/run on swap read/write/setuid/nodevices/xattr/zone=identity/
dev=4c4002d
/my_ufs on /my_ufs read/write/setuid/devices/intr/largefiles/logging/
xattr/onerror=panic/dev=1540048
/my_zfs on my_zpool/my_zfs read/write/setuid/devices/exec/xattr/
atime/dev=401000b
/my_lofs on /my_lofs read/write/setuid/devices/dev=1540000
#
# mount | grep my_zone | awk '{print $1, $2, $3, $4}'
/my_zone/root/dev on /my_zone/dev read/write/setuid/devices/
zonedevfs/dev=4e0000e
/my_zone/root/proc on proc read/write/setuid/nodevices/zone=
identity/dev=4bc000f
/my_zone/root/system/contract on ctfs read/write/setuid/nodevices/
zone=identity/dev=4b8000f
/my_zone/root/etc/svc/volatile on swap read/write/setuid/nodevices/
xattr/zone=identity/dev=4c4002b
/my_zone/root/etc/mnttab on mnttab read/write/setuid/nodevices/
zone=identity/dev=4c0000f
/my_zone/root/dev/fd on fd read/write/setuid/nodevices/zone=
identity/dev=4e4000f
/my_zone/root/tmp on swap read/write/setuid/nodevices/xattr/
zone=identity/dev=4c4002c
/my_zone/root/var/run on swap read/write/setuid/nodevices/
xattr/zone=identity/dev=4c4002d
/my_zone/root/my_ufs on /dev/md/dsk/d35 read/write/setuid/
devices/intr/largefiles/logging/xattr/onerror=panic/dev=1540048
/my_zone/root/my_zfs on my_zpool/my_zfs read/write/setuid/devices
/exec/xattr/atime/dev=401000b
/my_zone/root/my_lofs on /my_lofs read/write/setuid/devices/
dev=1540000

논-글로벌 존의 파일 시스템을 재부팅 없이 언마운트 할 수 있습니다:

# umount /my_zone/root/my_ufs
# umount /my_zone/root/my_zfs
# umount /my_zone/root/my_lofs

기억해 둘 점으로 LOFS 는 글로벌 존의 어떠한 디렉토리도 참고할 수 있고 동시에 여러 존에 의해서도 공유 될 수있습니다. 즉 만약 우리가 LOFS 마운트된 논-글로벌 존을 가지고 있고 새로운 파일 시스템을 글로벌존의 기본 디렉토리로 마운트한다고 했을때 새로운 파일 시스템은 LOFS 마운트 포인트에 따라서 모든 존에서 접근이 가능합니다.

특별한 경우가 바로 /cdrom 디렉토리 입니다. 예를 들어 우리는 이 디렉토리를 논-글로벌 존에서 읽기 전용의 LOFS 로 마운트 할 수 있습니다:

# mkdir /my_zone/root/cdrom
# mount -F lofs -o ro /cdrom /my_zone/root/cdrom

그 다음 우리는 DVD 에 미디어를 집어 넣고 이것을 글로벌 존의 vold 를 이용해서 /cdrom/cdrom0 에 마운트 할 수 있습니다. 이 미디어의 내용은 my_zone 에서도 확인이 가능할 것입니다.

이것은 이후에 네이티브 마운트 포인트를 덮어 쓰기 위해 파일 시스템을 논-글로벌 존으로 마운트할때에 유용할 것입니다. 예를 들어 존의 /tmp 디렉토리가 swap 공간 바깥에 위치해서 재부팅 후에도 보존하길 원한다고 생각해 봅시다. 이러한 경우 우리는 본래 존의 tmpfs 파일 시스템을 아무도 사용하지 않을 경우 언마운트 할 수도 있지만 그 내부의 내용은 모두 지워 진다는 것을 알게 됩니다. 이때 우리는 좀 더 장기간 쓸 수 있는 파일 시스템을 /my_zone/root/tmp 에 마운트 시킬 수 있을 것입니다:

# umount /my_zone/root/tmp
# cp /my_zone/root/etc/vfstab /my_zone/root/etc/vfstab.ori
# sed '/tmpfs/s/swap/#swap/' /my_zone/root/etc/vfstab.ori > \
/my_zone/root/etc/vfstab
# cat > tmpconfig.txt << EOF
add fs
set dir=/tmp
set special=/dev/md/dsk/d36
set raw=/dev/md/rdsk/d36
set type=ufs
end
EOF
# zonecfg -z my_zone -f tmpconfig.txt
# mount -F ufs /dev/md/dsk/d36 /identity/root/tmp
# chmod 1777 /my_zone/root/tmp

최근에 한 작업을 재부팅 없이 되돌리기 위해서는 다음과 같은 작업을 수행 합니다:

# umount /my_zone/root/tmp
# mv /my_zone/root/etc/vfstab.ori /my_zone/root/etc/vfstab
# zonecfg -z my_zone remove fs dir=/tmp
# mount -F tmpfs swap /identity/root/tmp

만약 여러분의 존의 /var 디렉토리를 / 에 위치한 것 과 다른 파일 시스템을 이용하고 싶다면 이 것은 존을 설치 하기 존에(존의 초기 설정을 포함해서) /my_zone/root/var 에 마운트 되어 있어야 합니다. 추가적으로 만약 존이 이미 설치 되었다면 우리는 이것을 중단시키고 /var 디렉토리의 컨텐츠를 새로운 파일로 이동시키고 존을 다시 한번 부팅 시키기 전에 새로운 파일 시스템을 존의 /var 로 마운트 할 수 있습니다. 이러한 마이그레이션 작업은 논-글로벌 존의 재부팅 없이는 불가능합니다.

이 시점에서 존의 autoboot 파라미터를 결정 하는 것이 중요합니다. 왜냐하면 모든 서버들의 파일 시스템들은 반드시 존이 부팅 하기 전에 사용이 가능해야 하기 때문입니다. 존은 항상 svc:/system/zones서비스가 초기화 되기 전에 부팅 됩니다. 글로벌 존에서 파일 시스템이 나중에 마운트 되기도 합니다, 왜냐하면 그 파일 시스템들이다른 리소스에 의존성이 있기도 하고, 종종 논-글로벌 존에서 LOFS 형태로 마운트되어야 하기도 할 것입니다. 이러한 경우에우리는 존의 autoboot 파라미터를 false 로 지정하고 존을 레가시 스크립트를 이용해서 부팅함으로써 존을 특정 파일을 테스트 한 후, 예를 들어 /mounted_path/flag_file 같은, 특정 조건을 테스트 한 후에 존의 부팅을 결정할 수 있습니다:

cat >> /etc/rc3.d/S99zones << EOF
[ -f /mounted_path/flag_file ] && zoneadm -z my_zone boot
EOF
chmod 744 /etc/rc3.d/S99zones
chown root:sys /etc/rc3.d/S99zones
echo 'zoneadm -z my_zone halt' >> /etc/rc0.d/K01zones
chmod 744 /etc/rc0.d/K01zones
chown root:sys /etc/rc0.d/K01zones


Raw 디바이스

새로운 raw 디바이스 /dev/md/rdsk/d321 를 논-글로벌 존에 추가 하기 위해서 다음과 같은 작업을 수행합니다:

# zonecfg -z my_zone
zonecfg:my_zone> add device
zonecfg:my_zone:device> set match=/dev/md/rdsk/d321
zonecfg:my_zone:device> end
zonecfg:my_zone> commit
zonecfg:my_zone> exit
#

이후에 변경 사항을 유효화 하기 위해 우리는 존을 재부팅 해야 합니다:

# zoneadm -z my_zone reboot

이제 만약 우리가 새로운 raw 디바이 /dev/md/rdsk/d322 를동일한 존에 지정하려고 한다면 우리는 반드시 동일한 절차를 거쳐서 존을 재부팅 해야 합니다. 이것을 방지 하기 위해서는 정규표현식을 이용해서 초기에 디바이스들을 서로 매칭 시키는 것입니다. 이것은 테잎 디바이스를 설정하는 것과 비슷합니다:

# cat > tapeconfig.txt << EOF
add device
set match=/dev/rmt/1*
end
EOF
# zonecfg -z my_zone -f tapeconfig.txt

이러한 설정은 각 디바이스의 배치를 /dev/rmt/1 에서 /dev/rmt/1n, /dev/rmt/1bc 형태로 매칭 시키도록 강제합니다:

# zlogin -l root my_zone ls /dev/rmt
1 1bn 1cb 1cn 1hb 1hn 1lb 1ln 1mb 1mn 1u 1ubn
1b 1c 1cbn 1h 1hbn 1l 1lbn 1m 1mbn 1n 1ub 1un

이 기능을 이용해서 우리는 수십 수천 가지의 raw 디바이스를 하나의 라인에 매칭 시킬 수 있습니다:

# cat > rawconfig.txt << EOF
add device
set match=/dev/md/rdsk/d3*
end
EOF
# zonecfg -z my_zone -f rawconfig.txt

그러나 우리는 raw 디바이스를 d301 부터 순서대로 d320 까지만 매칭 시키길 원할 수도 있습니다. 이러한 경우 d3 이나 d35 같은 디바이스를 매칭 시키는 것이 위험할 수도 있습니다. 왜냐하면 다른 존에 의해 사용 될 수 있고 특히 글로 벌 존에 의해서 사용될 수도 있는데 왜냐하면 my_zone 에 권한을 가진 사용자가 이러한 디바이스에 실수로 쓰기 작업을 할 수도 있기 때문입니다.

# ls /my_zone/root/dev/md/rdsk
d3 d302 d304 d306 d308 d310 d312 d314 d316 d318 d320
d301 d303 d305 d307 d309 d311 d313 d315 d317 d319

또다른 잘못된 접근으로는 /dev/rdsk/c0t2d0s* 같은 잘못된 표현을 사용해서 모든 디스크 슬라이스를 매치시키는 경우 입니다, c0t2d0s2 는 전체 디스크를 의미 하기 때문입니다. 사실 금지된 디바이스에 쓰기 작업을 하는 것은 거의 잘 일어 나지는 않을 것입니다 그러나 현명한 관리자라면 메인 디바이스를 논-글로벌 존에 노출 시키지는 않을 것입니다.

이러한 상황을 방지 하기 위해 우리는 raw 디바이스를 아래와 같은 방법으로 논-글로벌 존에 지정할 수 있습니다:

# cat > rawconfig.txt << EOF
add device
set match=/dev/md/rdsk/d3??
end
EOF
# zonecfg -z my_zone -f rawconfig.txt

이 방법은 raw 디바이스 d300 부터 d399 사이의 모든 새로운 raw 디바이스를 존에 올려 줍니다. 그러나 d3 혹은 d35 는 매치 시키지 않을 것입니다. 적절한 해결 방법은 소프트 파티션으로 이루어진 수백개의 서로 다른 그룹을 존에 지정하여 중복을 방지 하는 것입니다.

두번째이자 가장 흥미로운 장점은 우리는 새로운 소프트 파티션을 글로벌 존에서 매칭 범위 안에서 만들 수 있다는 것이고 이것은 논-글로벌 존을 재부팅 하지 않아도 자동으로 온라인 상태로 될 것입니다. 예를 들어 d301 부터 d320 까지 20 개의 raw 디바이스를 /dev/md/rdsk/d3?? 로 매칭 시킨 존이 있다고 했을때:

# ls /my_zone/root/dev/md/rdsk
d301 d303 d305 d307 d309 d311 d313 d315 d317 d319
d302 d304 d306 d308 d310 d312 d314 d316 d318 d320

여기서 우리는 새로운 소프트 파티션을 매칭 범위 안에서 생성할 것이고 이것은 논-글로벌 존에서 즉시 나타날 것입니다:

# metainit d321 -p /dev/rdsk/c0t2d0s0 5g
# ls /my_zone/root/dev/md/rdsk
d301 d303 d305 d307 d309 d311 d313 d315 d317 d319 d321
d302 d304 d306 d308 d310 d312 d314 d316 d318 d320

우리가 두개의 디스크 슬라이스를 d300 으로 합치고 새로운 소프트 파티션 d322 을 그 안에 만들었다고 하면, 물론 이 것은 권장 되는 방법은 아니지만, 다음과 같은 결과를 보게 될 것입니다.

# metainit d300 2 1 /dev/rdsk/c0t2d0s6 1 /dev/rdsk/c1t2d0s6
# metainit d322 -p d300 5g
# ls /my_zone/root/dev/md/rdsk
d300 d302 d304 d306 d308 d310 d312 d314 d316 d318 d320 d322
d301 d303 d305 d307 d309 d311 d313 d315 d317 d319 d321

디바이스 d300 은 이제 논-글로벌 존에서 사용 가능 합니다. 우리는 존의 유저들이 그것에 접근 하는 것을 막아야 합니다.

<논 글로벌 존의 code class="small"> /dev 디렉토리 는 zonedevfs 라고 불리는 특별한 옵션으로 부팅시에 /my_zone/dev 에 마운트 되는 LOFS 파일 시스템 입니다. 솔라리스10은 /my_zone/dev 디렉토리에 각각의 매칭 디바이스를 위해서 하나의 새로운 스페셜 파일 을 생성합니다:

# file /my_zone/dev/md/rdsk/d300
/my_zone/dev/md/rdsk/d300: character special (85/300)
# ls -l /my_zone/dev/md/rdsk | head -6
total 0
crw-r----- 1 root sys 85, 300 Mar 4 10:39 d300
crw-r----- 1 root sys 85, 301 Mar 4 10:13 d301
crw-r----- 1 root sys 85, 302 Mar 4 10:13 d302
crw-r----- 1 root sys 85, 303 Mar 4 10:13 d303
crw-r----- 1 root sys 85, 304 Mar 4 10:13 d304

이러한 파일들은 글로벌 존의 /device 디렉토리에 위치한 파일들을 가르키는 심볼릭 링크들은 아닙니다. 그러나 분리해서 관리되어 져야 합니다. 논-글로벌 존에 권한이 부여된 유저들은 이러한 파일들의 권한을 /dev 디렉토리 내에서 변경 할 수 있으나 삭제할 수는 없습니다. 그러나 우리는 존의 디바이스를 글로벌 존에서 삭제할 수 있습니다:

# rm /my_zone/dev/md/rdsk/d300

비록 우리가 온라인 존의 디바이스를 이러한 방법으로 제거 할 수 있다고 하더라도, 다음 재부팅 시에는 다시 동일하게 나타날 것입니다. 가장 문제가 없고 적절한 솔루션은 빈 파일들을 본래 파일을 대신해서 만드는 것입니다:

# touch /my_zone/dev/md/rdsk/d300
# zlogin -l root my_zone "file /dev/md/rdsk/d300"
/dev/md/rdsk/d300: empty file
# zlogin -l root my_zone "ls -l /dev/md/rdsk" | head -6
total 0
-rw-r--r-- 1 root root 0 Mar 4 12:05 d300
crw-r----- 1 root sys 85, 301 Mar 4 10:13 d301
crw-r----- 1 root sys 85, 302 Mar 4 10:13 d302
crw-r----- 1 root sys 85, 303 Mar 4 10:13 d303
crw-r----- 1 root sys 85, 304 Mar 4 10:13 d304

새로운 빈 파일들은 논-글로벌 존의 유저에 의해 변경될 수 없고 재부팅 이후에도 그대로 남아 있을 것입니다.

다시 말해서 우리는 존에서 raw 디바이스를 더이상 필요로 하지 않고, 어디에서나 지울 수 있을 것입니다:

# metaclear d322
# rm /my_zone/dev/md/rdsk/d322
# metaclear d300
# rm /my_zone/dev/md/rdsk/d300

존의 설정을 변경하지 않고 또한 존이 재부팅될 필요도 없습니다.

마지막으로 위에서 언급한 모든 예제들을 실습하기 위해서 일반적인 존의 설정은 다음과 같아야 합니다:

# zonecfg -z my_zone info
zonepath: /my_zone
autoboot: true
pool:
fs:
dir: /my_ufs
special: /dev/md/dsk/d35
raw: /dev/md/rdsk/d35
type: ufs
options: []
fs:
dir: /my_zfs
special: my_zpool/my_zfs
raw not specified
type: zfs
options: []
fs:
dir: /my_lofs
special: /my_lofs
raw not specified
type: lofs
options: []
fs:
dir: /cdrom
special: /cdrom
raw not specified
type: lofs
options: [ro]
net:
address: 192.168.0.35/24
physical: bge0
device
match: /dev/rmt/1*
device
match: /dev/md/rdsk/d3??
#







이 글의 영문 원본은
Assigning System Resources to Solaris 10 Zones Without Reboot
에서 보실 수 있습니다.
Posted by yangdaegam
l

Google Search

stuffs/Information 2008. 6. 19. 16:08
우리나라 고유의 포털은 아니지만 구글을 잘 활용하면 다양한 정보를 신속하게 찾을 수 있습니다. 그러나 그 기능이 꽤 다양하여 잘 모르고 있는 부분도 있을 것 같습니다. 검색방법을 아래와 같이 알려드리니 활용해 보시기 바랍니다.

 

. 검색 연산자 활용 기본 사용법


-기본연산자: 연산자:검색어(“:” 사이의 공백 없음)

【활용예시】

1) intext:"한국기술교육대학교"→ 문서내용에“한국기술교육대학교”라는 문자열을 포함하는 문서를 검색

2) intext:"한국기술교육대학교“ ≠ intext:한국기술교육대학교→ ‘”’를 생략할 경우 문자열의 일부분이 포함되는 문서까지 검색됨


- 논리연산자: and, or, not

· and : “and” 또는 공백(주로 공백)으로 입력

【활용예시】

1) intext:"한국기술교육대학교" "정보기술공학부"→ 문서내용에 “한국기술교육대학교”라는 문자열을 포함하고, 문서의 제목과 내용에 “정보기술공학부”라는 문자열을 포함하는 문서 검색

2) intext:"한국기술교육대학교" intext:"정보기술공학부"→ 문서 내용에 “한국기술교육대학교”라는 문자열과 “정보기술공학부”라는 문자열을 포함하는 문서 검색


· or : 대문자“OR” 또는“|” 를 입력

【활용예시】

1) intext:"한국기술교육대학교" OR intext:"정보기술공학부"→ 문서내용에 “한국기술교육대학교” 또는 “정보기술공학부”라는 문자열을 포함하는 문서 검색


· not :“-” 으로 입력

【활용예시】

1) intext:"한국기술교육대학교" -"정보기술공학부"→ 문서내용에 “한국기술교육대학교”라는 문자열을 포함하고 있고, “정보기술공학부”라는 문자열은 제외한 문서 검색


. 구글의 주요 연산자 활용방법

. intitle, allintitle : 페이지의 제목에서 검색

-intitle : intitle 뒤에 오는 단어나 구 하나만이 연산자의 영향을 받음

-allintitle : allintitle 뒤에 오는 모든 단어와 구가 연산자의 영향을 받음

【활용예시】

1) intitle:“index of” 또는intile:index.of (“.”=모든 문자) → 문서의 제목에“intext of"를 포함하는 문서를 검색하며, 이는 File 서비스 사이트를 검색하는 결과를 갖는다.

2) intitle:“index of”“backup files” ≠ allintitle:“index of”“backup files”

→intitle 은 문서 제목에 "index of"라는 문자열을 포함하고, 문서 제목과 내용에 “backup files”라는문자열을 포함하는 문서를 검색하는 반면, allintitle은 문서 제목에 “index of”와“backup files”를포함하는 문서를 검색한다. 즉, intitle:"index of" intitle:"backup files"와 같다.


. intext, allintext : 페이지 본문에서 문자열 검색

-intext : intext 뒤에 오는 단어나 구 하나만이 연산자의 영향을 받음

-allintext : allintext 뒤에 오는 모든 단어와 구가 연산자의 영향을 받음

【활용예시】

1) intext:"한국기술교육대학교"→ 문서의 내용에 “한국기술교육대학교”라는 문자열을 포함하는 문서를 검색

2) allintext:Service Oriented Architecture → 문서의 내용에 “Service", "Oriented", "Architecture"를 포함하는 문서를 검색


. inurl, allinurl : URL에서 문자열 검색

-제약사항

URL의 프로토콜 부분(http://)을 검색하지 못함

URL에 포함되는 특수문자를 제대로 처리하지 못함

고급연산자"site", "filetype" 이 inurl보다 URL 내부의 특정 위치를 더 구체적으로 찾을 수 있음

【활용예시】

1) inurl:admin backup : URL에 “admin”이 포함되어 있고 문서의 내용 및 제목 등 모든 부분에 “backup”이 포함되어 있는 문서 검색

2) allinurl:admin backup : URL에“admin”과 “backup”이 포함되어 있는 문서 검색


. site : 특정 사이트로 검색범위를 좁힘

-특징: 구글은 오른쪽에서 왼쪽으로 읽음

【활용예시】

1) site:kut.ac.kr : "kut.ac.kr"이라는 URL을 사용하는 모든 사이트 검색

2) intitle:"index of" site:kut.ac.kr : "kut.ac.kr"이라는 URL로 서비스되는 사이트 중에서File 서비스가 있는 사이트를 검색

3) intext:"자기소개서" site:kut.ac.kr: “kut.ac.kr"이라는 URL로 서비스되는 사이트 중에서 문서 내용에 “자기소개서”라는 문자열을 포함하는 문서 검색

4) intext:"이력서" site:ac.kr filetype:hwp: “ac.kr” 즉 대학 사이트 중에서 문서 내용에 “이력서”라는 문자열을 포함하고, 파일은"hwp"인 문서(파일)를 검색

※ 이러한 검색에 의해 개인정보를 쉽게 얻을 수 있으므로 개인정보 유출에 주의


. filetype : 특정 종류의 파일 검색

【활용예시】

1) filetype:hwp : 확장자가 “hwp"인 파일을 갖는 사이트(문서) 검색


. link : 페이지로의 링크를 찾음

【활용예시】

1) link:kut.ac.kr :“kut.ac.kr”로 링크하고 있는 페이지 검색


. inanchor : 링크 문자열 내에서 검색

-특징: 실제URL이 아니라 텍스트로 표현된 형태의 링크를 검색

【활용예시】

1) inanchor:kut.ac.kr : 텍스트 형태로 “kut.ac.kr”을 포함하고 있는 페이지 검색


. numrange : 숫자 범위를 검색

-“-” 기호로 연결된 작은 숫자와 큰 숫자를 인자로 받아들임

【활용예시】

1) numrange:12344-12346 : 12344에서 12346 사이의 숫자를 포함하는 문서 검색

2) 12344..12346 : “numrange:12344-12346”와 같은 효과를 가짐


. info : 사이트에 대한 요약정보를 출력하며 사이트와 관련된 다른 구글 검색으로의 링크를 제공

-인자 값으로는 완벽한 URL이나 호스트 이름을 입력하여야 올바른 결과를 얻을 수 있음

【활용예시】

1) info:www.kut.ac.kr : www.kut.ac.kr에 대한 요약정보와 링크되거나 유사 사이트를 검색할 수 있는 링크를 제공


. related : 특정 사이트와 관련되어 있다고 판단되는 사이트 검색

-인자 값으로는 유효한 사이트 이름이나 URL을 입력

【활용예시】

1) related:www.kut.ac.kr : www.kut.ac.kr를 링크하고 있는 사이트를 검색


출처 : http://cafe.naver.com/womendevel.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1012
Posted by yangdaegam
l