ArchiSteamFarm 에서 IPC를 통한 웹브라우저로 봇을 제어할 수 있다.

하지만 기본적으로 로컬 접속만 허용되어 있는데 이를 풀기 위해서는 약간의 수정이 필요하다.

먼저 https://yellowtopaz.tistory.com/196 에서 작성했던 ASF.json 파일을 수정해야한다.


1. 환경설정

이전 글 내용대로 설정을 했다면 다음과 같은 설정 파일들을 만졌을 것이다.

ArchiSteamFarm[폴더]
├ArchiSteamFarm
└config
 ├ASF.json  (수정 필요)
 ├ASF.db
 ├사용자계정.json
 ├사용자계정.db
 ├사용자계정.bin
 └IPC.config (추가)

ASF.json 전역 설정파일을 수정하고, IPC.config 파일을 새로 만들어야 한다.


1.1. ASF.json

IPC관련 설정값을 기입하고 저장한다.

{

  "s_SteamOwnerID": "사용자 계정의 STEAMID64 숫자",

  "CurrentCulture": "ko-KR",

  "IPC": true,

  "IPCPassword": "접속 비밀번호"

}

비밀번호는 없어도 되지만 설정하는 것을 추천한다.

(공유기를 해킹당하면 답이 없다.)



1.2. IPC.config

config 폴더 안에 IPC.config 라는 파일을 추가하고 내용을 작성한다.

JSON 형태이고 간단하게 "관리용이름":{"URL": "http://접근허용IP:PORT"} 의 구조를 가진다.

WIKI예제

{
"Kestrel": {
"Endpoints": {
"example-http4": {
"Url": "http://127.0.0.1:1242"
},
"example-http6": {
"Url": "http://[::1]:1242"
},
"example-https4": {
"Url": "https://127.0.0.1:1242",
"Certificate": {
"Path": "/path/to/certificate.pfx",
"Password": "passwordToPfxFileAbove"
}
},
"example-https6": {
"Url": "https://[::1]:1242",
"Certificate": {
"Path": "/path/to/certificate.pfx",
"Password": "passwordToPfxFileAbove"
}
}
},
"PathBase": "/"
}
}

WIKI 예제에는 위와 같이 나열되어 있고 상세하게 설정하고 싶다면 위 예제에서 세부 내용을 고쳐서 작성하고, 귀찮다면 간단하게 공유기 대역만 열어서 공유기 환경에서는 자유롭게 접근할 수 있도록 설정하고자 한다면 다음처럼 내용을 작성 후 저장하면 된다.

케이스1) 단순형태 IPC.config

{
"Kestrel": {
"Endpoints": {
"HTTP": {
"Url": "http://192.168.0.*:1242"
}
}
}
}

IP 대역을 "Url": "http://*:1242" 로 설정하는 경우 외부에서도 접근이 가능하게 되며,
보안 등 신경써야 할 항목들이 늘어난다. 그래서 간단히 공유기에서 IP를 부여하는 대역만큼만 접근을 열면 아무래도 신경 쓸 내용이 많이 줄어들 것 이다.


케이스2) 여러 대역 설정 IPC.config

여러 대역을 통해 다음처럼도 작성할 수 있다.
또한 접속 경로별로 패스워드를 설정할 수 있는 것 같다.

{
"Kestrel": {
"Endpoints": {
"LOCALHOST": { "Url": "http://127.0.0.1:1242" },
"LOCALNETWORK": { "Url": "http://192.168.0.2:1242" },
                        "WEB": {
                                   "Url": "http://*:1242",
                                   "Password": "pppppppp"
                                  }
}
}
}

이런식으로 구성할 수 있다.

IPC.config 파일을 저장하고 ArchiSteamFarm 을 재 실행 하면

"IPC 서버 시작..."
"IPC 서버 준비 완료!"

메시지가 나오면 정상적으로 설정 된 것이다.

웹 브라우저에서 http://아이피주소:1242 를 입력하면 봇 제어를 위한 페이지로 접근할 수 있다.


2. IPC사용 방법

웹 브라우저를 통해 접근하면 위 스크린샷과 같은 화면을 볼 수 있다.

메뉴 구성

구분

용도

제어

  홈

첫화면(업데이트 로그)

  명령어

명령어를 통한 봇 제어

  봇

봇 추가/관리

  로그

로그 확인 (screen -r 로 볼 수 있는 것과 동일)

환경설정

  설정

봇 설정값 갱신 (왜 이름이 설정인지 모름)

  일반 환경설정

ASF.json 전역설정

심플한 방식을 가지고 있고 메뉴 하단에 봇 현황과 파밍 예정시간, 메모리 점유율, 가동시간이 표시된다.

일반 환경설정의 경우 ASF.json 을 편집하는것과 동일하며 GUI로 편하게 구성되어있다.
고급사용자가 아닌 경우 별로 건드리지 않고 기본값을 사용하는 것을 추천한다.

단, REMOTE ACCESS.HEADLESS 의 경우 명령어 메뉴에서 봇에게 상태변경 등을 명령하기 위해서는 TRUE로 설정되어야 한다.
봇을 추가하여 스팀인증기를 통한 인증을 하는 것 또한 명령어를 통해서 수행할 수 있다.

만약 명령어가 아닌 수동으로 하고 싶은 경우 터미널에서 screen -r 명령어를 통해 인증기 번호를 입력할 수 있다.


주요 명령어

명령어 메뉴를 눌러 내용을 보면 검은 화면에 커서만 깜빡이고 있다.
터미널과 동일하게 명령어를 통해서 봇들을 제어한다.

모든 명령어에 대한 설명은 ASF WIKI를 통해 확인하고 자주 사용할 법한 명령어 몇개만 소개하고 마치고자 한다.

명령어

설명

commands

사용 가능한 명령어 리스트 출력

help [command]

도움말

stop [botfilename]

봇 실행중단

start [botfilename]

중단된 봇 실행

play [botfilename] [게임명]

수동으로 지정한 게임 실행
이 게임명은 실제 보유하지 않은 게임도 가능
단, 보유하지 않은 게임의 경우 "비 Steam 게임 중" 
상태메시지가 추가되며, "AFK" 나 "파밍 중"과 같이
자유롭게 메시지를 남기는 용도로도 사용됨.

farm [botfilename]

해당 봇의 카드 파밍 시작

input [botfilename] [type] [value]

봇에게 입력 행위를 할 수 있음
input [botfilename] TwoFactorAuthentication [ACFFG]
이런 형태로 스팀 인증기의 인증번호를 입력할 수 있음.

botfilename의 경우 사용자계정.json 으로 설정했던 json 파일명 즉 "사용자계정" 이다.
사용자계정 이라고 설명할까 하다가 로그인아이디, 프로필아이디 등과 혼동될 것 같아 botfilename 이라고 작성했다.


play 명령어를 통해서 입력하는 게임명은 한글,영문으로 작성 시 "비 Steam 게임 중"이라는 상태 메시지가 추가되며 https://steamdb.info/apps/ 에서 게임을 검색해서 숫자로된 AppID를 입력해야 게임 플레이타임이 누적된다.


봇을 여러개 동시에 돌릴 수 있다.

Happy Farming!


idle master를 돌려볼까 하고 실행했지만 동작하지 않아 대체할 만한 프로그램을 찾아 소개할까 한다.


Archi Steam Farm 이라는 이름을 가지고 ASF라 줄여서 불리는 프로그램이고 치팅으로 감지되어 계정이 밴 되는 우려가 없다고 하지만...
아이들마스터를 돌리면서도 밴을 당했다는 이야기를 들어본 적이 없어 원래 들어가지 않는 성분으로 '무첨가' 홍보를 하는건 아닐까 하는 기분도 들었다.

사실 ASF에 매력을 느꼈던 것은 리눅스 환경에서 스팀을 설치하지 않고도 카드농사를 지을 수 있다는 점 때문이었다.

데스크탑을 카드농사를 위해 24시간 돌리기엔 부담이 되고, 그렇다고 다른 무언가를 함께 돌리기엔 마땅치 않았다. (비트코인 채굴?)

따라서, 집에서 돌리고있는 N54L 이나 라즈베리파이 환경에서 돌려놓으면 데스크톱을 사용하지 않고도 압도적으로 적은 전력 소모로 카드농사를 지을 수 있는 이점이 있다. 



아이들마스터의 동작 가능 버전을 찾으시는 분은 아래 링크를 통해 확인할 수 있다.

https://github.com/Farax85/idle_master/releases

(2018.11.18 기준 1.4.5 버전으로 정상 동작 가능)

스팀에 로그인하면 자동으로 동작함.

설정 방법은 생략




1. 준비 과정

준비물

1. 리눅스가 돌아가는 컴퓨터 (AWS, N54L같은 홈 서버, 라즈베리파이 등)

2. 인터넷이 연결되어 SSH 로 연결이 가능한 상태

3. Putty, Zterm, VNC, 직접 제어 등 1번의 컴퓨터를 제어할 수 있는 방법


파일 다운로드

최신 릴리즈에 가 보면 파일이 여러개 존재한다.

ASF-linux-arm.zip

라즈베리파이, 모바일AP를 사용하는 리눅스 환경에 설치

ASF-linux-x64.zip

인텔, AMD cpu를 사용하는 리눅스 환경에 설치

ASF-osx-x64.zip

맥킨토시용

ASF-win-x64.zip

윈도우계열

데스크탑은 윈도우10을 사용하지만 24시간 돌리지 않으므로 홈서버에 돌릴 용도로 리눅스 배포본을 받는다.

홈서버가 윈도우계열 이라면 윈도우용으로 받으면 된다.


p.s - 작성자는 Putty를 통해 SSH로 연결하여 작업을 진행했음.


wget [다운로드 받을 파일의 웹 주소]

명령어로 터미널 환경에서 다운로드를 받으면 FTP나 SAMBA를 통해 파일을 전송하는 과정을 생략할 수 있다.

pi@raspberrypi:~/ArchiSteamFarm $ wget https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/3.4.0.8/ASF-linux-arm.zip

--2018-10-10 19:59:29--  https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/3.4.0.8/ASF-linux-arm.zip

Resolving github.com (github.com)... 192.30.255.113, 192.30.255.112

Connecting to github.com (github.com)|192.30.255.113|:443... connected.

HTTP request sent, awaiting response... 302 Found

Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/44897462/7359e180-e853-11e8-9ccd-7e93e4e7a4da?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181118%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181118T044844Z&X-Amz-Expires=300&X-Amz-Signature=0a35d827ecdb29f02bbd812ce25bb610158f6e6d958f15f7d74d61eee8bf9ef8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DASF-linux-arm.zip&response-content-type=application%2Foctet-stream [following]

--2018-10-10 19:59:30--  https://github-production-release-asset-2e65be.s3.amazonaws.com/44897462/7359e180-e853-11e8-9ccd-7e93e4e7a4da?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181118%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181118T044844Z&X-Amz-Expires=300&X-Amz-Signature=0a35d827ecdb29f02bbd812ce25bb610158f6e6d958f15f7d74d61eee8bf9ef8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DASF-linux-arm.zip&response-content-type=application%2Foctet-stream

Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.84.147

Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.84.147|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 17649678 (17M) [application/octet-stream]

Saving to: ‘ASF-linux-arm.zip’


ASF-linux-arm.zip       20%[====>                        ]  3.51M 788KB/s eta 20s



2. 실행 환경 설정

해당 파일은 폴더를 자동으로 생성하지 않으므로 폴더를 생성하고 해당 폴더 안에 다운로드 받으면 편하다.

이미 어딘가에 받아두었다면 폴더를 생성하고 명령어를 통해 이동시키면 된다.

pi@raspberrypi:~ $ mkdir ArchiSteamFarm

pi@raspberrypi:~ $ unzip ASF-linux-arm.zip -d ArchiSteamFarm/

pi@raspberrypi:~ $ cd ArchiSteamFarm/

pi@raspberrypi:~/ArchiSteamFarm $ 

unzip [파일명] -d [폴더명] 으로 원하는 폴더에 압축을 해제할 수 있다.


ASF는 다음의 패키지를 요구한다.

  • libcurl3 (libcurl)
  • libicu60 (libicu 배포판의 최신 버전, 예: Debian 9 리눅스의 경우 libicu57 )
  • libkrb5-3 (krb5-libs)
  • liblttng-ust0 (lttng-ust)
  • libssl1.0.2 (배포 용 libssl, openssl-libs, 최신 1.0.X 버전)
  • zlib1g (zlib)

sudo apt install libcurl3 을 입력 후 탭을 두번 누르면 관련 정보가 출력된다.
이렇게 최신 버전으로 하나씩 입력 해 나가면 된다.

추가로 screen 이라는 패키지를 설치한다.
사용자가 터미널을 종료 후에도 데몬 형태로 지속적으로 유지 해 주는 역할을 한다.

pi@raspberrypi:~/ArchiSteamFarm $ sudo apt install libcurl

libcurl-ocaml         libcurl3-dbg          libcurl4-doc          libcurl4-openssl-dev

libcurl-ocaml-dev     libcurl3-gnutls       libcurl4-gnutls-dev   libcurlpp-dev

libcurl3              libcurl3-nss          libcurl4-nss-dev      libcurlpp0

pi@raspberrypi:~/ArchiSteamFarm $ sudo apt install libcurl3 libicu

libicu-dev         libicu4j-4.4-java  libicu4j-java      libicu57

libicu4j-4.2-java  libicu4j-49-java   libicu4j-java-doc  libicu57-dbg


------

pi@raspberrypi:~/ArchiSteamFarm $ sudo apt install libcurl3 libicu57 libkrb5-3 liblttng-ust0 libssl1.0.2 zlib1g

패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
libcurl3 is already the newest version (7.52.1-5+deb9u8).
libicu57 is already the newest version (57.1-6+deb9u2).
libkrb5-3 is already the newest version (1.15-1+deb9u1).
liblttng-ust0 is already the newest version (2.9.0-2+deb9u1).
libssl1.0.2 is already the newest version (1.0.2l-2+deb9u3).
zlib1g is already the newest version (1:1.2.8.dfsg-5).

이미 설치 되어있어 최신버전을 찾는 메시지로 첨부함.
"설치할거야? 용량 얼마가 추가돼 [Y/N]" 같은 메시지로 물어보면 Y입력 후 엔터하여 설치.

------

pi@raspberrypi:~/ArchiSteamFarm $ sudo apt install screen
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
제안하는 패키지:
  byobu | screenie | iselect
다음 새 패키지를 설치할 것입니다:
  screen
0개 업그레이드, 1개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
547 k바이트 아카이브를 받아야 합니다.
이 작업 후 922 k바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 http://ftp.harukasan.org/raspbian/raspbian stretch/main armhf screen armhf 4.5.0-6 [547 kB]
내려받기 547 k바이트, 소요시간 1초 (357 k바이트/초)


ArchiSteamFarm 파일이 실행파일이니 실행 권한을 주고 실행하면 된다.

pi@raspberrypi:~/ArchiSteamFarm $ chmod +x ArchiSteamFarm

pi@raspberrypi:~/ArchiSteamFarm $ ./ArchiSteamFarm


3. CONFIG 설정 및 실행

pi@raspberrypi:~/ArchiSteamFarm $ ./ArchiSteamFarm

2018-11-18 14:32:15|ArchiSteamFarm-11979|INFO|ASF|InitASF() ArchiSteamFarm V3.4.0.7 (linux-x64/364ca94e-579a-49c2-9b4a-6362fb48a57d | Linux 4.4.0-131-generic #157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018)

2018-11-18 14:32:15|ArchiSteamFarm-11979|INFO|ASF|InitGlobalDatabaseAndServices() It looks like it's your first launch of the program, welcome!

2018-11-18 14:32:25|ArchiSteamFarm-11979|WARN|ASF|InitGlobalDatabaseAndServices() Please review our privacy policy section on the wiki if you're concerned about what ASF is in fact doing!

2018-11-18 14:32:30|ArchiSteamFarm-11979|INFO|ASF|UpdateAndRestart() ASF will automatically check for new versions every 1 day.

2018-11-18 14:32:30|ArchiSteamFarm-11979|INFO|ASF|Update() Checking for new version...

2018-11-18 14:32:33|ArchiSteamFarm-11979|INFO|ASF|Update() Local version: 3.4.0.7 | Remote version: 3.4.0.7

2018-11-18 14:32:33|ArchiSteamFarm-11979|INFO|ASF|InitializeSteamConfiguration() Initializing SteamDirectory...

2018-11-18 14:32:33|ArchiSteamFarm-11979|INFO|ASF|InitializeSteamConfiguration() Success!

2018-11-18 14:32:33|ArchiSteamFarm-11979|WARN|ASF|InitBots() No bots are defined. Did you forget to configure your ASF?

실행은 정상적으로 되었으나 ASF가 설정된 콘피그 파일이 없다고 한다.

콘피그 파일을 생성하여 config 폴더 안에 넣어야 한다.


설정하는 파일은 다음과 같다.

ArchiSteamFarm[폴더]
├ArchiSteamFarm
└config
 ├ASF.json  (만들어야 하는 파일)
 ├ASF.db    (실행 후 자동으로 생성되는 파일)
 ├사용자계정.json  (만들어야 하는 파일)
 ├사용자계정.db    (실행 후 자동으로 생성되는 파일)
 └사용자계정.bin   (실행 후 자동으로 생성되는 파일)


Config 파일 생성은 ConfigGenerator.html 파일을 실행하면 웹 브라우저에서 생성 되지만 터미널 환경이므로 윈도우 환경의 컴퓨터에서 크롬을 이용해 다음 주소에서 생성한다.
https://justarchinet.github.io/ASF-WebConfigGenerator/#/


웹에서 생성하는 것이 불안하다면 다음 내용을 본인 계정에 맞게 설정 후 파일에 입력하면 된다. (이름만 맞추면 된다.)

ASF.json

{

  "s_SteamOwnerID": "사용자 계정의 STEAMID64 숫자",

  "CurrentCulture": "ko-KR"

}

JSON 의 형식으로 지정되며 s_SteamOwnerID 는 https://steamid.io/ 에서 자신의 로그인아이디를 검색하여 STEAMID64 내용을 복사하여 붙여넣으면 된다.

ASF.json 은 파일명을 다르게 바꾸지 않고 그대로 설정하여 작성한다.
메모장이나 Notepad++ 같은 편집 프로그램으로 입력하여 config 폴더 안에 위치하면 된다.


agent-YellowTopaz.json

{

  "SteamLogin": "스팀 로그인 ID",

  "SteamPassword": "스팀 로그인 비밀번호",

  "Enabled": true

}

사용자계정.json 파일은 파일명을 임의로 설정해도 무관하다.

여러개의 계정을 컨트롤 하는 경우 "Enabled": false 로 여러 파일을 넣어두면 된다.

비밀번호의 경우 원하지 않으면 작성하지 않아도 프로그램을 켤 때 물어본다고 하는데 어차피 2차인증기를 사용하므로 귀찮아서 입력했다.

ASF를 실행할 때에도 2차인증 비밀번호를 물어본다.

기본적인 콘피그 설정은 끝났다.

만약 세부적인 설정을 하고 싶다면 위 링크의 콘피그 생성기를 통해 세부 내용을 생성하면 된다.

pi@raspberrypi:~/ArchiSteamFarm $ vi config/ASF.json

pi@raspberrypi:~/ArchiSteamFarm $ vi config/agent-YellowTopaz.json

pi@raspberrypi:~/ArchiSteamFarm $ ./ArchiSteamFarm

이렇게 수동으로 위 초록박스 내용을 붙여넣어도 동작한다.

다시 ArchiSteamFarm 을 실행하면 한글로 환영메시지가 나오며 카드 농사를 시작한다.

2018-11-18 15:29:38|ArchiSteamFarm-14488|INFO|ASF|InitASF() ArchiSteamFarm V3.4.0.7

2018-11-18 15:29:39|ArchiSteamFarm-14488|INFO|ASF|Start() IPC 서버 시작...

2018-11-18 15:29:41|ArchiSteamFarm-14488|INFO|ASF|Start() IPC 서버 준비 완료!

2018-11-18 15:29:41|ArchiSteamFarm-14488|INFO|ASF|UpdateAndRestart() ASF는 1 day 간격으로 새로운 버전을 자동으로 확인합 니다.

2018-11-18 15:29:41|ArchiSteamFarm-14488|INFO|ASF|Update() 새로운 버전 확인 중...

2018-11-18 15:29:43|ArchiSteamFarm-14488|INFO|ASF|Update() 로컬 버전: 3.4.0.7 | 원격 버전: 3.4.0.7

2018-11-18 15:29:43|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Start() 시작 중...

2018-11-18 15:29:43|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Connect() 연결 중...

2018-11-18 15:29:43|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|OnConnected() Steam에 연결되었습니다!

2018-11-18 15:29:44|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|OnConnected() 로그인 중...

2018-11-18 15:29:44|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|OnLoggedOn() 으로 로그인 성공

2018-11-18 15:29:45|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Init() ISteamUserAuth에 로그인 중...

2018-11-18 15:29:46|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 첫 번째 배지 페이지를 확인하는 중...

2018-11-18 15:29:46|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Init() 성공!

2018-11-18 15:29:49|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 나머지 배지 페이지를 확인하는 중...

bg 명령어나 CTRL + C 를 누르는 경우 실행이 중지된다.


그래서 위에서 미리 설치한 screen 명령어를 통해 실행 해 준다.

pi@raspberrypi:~/ArchiSteamFarm $ screen -S ASF ./ArchiSteamFarm

pi@raspberrypi:~/ArchiSteamFarm $ screen -list

There is a screen on:
        ??????.ASF       (11/17/2018 08:55:01 PM)        (Detached)
1 Socket in /???/???/?????/S-ASF.

pi@raspberrypi:~/ArchiSteamFarm $ 

"screen -S" 는 이름을 지정해서 "screen -list" 명령어를 통해 확인할 수 있는 내용이다.

정상적으로 실행되는 것을 확인한 이후에 CTRL 키를 누른 채  A, D (순차 입력) 를 입력하여 터미널로 빠져 나오면 백그라운드에서 데몬 형태로 돌아간다.

"screen -list" 명령어를 통해서 확인할 수 있고
ps aux 명령어를 통해서도 확인할 수 있다.

만약 상태를 확인하고 싶다면 "screen -R ASF" 을 입력하면 백그라운드로 돌아가는 내용을 보여준다. 다시 빠져나오고 싶다면 CTRL+A,D 를 입력하면 된다.



Happy Farming!


만약 파밍중에 게임을 실행하면?

다음과 같은 팝업 메시지창을 볼 수 있다.

"계속 실행" 버튼을 누르면 게임이 실행된다.
ASF는 사용자가 게임을 하고 있을 때 정지상태로 대기하고, 사용자가 게임을 끝내면 다시 파밍을 시작한다.

2018-11-18 15:28:24|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|FarmCards() 농사 멈춤: 225600 (Blade Symphony)

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|OnConnected() Steam에 연결되었습니다!

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|OnConnected() 로그인 중...

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|OnLoggedOn() 으로 로그인 성공

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|Init() ISteamUserAuth에 로그인 중...

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|CheckOccupationStatus() 계정이 현재 사용 중입니다. ASF는 계정이 아무 것도 하지 않고 있을 경우 농사를 재개할 것입니다...

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|StopFarming() 농사 멈춤!

------게임 종료 후-----

2018-11-18 15:29:46|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Init() 성공!

2018-11-18 15:29:49|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 나머지 배지 페이지를 확인하는 중...

2018-11-18 15:29:52|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|StartFarming() 농사가 현재 불가능 합니다. 나중에 다시 시도합니다!

2018-11-18 15:42:21|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|CheckOccupationStatus() 계정이 현재 사용되고 있지 않습니다 : 농사를 재개합니다!

2018-11-18 15:42:21|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 첫 번째 배지 페이지를 확인하는 중...

2018-11-18 15:42:23|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 나머지 배지 페이지를 확인하는 중...

2018-11-18 15:42:27|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Farm() 총 326개의 게임 (1276개의 카드) 남음. (약 3 weeks, 6 days, 23 hours 소요)...

2018-11-18 15:42:27|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Farm() 선택된 농사 기법: Complex

2018-11-18 15:42:27|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|FarmSolo() 현재 농사 중: 225600 (Blade Symphony)

2018-11-18 15:42:28|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|ShouldFarm() 225600 (Blade Symphony) 농사 상태: 2개의 카드 남음.

2018-11-18 15:42:28|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|FarmCards() 아직 농사 중: 225600 (Blade Symphony)


끝.

다음: 봇을 제어하기 위한 IPC 설정




transmission-daemon.service - Transmission BitTorrent Daemon

   Loaded: loaded (/lib/systemd/system/transmission-daemon.service; enabled; vendor preset: enabled)

   Active: failed (Result: exit-code) since Fri 2016-11-18 22:39:26 KST; 12s ago

  Process: 24345 ExecStart=/usr/bin/transmission-daemon -f --log-error (code=exited, status=255)

 Main PID: 24345 (code=exited, status=255)


우분투 16.04로 업그레이드를 했더니 트랜스미션이 말썽이다.

자꾸 에러를 뿜으며 다른 계정으로 실행이 안되는 것인데


보통 /etc/init/transmission-daemon.conf 를 열어

setuid debian-transmission

setgid debian-transmission

이런식으로 설정되던 내용이 적용되지 않는다.


삽질 끝에 해결방법은 생각보다 간단했는데...

/etc/systemd/system/multi-user.target.wants/transmission-daemon.service

/etc/init.d/transmission-daemon


위 두 경로를 에디터로 열어서 USER 부분을 수정하고

NAME=transmission-daemon
DAEMON=/usr/bin/$NAME
USER=바꿀 사용자 계정
STOP_TIMEOUT=30
sudo systemctl daemon-reload

그다음 sudo service transmission-daemon start 를 입력하면 끝.
폴더 권한수정은 기존 방법들과 같으니 생략.


apache 에서 php7.0 을 쓸 겸 nginx 가 좋다고 하여 owncloud 를 nginx 설정에 맞춰서 인스톨 했다.

시작부터 SSL을 설정하지 않음으로써 많은 난관이 있었지만... 

결국 잘 되길래 써오다가 어느날 갑자기 아무런 이유 없이 로그인 페이지가 무한히 반복되며 로그인이 되지 않는 문제가 발생했다.


다행히 github 의 도움을 받아 현상을 해결해서 메모를 남긴다.


owncloud 파일이 있는 폴더 /lib/private/appframework/http/request.php

내용 중 


public function __isset($name) {

  return isset($this->items['parameters'][$name]);

  }

내용을 찾는다.


찾는 방법은 vim 에서 (sudo vi [files]) 

: 를 눌러 커맨드를 활성화 시키고 /__isset/ 을 입력하고 엔터를 치면 찾을 수 있다.

(윈도우 메모장의 CTRL+F 같은 찾기 기능)


아무튼 관련 내용을 찾아

https://github.com/owncloud/core/pull/24326/files 내용 대로 수정하면 된다.


public function __isset($name) {

if (in_array($name, $this->allowedKeys, true)) {

return true;

}

  return isset($this->items['parameters'][$name]);

  }


주황색 내용이 추가되면 된다.


이걸 수정했더니 로그인창에서 무한히 로그인하라고 하는 현상이 해결되었다.

서버가 해킹을 당해 계정이 털렸다.

물론 공유기도 털려서 공유기도 리셋하고 다시 설정 후

그냥 쓸까 하다가 너무 찝찝한 마음에 서버도 재설치!


다음번에 밀었을 때는 까먹지 말라고 작성하는 메모형 글.

우분투 14.04 버전을 기준으로 작성.


1. GRUB 부트로더 설치

증상: USB로 설치한 우분투가 USB를 뽑으면 부팅이 되지 않는다.

원인: 아무 생각없이 엔터만 쳐 내려가다가 하드디스크가 sdb 로 잡혀있길래 별 생각없이 넘겼는데 부트로더가 USB에 설치된 것이었다.


해결방법

USB로 부팅 후 쉘에 로그인 하여

$ ls -l /dev/disk/by-uuid/

메인 하드디스크가 sda 로 잡혀있는지 확인 후

$ sudo grub-install /dev/sda

$ sudo update-grub


명령어를 치면 하드디스크에 GRUB 부트로더가 설치되어 USB없이도 부팅이 가능 해 진다.


2. vim 이 이상하다!

증상: 인서트키를 눌러도 입력모드로 전환되지 않고, 방향키를 누르면 A, B, C, D 가 입력된다.

원인: 처음 설치 시 vim이 설치되어있지 않다.


해결방법

$ sudo apt-get install vim


3. 공유기의 접속을 막자.

재설치를 하게 만든 장본인...

$ sudo /etc/hosts.deny

ALL: 공유기IP

# hosts.allow 에 허용되어있으면 말짱 꽝

# 특정 데몬에만 적용하고 싶을 경우 ALL 대신 프로세스명을 기입

# sudo service 에서 사용하는 이름을 적으면 됨.

i사 공유기의 upnp 설정이 기본적으로 켜져있는데...

이걸 통해서 다른 컴퓨터로 접속하게 될 것이라는것을 생각치도 못했음.

yellowto pts/0        192.18.218.1    Mon Mar  7 22:59 - 00:35  (01:35)

yellowto pts/0        192.18.218.1    Thu Feb 18 21:03 - 00:55  (03:52)

yellowto pts/0        192.18.218.1    Sun Feb 14 04:03 - 06:00  (01:57)

...이런거 보고싶지 않으면 막는 것이 좋을 듯.


4. ssh 기본적인 보안설정

$ vi /etc/ssh/sshd_config

Port 사용할포트

PermitRootLogin no         #ssh로 root 로그인 허용여부

AllowUsers 계정1 계정2 ...   #ssh 로그인을 허용할 계정 띄워쓰기로 구분



기타

트랜스미션 실행권한 변경

$ sudo service transmission-daemon stop

데몬을 정지시키지 않으면 config 가 저장되지 않음


$ sudo vi /etc/transmission-daemon/settings.json

기본 설정 변경

"download-dir": "다운받은 파일이 저장될 위치",

"incomplete-dir": "다운중인 파일이 저장될 위치",

"rpc-port": "원격 접속시 상용할 포트",

"rpc-username": "원격 접속시 사용할 계정",

"rpc-password": "원격 접속시 사용할 패스워드",

"rpc-whitelist-enabled": false,



$ sudo vi /etc/init/transmission-daemon.conf

setuid 실행할 사용자 계정

setgid 실행할 사용자 계정

실행할 사용자 계정이름 지정


$ sudo chown -R 설정한계정:설정한계정 /var/lib/transmission-daemon/info

$ sudo chown -R 설정한계정:설정한계정 /etc/transmission-daemon/settings.json

$ sudo chown -R 설정한계정:설정한계정 settings.json 에 "download-dir": 로 지정된 폴더도 권한변경

관련 파일들 권한 변경


mysql 재설치

phpmyadmin 으로 잘못 눌러 root 가 아무런 권한을 갖지 못하게 되어 재설치를 해야 했는데 

일반적으로 재설치를 해도 DB는 그대로 유지되어 난항을 겪었음


$ sudo apt-get purge mysql-server mysql-client mysql-server-core mysql-client-core mysql-common

강제로 삭제한 뒤

$ sudo apt-get autoremove

$ sudo apt-get autoclean

$ sudo rm -rf /etc/mysql

$ sudo rm -rf /var/lib/mysql

이렇게 해야 기본설정, DB내용이 싹다 전부 날아가서 초기화 됨

그 뒤에 다시 설치

$ sudo apt-get install mysql-server mysql-client


알 수 없는 문제로 권한이 꼬였을 때

숨겨진 파일을 통채로 변경하다가 아무 생각없이 "chmod 755 .*" 이런식으로 명령을 실행할 경우 권한 설정이 꼬여버릴 때가 발생

$ find 폴더명 -type d -exec chmod 755 {} \;  
$ find 폴더명 -type f -exec chmod 644 {} \;
-type d 는 폴더 전체, -type f 는 파일 전체 이런식으로 데이터 타입을 지정해서 일괄 권한을 지정할 수 있다.






Python 3.x 를 공부해보겠다고 설정을 이것저것 다 해봤지만

Windows 환경에서 Python 3.5 를 설치하고 난 뒤

pip 명령어를 통해 모듈을 다운받을 때 ERROR: Unable to find vcvarsall.bat 에러를 뱉어내서

하루종일 고생했다.


stackoverflow에서 하라는대로도 해 보고 여기저기 검색해서 해 봐도 도저히 안되길래

Visual Studio 를 설치하면서 해결을 했다.


무겁고 유료인 VS IDE 를 설치하지 않아도 해결할 수 있는 방법을 찾아내어 다른분들은 고생하지 말라고 메모를 남긴다.

Visual Studio Community 라고 개인 개발자, 소규모 팀에게 무료로 라이센스를 주고는 있지만

Python 을 연습하기 위해 무거운 VS를 설치하는건 낭비인 것 같아 아래 패키지만 설치해도 되는 것을 확인 했다.


시스템의 환경변수를 건드릴 필요 없고 (자동으로 입력됨)

파이썬 설치폴더\Lib\distutils\msvc9compiler.py 를 수정할 필요도 없다.

(다 해봤는데 안된다.)


Microsoft 다운로드 페이지에 VCForPython27.msi 를 설치 해봤는데도 안됐다 ㅠㅠ

5시간 가량 삽질 해 본 결과 괜히 가볍게 해 보겠다고 이것저것 삽질하지 말고 

그냥 python-vs 를 설치해서 하는 것이 여러모로 편하다.


https://www.visualstudio.com/features/python-vs

위 주소로 들어가 다운받은 뒤


사용자 지정 설치 를 선택하고

VC++ 관련 일반도구만 선택하여 설치하면 된다.





서피스 프로3를 구매한 뒤 기능키로 당황했던 기억이 있어서 메모 겸 글 남깁니다.



FN+Caps: 기능키, F1~F12 전환
기본 F1~F12로 동작 하도록 합니다. 
다시 누르면 기능키로 고정 됩니다. (F1을 누르기 위해 FN + F1 을 눌러야 함)

FN+<SPACE BAR>: Print Screen
FN+<SPACE BAR>+<ALT>: Alt + Print Screen
FN+<Del>: 모니터 밝기 Up
FN+<BACKSPACE>: 모니터 밝기 Down
FN+<LEFT>: Home
FN+<RIGHT>: End
FN+<UP>: Page Up
FN+<DOWN>: Page Down


홈서버에 삽질삽질 하여 3테라 하드를 마운트를 시켜놓으니 기본적으로 2T만 사용 가능하다고 합니다.

2테라 이상 사용하기 위해서는 ext4 포멧을 사용해야 하며 gpt라벨을 사용해야 3TB하드를 사용할 수 있다고 합니다.


$ sudo fdisk -l


Disk /dev/sda: 500.1 GB, 500107862016 bytes

255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0001734c


   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048      499711      248832   83  Linux

/dev/sda2          501758   976771071   488134657    5  Extended

/dev/sda5          501760   976771071   488134656   8e  Linux LVM


Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes

90 heads, 3 sectors/track, 21705678 cylinders, total 5860533168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk identifier: 0x51e97a40


   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048  4294967294  2147482623+  83  Linux


Disk /dev/mapper/????--vg-root: 495.6 GB, 495640903680 bytes

255 heads, 63 sectors/track, 60258 cylinders, total 968048640 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


Disk /dev/mapper/????--vg-root doesn't contain a valid partition table


Disk /dev/mapper/????--vg-swap_1: 4156 MB, 4156555264 bytes

255 heads, 63 sectors/track, 505 cylinders, total 8118272 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


Disk /dev/mapper/????--vg-swap_1 doesn't contain a valid partition table


하드1 (SDA) 500GB

하드2 (SDB) 3000GB - 3T

잘 인식 되어있는데...


$ df -h

Filesystem                   Size  Used Avail Use% Mounted on

/dev/mapper/????--vg-root  455G  1.7G  430G   1% /

none                         4.0K     0  4.0K   0% /sys/fs/cgroup

udev                         1.9G   12K  1.9G   1% /dev

tmpfs                        383M  536K  383M   1% /run

none                         5.0M     0  5.0M   0% /run/lock

none                         1.9G     0  1.9G   0% /run/shm

none                         100M     0  100M   0% /run/user

/dev/sda1                    236M   37M  187M  17% /boot

/dev/sdb1                    2.0T  143G  1.8T   8% /mnt/data

2테라라니.... 아니... 2테라라니....


과감히 다시 파티션 생성


$ sudo parted /dev/sdb

(parted) mklabel gpt    //label 타입을 만든다. (디스크 이름 아님)

Warning: The existing......

Yes/No? yes

(parted) unit TB          //사용할 단위설정

(parted) mkpart primary 0.00TB 3.00TB  //파티션 생성 primary, logical, extended

(parted) print           //확인

Model: ATA WDC WD30EFRX-68E (scsi)

Disk /dev/sdb: 3001GB

Sector size (logical/physical): 512B/4096B

Partition Table: gpt


Number  Start   End     Size    File system  Name     Flags

 1      1049kB  3001GB  3001GB  ext4         primary

(parted) quit


(한참뒤에 다시 작성하는 내용이라 처음 할때와 값이 조금씩 다릅니다.)

$ sudo fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes

255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0001734c


   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048      499711      248832   83  Linux

/dev/sda2          501758   976771071   488134657    5  Extended

/dev/sda5          501760   976771071   488134656   8e  Linux LVM


WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.



Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes

255 heads, 63 sectors/track, 364801 cylinders, total 5860533168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk identifier: 0x00000000


   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1  4294967295  2147483647+  ee  GPT

Partition 1 does not start on physical sector boundary.

...

sdb1이 잡혀있는 것을 확인했으니 ext4로 포멧합니다.


$ sudo mkfs.ext4 /dev/sdb1


포멧을 완료했으니 마운트를 시켜야 합니다.


마운트 폴더 생성 및 마운트

$ sudo mkdir /mnt/storage

$ sudo mount -t ext4 /dev/sdb1 /mnt/storage

폴더 경로나 이름은 자유롭게 변경하셔도 됩니다.


내용 확인
$ df -h
Filesystem                   Size  Used Avail Use% Mounted on
none                         4.0K     0  4.0K   0% /sys/fs/cgroup
udev                         1.9G  4.0K  1.9G   1% /dev
tmpfs                        383M  500K  383M   1% /run
none                         5.0M     0  5.0M   0% /run/lock
none                         1.9G     0  1.9G   0% /run/shm
none                         100M     0  100M   0% /run/user
/dev/sda1                    236M   66M  158M  30% /boot
/dev/sdb1                    2.7T  226G  2.4T   9% /mnt/storage

(이미 다 적용하고 사용하던 도중 작성하는 터라 많은 용량이 사용중이네요)

여기까지 설정해도 사용할 수 있습니다.
다만 재부팅 할 경우 다시 마운트를 잡아줘야 합니다.

부팅 시 자동 마운트 설정을 위한 준비

ls -l 이나 ll 을 통해 /dev/disk/by-uuid/ 를 봅니다.

$ ls -l /dev/disk/by-uuid/

total 0

lrwxrwxrwx 1 root root 10 Jan  3 08:56 3b2553bf-8d02-47ae-8cc8-2f1ae55bd83f -> ../../sda1

lrwxrwxrwx 1 root root 10 Jan  3 08:56 77704fbf-00ea-432a-bfb9-b010ba7c0a85 -> ../../dm-0

lrwxrwxrwx 1 root root 10 Jan  3 08:56 95b721bd-8433-4db7-a5ba-2e88a30a01c3 -> ../../dm-1

lrwxrwxrwx 1 root root 10 Jan  3 08:56 9d2ca20a-78d6-48e1-bf96-c2d77c7a2eb1 -> ../../sdb1


연결된 sdb1 보조 하드디스크 uuid 를 복사 (다 다르니 본문의 내용을 복사하면 낭패)
9d2ca20a-78d6-48e1-bf96-c2d77c7a2eb1 


원하는 값을 복사했으니 자동으로 마운트를 시키기 위해 정보를 입력합니다.


자동 마운트 설정

$ sudo vi /etc/fstab


----파일내용----

# /etc/fstab: static file system information.

#

# Use 'blkid' to print the universally unique identifier for a

# device; this may be used with UUID= as a more robust way to name devices

# that works even if disks are added and removed. See fstab(5).

#

# <file system> <mount point>   <type>  <options>       <dump>  <pass>

/dev/mapper/Maybee--vg-root /               ext4    errors=remount-ro 0       1

# /boot was on /dev/sda1 during installation

UUID=3b2553bf-8d02-47ae-8cc8-2f1ae55bd83f /boot           ext2    defaults        0       2

/dev/mapper/Maybee--vg-swap_1 none            swap    sw              0       0


#NAS 3TB HDD

UUID=9d2ca20a-78d6-48e1-bf96-c2d77c7a2eb1 /mnt/storage ext4    errors=remount-ro       0       0



위 처럼 UUID와 마운트 위치, 포멧 등을 입력 해 줍니다.


재부팅 후 마운트가 자동으로 잘 되는지 확인 합니다.





삽질하는 도중 설정 완료하여 메모 및 공유 차원에서 글 작성합니다.


우선 결론부터 말하자면 

SSMTP는 메일을 보낼 때 직접 입력하거나 파일에 작성된 명령어들을 수행할 수 있습니다.

직접 입력 방법

  $ ssmtp [전송받을 메일주소]

  SUBJECT: TEST

  내요오오오오옹

  CTRL + D


파일을 통해 전송하는 방법

  $ ssmtp [전송받을 메일주소] < 파일명


따라서

[실행 파일(메일전송)] -> [서버 상태 저장] -> [전송할 내용 파일 결과]

[실행 파일(메일전송)] <- [전송할 내용 파일 결과]

3개의 파일을 구성한 뒤 [실행 파일(메일 전송)]에서 [전송할 내용 파일 결과]를 불러오면 됩니다.


뭐 잘 모르시더라도 하나씩 해보면 결국 할 수 있으니 아래를 보시면 됩니다.


1) SSMTP 설치

우분투

# apt-get install ssmtp -y


Centos

# yum -y install ssmtp

설치 자체는 패키지 매니저를 통해서 받으면 편합니다.

직접 받아서 컴파일하는 방식으로도 할 수 있지만 귀찮고 복잡하므로 설명하지 않습니다.

SSMTP는 SMTP서버를 돌리지 않고 구글이나 상용 메일을 통해서 메일을 보낼 수 있는 패키지 입니다.



2) SSMTP 설정 (구글 계정 연동)

# vi /etc/ssmtp/ssmtp.conf

----파일내용----

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=아무거나 입력 (안써도 됨)

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587

AuthUser=구글아이디@gmail.com
AuthPass=구글비밀번호

# Where will the mail seem to come from?
다른 도메인으로 메일을 보낼 것인가?
rewriteDomain=자신의 도메인 입력 (근데 구글에선 안됨)

# The full hostname
hostname=localhost (의미 없는듯)

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

UseSTARTTLS=YES

각 항목에 대한 의미는 다른 블로그들에서 많이 설명하고 있으므로 설명은 생략합니다.

mailhub=smtp.gmail.com:587

AuthUser=구글아이디@gmail.com

AuthPass=구글비밀번호

UseSTARTTLS=YES

이 네가지 항목이 중요하고 나머지는 주석처리 되어도 문제없이 발송 되었습니다. (근데 중요할수도)


3-1) 전송 테스트

$ ssmtp [전송받을 메일주소]

SUBJECT: TEST

본문내요오오오오옹

CTRL + D

ssmtp 명령어를 사용할 경우 아무런 응답없이 쉘에서 한줄이 내려가 커서가 깜빡일 텐데

그냥 내용들을 입력하면 됩니다.


-v 인자를 사용할 경우 진행 상태를 쉘에 표시 해 줍니다.

ex) ssmtp -v 메일주소


앞 첫자만 대문자로 사용해도 되며 콜론은 꼭 찍어줘야 함

SUBJECT: 제목

TO: 보낼 대상 (근데 이미 명령어에 쳤으니 안써줘도 됨)

FROM: 보낸사람 (abc@abcd.efg 처럼 바꿔서 보낼수도 있으나 구글은 적용이 안됨)

본문 내용은 그냥 입력



3-2) 구글 계정 설정

패키지가 없다는 에러 메시지는 패키지를 설치해주면 됩니다. (뭐였는지 기억이 나지 않음)

정상적으로 SSMTP를 사용할 수 있는 환경이라고 가정할 때

아마 테스트 해 보면 전송이 안되고 메일함에 보안 안내메일이 도착 해 있을 것 입니다.


뭐 딱히 문제될 일 없으니 메일 본문의 아래 링크를 클릭해서

https://www.google.com/settings/security/lesssecureapps

보안 수준이 낮은 앱의 액세스 사용 중지를 선택합니다.

해킹 당하지 않도록 특별히 주의는 필요합니다.


4) 전송할 내용 작성

파일을 아무거나 하나 만들어 주시고 실행 가능하도록 755 권한을 줍니다.


$ vi check.sh

$ chmod 755 check.sh

-----파일내용------

#!/bin/sh

echo "============Server Status============"

echo "Basic Info"

hostname

date

echo "Uptime"

uptime

echo "======================================"

echo "Disk"

df -h

echo "PROCESS TREE"

pstree

echo "Port"

netstat -nlp

echo "Memory"

free -m

echo 명령어로 가독성 좋게 꾸미는건 자유롭게 수정하시면 됩니다.

그리고 나서 ./check 를 실행 해 보면 입력된 명령어들이 쭈욱 실행 되는 것을 알 수 있습니다.


이쁘게 줄바꿈을 하고 싶을 경우 게행문자 \n 를 입력합니다.

원하는 내용을 자유롭게 추가하면 됩니다.


5) 전송 실행 쉘 스크립트 작성

파일을 역시 아무거나 하나 만들어 줍니다.

역시 실행 가능하도록 755 권한을 줍니다.


$ vi sendmail.sh

$ chmod 755 sendmail.sh

---파일내용---

#!/bin/sh

sh check.sh > sys.log

ssmtp [전송할 메일주소] < sys.log

이렇게 입력하면 됩니다.

check.sh 를 실행한 결과를 sys.log에 저장을 하고 (쉘에 쭈욱 보여지던 내용)

ssmtp 명령어로 해당 메일 주소에 sys.log 내용을 보냅니다. (첨부 아님)


작성한 내용을 실행 해 봅니다.

$ ./sendmail.sh


아마 그냥 따라했으면 메일에 아무런 제목 없이 (제목없음) 의 내용으로 전송이 될텐데 

이를 예쁘게 제목까지 구성해서 전송하기 위해서는 약간의 꼼수가 필요합니다.


꼼수!

아까 작성한 메일 본문 내용에 삽입될 체크하는 파일을 열어봅니다.

$ vi check.sh

--파일내용--

#!/bin/sh 바로 하단에 아래 내용을 추가합니다.


echo "SUBJECT: 메일 제목"

#echo "FROM: 보내는메일주소" (없어도 됨)

echo "TO: 받는메일주소"


그러면 sys.log 에 아래 처럼 보여지게 됩니다.

$ vi sys.log

--파일내용--

SUBJECT: 메일 제목

TO: 받는메일주소

============Server Status============

......


6) 마무리

sendmail.sh 파일을 CRON에 등록해서 원하는 시간에 실행하도록 하면 반복적으로 알아서 메일을 보내게 됩니다.

check.sh 파일을 통해 sys.log가 생성되므로 경로 설정에 유의하시면 됩니다.


원리는 눈치 채셨을텐데 

실질적으로 전송하는 방법은 ssmtp 메일주소 < sys.log 입니다.

ssmtp -v 메일주소 < sys.log 를 해 보시면

sys.log에 입력된 내용을 위에서부터 차례대로 입력 해 나가게 되는데


수동으로 입력할 때 처럼

SUBJECT: 메일 제목 내용이 맨 위에 있으므로 자동으로 메일 제목이 설정되게 됩니다.

그 아래 내용들은 헤더가 없어 본문으로 취급되기 때문에

예쁘게 제목과 본문으로 서버의 상태를 보낼 수 있습니다.

오늘도 컴퓨터를 사용하는 도중 인터넷이 마구마구 끊겼다.
왜그러지하고 공유기에 핑을 쏴보니 공유기에 핑이 안들어간다....
나에게 아이피가 할당되었나 cmd에서 ipconfig 를 입력하는 순간!
아래와 같은 화면이...



오 망할... 터널 어댑터 로컬 영역 연결...
뭐야 이건 153개나 있다니... 얼마전에 확인했을땐 3~5개 수준이어서 문제없이 아이피를 볼 수 있었지만 
이 연결 들 덕분에 아이피를 확인하는건 불가능했다...

약이오른 나는 저 망할것을 어디서 지우나 찾아다닌 결과 생각보다 쉽게 찾을 수 있었다

장치관리자로 들어가 보기메뉴에 숨김장치 표시를 해주면
네트워크 어댑터 부분에 쭈~~~~~~~~~~~~~~~~~~~~욱 나온다.

드래그하여 일괄삭제는 없다
일일이 지워줘야한다.
Microsoft 6to4 Adapter ?
ㄱ- 이 망할 어댑터들은 무엇인가 보니 IPv6 와 IPv4 체계를 연결시켜주는 어댑터라 한다.
IPv6 가 사용되는진 모르지만 153개나 있으니 하나빼고 다 지워도 문제없을것 같아서 지우고 있는 중이다.
 


주력으로 사용하는 웹브라우저 Firefox가 4.0 베타버전을 내 놓았다.
Firefox 1.0 베타부터 사용해오던 터라 바로 업데이트를 시작했고 결과는 매우 흡족스러웠다.

일단 외형이 많이 바뀌었다.
4.0 부터는 테마를 Windows7 에 맞추었다는 말을 보았는데 확실히 3.x 버전과는 다르게 테두리 부분이 반투명 처리되어있다.
메뉴 역시 MS OFFICE 2007 이상에서 처럼 변했다.
(탭이 다 열려있는건 진행하며 스크린샷을 찍었는데 하얀색으로만 나오길래.. 새로찍었음..)



부가기능 역시 많이 바뀌었는데
기존 팝업식의 부가기능이 아닌 탭형식으로 바뀌었고 레이아웃으로 잘 정리 되어있었다.
알아야만 쓸 수 있었고 애드온에 대한 정보는 검색하거나 모질라 홈에 직접 들어가 찾아봐야해서
불편했으나 추천탭으로 가장 많이 이용하는 애드온을 추천해주고 원클릭으로 바로 설치되게 하여
상당히 간소화 되었다.
물론 4.0 베타버전인지라... 3.x 버전에서 사용하던 애드온 대부분이 사용 불가능해졌다...ㅠㅠ



4.0으로 넘어오면서 가장 만족스러워진건 메뉴가 상태바에 들어가 깔끔해지고 화면을 더 넓게 쓸 수 있게된점이다. 전체화면으로 크기를 늘리면 탭과 메뉴가 모두 일렬로 정렬된다!!
3.6버전을 쓰며 메뉴를 안보이게 가려놓긴 했어도 불편할때가 있었는데 그런 문제가 해결되었고, 무엇보다 테마를 사용하지 않고 기본으로 사용하여도 전혀 딱딱하거나 허전하지 않아진 것이 정말 마음에 든다. (구글 크롬의 영향을 많이 받은 것 같다.)

3.6버전이 나오면서 Firefox에 페르소나 라는 컨텐츠도 새로 나왔는데 (왜 나왔는지 모르겠음)
메뉴부분만 바뀌어 영 어색해서 쓰지 않고 그냥 테마만 사용해왔으나 업데이트한 지금은
적용 가능한 마음에드는 테마가 없어 페르소나만 사용해도 나쁘지 않을 것 같다.

베타버전이 나온지도 1달여 정도 지났지만 귀찮아서 미뤄오다 오늘에서야 적용을 해 보고 블로그에 올렸다. 사실 블로그를 너무 방치한것 같아 포스팅할 구실을 만들었다고...
잠깐 사용한거라 성능에 대해서는 언급을 하기엔 무리가 있으나, 일단 웹페이지 로딩속도가 상당히 빨라졌다 (는 기분이 든다)

상태바나 메뉴와 같은 것들이 모두 상단으로 이동해 깔끔하고 통일된 모습을 보여주나...
너무 많이 바뀌어서 아직은 아리송 한 부분이 많다.
자주 사용하는 IE TAB, 그리스몽키, SMS애드온 버튼은 어디로 사라졌을까.....
Firefox의 가장 큰 장점인 사용자지정 메뉴구성으로 레이아웃을 조금 바꿔봐야 할 것 같다.

Firefox를 쓰기 어려워 미뤄왔던 분들이라면 4.0 을 사용해보길 강력 추천한다!

Firefox 4 베타 다운로드 페이지: http://www.mozilla.or.kr/ko/firefox/beta/


eyeOS는 인터넷에서 데스크탑 기능을 구현한 웹전용 OS 입니다.
웹 브라우저 상으로 PC의 기능을 수행 할 수 있습니다.

설명이 전부 영어로 되어있어...
바닥을 기는 영어실력으로 홈페이지에 설명들을 번역해서 자랑하는것 보다 제가 체험한 것을 스크린샷으로 보여드리겠습니다.
(영어에 자신있으신 분은 아래 홈페이지 주소를 적어두었으니 가셔서 읽어보시면 될겁니다.)

주로 공공기관이나 학교에서 사용되는것 같네요

로그인 화면입니다.
Firefox 3.6버전을 사용했으며 TheWorld 2.4 (IE7.0)에서도 잘 돌아가는것을 확인했습니다.
아이디와 패스워드를 입력하는 화면인데 패스워드가 틀릴 경우 좌우로 흔들리더군요...

로그인을 해보면 하단에 태스크바(작업표시줄)이 있고 상단에 메뉴들이 있습니다.
바탕화면 아이콘과 함께요

그냥 신기해서 여기저기 둘러보는데 여러가지 기능이 있네요
워드프로세서, 스프레드시트, RSS리더 등 기본적으로 꽤 많은것을 지원합니다.

설정에서 테마도 바꿀 수 있네요

테마를 바꾼 모습 -,.-;

또다른 테마입니다.

뭐 대충 이렇게 구동 됩니다.


이것저것 해 본 결과 신기한점이 하나 있는데 eyeOS 에서 Navigater(웹브라우저) 를
실행하면 한국 사이트들도 상당히 빠른속도로 뜨는것을 확인 할 수 있습니다.

너무나 신기해서 아이피 로그를 보았더니, 웹브라우저는 눈속임인것 같습니다 ㅡ _ㅡ);;
사용자 PC (제 컴퓨터) 에서 eyeOS를 브라우저로 접속, eyeOS 에서 네비게이터(브라우저)를 실행하면,
해당 원격 컴퓨터의 브라우저가 아닌 현재 실행중인 제 PC의 회선을 사용하여 인터넷을 돌아다니게 됩니다.

그리고 혹시나 생각난 거지만(확인은 안해봤습니다.) 안에 내장되어있는 프로그램들,
스프레드시트나 워드프로세서 등을 실행했을 경우 원격PC의 CPU 를 사용하는게 아니라
사용자의 PC자원을 사용하는 것 같습니다.

뭐 전 20분정도 잠깐 써보고 올리는거라 정확하지 않은 정보가 있을 수 있습니다.

제가 지금껏 알고있던 클라우드컴퓨팅 과 약간 다른것 같아 헷갈리네요
제가 제일 처음 클라우드 컴퓨팅을 경험한건 고등학교때, 컴퓨터 시간에 학생들 PC는 OS가
깔려있지만 아무것도 실행할 수 없고 원격으로 접속하는 커넥터만 실행이 가능했습니다.
그래서 그 커넥터를 실행하면 메인컴퓨터로 접속을 하고 그곳에 로그인을 해서 실습을 하는
방식으로 수업을 진행했었습니다.
느리긴 했어도 로컬연결을 통해 외부 인터넷과 연결된 컴퓨터에 접속하여 인터넷이 되지 않는
컴퓨터에서 인터넷을 하며 참 신기해 했었는데, 얼마 전에서야 그게 클라우드 컴퓨팅 이었다는걸 알았네요
여기서 알 수 있듯이 클라우드 컴퓨팅 이라는 용어나 개념은 새로이 생긴것이 아니라는것을 알 수 있습니다.

eyeOS는 오픈소스이며, 무료 입니다.
용량도 2.5MB 밖에 되지 않습니다.

홈페이지 http://eyeos.com/
미리보기 http://www.eyeos.info/
다운로드(서버) http://eyeos.org/en/downloads


미리보기 주소로 들어가 보시면 eyeOS 를 체험하실 수 있습니다.
클라이언트는 따로 다운로드가 없습니다.
그냥 인터넷 브라우저로 접속만 하면 됩니다.

태클 환영합니다.

장황하게 쓰고싶었지만... 후달리는 영어실력에 그저 눈물만...
제목만 거창하네요

도메인을 이용한 서버의 정보 알아내기
http://uptime.netcraft.com/up/graph?site="도메인주소 입력"



구글을 이용한 해당 사이트의 악성코드 유포 여부 검색
http://www.google.com/safebrowsing/diagnostic?site="도메인 주소 입력"&hl=ko





원본 사진 ㅡ_ㅡ;
 


 
하는방법은??
= .= 첨부된 파일이 크기가 커서~ 클릭해서보세요
 
 





포토샵을 열어 원본사진을 불러옵니다.

이때 사진은 사이즈가 크면 클수록 좋습니다. 실수가 있어도 작게 리사이즈 하면 감쪽같이 숨길 수 있기 때문이죠

 



먼저 선택 도구를 누르고 머리를 키울 타겟을 설정합니다.=_=;

적당히 선택해주세요 어깨까지 하시면 좋습니다.


 






 차례대로 누르세요

CTRL + C, CTRL + V, CTRL + T 누르셧나요? CTRL 누른 채로 CVT 누르시면 된답니다.


 



CTRL + T 는 자유변형 이에요 CTRL + C, CTRL + V 는 복사하기 붙여넣기, 레이어 란을 보시면 레이어1 이 생성 되었습니다.


변형 하셨으면 ENTER 키를 과감히 누르세요!

늘린 머리가 적용 되었습니다.



커진 머리를 이제 지우개로 슥슥 머리만 빼고 지워주세요

주변의 팔이라던지 그런것들을 지워주세요

레이어에서 배경 의 눈을 눌러주시면 배경이 사라지고 레이어1 의 이미지만 보여요~

지우기 편합니다 = .= 사이즈를 늘려주시고 지우면 더욱 편해요








다 지우셧다면 머리를 적당한 위치에 이동시킵니다~

그럼 완성 = .=)b


  • 포토샵 강좌 (1.노이즈와 점빼기)
  • 포토샵 강좌 (2.아웃 포커싱)
  • 포토샵 강좌 (3.뽀샤시 기법_1)
  • 포토샵 강좌 (3.뽀샤시 기법_2)
  • 포토샵 강좌 (4.사진에 글씨넣기)
  • 초보를 위한 포토샵 강좌 1 (선명한 사진 만들기)
  • 초보를 위한 포토샵 강좌 2 (라인을 이용한 효과-1)
  • 초보를 위한 포토샵 강좌 3 (라인을 이용한 효과-2)
  • 초보를 위한 포토샵 강좌 4 (흑백사진 칼라로 바꾸기)
  • 초보를 위한 포토샵 강좌 5 (불로 태운 듯한 사진 만들기)
  • 초보를 위한 포토샵 강좌 6 (비누방울 이미지 만들기)
  • 초보를 위한 포토샵 강좌 7 (Layer 모드를 이용한 이미지 변화)
  • 초보를 위한 포토샵 강좌 8 (오래된 사진 만들기)
  • 초보를 위한 포토샵 강좌 9 (필름 효과 내기)
  • 초보를 위한 포토샵 강좌 10 (사진 테두리 넣기)
  • 초보를 위한 포토샵 강좌 11 (사진 테두리 넣기2)
  • 초보를 위한 포토샵 강좌 12 (여러 장의 이미지 하나로 만들기)
  • 초보를 위한 포토샵 강좌 13 (색수차 없애기)
  • 초보를 위한 포토샵 강좌 14 (증명사진 만들기)
  • 초보를 위한 포토샵 강좌 15 (판화 이미지로 표현하기)
  • 초보를 위한 포토샵 강좌 16 (눈오는 효과주기)
  • 초보를 위한 포토샵 강좌 17 (안개 효과 내기)
  • 초보를 위한 포토샵 강좌 18 (이미지 최적화로 저장하기)
  • 초보를 위한 포토샵 강좌 19 (비오는 효과주기)
  • 초보를 위한 포토샵 강좌 20 (간단한 작업으로 사진 보정하기)
  • 초보를 위한 포토샵 강좌 21 (액션기능 이용하기)
  • 초보를 위한 포토샵 강좌 22 (세밀한 이미지 깔끔하게 지우기)
  • 초보를 위한 포토샵 강좌 23 (노이즈 보정하기)
  • 초보를 위한 포토샵 강좌 24 (이미지 자르기)
  • 초보를 위한 포토샵 강좌 25 (색다른 효과주기)
  • 초보를 위한 포토샵 강좌 26 (블러(Blur)효과를 이용한 파일 사이즈 줄이기)
  • 초보를 위한 포토샵 강좌 27 (포토샵을 이용한 간단한수평과 수직 맞추기)
  • 초보를 위한 포토샵 강좌 28 (칼라 이미지를 흑백으로 변경하는 다양한 방법)
  • 초보를 위한 포토샵 강좌 29 (네 쌍둥이 만들기)
  • 초보를 위한 포토샵 강좌 30 (이미지의 특정한 어두운 부분을 밝게 복원 시키기 방법)
  • 초보를 위한 포토샵 강좌 31 (도장툴을 이용한 이미지 복사1)
  • 초보를 위한 포토샵 강좌 32 (도장툴을 이용한 이미지 복사2)
  • 초보를 위한 포토샵 강좌 33 (내 사진에 도장 찍기)
  • 초보를 위한 포토샵 강좌 34 (포토샵을 이용한 쉬운 번개효과)
  • 초보를 위한 포토샵 강좌 35 (또렷한 사진 만들기)
  • 초보를 위한 포토샵 강좌 36 (불필요한 이미지 영역 제거하기)
  • 초보를 위한 포토샵 강좌 37 (이미지의 특정 부분 선명하게 하는 방법)
  • 초보를 위한 포토샵 강좌 38. (포토샵 툴상자의 사용 용도)
  • 초보를 위한 포토샵 강좌 39. (Shear 필터를 이용하여 로고 넣기)
  • 초보를 위한 포토샵 강좌 40. (영어로 된 폰트 이름 한글로 변경하는 방법)
  • 초보를 위한 포토샵 강좌 41. (포토샵에서 이미지 손쉽게 정렬하기)
  • 초보를 위한 포토샵 강좌 42. (포토샵에서의 다양한 문자 효과(Warp text))
  • 초보를 위한 포토샵 강좌 43. (눈은 크게, 턱은 갸름하게 성형하기)
  • 초보를 위한 포토샵 강좌 44. (브러쉬 툴에 대해 알아보기)
  • 초보를 위한 포토샵 강좌 45. (Swatches 사용 방법)
  • 초보를 위한 포토샵 강좌 46. (페이지 말림 효과 주기)
  • 초보를 위한 포토샵 강좌 47. (해상도에 따라 달라지는 텍스트 크기)
  • 초보를 위한 포토샵 강좌 48. (색다른 느낌으로 표현하기)
  • 초보를 위한 포토샵 강좌 49. (메뉴 Automate 기능)
  • 초보를 위한 포토샵 강좌 50. (포토샵 환경설정 Preferences)
  • 초보를 위한 포토샵 강좌 51. (포토샵 5.5와 비교해서6.0에 추가된 기능에 대해 알아보자.-[1])
  • 초보를 위한 포토샵 강좌 52. (포토샵 5.5와 비교해서6.0에 추가된 기능에 대해 알아보자.-[2])
  • 초보를 위한 포토샵 강좌 53. (포토샵 7.0에 추가된 기능)
  • 초보를 위한 포토샵 강좌 54. (커브(Curves)로 다양한 느낌 표현해보기)
  • 초보를 위한 포토샵 강좌 55. (내가 찍은 사진으로 윈앰프(winamp) 스킨 만들기)
  • 초보를 위한 포토샵 강좌 56. (Layer Style 기능에 대해 알아보자.)
  • 초보를 위한 포토샵 강좌 57. (포토샵을 이용한 텍스트 효과)
  • 초보를 위한 포토샵 강좌 58. (레이어의 모든 것에 대해 알아보자 (1))
  • 초보를 위한 포토샵 강좌 59. (레이어의 모든 것에 대해 알아보자 (2))
  • 초보를 위한 포토샵 강좌 60. (레이어의 모든 것에 대해 알아보자 (3))
  • 초보를 위한 포토샵 강좌 61. (레이어의 모든 것에 대해 알아보자 (4))
  • 초보를 위한 포토샵 강좌 62. (상태 표시줄(Status Bar) 유용한 정보가 가득~~)


  • Lua script

     Lua는 포르투칼어로 '달'이란 뜻이고, 

     브라질에서 만들어진 스크립트언어이다.

     게다가 오픈소스 !


     WoW 에서 UI 부분 등에서 Lua 를 사용하여 개발된 이후

     많은 사람들에게 알려지고 관심을 받게 되었다.


     C랑 호환이 좋다고 하는데 왜 내 머리에서는 호환이 안되는지 모르겠다

     (그래봤자 아주 기초지만)

     문장 끝에 ; 를 안붙여도 된다... 만세

     난 프로그래머가 아니기 때문에 뭐 자세한 것은 모른다 -_-;

     python 보다 빠르다던데 python 을 써본건 군입대 전

     irc bot SugarCube 건드릴때 말곤 쓴적이 없으니...



    [ 웹 사이트 ] Lua.org

    [ 첨부 파일 ] Lua Script 5.1.4 Win32 Binary

    블루스크린 현상은 대략난감 오류메시지중의 하나입니다.
    그에따른 솔루션 또한 매우 다양합니다.
    어떤 이는 메모리나 그래픽 카드를 슬롯에서 빼내어 지우개로 문지른
    다음 재장착하면 해결되었다하고, 또 어떤 이는 드라이버를 재설치하니
    해결되었다하고 매우 다양합니다.

    블루스크린 오류 목록입니다

    중간 STOP : 0x000000 <<이걸 말하는 겁니다

    만약 블루스크린 오류가 STOP : 0x000CB8 이라고 가정할때
    계산기 > 보기 > 공학용 > Hex > CB8 > Dec > 3256
    해당숫자인 [3256 - 서비스의 동적 연결 라이브러리에 복구할 수 없는 오류가 있습니다.]
    이런 오류라는걸 알 수 있습니다.

    MS Windows Error Messages
    Code Error Message

    0 작업을 완료했습니다.
    1 잘못된 기능입니다.
    2 지정된 파일을 찾을 수 없습니다.
    3 지정된 경로를 찾을 수 없습니다.
    4 시스템이 파일을 열 수 없습니다.
    5 액세스가 거부되었습니다.
    6 핸들이 잘못되었습니다.
    7 저장소 제어 블록이 파괴되었습니다.
    8 사용 가능한 저장소가 부족하여 이 명령을 처리할 수 없습니다.
    9 저장소 제어 블록 주소가 잘못되었습니다.
    10 환경이 틀립니다.
    11 프로그램을 잘못된 형식으로 로드하려고 했습니다.
    12 액세스 코드가 잘못되었습니다.
    13 데이터가 잘못 되었습니다.
    14 사용 가능한 저장소가 부족하여 이 작업을 마칠 수 없습니다.
    15 시스템이 지정된 드라이브를 찾을 수 없습니다.
    16 디렉터리를 지울 수 없습니다.
    17 시스템은 파일을 다른 디스크 드라이브로 옮길 수 없습니다.
    18 더 이상 파일이 없습니다.
    19 쓰기 방지된 미디어입니다.
    20 시스템이 지정된 장치를 찾을 수 없습니다.
    21 장치가 준비되지 않았습니다.
    22 장치가 명령을 인식하지 않습니다.
    23 데이터 오류(CRC)입니다.
    24 프로그램이 명령을 내렸으나 명령 길이가 틀립니다.
    25 드라이브가 디스크에서 특정 영역이나 트랙을 찾을 수 없습니다.
    26 지정된 디스크나 디스켓을 액세스할 수 없습니다.
    27 드라이브가 요청된 섹터를 찾을 수 없습니다.
    28 프린터에 용지가 없습니다.
    29 시스템에서 지정된 장치로 데이터를 기록할 수 없습니다.
    30 시스템에서 지정된 장치로부터 데이터를 읽을 수 없습니다.
    31 시스템에 부착된 장치가 작동하지 않습니다.
    32 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다.
    33 다른 프로세스가 파일의 한 부분을 잠갔으므로, 프로세스가 해당 파일을 액세스할 수 없습니다.
    36 공유하는 파일이 너무 많이 열렸습니다.
    38 파일의 끝입니다.
    39 디스크가 꽉 찼습니다.
    50 지원되지 않는 요청입니다.
    51 Windows에서 네트워크 경로를 찾을 수 없습니다. 네트워크 경로가 올바른지, 대상 컴퓨터가 사용 중이거나 꺼져 있지 않은지 확인하십시오. 네트워크 경로를 계속 찾을 수 없으면 네트워크 관리자에게 문의하십시오.
    52 네트워크에 중복된 이름이 있기 때문에 연결되지 않았습니다. [제어판]의 [시스템]에서 컴퓨터 이름을 바꾸고 다시 시도하십시오.
    53 네트워크 경로를 찾지 못했습니다.
    54 네트워크를 사용 중입니다.
    55 지정된 네트워크 리소스나 장치를 더 이상 사용할 수 없습니다.
    56 네트워크 BIOS 명령 한계에 도달했습니다.
    57 네트워크 어댑터 하드웨어 오류가 발생했습니다.
    58 지정된 서버가 요청된 작업을 수행할 수 없습니다.
    59 예기치 않은 네트워크 오류가 발생했습니다.
    60 원격 어댑터가 호환되지 않습니다.
    61 프린터 대기열이 꽉 찼습니다.
    62 인쇄 대기 중인 파일을 저장하기 위한 공간이 서버에서 사용될 수 없습니다.
    63 인쇄 대기 중인 파일이 지워졌습니다.
    64 지정된 네트워크 이름을 더 이상 사용할 수 없습니다.
    65 네트워크 액세스가 거부되었습니다.
    66 네트워크 리소스 유형이 맞지 않습니다.
    67 네트워크 이름을 찾을 수 없습니다.
    68 로컬 컴퓨터 네트워크 어댑터 카드의 이름 제한을 초과했습니다.
    69 네트워크 BIOS 세션 한계를 초과했습니다.
    70 원격 서버가 잠깐 멈췄거나 시작하는 과정에 있습니다.
    71 수용할 수 있는 최대 개수의 연결이 이미 있으므로 지금 이 원격 컴퓨터에 더 이상 연결을 작성할 수 없습니다.
    72 지정된 프린터 또는 디스크 장치가 잠깐 멈췄습니다.
    80 파일이 있습니다.
    82 디렉터리나 파일을 만들 수 없습니다.
    83 INT 24 오류입니다.
    84 이 요청을 처리하기 위한 저장소가 사용될 수 없습니다.
    85 로컬 장치 이름이 이미 사용 중입니다.
    86 지정된 네트워크 암호가 맞지 않습니다.
    87 매개 변수가 틀립니다.
    88 네트워크에서 쓰기 오류가 발생했습니다.
    89 현재로서는 시스템이 다른 프로세스를 시작할 수 없습니다.
    100 다른 시스템 세마포를 만들 수 없습니다.
    101 독점 세마포는 다른 프로세스가 소유하고 있습니다.
    102 세마포가 설정되었으며 닫을 수 없습니다.
    103 세마포를 다시 설정할 수 없습니다.
    104 인터럽트 시간에 독점 세마포를 요청할 수 없습니다.
    105 세마포의 이전 소유권이 종료되었습니다.
    107 다른 디스켓을 넣지 않았으므로 프로그램이 멈추었습니다.
    108 디스크가 사용 중이거나 다른 프로세스에 의해 잠겼습니다.
    109 파이프가 끝났습니다.
    110 시스템이 지정된 장치나 파일을 열 수 없습니다.
    111 파일 이름이 너무 깁니다.
    112 디스크 공간이 부족합니다.
    113 사용할 수 있는 내부 파일 식별자가 더 이상 없습니다.
    114 대상 내부 파일 식별자가 잘못되었습니다.
    117 응용 프로그램에 의해 이루어진 IOCTL 호출이 맞지 않습니다.
    118 verify-on-write 스위치 매개 변수가 맞지 않습니다.
    119 시스템이 요청된 명령을 지원하지 않습니다.
    120 해당 내용은 이 시스템에서 지원되지 않습니다.
    121 세마포 제한 시간이 만료되었습니다.
    122 시스템 호출에 전달된 데이터 영역이 너무 작습니다.
    123 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 틀립니다.
    124 시스템 호출 수준이 맞지 않습니다.
    125 디스크에 볼륨 레이블이 없습니다.
    126 지정된 모듈을 찾을 수 없습니다.
    127 지정된 프로시저를 찾을 수 없습니다.
    128 대기할 하위 프로세스가 없습니다.
    130 열려 있는 디스크 파티션의 파일 핸들을 디스크 I/O가 아닌 다른 작업을 위해 사용하려고 했습니다.
    131 파일 시작 앞으로 파일 포인터를 이동하려고 했습니다.
    132 파일 포인터가 지정된 장치나 파일에서 설정될 수 없습니다.
    133 JOIN 또는 SUBST 명령이 이전에 결합된 드라이브가 들어 있는 드라이브에는 사용될 수없습니다.
    134 이미 결합된 드라이브에서 JOIN 또는 SUBST 명령을 사용하려고 했습니다.
    135 이미 대체된 드라이브에서 JOIN 또는 SUBST 명령을 사용하려고 했습니다.
    136 시스템이 결합되지 않은 드라이브의 JOIN을 지우려고 했습니다.
    137 시스템이 대체되지 않은 드라이브의 대체를 지우려고 했습니다.
    138 시스템이 결합된 드라이브에 있는 디렉터리에 드라이브를 결합하려고 했습니다.
    139 시스템이 대체된 드라이브에 있는 디렉터리로 드라이브를 대체하려고 했습니다.
    140 시스템이 대체된 드라이브에 있는 디렉터리에 드라이브를 결합하려고 했습니다.
    141 시스템이 결합된 드라이브에 있는 디렉터리로 드라이브를 SUBST하려고 했습니다.
    142 시스템이 현재로서는 JOIN 또는 SUBST를 수행할 수 없습니다.
    143 시스템이 같은 드라이브에 있는 디렉터리에 대해 드라이브를 결합하거나 대체할 수 없습니다.
    144 디렉터리가 루트 디렉터리의 하위 디렉터리가 아닙니다.
    145 디렉터리가 비어 있지 않습니다.
    146 지정한 경로가 대체되어 사용하고 있습니다.
    147 사용 가능한 리소스가 부족하여 이 명령을 처리할 수 없습니다.
    148 지정한 경로를 현재 사용할 수 없습니다.
    149 드라이브의 디렉터리가 이전에 대체 대상이었던 드라이브를 결합하거나 대체하려고 했습니다.
    150 시스템 추적 정보가 CONFIG.SYS 파일에서 지정되지 않았거나 추적이 허용되지 않습니다.
    151 DosMuxSemWait에 대한 지정된 세마포 이벤트의 수가 맞지 않습니다.
    152 DosMuxSemWait가 실행되지 않았습니다. 설정되어 있는 세마포가 너무 많습니다.
    153 DosMuxSemWait 목록이 맞지 않습니다.
    154 입력한 볼륨 레이블이 대상 파일 시스템의 문자 제한을 초과했습니다.
    155 다른 스레드를 만들 수 없습니다.
    156 수신인 프로세스가 신호를 거부했습니다.
    157 세그먼트가 이미 취소되어 잠길 수 없습니다.
    158 세그먼트의 잠금이 이미 풀렸습니다.
    159 스레드 ID의 주소가 맞지 않습니다.
    160 하나 이상의 인수가 올바르지 않습니다.
    161 지정된 경로가 잘못되었습니다.
    162 신호가 이미 보류 중입니다.
    164 시스템에서 더 이상 스레드를 만들 수 없습니다.
    167 파일의 영역을 잠글 수 없습니다.
    170 요청한 리소스가 사용 중입니다.
    173 제공된 취소 영역에는 해결되지 않은 잠금 요청이 없습니다.
    174 파일 시스템이 잠금 유형에 대한 자동 변경을 지원하지 않습니다.
    180 시스템이 맞지 않는 세그먼트 번호를 찾았습니다.
    183 파일이 이미 있으므로 만들 수 없습니다.
    186 전달된 플래그가 맞지 않습니다.
    187 지정된 시스템 세마포 이름을 찾을 수 없습니다.
    196 운영 체제가 이 응용 프로그램을 실행할 수 없습니다.
    197 운영 체제가 현재 이 응용 프로그램을 실행하도록 구성되지 않았습니다.
    199 운영 체제가 이 응용 프로그램을 실행할 수 없습니다.
    200 코드 세그먼트는 64K보다 크거나 같을 수 없습니다.
    203 시스템이 입력된 환경 옵션을 찾을 수 없습니다.
    205 명령 하위 트리에는 신호 처리기를 가진 프로세스가 없습니다.
    206 파일 이름이나 확장명이 너무 깁니다.
    207 링 2 스택이 사용 중입니다.
    208 글로벌 파일 이름 문자인 * 또는 ?가 틀리게 입력되었거나 너무 많은 글로벌 파일 이름 문자가 지정되었습니다.
    209 보내지고 있는 신호가 정확하지 않습니다.
    210 신호 처리기가 설정할 수 없습니다.
    212 세그먼트가 잠겨서 다시 할당될 수 없습니다.
    214 너무 많은 동적 연결 모듈이 이 프로그램이나 동적 연결 모듈에 접속되었습니다.
    215 LoadModule을 중첩 호출할 수 없습니다.
    230 파이프 상태가 올바르지 않습니다.
    231 모든 파이프 인스턴스가 사용 중입니다.
    232 파이프가 닫히는 중입니다.
    233 파이프의 다른 끝에 프로세스가 없습니다.
    234 더 많은 데이터가 있습니다.
    240 세션이 취소되었습니다.
    254 지정된 확장 특성 이름이 올바르지 않습니다.
    255 확장 특성이 일치하지 않습니다.
    258 대기 작동이 시간 초과되었습니다.
    259 사용 가능한 데이터가 없습니다.
    266 복사 기능을 사용할 수 없습니다.
    267 디렉터리 이름이 올바르지 않습니다.
    275 확장 특성이 버퍼에 들어가지 않습니다.
    276 연결된 파일 시스템에 있는 확장 특성 파일이 손상되었습니다.
    277 확장 특성 테이블 파일이 꽉 찼습니다.
    278 지정된 확장 특성 핸들이 올바르지 않습니다.
    282 연결된 파일 시스템이 확장 특성을 지원하지 않습니다.
    288 호출자가 가지고 있지 않은 뮤텍스를 해제하려고 했습니다.
    298 세마포에 너무 많은 내용이 있습니다.
    299 ReadProcessMemoty 또는 WriteProcessMemory의 일부 작업만을 마쳤습니다.
    300 Oplock 요청이 거부되었습니다.
    301 시스템이 잘못된 oplock 응답을 받았습니다.
    302 볼륨이 너무 많이 조각이 나있으므로 이 작업을 완료할 수 없습니다.
    303 파일을 삭제 중이기 때문에 열 수 없습니다.
    487 잘못된 주소를 액세스하려고 했습니다.
    534 산술 연산 결과가 32비트를 초과했습니다.
    535 파이프의 다른 쪽 끝에 프로세스가 있습니다.
    536 프로세스가 파이프의 다른 쪽 끝에서 열리기를 기다리고 있습니다.
    994 확장 특성 액세스가 거부되었습니다.
    995 스레드 종료 또는 응용 프로그램 요청 때문에 I/O 작업이 취소되었습니다.
    996 겹친 I/O 이벤트들이 신호된 상태에 있지 않습니다.
    997 겹친 I/O 작업이 진행 중입니다.
    998 잘못된 메모리 위치를 액세스하려고 했습니다.
    999 inpage 작업 수행 오류입니다.
    1001 재귀 오류로 인해 스택 오버플로가 생겼습니다.
    1002 보내진 메시지에서 창이 작동할 수 없습니다.
    1003 이 기능을 마칠 수 없습니다.
    1004 잘못된 플래그입니다.
    1005 볼륨에 인식된 파일 시스템이 없습니다. 모든 필요한 파일 시스템 드라이브를 로드했고 볼륨이 손상되지 않았는지 확인하십시오.
    1006 파일의 볼륨이 실제로 바뀌었으므로 열린 파일이 이제 유효하지 않습니다.
    1007 요청된 작업은 전체 화면 모드에서 수행될 수 없습니다.
    1008 없는 토큰을 참조하려고 했습니다.
    1009 구성 레지스트리 데이터베이스가 손상되었습니다.
    1010 구성 레지스트리 키가 올바르지 않습니다.
    1011 구성 레지스트리 키가 열릴 수 없습니다.
    1012 구성 레지스트리 키를 읽을 수 없습니다.
    1013 구성 레지스트리 키가 쓰여질 수 없습니다.
    1014 레지스트리 데이터베이스에 있는 파일 중 하나가 로그나 다른 복사본을 사용하여 복구되어야 합니다. 복구가 잘 수행되었습니다.
    1015 레지스트리가 손상되었습니다. 레지스트리 데이터가 들어 있는 파일 중 하나의 구조가 손상되었거나, 시스템의 메모리에 있는 파일의 이미지가 손상되었거나, 다른 사본이나 로그가 없거나 손상되었으므로 파일이 복구될 수 없습니다.
    1016 레지스트리에서 초기화된 I/O 작업에 복구할 수 없는 오류가 발생했습니다. 레지스트리의 시스템 이미지를 포함하는 파일 중의 하나를 읽거나 쓰거나 내용을 지울 수 없습니다.
    1017 시스템이 파일을 레지스트리로 로드하거나 복원하려고 했으나 지정된 파일이 레지스트리 파일 포맷이 아닙니다.
    1018 삭제 표시가 된 레지스트리 키에서 잘못된 연산을 하려고 했습니다.
    1019 시스템이 필요한 공간을 레지스트리 로그에 할당할 수 없습니다.
    1020 이미 하위 키나 값을 가지고 있는 레지스트리 키에서 기호 연결을 만들 수 없습니다.
    1021 불안정한 상위 키 아래에 안정된 하위 키를 만들 수 없습니다.
    1022 변경 알림 요청을 마치고 있으나, 정보가 호출자의 버퍼에 없습니다. 이제 호출자가 변경 사항을 찾기 위해 파일을 열거해야 합니다.
    1051 실행 중인 다른 서비스가 종속되어 있는 서비스에 대해 정지 제어가 보내졌습니다.
    1052 요청한 제어가 이 서비스에는 올바르지 않습니다.
    1053 서비스가 시작이나 제어 요청에 시기 적절하게 응답하지 않았습니다.
    1054 서비스에 대한 스레드를 만들지 못했습니다.
    1055 서비스 데이터베이스가 잠겨졌습니다.
    1056 서비스의 인스턴스가 이미 실행 중입니다.
    1057 계정 이름이 잘못되었거나 존재하지 않습니다. 또는 암호가 잘못되었습니다.
    1058 서비스를 사용할 수 없거나 서비스와 연관되어 사용 가능한 장치가 없기 때문에 서비스를 시작할 수 없습니다.
    1059 순환되는 서비스 종속이 지정되었습니다.
    1060 지정된 서비스가 설치된 서비스로는 없습니다.
    1061 서비스가 현재로서는 제어 메시지를 받아들일 수 없습니다.
    1062 서비스가 시작되지 않았습니다.
    1063 서비스 프로세스가 서비스 컨트롤러에 연결되지 못했습니다.
    1064 제어 요청을 처리할 때 서비스에서 예외 오류가 발생했습니다.
    1065 지정된 데이터베이스가 없습니다.
    1066 서비스가 서비스에 대한 오류 코드를 반환했습니다.
    1067 프로세스가 예기치 않게 종료되었습니다.
    1068 종속 서비스나 그룹이 시작될 수 없습니다.
    1069 서비스가 로그온 실패로 인해 시작되지 않았습니다.
    1070 서비스가 시작된 후 시작 보류 상태로 정지되어 있습니다.
    1071 지정된 서비스 데이터베이스 잠금이 올바르지 않습니다.
    1072 지정된 서비스가 지워진 것으로 표시되었습니다.
    1073 지정된 서비스가 이미 있습니다.
    1074 시스템이 마지막으로 성공한 구성을 사용하여 현재 실행 중입니다.
    1075 종속성 서비스가 없거나 지워진 것으로 표시되었습니다.
    1076 현재 부팅은 이미 last-known-good 컨트롤 세트로 사용되도록 허가되었습니다.
    1077 마지막 부팅 이후에 서비스를 시작하려고 하지 않았습니다.
    1078 그 이름은 이미 서비스 이름이나 서비스 표시 이름으로서 사용되고 있습니다.
    1079 이 서비스에 대해 지정된 계정이 같은 프로세스에서 실행되고 있는 다른 서비스에 대해 지정된 계정과 다릅니다.
    1080 오류 조치는 Win32 서비스에 대해서만 설정할 수 있지만, 드라이버에 대해서는 설정할 수 없습니다.
    1081 이 서비스는 서비스 제어 관리자와 같은 프로세스 내에서 실행됩니다. 따라서 이 서비스 프로세스가 갑자기 종료되면 서비스 제어 관리자가 조치를 취할 수 없습니다.
    1082 이 서비스에 대해 설정된 복구 프로그램이 없습니다.
    1083 이 서비스가 실행되도록 설정된 실행 프로그램에서 해당 서비스를 지원하지 않습니다.
    1084 이 서비스는 안전 모드에서 시작할 수 없습니다.
    1100 테이프의 실제 끝입니다.
    1101 테이프를 액세스하는 동안 파일 표시에 도달했습니다.
    1102 테이프 또는 파티션의 시작 위치입니다.
    1103 테이프를 액세스하는 동안 파일 집합 끝에 도달했습니다.
    1104 테이프에 더 이상 데이터가 없습니다.
    1105 테이프를 분할할 수 없습니다.
    1106 다중 볼륨 파티션을 가진 새 테이프를 액세스할 때 현재 블록 크기가 올바르지 않습니다.
    1107 테이프를 로드하는 동안 테이프 파티션 정보를 찾지 못했습니다.
    1108 미디어 꺼내기 메카니즘을 잠글 수 없습니다.
    1109 미디어를 언로드할 수 없습니다.
    1110 드라이브에 있는 미디어가 바뀌었을 수도 있습니다.
    1111 I/O 버스가 재설정되었습니다.
    1112 드라이브에 미디어가 없습니다.
    1113 대상 멀티바이트 코드페이지에 유니코드 문자의 매핑이 없습니다.
    1114 DLL 초기화 루틴을 실행할 수 없습니다.
    1115 시스템을 종료하고 있습니다.
    1116 진행 중인 시스템 종료가 없으므로 시스템 종료를 취소할 수 없습니다.
    1117 I/O 장치 오류로 인해 요청이 수행될 수 없습니다.
    1118 올바로 초기화된 직렬 장치가 없습니다. 직렬 드라이버를 제거합니다.
    1119 다른 장치와 IRQ를 공유하는 장치를 열 수 없습니다. IRQ를 공유하는 다른 장치가 적어도 하나는 열렸습니다.
    1120 직렬 포트에 다른 쓰기 작업을 하여 직렬 I/O가 완료되었습니다. (IOCTL_SERIAL_XOFF_COUNTER 값이 0에 도달했습니다.)
    1121 시간 초과 기간이 만료되었기 때문에 직렬 I/O 작업이 완료되었습니다. (IOCTL_SERIAL_XOFF_COUNTER가 0에 도달하지 않았습니다.)
    1122 플로피 디스크에서 ID 주소 표시를 찾을 수 없습니다.
    1123 플로피 디스크 섹터 ID 필드와 플로피 디스크 컨트롤러 트랙 주소가 일치하지 않습니다.
    1124 플로피 디스크 컨트롤러가 플로피 디스크 드라이버에 의해 인식되지 않는 오류를 보고했습니다.
    1125 플로피 디스크 컨트롤러가 레지스터에 일관성이 없는 결과값을 반환했습니다.
    1126 하드 디스크에 액세스하는 동안 재보정 작업을 여러 번 시도했음에도 불구하고 실패했습니다.
    1127 하드 디스크를 액세스하는 동안, 디스크 작업을 하지 못했는데, 다시 시도한 후에도 실패했습니다.
    1128 하드 디스크를 액세스하는 동안, 디스크 컨트롤러 재설정이 필요했는데, 그렇게 했는데도 실패했습니다.
    1129 테이프의 실제 끝에 도달했습니다.
    1130 명령 처리에 사용할 서버 저장 공간이 부족합니다.
    1131 잠재적 교착 상태 조건이 검색되었습니다.
    1132 지정된 기본 주소나 파일 오프셋이 적절하게 결합되어 있지 않습니다.
    1140 시스템 전원 상태를 바꾸려는 동안, 다른 응용 프로그램 또는 드라이버가 거부했습니다.
    1141 시스템 BIOS에서 시스템 전원 상태를 바꾸지 못했습니다.
    1142 파일 시스템이 지원하는 링크보다 더 많은 링크를 만들려고 했습니다.
    1150 지정한 프로그램에는 Windows의 새 버전이 필요합니다.
    1151 지정한 프로그램은 Windows 또는 MS-DOS 프로그램이 아닙니다.
    1152 지정한 프로그램을 하나 이상 시작할 수 없습니다.
    1153 지정한 프로그램은 이전 버전의 Windows용입니다.
    1154 이 응용 프로그램을 실행하는데 필요한 라이브러리 파일 중 하나가 손상되었습니다.
    1155 이 작업을 하기 위해 지정된 파일로 아무 응용 프로그램도 연결되어 있지 않습니다.
    1156 응용 프로그램에 명령을 보내는 동안 오류가 발생했습니다.
    1157 이 응용 프로그램을 실행하는데 필요한 라이브러리 파일 중 하나를 찾을 수 없습니다.
    1158 현재 프로세스가 Window Manager 개체에 대한 핸들의 모든 시스템 허용을 사용했습니다.
    1159 메시지는 동기화 작업에만 사용할 수 있습니다.
    1160 표시한 원본 요소에 미디어가 없습니다.
    1161 표시한 대상 요소에 미디어가 이미 있습니다.
    1162 표시한 요소가 없습니다.
    1163 잡지의 일부인 표시한 요소가 나타나지 않습니다.
    1164 하드웨어 오류 때문에 표시한 장치를 다시 초기화해야 합니다.
    1165 더 작업을 하기 전에 청소를 해야 한다고 나타냅니다.
    1166 장치의 문이 열려 있다는 것을 나타냈습니다.
    1167 장치가 연결되지 않았습니다.
    1168 요소가 없습니다.
    1169 색인에 지정된 키와 일치하는 것이 없습니다.
    1170 지정된 속성 세트가 개체에 없습니다.
    1171 GetMouseMovePoints에 전달된 포인트가 버퍼에 없습니다.
    1172 추적(워크스테이션) 서비스가 실행하고 있지 않습니다.
    1173 볼륨 ID를 찾을 수 없습니다.
    1175 바꿀 파일을 제거할 수 없습니다.
    1176 대체 파일을 바꾸려는 파일로 이동할 수 없습니다. 바꾸려는 파일이 원래 이름을 가지고 있습니다.
    1177 대체 파일을 바꾸려는 파일로 이동시킬 수 없습니다. 바꾸려는 파일은 백업 파일의 이름으로 변경되었습니다.
    1178 볼륨 변경 저널을 삭제 중입니다.
    1179 볼륨 변경 저널이 활성화되지 않았습니다.
    1180 파일이 있지만 올바른 파일이 아닐 수 있습니다.
    1181 업무 일지에서 업무 일지 항목이 삭제되었습니다.
    1200 지정된 장치 이름이 올바르지 않습니다.
    1201 장치가 현재 연결되어 있지 않으나 기억된 연결입니다.
    1202 로컬 장치 이름에 저장된 다른 네트워크 리소스에 대한 연결이 있습니다.
    1203 주어진 네트워크 경로에 사용 가능한 네트워크 공급자가 없습니다.
    1204 지정된 네트워크 공급자 이름이 올바르지 않습니다.
    1205 네트워크 연결 프로필을 열 수 없습니다.
    1206 네트워크 연결 프로필이 손상되었습니다.
    1207 비 컨테이너를 열거할 수 없습니다.
    1208 확장 오류가 발생했습니다.
    1209 지정된 그룹 이름의 포맷이 틀립니다.
    1210 지정된 컴퓨터 이름의 포맷이 틀립니다.
    1211 지정된 이벤트 이름의 포맷이 틀립니다.
    1212 지정된 도메인 이름의 포맷이 틀립니다.
    1213 지정된 서비스 이름의 포맷이 틀립니다.
    1214 지정된 네트워크 이름의 포맷이 틀립니다.
    1215 지정된 공유 이름의 포맷이 틀립니다.
    1216 지정된 암호의 포맷이 틀립니다.
    1217 지정된 메시지 이름의 포맷이 틀립니다.
    1218 지정된 메시지 대상의 포맷이 틀립니다.
    1219 동일한 사용자가 둘 이상의 사용자 이름으로 서버 또는 공유 리소스에 다중 연결할 수 없습니다. 서버 나 공유 리소스에 대한 이전 연결을 모두 끊고 다시 시도하십시오.
    1220 네트워크 서버에 세션을 설정하려고 했으나 이미 그 서버에 너무 많은 세션이 설정되어 있습니다.
    1221 작업 그룹 또는 도메인 이름이 이미 네트워크상의 다른 컴퓨터에 의해 사용되고 있습니다.
    1222 네트워크가 없거나 시작되지 않았습니다.
    1223 사용자가 작업을 취소했습니다.
    1224 요청한 작업은, 사용자가 매핑한 구역이 열려 있는 상태인 파일에서 수행할 수 없습니다.
    1225 원격 시스템이 네트워크 연결을 거부했습니다.
    1226 네트워크 연결이 깔끔하게 닫혔습니다.
    1227 네트워크 전송 종점에서 이미 관련된 주소를 가지고 있습니다.
    1228 주소가 네트워크 종점과 아직 연결되지 않았습니다.
    1229 없는 네트워크 연결에서 작업하려고 했습니다.
    1230 사용 중인 네트워크 연결에서 잘못된 작업을 하려고 했습니다.
    1231 네트워크 위치를 찾을 수 없습니다. 네트워크 문제 해결에 대한 내용은 Windows 도움말을 참고하십시오.
    1232 네트워크 위치를 찾을 수 없습니다. 네트워크 문제 해결에 대한 내용은 Windows 도움말을 참고하십시오.
    1233 네트워크 위치를 찾을 수 없습니다. 네트워크 문제 해결에 대한 내용은 Windows 도움말을 참고하십시오.
    1234 원격 시스템에 있는 대상 네트워크 종점에서 작동되는 서비스가 없습니다.
    1235 요청을 취소했습니다.
    1236 네트워크 연결이 로컬 시스템에 의해 취소되었습니다.
    1237 작업을 마치지 못했습니다. 다시 시도하십시오
    1238 이 계정에서 서버로 동시에 연결할 수 있는 한계를 초과했으므로 서버에 연결하지 못했습니다.
    1239 허용되지 않는 시간에 이 계정에 로그인하려고 했습니다.
    1240 계정이 이 스테이션에서 로그인할 수 있도록 허가되어 있지 않습니다.
    1241 네트워크 주소가 요청된 작업에는 사용될 수 없습니다.
    1242 서비스가 이미 등록되었습니다.
    1243 지정된 서비스가 없습니다.
    1244 사용자가 인증되지 않아 요청한 작업을 실행하지 못했습니다.
    1245 사용자가 네트워크로 로그인되지 않아 요청한 작업을 실행하지 못했습니다. 지정한 서비스가 없습니다.
    1246 진행 중인 일을 계속합니다.
    1247 초기화 작업이 이미 끝났을 때 초기화 작업을 실행하려고 했습니다.
    1248 로컬 장치가 더 이상 없습니다.
    1249 지정한 사이트가 없습니다.
    1250 지정한 이름을 가진 도메인 컨트롤러가 이미 있습니다.
    1251 이 작동은 사용자가 서버에 연결되어 있는 경우에만 지원됩니다.
    1252 변경 사항이 없는 경우에도 그룹 정책 프레임워크에서는 확장명을 불러야 합니다.
    1253 지정된 사용자는 올바른 프로필을 가지고 있지 않습니다.
    1254 이 작업은 Microsoft Small Business Server에서 지원되지 않습니다.
    1255 서버 컴퓨터를 종료하고 있습니다.
    1256 원격 시스템을 사용할 수 없습니다. 네트워크 문제 해결에 대한 자세한 내용은 Windows 도움말을 참조하십시오.
    1257 제공된 보안 식별자는 계정 도메인에서 제공한 것이 아닙니다.
    1258 제공된 보안 식별자에 도메인 구성 요소가 없습니다.
    1259 AppHelp 대화 상자가 취소되어 응용 프로그램을 시작하지 못했습니다.
    1260 소프트웨어 제한 정책에 따라 제한되었기 때문에 Windows에서 이 프로그램을 열 수 없습니다. 자세한 내용은 이벤트 뷰어를 열어보거나 시스템 관리자에게 문의하십시오.
    1261 프로그램에서 올바르지 않은 레지스터 값을 사용하려고 했습니다. 일반적으로 초기화되지 않은 레지스터 때문에 이 문제가 발생합니다. 이 오류는 Itanium에서만 발생합니다.
    1262 공유가 현재 오프라인이거나 없습니다.
    1263 스마트 카드 로그온 중에 KDC 인증서를 확인하다가 kerberos 프로토콜에서 오류가 발생했습니다.
    1264 스마트 카드 하위 시스템을 활용하려다가 kerberos 프로토콜에서 오류가 발생했습니다.
    1265 시스템에서 보안이 위태로울 수 있는 가능성을 발견했습니다. 사용자를 인증한 서버에 연결할 수 있는지 확인하십시오.
    1266 인증에 사용된 스마트 카드 인증서가 해지되었습니다. 시스템 관리자에게 문의하십시오. 이벤트 로그에서 자세한 정보를 확인할 수 있습니다.
    1267 인증에 사용된 스마트 카드 인증서를 처리하는 중에 신뢰할 수 없는 인증 기관이 발견되었습니다. 시스템 관리자에게 문의하십시오.
    1268 인증에 사용된 스마트 카드 인증서의 해지 상태를 확인할 수 없습니다. 시스템 관리자에게 문의하십시오.
    1269 인증에 사용된 스마트 카드 인증서를 신뢰할 수 없습니다. 시스템 관리자에게 문의하십시오.
    1270 인증에 사용된 스마트 카드 인증서가 만료되었습니다. 시스템 관리자에게 문의하십시오.
    1271 컴퓨터가 잠겨 있기 때문에 강제 옵션을 사용하지 않으면 종료할 수 없습니다.
    1273 응용 프로그램 정의 콜백을 호출했을 때 올바르지 않은 데이터가 반환되었습니다.
    1274 그룹 정책 프레임워크는 동기식 포그라운드 정책 새로 고침에서 확장을 호출해야 합니다.
    1275 이 드라이버가 차단되었기 때문에 로드할 수 없습니다.
    1276 DLL에서 DLL이 아니거나 프로세스의 실행 가능한 이미지가 아닌 모듈을 참조했습니다.
    1300 참조된 모든 권한이 호출자에게 할당되지는 않았습니다.
    1301 계정 이름과 보안 ID 사이의 일부 매핑이 수행되지 않았습니다.
    1302 이 계정에 대해 시스템 할당량 임계값이 특별히 설정되지 않았습니다.
    1303 사용 가능한 암호화 키가 없습니다. 잘 알려진 암호화 키가 반환되었습니다.
    1304 암호가 너무 복잡해서 LAN Manager 암호로 변환할 수 없습니다. 반환된 LAN Manager 암호는 NULL 문자열입니다.
    1305 알 수 없는 개정 수준입니다.
    1306 두 수정 수준이 호환되지 않습니다.
    1307 이 보안 ID는 이 개체의 소유자로서 지정될 수 없습니다.
    1308 이 보안 ID는 개체의 주 그룹으로서 지정되지 않을 수도 있습니다.
    1309 현재 클라이언트를 가장하고 있지 않은 스레드를 이용하여 가장 토큰 방식으로 작업하려고 했습니다.
    1310 해당 그룹을 사용해야 합니다.
    1311 지금은 로그온 요청에 서비스할 수 있는 로그온 서버가 없습니다.
    1312 지정한 로그온 세션이 없습니다. 이미 종료되었을 수도 있습니다.
    1313 지정한 사용 권한이 없습니다.
    1314 클라이언트가 필요한 권한을 가지고 있지 않습니다.
    1315 입력한 이름은 제대로 구성된 계정 이름이 아닙니다.
    1316 지정한 사용자가 이미 있습니다.
    1317 지정한 사용자가 없습니다.
    1318 지정한 그룹이 이미 있습니다.
    1319 지정한 그룹이 없습니다.
    1320 지정한 사용자 계정이 이미 지정한 그룹의 구성원이거나 그룹 안에 구성원이 있으므로 그룹을 삭제할 수 없습니다.
    1321 지정한 사용자 계정이 지정한 그룹 계정의 구성원이 아닙니다.
    1322 남아 있는 최종 관리 계정을 사용 안 함으로 지정할 수도, 지울 수도 없습니다.
    1323 암호를 업데이트할 수 없습니다. 현재 암호로 제공된 값이 올바르지 않습니다.
    1324 암호를 업데이트할 수 없습니다. 새 암호로 제공된 값에는 암호로 사용할 수 없는 값이 있습니다.
    1325 암호를 업데이트할 수 없습니다. 새로운 암호로 제공된 값이 길이, 복잡도나 이전 기록과 같은 도메인이 요구하는 조건에 맞지 않습니다.
    1326 로그온 실패: 알 수 없는 사용자 이름이거나 암호가 틀립니다.
    1327 로그온 실패: 사용자 계정 제한입니다. 빈 암호 사용, 로그온 시간 제한, 정책 제한 등의 이유 때문입니다.
    1328 로그온 실패: 계정 로그온 제한 시간을 위반했습니다.
    1329 로그온 실패: 이 컴퓨터에 로그온할 수 없는 사용자입니다.
    1330 로그온 실패: 지정한 계정 암호가 만료되었습니다.
    1331 로그온 실패: 현재 사용할 수 없는 계정입니다.
    1332 계정 이름과 보안 ID 사이에 매핑이 이루어지지 않았습니다.
    1333 한 번에 너무 많은 LUID(local user identifier)가 요청되었습니다.
    1334 사용 가능한 LUID(local user identifier)가 더 이상 없습니다.
    1335 보안 ID의 하위 권한 부분이 이 특정 목적에는 적합하지 않습니다.
    1336 ACL(access control list) 구조가 올바르지 않습니다.
    1337 보안 ID 구조가 올바르지 않습니다.
    1338 보안 설명자 구조가 올바르지 않습니다.
    1340 상속한 ACL(access control list) 또는 ACE(access control entry)를 만들 수 없습니다.
    1341 서버가 현재 사용 안 함으로 지정되었습니다.
    1342 서버가 현재 사용으로 지정되었습니다.
    1343 제공한 값이 식별자 권한 값으로 올바르지 않습니다.
    1344 보안 정보를 업데이트할 때 사용 가능한 메모리가 없습니다.
    1345 지정한 특성이 잘못되었거나, 그룹 특성과 전반적으로 호환되지 않습니다.
    1346 필요한 가장 수준이 제공되지 않았거나, 제공된 가장 수준이 올바르지 않습니다.
    1347 익명 수준 보안 토큰을 열 수 없습니다.
    1348 요청된 확인 정보 클래스가 올바르지 않습니다.
    1349 토큰의 유형이 시도된 사용에 적합하지 않습니다.
    1350 연결된 보안이 없는 개체에서 보안 작업을 수행할 수 없습니다.
    1351 컴퓨터를 사용할 수 없거나 액세스가 거부되었기 때문에 도메인 컨트롤러에서 구성 정보를 읽을 수 없습니다.
    1352 SAM(security account manager) 또는 LSA(local security authority) 서버가 보안 작업을 수행할 수 없는 잘못된 상태에 있습니다.
    1353 도메인이 보안 작업을 수행할 수 없는 잘못된 상태에 있습니다.
    1354 이 작업은 도메인의 주 도메인 컨트롤러에만 허용됩니다.
    1355 지정한 도메인이 없거나 연결할 수 없습니다.
    1356 지정한 도메인이 이미 있습니다.
    1357 서버 당 도메인 수에 대한 제한을 넘으려고 했습니다.
    1358 디스크에서 미디어 실패 또는 데이터 구조 손상이 있어서 요청된 작업을 마칠 수 없습니다.
    1359 내부 오류가 발생했습니다.
    1360 이미 비일반 유형으로 매핑되었어야 하는 액세스 마스크 안에 일반 액세스 유형이 들어 있습니다.
    1361 보안 설명자가 올바른 형식(adsolute 또는 self-relative)이 아닙니다.
    1362 요청한 동작은 로그온 프로세스에만 사용할 수 있도록 제한되어 있습니다. 호출한 프로세스는 로그온 프로세스로 등록되지 않았습니다.
    1363 이미 사용 중인 ID로 새 로그온 세션을 시작할 수 없습니다.
    1364 지정한 인증 패키지를 알 수 없습니다.
    1365 로그온 세션이 요청한 작업과 일치하지 않는 상태에 있습니다.
    1366 로그온 세션 ID가 이미 사용 중입니다.
    1367 로그온 요청에 잘못된 로그온 유형 값이 있습니다.
    1368 해당 파이프로부터 데이터가 읽혀질 때까지는 이름 가진 파이프를 사용하여 가장할 수 없습니다.
    1369 레지스트리 하위 트리의 트랜잭션 상태가 요청된 작업에 맞지 않습니다.
    1370 내부 보안 데이터베이스가 손상되었습니다.
    1371 기본 제공된 계정에서는 이 작업을 수행할 수 없습니다.
    1372 기본 제공된 특수 그룹에서는 이 작업을 수행할 수 없습니다.
    1373 기본 제공된 특수 사용자는 이 작업을 수행할 수 없습니다.
    1374 현재 사용자의 주 그룹이므로 사용자가 해당 그룹에서 제거될 수 없습니다.
    1375 토큰이 이미 주 토큰으로 사용되고 있습니다.
    1376 지정한 로컬 그룹이 없습니다.
    1377 지정한 계정 이름이 로컬 그룹의 구성원이 아닙니다.
    1378 지정한 계정 이름이 이미 로컬 그룹의 구성원입니다.
    1379 지정한 로컬 그룹이 이미 있습니다.
    1380 로그온 실패: 사용자는 이 컴퓨터에서는 요청된 로그온 유형을 허가받지 않았습니다.
    1381 단일 시스템에 저장될 수 있는 최대 암호 수를 초과했습니다.
    1382 암호 길이가 허용된 최대 길이를 초과합니다.
    1383 로컬 보안 권한 데이터베이스에 내부 불일치가 있습니다.
    1384 로그온하려는 동안 사용자의 보안 컨텍스트에 너무 많은 보안 ID가 쌓였습니다.
    1385 로그온 실패: 사용자는 이 컴퓨터에서는 요청된 로그온 유형을 허가받지 않았습니다.
    1386 사용자 암호를 바꾸려면 상호 암호화된 암호가 필요합니다.
    1387 구성원이 없기 때문에 로컬 그룹에 구성원을 추가 또는 삭제하지 못했습니다.
    1388 구성원이 잘못된 계정 형식을 갖고 있으므로 로컬 그룹에 추가할 수 없습니다.
    1389 너무 많은 보안 ID가 지정되었습니다.
    1390 이 사용자 암호를 바꾸려면 상호 암호화된 암호가 필요합니다.
    1391 ACL 안에 상속할 수 있는 구성 요소가 없음을 나타냅니다.
    1392 파일 또는 디렉터리가 손상되었기 때문에 읽을 수 없습니다.
    1393 디스크 구조가 손상되었기 때문에 읽을 수 없습니다.
    1394 지정한 로그온 세션에 대한 사용자 세션 키가 없습니다.
    1395 액세스하고 있는 서비스는 특정 수의 연결에만 사용하도록 라이센스되어 있습니다. 서비스가 받아들이는 최대 수가 이미 연결되어 있으므로, 현재 이 서비스에 더 이상 연결할 수 없습니다.
    1396 로그온 실패: 대상 계정 이름이 틀립니다.
    1397 상호 인증을 실패했습니다. 도메인 컨트롤러에 있는 서버의 암호가 만료되었습니다.
    1398 클라이언트와 서버 사이에 날짜 또는 시간이 일치하지 않습니다.
    1399 이 작업은 현재 도메인에서 수행할 수 없습니다.
    1400 잘못된 창 핸들입니다.
    1401 잘못된 메뉴 핸들입니다.
    1402 잘못된 커서 핸들입니다.
    1403 잘못된 가속기 표 핸들입니다.
    1404 잘못된 후크 핸들입니다.
    1405 복수 창 위치 구조로의 핸들이 잘못되었습니다.
    1406 맨 위 수준의 하위 창을 만들 수 없습니다.
    1407 창 클래스를 찾을 수 없습니다.
    1408 다른 스레드에 속한 잘못된 창입니다.
    1409 바로 가기 키가 이미 등록되었습니다.
    1410 클래스가 이미 있습니다.
    1411 클래스가 없습니다.
    1412 클래스에 아직 열려 있는 창이 있습니다.
    1413 잘못된 색인입니다.
    1414 잘못된 아이콘 핸들입니다.
    1415 개인용 DIALOG 창 단어를 사용 중입니다.
    1416 listbox 식별자를 찾을 수 없습니다.
    1417 와일드카드를 찾을 수 없습니다.
    1418 스레드에 열려 있는 클립보드가 없습니다.
    1419 바로 가기 키가 등록되어 있지 않습니다.
    1420 올바른 대화 창이 아닙니다.
    1421 컨트롤 ID를 찾을 수 없습니다.
    1422 메시지에 편집 컨트롤이 없으므로 콤보 상자에 부적절한 메시지입니다.
    1423 콤보 상자가 아닙니다.
    1424 높이가 256보다 작아야 합니다.
    1425 잘못된 디바이스 컨텍스트(DC) 핸들입니다.
    1426 잘못된 후크 프로시저 유형입니다.
    1427 잘못된 후크 프로시저입니다.
    1428 모듈 핸들 없이 비 로컬 후크를 설정할 수 없습니다.
    1429 이 후크 프로시저는 전역으로만 설정할 수 있습니다.
    1430 저널 후크 프로시저가 이미 설치되어 있습니다.
    1431 후크 프로시저가 설치되어 있지 않습니다.
    1432 단일 선택 목록에 대한 잘못된 메시지입니다.
    1433 LB_SETCOUNT가 non-lazy 목록으로 보내졌습니다.
    1434 이 목록 상자에서는 탭 정지를 지원하지 않습니다.
    1435 다른 스레드에서 만든 개체를 삭제할 수 없습니다.
    1436 하위 창은 메뉴를 가질 수 없습니다.
    1437 창에 시스템 메뉴가 없습니다.
    1438 잘못된 메시지 상자 유형입니다.
    1439 시스템 전체에 걸친 (SPI_*) 매개 변수가 올바르지 않습니다.
    1440 화면이 이미 잠겼습니다.
    1441 다중 창 위치 구조에 있는 창으로의 핸들은 모두 같은 상위 프로세스를 가져야 합니다.
    1442 창이 하위 창이 아닙니다.
    1443 잘못된 GW_* 명령입니다.
    1444 잘못된 스레드 식별자입니다.
    1445 다중 문서 인터페이스(MDI) 창이 아닌 창에서 온 메시지를 처리할 수 없습니다.
    1446 팝업 메뉴가 이미 활성 중입니다.
    1447 창에 스크롤 막대가 없습니다.
    1448 스크롤 막대 범위는 MAXLONG보다 클 수 없습니다.
    1449 지정한 방법으로 창을 표시하거나 제거할 수 없습니다.
    1450 시스템 리소스가 부족하기 때문에 요청한 서비스를 완성할 수 없습니다.
    1451 시스템 리소스가 부족하기 때문에 요청한 서비스를 완성할 수 없습니다.
    1452 시스템 리소스가 부족하기 때문에 요청한 서비스를 완성할 수 없습니다.
    1453 할당량이 부족하기 때문에 요청한 서비스를 완성할 수 없습니다.
    1454 할당량이 부족하기 때문에 요청한 서비스를 완성할 수 없습니다.
    1455 이 작업을 완료하기 위한 페이징 파일이 너무 작습니다.
    1456 메뉴 항목을 찾을 수 없습니다.
    1457 잘못된 자판 배열 핸들입니다.
    1458 후크 유형이 허용되지 않습니다.
    1459 이 작업에는 대화식 윈도우스테이션이 필요합니다.
    1460 만료 기간이 지나서 작업이 반환되었습니다.
    1461 올바르지 않은 모니터 핸들입니다.
    1500 이벤트 로그 파일이 손상되었습니다.
    1501 열려 있는 이벤트 로그 파일이 없으므로 이벤트 로깅 서비스가 시작되지 않았습니다.
    1502 이벤트 로그 파일이 꽉 찼습니다.
    1503 읽기 사이에서 이벤트 로그 파일이 바뀌었습니다.
    1601 Windows Installer 서비스에 액세스할 수 없습니다. Windows를 안전 모드에서 실행하거나 Windows Installer가 올바르게 설치되지 않은 경우에 이 문제가 발생할 수 있습니다. 기술 지원부에 도움을 요청하십시오.
    1602 사용자가 설치를 취소했습니다.
    1603 설치를 하는 동안 치명적인 오류가 발생했습니다.
    1604 설치가 중지되었고, 완료되지 않았습니다.
    1605 해당 작업은 현재 설치된 제품에만 유효합니다.
    1606 기능 ID가 등록되지 않았습니다.
    1607 구성 요소 ID가 등록되지 않았습니다.
    1608 알 수 없는 속성입니다.
    1609 핸들이 잘못된 상태에 있습니다.
    1610 제품에 대한 구성 데이터가 손상되었습니다. 고객 지원부에 문의하십시오.
    1611 구성 요소 한정자가 없습니다.
    1612 이 제품에 대한 설치 원본을 사용할 수 없습니다. 원본이 있는지 또는 액세스할 수 있는지 확인하십시오.
    1613 Windows Installer 서비스에서 설치 패키지를 설치할 수 없습니다. 새로운 버전의 Windows Installer 서비스를 포함하는 Windows 서비스 팩을 설치하십시오.
    1614 제품의 설치가 취소되었습니다.
    1615 SQL 쿼리 구문이 올바르지 않거나 지원되지 않습니다.
    1616 기록 필드가 없습니다.
    1617 장치가 제거되었습니다.
    1618 다른 설치가 이미 진행 중입니다. 이전 설치 작업을 마친 후 다시 시도하십시오.
    1619 설치 패키지를 열지 못했습니다. 패키지가 있는지, 액세스할 수 있는지 확인하거나 올바른 Windows Installer 패키지인지 응용 프로그램 공급업체에 문의하십시오.
    1620 설치 패키지를 열지 못했습니다. 응용 프로그램 공급업체에 문의하여 올바른 Windows Installer 패키지인지 확인하십시오.
    1621 Windows Installer 서비스 사용자 인터페이스를 시작할 수 없습니다. 지원 부서에 문의하십시오.
    1622 설치 로그 파일을 열 수 없습니다. 지정한 로그 파일의 위치와 기록할 수 있는지 확인하십시오.
    1623 사용자 시스템에서 설치 패키지의 언어가 지원되지 않습니다.
    1624 변환 내용을 적용할 수 없습니다. 지정한 변환 경로가 올바른지 확인하십시오.
    1625 설치가 시스템 정책에 의해 숨겨져 있습니다. 시스템 관리자에게 문의하십시오.
    1626 함수를 실행하지 못했습니다.
    1627 함수가 실행되는 동안 실패했습니다.
    1628 지정한 테이블이 잘못되었거나 알 수 없습니다.
    1629 잘못된 종류의 데이터가 제공되었습니다.
    1630 이 데이터 종류가 지원되지 않습니다.
    1631 Windows Installer 서비스를 시작할 수 없습니다. 지원 부서에 문의하십시오.
    1632 꽉 찼거나 액세스할 수 없는 드라이브에 Temp 폴더가 있습니다. 드라이브의 여유 공간을 늘리거나 Temp 폴더에 쓸 수 있는 권한이 있는지 확인하십시오.
    1633 현재 플랫폼에서 설치 패키지가 지원되지 않습니다. 제품 공급업체로 문의하십시오.
    1634 이 컴퓨터에 구성 요소가 사용되지 않습니다.
    1635 패치 패키지를 열지 못했습니다. 패치 패키지가 있는지, 액세스할 수 있는지 확인하거나 올바른 Windows Installer 패치 패키지인지 응용 프로그램 공급업체에 문의하십시오.
    1636 패치 패키지를 열지 못했습니다. 응용 프로그램 공급업체에 문의하여 올바른 Windows Installer 패치 패키지인지 확인하십시오.
    1637 Windows Installer에서 패치 패키지를 실행할 수 없습니다. 새로운 버전의 Windows Installer 서비스를 포함한 Windows 서비스 팩을 설치해야 합니다.
    1638 다른 버전의 제품이 이미 설치되어 있습니다. 이 버전의 설치를 계속할 수 없습니다. 이 제품의 현재 버전을 구성하거나 제거하려면 [제어판]의 [프로그램 추가/제거]를 사용하십시오.
    1639 잘못된 명령줄 인수입니다. 자세한 명령줄 도움말은 Windows Installer SDK를 살펴보십시오.
    1640 터미널 서비스 원격 세션 동안에는 관리자만이 서버 소프트웨어를 추가, 제거 또는 설정할 수 있습니다. 서버에 소프트웨어를 설치하거나 구성하려면 관리자에게 연락하십시오.
    1641 요청한 작업을 완료했습니다. 변경 내용을 적용하려면 시스템을 다시 시작해야 합니다.
    1642 업그레이드할 프로그램이 없거나 업그레이드 패치에서 다른 버전의 프로그램을 업데이트하므로, Windows Installer 서비스에서 업그레이드 패치를 설치할 수 없습니다. 업그레이드할 프로그램이 사용자 컴퓨터에 있고 올바른 업그레이드 경로인지 확인하십시오.
    1643 소프트웨어 제한 정책에 따라 패치 패키지가 허용되지 않습니다.
    1644 소프트웨어 제한 정책에 따라 하나 이상의 사용자 지정이 허용되지 않습니다.
    1700 문자열 바인딩이 틀립니다.
    1701 바인딩 핸들 형식이 틀립니다.
    1702 잘못된 바인딩 핸들입니다.
    1703 RPC 프로토콜 시퀀스를 지원하지 않습니다.
    1704 RPC 프로토콜 시퀀스가 틀립니다.
    1705 문자열 UUID(universal unique identifier)가 올바르지 않습니다.
    1706 잘못된 종점 형식입니다.
    1707 올바른 네트워크 주소가 아닙니다.
    1708 종점을 찾을 수 없습니다.
    1709 시간 제한 값이 틀립니다.
    1710 개체 UUID(universal unique identifier)를 찾을 수 없습니다.
    1711 개체 UUID(universal unique identifier)가 이미 등록되었습니다.
    1712 유형 UUID(universal unique identifier)가 이미 등록되었습니다.
    1713 RPC 서버가 이미 듣고 있습니다.
    1714 등록된 프로토콜 시퀀스가 없습니다.
    1715 RPC 서버가 듣고 있지 않습니다.
    1716 알 수 없는 관리자 유형입니다.
    1717 알 수 없는 인터페이스입니다.
    1718 바인딩이 없습니다.
    1719 프로토콜 시퀀스가 없습니다.
    1720 종점을 만들 수 없습니다.
    1721 리소스가 부족하기 때문에 이 작업을 완료할 수 없습니다.
    1722 RPC 서버를 사용할 수 없습니다.
    1723 RPC 서버가 너무 바빠서 이 작업을 마칠 수 없습니다.
    1724 네트워크 옵션이 틀립니다.
    1725 이 스레드에 활성화된 원격 호출 프로시저(RPC)가 없습니다.
    1726 원격 프로시저를 호출하지 못했습니다.
    1727 원격 프로시저를 호출하지 못했기 때문에 실행하지 못했습니다.
    1728 RPC 프로토콜 오류가 발생했습니다.
    1730 RPC 서버가 전송 구문을 지원하지 않습니다.
    1732 UUID(universal unique identifier) 유형이 지원되지 않습니다.
    1733 태그가 틀립니다.
    1734 배열 경계가 잘못되었습니다.
    1735 바인딩에 항목 이름이 없습니다.
    1736 이름 구문이 틀립니다.
    1737 이름 구문을 지원하지 않습니다.
    1739 UUID(universal unique identifier)를 만드는 데 사용 가능한 네트워크 주소가 없습니다.
    1740 종점이 중복됩니다.
    1741 알 수 없는 인증 유형입니다.
    1742 최대 호출 횟수가 너무 작습니다.
    1743 문자열이 너무 깁니다.
    1744 RPC 프로토콜 시퀀스를 찾지 못했습니다.
    1745 프로시져 수가 범위를 벗어났습니다.
    1746 바인딩에 인증 정보가 없습니다.
    1747 알 수 없는 인증 서비스입니다.
    1748 알 수 없는 인증 단계입니다.
    1749 보안 컨텍스트가 틀립니다.
    1750 알 수 없는 인증 서비스입니다.
    1751 항목이 틀립니다.
    1752 서버 종점이 작업을 수행할 수 없습니다.
    1753 종점 매퍼에서 사용 가능한 종점이 더 이상 없습니다.
    1754 저장된 인터페이스가 없습니다.
    1755 항목 이름이 완전하지 않습니다.
    1756 버전 옵션이 틀립니다.
    1757 구성원이 더 이상 없습니다.
    1758 내보내기 작업을 취소할 것이 없습니다.
    1759 인터페이스를 찾을 수 없습니다.
    1760 항목이 이미 있습니다.
    1761 항목이 없습니다.
    1762 이름 서비스를 사용할 수 없습니다.
    1763 네트워크 주소 계열이 틀립니다.
    1764 요청한 작업을 지원하지 않습니다.
    1765 가장을 허용하는 데 사용 가능한 보안 컨텍스트가 없습니다.
    1766 원격 프로시저 호출(RPC)에 내부 오류가 발생했습니다.
    1767 RPC 서버가 0으로 정수를 나눗셈을 하려고 했습니다.
    1768 RPC 서버에서 주소 지정 오류가 발생했습니다.
    1769 RPC 서버에서 부동 소수점 연산을 할 때 0으로 나누었습니다.
    1770 RPC 서버에서 부동 소수점 언더플로가 생겼습니다.
    1771 RPC 서버에서 부동 소수점 오버플로가 생겼습니다.
    1772 자동 핸들의 바인딩에 사용 가능한 RPC 서버 목록이 전부 사용되었습니다.
    1773 문자 변환 표 파일을 열 수 없습니다.
    1774 문자 번역 표가 들어 있는 파일이 512바이트보다 작습니다.
    1775 원격 프로시저를 호출하는 동안 클라이언트에서 호스트로 널 컨텍스트 핸들이 전달되었습니다.
    1777 문맥 핸들이 원격 프로시저 호출 동안 바뀌었습니다.
    1778 RPC로 전달된 바인딩 핸들이 일치하지 않습니다.
    1779 스텁에서 원격 프로시저 호출 핸들을 가져올 수 없습니다.
    1780 널 참조 포인터를 스텁에 전달했습니다.
    1781 열거 값이 범위를 벗어납니다.
    1782 바이트 카운트가 너무 적습니다.
    1783 잘못된 데이터를 받았습니다.
    1784 제공된 사용자 버퍼가 요청된 작업에 적합하지 않습니다.
    1785 디스크 미디어가 인식되지 않습니다. 포맷이 안된 것 같습니다.
    1786 워크스테이션이 신뢰 암호를 가지지 않습니다.
    1787 서버의 보안 데이터베이스가 이 워크스테이션 트러스트 관계를 위한 컴퓨터 계정을 가지고 있지 않습니다.
    1788 주 도메인과 트러스트된 도메인 사이의 트러스트 관계에 이상이 있습니다.
    1789 워크스테이션과 주 도메인 사이의 트러스트 관계에 이상이 있습니다.
    1790 네트워크 로그온하지 못했습니다.
    1791 이 스레드에 대한 원격 프로시저 호출이 이미 진행 중입니다.
    1792 로그온하려고 했지만 네트워크 로그온 서비스가 시작되지 않았습니다.
    1793 사용자 계정이 만료되었습니다.
    1794 리디렉터를 사용 중이므로 언로드할 수 없습니다.
    1795 지정된 프린터 드라이버가 이미 설치되었습니다.
    1796 지정된 포트가 알 수 없는 포트입니다.
    1797 알 수 없는 프린터 드라이버입니다.
    1798 알 수 없는 인쇄 처리기입니다.
    1799 지정된 나눔이 파일이 올바르지 않습니다.
    1800 지정된 우선 순위가 올바르지 않습니다.
    1801 프린터 이름이 올바르지 않습니다.
    1802 프린터가 이미 있습니다.
    1803 프린터 명령이 올바르지 않습니다.
    1804 지정된 데이터 형식이 올바르지 않습니다.
    1805 지정된 환경이 올바르지 않습니다.
    1806 이제 바인딩이 없습니다.
    1807 사용한 계정이 도메인간의 트러스트 계정입니다. 이 서버에 액세스하려면 글로벌 사용자 계정 또는 로컬 사용자 계정을 사용하십시오.
    1808 사용된 계정은 컴퓨터 계정입니다. 이 서버를 액세스하려면 글로벌 사용자 계정 또는 로컬 사용자 계정을 사용하십시오.
    1809 사용한 계정이 서버 트러스트 계정입니다. 이 서버에 액세스하려면 글로벌 사용자 계정 또는 로컬 사용자 계정을 사용하십시오.
    1810 지정된 도메인의 이름이나 보안 ID(SID)가 그 도메인에 대한 트러스트 정보와 일치하지 않습니다.
    1811 서버가 사용 중이므로 언로드 할 수 없습니다.
    1812 지정된 이미지 파일에 리소스 섹션이 들어 있지 않습니다.
    1813 지정된 리소스 유형이 이미지 파일에 없습니다.
    1814 지정된 리소스 이름이 이미지 파일에 없습니다.
    1815 지정된 리소스 언어 ID가 이미지 파일에 없습니다.
    1816 사용 가능한 할당량이 부족하여 이 명령을 처리할 수 없습니다.
    1817 등록된 인터페이스가 없습니다.
    1818 원격 프로시저 호출을 취소했습니다.
    1819 바인딩 핸들에 필요한 정보가 없습니다.
    1820 원격 프로시저 호출을 하는 동안 통신 오류가 발생했습니다.
    1821 요청한 인증 단계를 지원하지 않습니다.
    1822 주요 이름이 등록되지 않았습니다.
    1823 지정된 오류는 올바른 Windows NT RPC 오류 코드가 아닙니다.
    1824 이 컴퓨터에서만 유효한 UUID가 할당되었습니다.
    1825 보안 패키지 특정 오류가 발생했습니다.
    1826 스레드가 취소되지 않았습니다.
    1827 인코딩/디코딩 핸들에서 잘못된 작동이 생겼습니다.
    1828 일련의 순차적인 패키지 중 호환되지 않는 버전입니다.
    1829 RPC 중 호환되지 않는 버전입니다.
    1830 RPC 파이프 개체가 잘못되었거나 손상되었습니다.
    1831 주어진 RPC 파이프 개체에 대한 작업이 올바르지 않습니다.
    1832 지원되지 않는 RPC 파이프 버전입니다.
    1898 그룹 구성원이 없습니다.
    1899 종점 매퍼 데이터베이스 항목을 만들 수 없습니다.
    1900 개체의 UUID(universal unique identifier)가 nil UUID입니다.
    1901 지정된 시간이 올바르지 않습니다.
    1902 지정된 양식 이름이 올바르지 않습니다.
    1903 지정된 양식 크기가 올바르지 않습니다.
    1904 지정된 프린터 핸들이 이미 대기 중입니다.
    1905 지정된 프린터가 삭제되었습니다.
    1906 프린터의 상태가 적합하지 않습니다.
    1907 사용자가 처음으로 로그온하기 전에 암호를 바꾸어야 합니다.
    1908 이 도메인의 도메인 컨트롤러를 찾을 수 없습니다.
    1909 참조된 계정이 현재 잠겨져 있으므로 그 계정으로 로그온할 수 없습니다.
    1910 지정한 개체 내보내기를 찾을 수 없습니다.
    1911 지정한 개체를 찾을 수 없습니다.
    1912 지정한 개체 풀기 세트를 찾을 수 없습니다.
    1913 보낼 데이터가 요청 버퍼에 일부 남아 있습니다.
    1914 잘못된 비동기 원격 절차 호출을 처리합니다.
    1915 잘못된 비동기식 RPC가 이 작업에 대한 핸들을 호출합니다.
    1916 RPC 파이프 개체가 이미 닫혔습니다.
    1917 모든 파이프가 처리되기 전에 RPC 호출을 완료했습니다.
    1918 RPC 파이프에 더 이상 데이터가 없습니다.
    1919 이 컴퓨터에 대해 사용 가능한 사이트 이름이 없습니다.
    1920 시스템이 파일에 액세스할 수 없습니다.
    1921 시스템이 파일의 이름을 결정할 수 없습니다.
    1922 항목이 예기치 않은 종류입니다.
    1923 지정된 항목에 모든 개체 UUID를 내보내지 못했습니다.
    1924 지정된 항목에 인터페이스를 내보내지 못했습니다.
    1925 지정된 프로필 항목을 추가하지 못했습니다.
    1926 지정된 프로필 요소를 추가하지 못했습니다.
    1927 지정된 프로필 요소를 제거하지 못했습니다.
    1928 그룹 요소가 추가되지 않았습니다.
    1929 그룹 요소가 제거되지 않았습니다.
    1930 프린터 드라이버가 NT 4.0 드라이버를 차단하는 컴퓨터에서 사용할 수 있는 정책과 호환되지 않습니다.
    1931 컨텍스트가 만료되었기 때문에 사용될 수 없습니다.
    2000 픽셀 포맷이 잘못되었습니다.
    2001 지정된 드라이버가 잘못되었니다.
    2002 창 유형이나 클래스 특성은 이 작업에 적합하지 않습니다.
    2003 요청한 메타파일 작업을 지원하지 않습니다.
    2004 요청한 변환 작업을 지원할 수 없습니다.
    2005 요청한 자르기 작업이 지원되지 않습니다.
    2010 지정한 색상 관리 모듈이 올바르지 않습니다.
    2011 지정한 색상 프로필이 올바르지 않습니다.
    2012 지정한 태그가 없습니다.
    2013 필요한 태그가 없습니다.
    2014 지정한 태그가 이미 있습니다.
    2015 지정한 색상 프로필이 어떤 장치와 연관되지 않습니다.
    2016 지정한 색상 프로필이 없습니다.
    2017 지정한 색상 공백이 올바르지 않습니다.
    2018 이미지 색상 관리를 사용할 수 없습니다.
    2019 색상 변환을 삭제하는 동안 오류가 발생했습니다.
    2020 지정한 색상 변환이 올바르지 않습니다.
    2021 지정한 변환이 비트맵에 있는 색 공간과 일치하지 않습니다.
    2022 이름이 지정된 색상 색인이 프로필에 없습니다.
    2102 워크스테이션 드라이버가 설치되지 않았습니다.
    2103 서버를 찾을 수 없습니다.
    2104 내부 오류가 발생했습니다. 네트워크가 공유 메모리 세그먼트를 액세스할 수 없습니다.
    2105 네트워크 리소스가 부족합니다.
    2106 이 작업은 워크스테이션에서는 지원하지 않습니다.
    2107 장치가 연결되지 않았습니다.
    2108 네트워크에 연결되었으나 원래 지정한 암호와 다른 암호를 입력하도록 사용자에게 묻습니다.
    2109 기본 자격 증명을 사용하여 네트워크에 성공적으로 연결했습니다.
    2114 서버 서비스가 시작되지 않았습니다.
    2115 대기열이 비어 있습니다.
    2116 장치 또는 디렉터리가 없습니다.
    2117 방향 전환된 리소스에서 이 작업을 할 수 없습니다.
    2118 이 이름은 이미 공유되었습니다.
    2119 현재 서버에는 요청한 리소스가 없습니다.
    2121 요청한 항목 추가가 허용되는 최대값을 넘습니다.
    2122 동위 서비스는 동시 사용자 두 명만 지원합니다.
    2123 API가 너무 작은 버퍼를 반환했습니다.
    2127 원격 API 오류가 발생했습니다.
    2131 구성 파일을 읽거나 여는 동안 오류가 발생했습니다.
    2136 일반 네트워크 오류가 발생했습니다.
    2137 워크스테이션 서비스가 불안한 상태입니다. 워크스테이션 서비스를 다시 시작하기 전에 컴퓨터를 다시 시작하십시오.
    2138 워크스테이션 서비스가 시작되지 않았습니다.
    2139 요청한 정보를 사용할 수 없습니다.
    2140 Windows 2000 내부 오류가 발생했습니다.
    2141 서버가 트랜잭션에 대하여 구성되어 있지 않습니다.
    2142 요청한 API가 원격 서버에서 지원되지 않습니다.
    2143 이벤트 이름이 잘못되었습니다.
    2144 컴퓨터 이름이 네트워크에 이미 있습니다. 이름을 바꾼 다음 컴퓨터를 다시 시작하십시오.
    2146 지정한 요소를 구성 정보에서 찾을 수 없습니다.
    2147 지정한 매개 변수를 구성 정보에서 찾을 수 없습니다.
    2149 구성 파일의 줄이 너무 깁니다.
    2150 프린터가 없습니다.
    2151 인쇄 작업이 없습니다.
    2152 프린터 대상을 찾을 수 없습니다.
    2153 프린터 대상이 이미 있습니다.
    2154 프린터 대기열이 이미 있습니다.
    2155 더 이상 프린터를 추가할 수 없습니다.
    2156 인쇄 작업을 더 이상 추가할 수 없습니다.
    2157 인쇄 작업을 더 이상 추가할 수 없습니다.
    2158 이 프린터 대상이 유휴 상태이며 제어 작업에 응답할 수 없습니다.
    2159 이 프린터 대상 요청에 잘못된 제어 함수가 있습니다.
    2160 프린터 프로세서가 응답하지 않습니다.
    2161 스풀러가 실행하지 않습니다.
    2162 인쇄 대상의 현재 상태로는 이 작업을 수행할 수 없습니다.
    2163 인쇄 대기열의 현재 상태로는 이 작업을 수행할 수 없습니다.
    2164 인쇄 작업의 현재 상태로는 이 작업을 수행할 수 없습니다.
    2165 스풀러 메모리 할당 오류가 발생했습니다.
    2166 장치 드라이버가 없습니다.
    2167 프린터 프로세서가 지원하지 않는 데이터 유형입니다.
    2168 프린터 프로세서가 설치되지 않았습니다.
    2180 서비스 데이터베이스가 잠겨졌습니다.
    2181 서비스 표가 가득 찼습니다.
    2182 요청한 서비스가 이미 시작되었습니다.
    2183 서비스가 제어 동작에 응답하지 않습니다.
    2184 서비스가 시작되지 않았습니다.
    2185 서비스 이름이 잘못되었습니다.
    2186 서비스가 제어 함수에 응답하지 않습니다.
    2187 서비스 제어가 사용되고 있습니다.
    2188 구성 파일에 잘못된 서비스 프로그램 이름이 들어 있습니다.
    2189 현재 상태에서 서비스를 제어할 수 없습니다.
    2190 서비스가 올바르게 종료되지 않았습니다.
    2191 일시 중지 또는 중지 요청이 이 서비스에서 올바르지 않습니다.
    2192 서비스 제어 발송자가 발송 표에서 서비스 이름을 찾을 수 없습니다.
    2193 서비스 제어 발송자 파이프를 읽지 못했습니다.
    2194 새 서비스에 대한 스레드를 만들지 못했습니다.
    2200 이 워크스테이션은 이미 LAN에 로그온되어 있습니다.
    2201 워크스테이션이 LAN에 로그되어 있지 않습니다.
    2202 지정한 사용자 이름이 적합하지 않습니다.
    2203 암호 매개 변수가 잘못되었습니다.
    2204 로그온 프로세서가 메시지 별칭을 추가하지 않았습니다.
    2205 로그온 프로세서가 메시지 별칭을 추가하지 않았습니다.
    2206 로그오프 프로세서가 메시지 별칭을 삭제하지 않았습니다.
    2207 로그오프 프로세서가 메시지 별칭을 삭제하지 않았습니다.
    2209 네트워크 로그온이 일시 중지되었습니다.
    2210 중앙 로그온 서버에 충돌이 생겼습니다.
    2211 서버가 올바른 사용자 경로 없이 구성되었습니다.
    2212 로그온 스크립트를 읽거나 실행하는 동안 오류가 발생했습니다.
    2214 로그온 서버가 지정되지 않았습니다. STANDALONE으로 로그온됩니다.
    2215 로그온 서버를 찾을 수 없습니다.
    2216 이 컴퓨터의 로그온 도메인이 이미 있습니다.
    2217 로그온 서버가 로그온을 확인할 수 없습니다.
    2219 보안 데이터베이스를 찾을 수 없습니다.
    2220 그룹 이름을 찾을 수 없습니다.
    2221 사용자 이름을 찾을 수 없습니다.
    2222 리소스 이름을 찾을 수 없습니다.
    2223 그룹이 이미 있습니다.
    2224 계정이 이미 있습니다.
    2225 리소스 사용 권한 목록이 이미 있습니다.
    2226 이 작업은 도메인의 주 도메인 컨트롤러에만 허용됩니다.
    2227 보안 데이터베이스가 시작되지 않았습니다.
    2228 사용자 계정 데이터베이스에 이름이 너무 많이 있습니다.
    2229 디스크 I/O 오류가 발생했습니다.
    2230 리소스당 64개의 항목 제한을 초과하였습니다.
    2231 세션이 있는 사용자 제거는 허용되지 않습니다.
    2232 부모 디렉터리를 찾을 수 없습니다.
    2233 보안 데이터베이스 세션 캐시 세그먼트를 추가할 수 없습니다.
    2234 이 작업은 특별 그룹에 허용되지 않습니다.
    2235 이 사용자는 사용자 계정 데이터베이스 세션 캐시에 없습니다.
    2236 사용자가 이미 이 그룹에 속해 있습니다.
    2237 사용자가 이 그룹에 속해 있지 않습니다.
    2238 사용자 계정이 정의되지 않았습니다.
    2239 사용자 계정이 만료되었습니다.
    2240 사용자는 이 워크스테이션에서 로그온할 수 없습니다.
    2241 지금은 사용자가 로그온할 수 없습니다.
    2242 이 사용자의 암호가 만료되었습니다 .
    2243 이 사용자의 암호를 바꿀 수 없습니다.
    2244 이 암호를 지금 사용할 수 없습니다.
    2245 암호가 암호 정책 요구 사항에 맞지 않습니다. 최소 암호 길이, 암호 복잡도 및 암호 기록 요구 사항을 확인하십시오.
    2246 이 사용자의 암호는 아주 최근 것이어서 바꿀 수 없습니다.
    2247 보안 데이터베이스가 손상되었습니다.
    2248 복제 네트워크/로컬 보안 데이터베이스를 새로 고칠 필요가 없습니다.
    2249 이 복제 데이터베이스는 기한이 지났습니다. 동기화가 필요합니다.
    2250 이 네트워크 연결은 없습니다.
    2251 이 asg_type이 잘못되었습니다.
    2252 이 장치는 현재 공유되어 있습니다.
    2270 컴퓨터 이름이 메시지 별칭으로 추가되지 못했습니다. 이름이 네트워크에 이미 있을 수 있습니다.
    2271 메신저 서비스가 이미 시작되었습니다.
    2272 메신저 서비스가 시작되지 못했습니다.
    2273 메시지 별칭이 네트워크에 없습니다.
    2274 메시지 별칭이 이미 전달되었습니다.
    2275 메시지 별칭이 추가되었지만 아직도 전달되어 있습니다.
    2276 메시지 별칭이 이미 로컬 컴퓨터에 있습니다.
    2277 추가되는 메시지 별칭의 최대값을 초과했습니다.
    2278 컴퓨터 이름을 지울 수 없습니다.
    2279 메시지를 같은 워크스테이션으로 전달할 수 없습니다.
    2280 도메인 메시지 처리기에서 오류가 발생했습니다.
    2281 메시지를 보냈지만 수신자가 메신저 서비스를 일시 중지했습니다.
    2282 메시지를 보냈지만 수신되지 않았습니다.
    2283 메시지 별칭이 현재 사용되고 있습니다. 나중에 다시 하십시오.
    2284 메신저 서비스가 시작되지 않았습니다.
    2285 이름이 로컬 컴퓨터에 없습니다.
    2286 전달 메시지 별칭을 네트워크에서 찾을 수 없습니다.
    2287 원격 스테이션에 있는 메시지 별칭 표가 가득 찼습니다.
    2288 이 별칭에 대한 메시지가 현재 전달되지 않고 있습니다.
    2289 브로드캐스트 메시지가 끊겼습니다.
    2294 잘못된 장치 이름입니다.
    2295 쓰기 오류가 발생했습니다.
    2297 중복된 메시지 별칭이 네트워크에 있습니다.
    2298 이 메시지 별칭은 나중에 지워집니다.
    2299 메시지 별칭이 모든 네트워크에서 다 지워지지 않았습니다.
    2300 이 작업은 다중 네트워크가 있는 컴퓨터에 지원되지 않습니다.
    2310 공유된 리소스가 없습니다.
    2311 장치가 공유되지 않았습니다.
    2312 이 컴퓨터 이름의 세션이 없습니다.
    2314 이 ID 번호를 가진 열린 파일이 없습니다.
    2315 원격 관리 명령을 실행하는 데 오류가 발생했습니다.
    2316 원격 임시 파일을 열지 못했습니다.
    2317 원격 관리 명령에서 반환된 데이터가 64K 크기로 끊겼습니다.
    2318 이 장치는 스풀된 리소스와 스풀되지 않은 리소스를 같이 공유할 수 없습니다.
    2319 서버 목록에 있는 정보가 틀릴 수 있습니다.
    2320 컴퓨터가 이 도메인에서 활동하지 않습니다.
    2321 공유를 지우려면 분산 파일 시스템에서 먼저 제거해야 합니다.
    2331 이 작업은 이 장치에서 유효하지 않습니다.
    2332 이 장치는 공유될 수 없습니다.
    2333 이 장치는 열리지 않았습니다.
    2334 이 장치 이름 목록이 잘못되었습니다.
    2335 대기열 우선 순위가 잘못되었습니다.
    2337 공유 통신 장치가 없습니다.
    2338 지정한 대기열이 없습니다.
    2340 장치의 목록이 잘못되었습니다.
    2341 요청한 장치가 잘못되었습니다.
    2342 스풀러가 이미 이 장치를 사용하고 있습니다.
    2343 이 장치가 이미 통신 장치로 사용되고 있습니다.
    2351 컴퓨터 이름이 잘못되었습니다.
    2354 지정한 문자열과 접두사가 너무 깁니다.
    2356 이 경로 구성 요소가 잘못되었습니다.
    2357 입력 유형을 알 수 없습니다.
    2362 유형에 대한 버퍼가 너무 작습니다.
    2370 프로필 파일은 64K를 넘을 수 없습니다.
    2371 시작 오프셋이 영역을 벗어났습니다.
    2372 시스템이 네트워크 리소스의 연결을 제거할 수 없습니다.
    2373 시스템이 이 파일에 있는 명령줄을 구문 분석할 수 없었습니다.
    2374 프로필 파일을 로드하는 동안 오류가 발생했습니다.
    2375 프로필 파일을 저장하는 데 오류가 발생했습니다. 프로필이 일부만 저장되었습니다.
    2378 로그 파일이 읽는 동안 변경되었습니다.
    2380 원본 경로가 디렉터리일 수 없습니다.
    2381 원본 경로가 잘못되었습니다.
    2382 대상 경로가 잘못되었습니다.
    2383 원본 및 대상 경로가 다른 서버에 있습니다.
    2385 요청한 실행 서버가 일시 중지되었습니다.
    2389 Run 서버와 통신하는 동안 오류가 발생했습니다.
    2391 다른 작업하면서 처리하기를 시작하는 동안 오류가 발생했습니다.
    2392 연결된 공유 리소스를 찾을 수 없습니다.
    2400 LAN 어댑터 번호가 잘못되었습니다.
    2401 이 네트워크 연결에 열린 파일이나 보류 중인 요청이 있습니다.
    2402 활성 연결이 아직 있습니다.
    2403 공유 이름 또는 공유 암호가 잘못되었습니다.
    2404 장치가 활성 프로세스에 의해 사용되고 있으므로 연결을 끊을 수 없습니다.
    2405 드라이브 문자가 로컬 컴퓨터에 사용되고 있습니다.
    2430 지정한 클라이언트가 이미 지정한 이벤트에 등록되어 있습니다.
    2431 경고 표가 가득 찼습니다.
    2432 잘못되거나 없는 경고 이름이 생겼습니다.
    2433 경고 수신자가 잘못되었습니다.
    2434 사용자 로그온 시간이 더 이상 올바르지 않기 때문에 이 서버의 사용자 세션이 삭제되었습니다.
    2440 로그 파일에는 요청한 레코드 번호가 들어있지 않습니다.
    2450 사용자 계정 데이터베이스를 올바르게 구성하지 않았습니다.
    2451 Netlogon 서비스가 실행하는 동안에는 이 작업이 허용되지 않습니다.
    2452 이 작업은 이전 관리자 계정에서 허용되지 않습니다.
    2453 이 도메인의 도메인 컨트롤러를 찾을 수 없습니다.
    2454 이 사용자에 대한 로그온 정보를 설정할 수 없습니다.
    2455 Netlogon 서비스가 시작되지 않았습니다.
    2456 사용자 계정 데이터베이스에 추가할 수 없습니다.
    2457 이 서버의 클럭이 주 도메인 컨트롤러의 클럭과 아직 동기화되지 않았습니다.
    2458 일치하지 않는 암호가 검색되었습니다.
    2460 서버 ID가 올바른 서버를 지정하지 않습니다.
    2461 세션 ID가 올바른 세션을 지정하지 않습니다.
    2462 연결 ID가 올바른 연결을 지정하지 않습니다.
    2463 사용할 수 있는 서버의 표에 다른 항목을 넣을 공간이 없습니다.
    2464 서버가 지원하는 최대 세션 수에 도달했습니다.
    2465 서버가 지원하는 최대 연결 수에 도달했습니다.
    2466 서버가 지원하는 최대값에 도달했기 때문에 더 이상 파일을 열 수 없습니다.
    2467 이 서버에 등록된 대체 서버가 없습니다.
    2470 API의 하위 수준(원격 관리자 프로토콜) 버전을 대신 시도하십시오.
    2480 UPS 서비스가 UPS 드라이버를 액세스할 수 없습니다.
    2481 UPS 서비스가 올바르게 구성되어 있지 않습니다.
    2482 UPS 서비스가 지정한 Comm 포트를 액세스할 수 없습니다.
    2483 UPS가 회선 실패 또는 배터리 부족 상태를 알렸습니다. 서비스가 시작되지 않았습니다.
    2484 UPS 서비스가 시스템을 종료하지 못했습니다.
    2500 아래 프로그램이 MS-DOS 오류 코드를 반환했습니다.
    2501 아래 프로그램에 메모리가 더 필요합니다.
    2502 지원하지 않는 MS-DOS 함수를 아래 프로그램이 호출했습니다.
    2503 워크스테이션을 부팅하지 못했습니다.
    2504 아래 파일이 손상되었습니다.
    2505 부팅-블록 정의 파일에 지정한 로더가 없습니다.
    2506 NetBIOS가 오류를 반환했습니다. NCB와 SMB를 위에 표시합니다.
    2507 디스크 I/O 오류가 발생했습니다.
    2508 이미지 매개 변수를 교체하지 못했습니다.
    2509 너무 많은 이미지 매개 변수가 디스크 섹터의 경계를 벗어납니다.
    2510 이 이미지는 /S로 포맷된 MS-DOS 디스크에서 만들어지지 않았습니다.
    2511 원격 부팅이 나중에 다시 시작됩니다.
    2512 원격 부팅 서버를 호출하지 못했습니다.
    2513 원격 부팅 서버에 연결할 수 없습니다.
    2514 원격 부팅 서버에 이미지 파일을 열 수 없습니다.
    2515 원격 부팅 서버에 연결 중...
    2516 원격 부팅 서버에 연결 중...
    2517 원격 부팅 서비스가 멈추었습니다. 문제의 원인을 오류 로그 파일에서 검사하십시오.
    2518 원격 부팅을 시작하지 못했습니다. 문제의 원인을 오류 로그 파일에서 검사하십시오.
    2519 원격 부팅 리소스에 둘째 연결이 허용되지 않습니다.
    2550 Browser 서비스가 MaintainServerList=No로 구성되어 있습니다.
    2610 이 서비스를 시작한 네트워크 어댑터가 없어서 서비스를 시작하지 못했습니다.
    2611 레지스트리에 잘못된 시작 정보가 있어서 서비스를 시작하지 못했습니다.
    2612 서비스 데이터베이스가 없거나 손상되어서 서비스를 시작하지 못했습니다.
    2613 RPLFILES 공유가 없어서 서비스를 시작하지 못했습니다.
    2614 RPLUSER 그룹이 없어서 서비스를 시작하지 못했습니다.
    2615 서비스 레코드를 열거할 수 없습니다.
    2616 워크스테이션 레코드 정보가 손상되었습니다.
    2617 워크스테이션 레코드를 찾을 수 없습니다.
    2618 워크스테이션 이름이 다른 워크스테이션에서 사용되고 있습니다.
    2619 프로필 레코드 정보가 손상되었습니다.
    2620 프로필 레코드를 찾을 수 없습니다.
    2621 프로필 이름을 다른 프로필에서 사용하고 있습니다.
    2622 이 프로필을 사용하는 워크스테이션이 있습니다.
    2623 구성 레코드 정보가 손상되었습니다.
    2624 구성 레코드를 찾을 수 없습니다.
    2625 어댑터 ID 레코드 정보가 손상되었습니다.
    2626 내부 서비스 오류가 발생했습니다.
    2627 공급업체 ID 레코드 정보가 손상되었습니다.
    2628 부팅 블록 레코드 정보가 손상되었습니다.
    2629 이 워크스테이션 레코드에 대한 사용자 계정이 빠져 있습니다.
    2630 RPLUSER 로컬 그룹을 찾을 수 없습니다.
    2631 부팅 블록 레코드를 찾을 수 없습니다.
    2632 선택한 프로필은 이 워크스테이션과 호환되지 않습니다.
    2633 선택한 네트워크 어댑터 id를 다른 워크스테이션이 사용하고 있습니다.
    2634 이 구성을 사용하는 프로필이 있습니다.
    2635 이 부팅 블록을 사용하는 워크스테이션, 프로필 또는 구성이 있습니다.
    2636 서비스가 원격 부팅 데이터베이스를 백업하지 못했습니다.
    2637 어댑터 레코드를 찾을 수 없습니다.
    2638 공급업체 레코드를 찾을 수 없습니다.
    2639 공급업체 이름을 다른 공급업체 레코드에서 사용하고 있습니다.
    2640 (부팅 이름, 공급업체 ID)를 다른 부팅 블록 레코드에서 사용하고 있습니다.
    2641 구성 이름을 다른 구성에서 사용하고 있습니다.
    2660 DFS 서비스에 의해 유지 보수되는 내부 데이터베이스가 손상되었습니다.
    2661 내부 DFS 데이터베이스에 있는 레코드 가운데 하나가 손상되었습니다.
    2662 항목 경로와 입력 항목 경로가 일치하는 DFS 이름이 없습니다.
    2663 입력된 이름의 루트 또는 링크가 이미 있습니다.
    2664 지정한 서버 공유가 이미 DFS에서 공유되고 있습니다.
    2665 지시한 서버 공유가 지시된 DFS 이름 공간을 지원하지 않습니다.
    2666 작업이 이 부분의 이름 공간에서 올바르지 않습니다.
    2667 작업이 이 부분의 이름 공간에서 올바르지 않습니다.
    2668 링크가 다중 서버를 가지고 있어서 작업이 모호합니다.
    2669 링크를 만들 수 없습니다.
    2670 서버가 DFS Aware가 아닙니다.
    2671 지정한 이름 바꾸기 대상 경로가 적합하지 않습니다.
    2672 지정한 DFS 링크가 오프라인되었습니다.
    2673 지정한 서버는 이 링크의 서버가 아닙니다.
    2674 DFS 이름에서 사이클이 검색되었습니다.
    2675 서버 기반 DFS에서 이 작업이 지원되지 않습니다.
    2676 이 링크가 지정한 서버-공유에 의해 이미 지원되고 있습니다
    2677 이 루트 또는 링크를 지원하는 마지막 서버-공유를 제거할 수 없습니다
    2678 이 작업은 DFS간 링크에서 지원되지 않습니다.
    2679 DFS 서비스의 내부 상태에 일관성이 없습니다.
    2680 DFS 서비스가 지정한 서버에 설치되었습니다.
    2681 조정 중인 DFS 데이터가 동일합니다.
    2682 DFS 루트 링크를 삭제할 수 없습니다. - 필요한 경우, DFS를 제거하십시오.
    2683 DFS에 공유의 자식 또는 부모 디렉터리가 이미 있습니다
    2690 Dfs 내부 오류
    2691 이 컴퓨터가 이미 도메인에 가입되어 있습니다.
    2692 이 컴퓨터가 현재 도메인에 가입되어 있지 않습니다.
    2693 이 컴퓨터는 도메인 컨트롤러이기 때문에 도메인으로부터 분리할 수 없습니다.
    2694 대상 도메인 컨트롤러는 OUs에 컴퓨터 계정을 만드는 것을 지원하지 않습니다.
    2695 지정한 작업 그룹 이름이 올바르지 않습니다.
    2696 지정한 컴퓨터 이름이 도메인 컨트롤러에서 사용되는 기본 언어와 호환되지 않습니다.
    2697 지정한 컴퓨터 계정을 찾지 못했습니다.
    2698 이 버전의 Windows는 도메인에 가입할 수 없습니다.
    2999 NERR 범위의 마지막 오류입니다.
    3000 지정된 프린터 모니터가 알 수 없는 것입니다.
    3001 지정된 프린터 드라이버가 현재 사용 중입니다.
    3002 스풀 파일을 찾을 수 없습니다.
    3003 StartDocPrinter를 호출하지 않았습니다.
    3004 AddJob이 호출되지 않았습니다.
    3005 지정된 인쇄 처리기가 이미 설치되었습니다.
    3006 지정된 인쇄 모니터가 이미 설치되었습니다.
    3007 지정한 인쇄 모니터에 필요한 기능이 없습니다.
    3008 지정한 인쇄 모니터를 현재 사용 중입니다.
    3009 프린터에 대기되어 있는 작업이 있을 때, 요청한 작업은 허용되지 않습니다.
    3010 요청한 작업이 잘 실행되었습니다. 시스템을 다시 시작하면 변경 사항이 적용됩니다.
    3011 요청한 작업이 잘 실행되었습니다. 시스템을 다시 시작하면 변경 사항이 적용됩니다.
    3012 프린터가 없습니다.
    3013 프린터 드라이버가 신뢰할 수 없는 것으로 알려져 있습니다.
    3014 프린터 드라이버가 시스템에 손상을 주는 것으로 알려져 있습니다.
    3023 사용자가 지정한 시스템 종료 명령 파일의 구성에 문제가 있으나 UPS 서비스는 시작되었습니다.
    3029 사용자 계정 데이터베이스(NET.ACC)가 없거나 손상되어서 로컬 보안을 시작할 수 없고, 사용할 수 있는 백업 데이터베이스도 없습니다. 시스템이 불안정합니다.
    3037 @I *로그온 시간
    3039 디렉터리에 있는 파일에 대한 복제기 제한이 초과되었습니다.
    3040 트리 깊이에 대한 복제기 제한이 초과되었습니다.
    3046 로그온할 수 없습니다. 사용자가 현재 로그온되어 있고 인수 TRYUSER가 NO로 설정되어 있습니다.
    3052 필요한 매개 변수를 명령줄이나 구성 파일에서 제공하지 않았습니다.
    3054 리소스에 대한 요청을 충족시킬 수 없습니다.
    3055 시스템 구성에 문제가 있습니다.
    3056 시스템 오류가 발생했습니다.
    3057 내부 일치 오류가 발생했습니다.
    3058 구성 파일이나 명령줄에 모호한 옵션이 있습니다.
    3059 구성 파일이나 명령줄에 중복된 매개 변수가 있습니다.
    3060 서비스가 제어에 응답하지 않았고 DosKillProc 함수에 중지되었습니다.
    3061 서비스 프로그램을 실행하려고 하는 동안 오류가 발생했습니다.
    3062 하위 서비스를 시작하지 못했습니다.
    3064 파일에 문제가 있습니다.
    3070 메모리
    3071 디스크 공간
    3072 스레드
    3073 프로세스
    3074 보안 오류.
    3075 LAN 관리자 루트 디렉터리가 잘못되었거나 없습니다.
    3076 네트워크 소프트웨어가 설치되지 않았습니다.
    3077 서버가 시작되지 않았습니다.
    3078 서버가 사용자 계정 데이터베이스(NET.ACC)를 액세스할 수 없습니다.
    3079 호환되지 않는 파일이 LANMAN 트리에 설치되어 있습니다.
    3080 LANMAN\LOGS 디렉터리가 잘못되었습니다.
    3081 지정한 도메인을 사용할 수 없습니다.
    3082 컴퓨터 이름이 다른 컴퓨터에서 메시지 별칭으로 사용되고 있습니다.
    3083 서버 이름을 알리지 못했습니다.
    3084 사용자 계정 데이터베이스를 올바르게 구성하지 않았습니다.
    3085 이 서버는 사용자-수준 보안으로 실행되고 있지 않습니다.
    3087 워크스테이션이 잘 구성되어 있지 않습니다.
    3088 자세한 내용은 오류 로그를 보십시오.
    3089 이 파일에 쓸 수 없습니다.
    3090 ADDPAK 파일이 손상되었습니다. LANMAN\NETPROG\ADDPAK.SER를 지우고 모든 ADDPAK을 다시 적용하십시오.
    3091 CACHE.EXE가 실행하지 않아서 LM386 서버를 시작할 수 없습니다.
    3092 보안 데이터베이스에 이 컴퓨터에 대한 계정이 없습니다.
    3093 이 컴퓨터는 그룹 SERVERS의 구성원이 아닙니다.
    3094 그룹 SERVERS가 로컬 보안 데이터베이스에 없습니다.
    3095 현재 이 컴퓨터는, 도메인의 구성원이 아닌, 작업 그룹의 구성원으로 구성되었습니다.


    RDF Site Summary or Really Simple Syndication의 줄인말로 뉴스나 블로그등과 같이 컨텐츠가 자주 업데이트가 되는 사이트들이 업데이트된 정보를 쉽게 사용자들에게 제공하기 위해 만들어진 포맷입니다. XML(Extensible Markup Language) 기반으로 되어 있으며 간단하게 제목, 내용, 날짜 등의 배포에 필요한 최소한의 정보를 통해 쉽게 작성할 수 있도록 구성되어 있으며 현재 0.9, 1.0, 2.0 등 다양한 버전으로 서비스가 되고 있습니다.

     

    뉴스나 블로그등의 사이트에서 'RSS Feed', 의 아이콘을 보신적이 있으실 것입니다. 위의 표시는 해당 사이트에서 RSS 서비스를 제공하고 있다는 일반적인 표현 방법입니다. 국내의 경우는 RSS 서비스가 많이 활성화 되지 않은 상태라 일반적인 사이트에서 많이 보실수 없겠지만 점차적으로 이용 범위가 넓어 질것이라고 생각합니다. 아래는 국내에서 RSS 서비스를 제공하고 있는 사례입니다.

    RSS 서비스를 제공하고 있는 사이트에서 메뉴를 Click 하였을 경우 XML 구문이 출력이 되는 것을 볼 수 있을 것입니다. RSS를 전혀 모르는 사람이라면 당혹해 하거나 이해하기 어려울 것입니다.심지어 일반사용자의 경우에는 에러화면으로 오해 할수도 있을 것입니다. 그러나 해당 메뉴에서 중요한 것은 내용이 아닌 URL 정보이며, 제공된 URL 정보는 RSS Reader를 통하여 조회하여 볼 수 있습니다.

     일반 사용자가 많이 사용하는 사이트의 경우는 "주소복사" 기능이나 도움말을 제공하여 사용자의 이해를 돕는 것이 중요하다고 생각합니다.

    좀 더 시간이 지나면 브라우저,메일 클라이언트,웹메일등에서 모두 RSS Reader 기능을 제공할 것이고 그때가 되면 좀 더 손 쉽게 자신이 원하는 정보를 빠르게 조회하여 볼 수 있을 것입니다.

     

    <?xml version="1.0" encoding="euc-kr" ?>
    - <rss version="2.0">
    - <channel>
      <title>아이헬퍼스</title>
      <link>http://www.ihelpers.co.kr</link>
      <description>아이헬퍼스</description>
      <language>ko</language>
      <lastBuildDate>Nov, 13 2004 01:33:48 GMT</lastBuildDate>
      <webMaster>smson@ihelpers.co.kr</webMaster>
    - <item>
      <title>게시판의 조회수를 정확하게 측정하자</title>
      <link>http://www.ihelpers.co.kr/programming/tipntech.php?CMD=view&TYPE=0&IDX=458</link>
      <author>손상모</author>
      <pubDate>Nov, 13 2004 01:33:48 GMT</pubDate>
      <category>Tip&Tech</category>
      </item>
      ....

    [ RSS 메뉴 클릭시에 출력되는 XML 구문 예 ]

    * RSS는 왜 그리고 어디에 사용되나?

    RSS는 가장 성공적인 XML 서비스로써 웹사이트를 통해 콘텐츠 정보를 교환하는 커뮤니티 표준으로 자리를 잡아 가고 있습니다. 본인은 RSS를 웹의 가장 큰 특징인 HyperText 기능의 웹서비스 형태로의 발전이라고 생각합니다. 웹이 정보를 오픈시켰다면 RSS는 해당 정보를 배달시켜 줄 것입니다.

    RSS를 운영자와 사용자의 입장에서 보았을때, 서비스 운영자는 신규 또는 추천 정보를 고객에서 보다 손쉽게(이메일 정보 발송을 위한 컨텐츠 구성과 이메일 발송과 같은 작업이 필요 없이) 제공할 수 있으며 사용자는 관심있는 정보를 쉽고 빠르게 조회 할 수 있게 됩니다.

    혹자의 경우는 RSS 서비스를 하게 되면 웹사이트를 직접 방문하는 사용자가 줄어 들게 되지 않냐고 이야기 합니다. 그러나 서비스 운영자가 RSS 서비스와 같은 형태의 Deep Link로 인하여 메인 페이지에 노출되는 광고의 Impression 이 줄어 드는 것을 일정 부분 포기한다면, 대신 관련 컨텐츠에 관심이 많은 구독자를 얻게 될 것입니다. 오히려 해당 컨텐츠를 주기적으로 모니터하는 구독자로 인하여 발생하는 Traffic을 걱정해야 할것입니다.

    중요한 것은 이미 수많은 정보들이 사용자에게 오픈되어 기다리고 있고, 이 정보의 바다 속에서 경쟁 업체보다 어떻게 빠르고 정확하게 서비스를 제공하느냐, 원하는 정보를 보다 쉽고 빠르게 얻을 수 있느냐 일것입니다. RSS는 당신의 정보를 쉽고 빠르게 제공해 줄 것입니다.

    웹이 신문과 방송보다 정보를 빠르게 제공하고 있으며, 이와 같이 가장 빠른 웹의 정보중에서  RSS는 당신이 원하는 정보(뉴스,키워드검색 정보등)를 더욱 빠르고 쉽게 배달해 주는 좋은 도구 역활을 할 것입니다.

    아래는 RSS 주요 사용 분야입니다.

    • 뉴스 및 공지사항 - 매시간 새로운 정보가 추가,변경 되는 뉴스 또는 신규소식 서비스
    • 강좌 - 고객이 매번 사이트를 방문하여 규칙적으로 확인하지 않는 컨텐츠 서비스
    • 일정 - 주요 행사, 마감일자 또는 휴일정보
    • 검색결과 - 관심 키워드에 대한 변경 및 신규 정보 조회 서비스
    • 메일링 리스트 - 주기적으로 이메일로 고객에서 서비스 한 내용 모음
    • 입찰정보,채용정보
    * RSS Readers(Aggregators)
    • http://www.xpyder.co.kr/ (국내)
      웹 기반과 Application 기반의 Reader를 모두 제공하고 있으며 RSS Directory 서비스도 제공한다. Application Reader는 .NET 기반으로 개발하여 Microsoft .NET Framework 1.1 이상을 설치하여야 한다.
    • http://www.bloglines.com/
      웹기반의 Reader 기능과 Directory & Search 서비스를 제공한다.
    • http://www.sharpreader.net/
      원도우기반의 Reader로써 Microsoft .NET Framework 1.1 설치하여야 한다. 상당히 간단하게 구성되어 있기 때문에 처음 RSS 접하는 분에게 적극 추천한다.
    • http://yeonmo.theple.com/ (국내)
      개인적으로 xpyder 보다 좋은 인터페이스도 깔끔하며 Outlook 과 비슷함.
      xpyder 보다 편하며 Microsoft .NET Framework 를 설치하지 않아도 됨.

                 그외의 Reader 보기

     

    * 관련 정보

    기술은 빠르게 변해 가고 정보에 대한 생명주기는 점점 짧아 지고 있습니다. 이와 같은 시대 속에 자신을 효과적으로 알리지 못한다며, 당신의 경쟁 업체가 당신보다 항상 상위에서 서비스 될 것 이며,당신이 웹서핑하면서 정보를 찾고 있을 때 옆의 동료는 차를 마시면서 관련된 정보를 다양한 채널을 통하여 읽고 있을 것입니다.

    1. Active Server Pages. 그 정체는?

    ASP(Active Server Pages)는 1995년 말에 등장한 IIS(Internet Information Server)의
    세 번째 버전으로 MicroSoft사 NT머쉰의 IIS 3.0이상에서만 동작하는 특별한 페이지이다.
    이 ASP라는 페이지는 Web을 프로그래밍 할 수 있도록 해 주는, 서버에서 동작하는 페이지로써
    기존의 HTML 페이지와는 상당히 다른, 동적인 구성을 가질 수 있게 해 준다.
    이 이야기는 처음 웹 프로그래밍을 접할지 모르는 여러분에게는 상당히 중요한 이야기일 것이다.
    다음 그림을 보도록 하자.

    HTML의 경우의 서버의 역할: 요청한 HTML 페이지의 전송


    위의 그림은 클라이언트가 서버의 HTML 페이지를 요청할 경우의 동작내용을 보여주고 있다.
    클라이언트란 어떤 정보나 서비스를 요청하는 사용자들을 의미한다.
    즉, 웹을 서핑하는 모든 사용자들은 클라이언트들인 것이다.
    그들이 어떤 서버로(예를 들면, 조선일보 서버) 접속해서 show.html을 요청한다면,
    조선일보 서버는 show.html을 접속한 사용자 클라이언트의 브라우저에게 건네주게 된다.
    이 건네주는 html 페이지는 태그, 스크립트 등으로 구성된, html 언어로 제작된 페이지이다.
    서버가 그 html 코드를 사용자의 브라우저로 넘겨주면 서버의 역할은 그것으로 끝난다.
    그 후, 그 페이지를 해석하고 우리의 눈에 보여지게 하는 것은 사용자들의 브라우저이다.
    그렇기에 웹에 접속하고자 하는 사용자들은 반드시 html 코드를 해석할 수 있는 브라우저가
    있어야 한다. 이미 알고 있는 이야기인지도 모르겠지만 다시 한번 그림과 같이 설명하면 다음과 같다.

    왼쪽이 사용자가 서버에게 요청한 html 페이지이고, 서버는 요청받은 html 페이지를
    클라이언트에게 이 모습, 이대로 넘겨주게 된다. 나머지는 클라이언트의 브라우저의 몫이니 말이다.
    해서 브라우저로 이 html 페이지를 받은 사용자는 브라우저로 오른쪽 그림과 같은
    결과를 보게 되는 것이다.

    서버의 역할은 클라이언트가 요청하는 html 페이지를 찾아서 사용자에게 넘겨주기만 하면
    되는 것이다.   나머지는 사용자의 브라우저가 알아서 해석해서 보여주는 것이니 말이다.
    그렇다면, ASP 페이지는 뭔가 다르다는 것인가?
    그렇다. 뭔가 상당히 다르기에 이렇게 뜸을 들이는 것이다.

    ASP의 경우

    ASP의 경우는 사용자가 어떤 페이지를 요청했다고 가정했을 때,
    그 페이지를 html 페이지처럼 사용자의 브라우저에게 그냥 보내주지는 않는다.
    사용자에게 보내주기 이전에 서버내에서 어떤 처리를 하고 그 처리 결과를 태그로 만들어,
    html 형식으로 다 만든 뒤, 그 만들어진 페이지를 사용자의 브라우저에게 보내주는 것이다.
    왜 그래야 하는가? 처리를 안 하면 안되는가?
    잘 이해가 되지 않는 독자들이 있다. 진짜다.
    먼저, 이 시점에서 바로 그런 독자들이 궁금해 하는 내용을 정리해 본다.

      무슨 처리를 서버에서 한다는 건가? HTML로 하면 안되나?

      여러분은 자신의 홈페이지를 만들어 본 적이 있는가? 
      여러분의 홈페이지를 꾸미기 위해 어떤 것들을 올려놓았는가?
      여러분 가족의 사진? 자신의 소개?  자신이 취미로 삼고있는 것들에 대한 자료?
      그렇다. 아마도 그 정도가 일반적인 수준일 것이다.  뭐~~ 그래도 좋을 것이다.
      우리 가족과 친척들 그리고 적어도 몇몇 친구들은 방문해 줄 것이니 말이다.
      그런데, 그들이 방문했었다는 것을 어떻게 알 수가 있을까?
      그들이 자신들이 왔다간 흔적을 남기지 않는 한 우리는 누가 나의 홈페이지를
      방문했었는지 알기가 어렵다. 그 흔적을 남기게 하는 방법이 무엇인가?
      일반적으로 방명록이라는 것이 있다. 사이트에 방문한 소감을 적어주는 것 말이다.
      그러나, 그것은 기존의 HTML 페이지로는 구현이 불가능하다.
      아마도 여러분은 무료로 제공해 주는 방명록을 설치해 본 경험이 있을런지도 모른다. 
      그런 것을 웹 상에서 프로그래밍으로 가능하게 하는 것이 바로 ASP인 것이다.
      (물론 CGI도 가능하다. 그러나, 우리의 주제는 ASP이다)

    HTML 페이지의 한계를 대신해 등장한 ASP 페이지는 서버와 연동하는 작업이
    가능한 특별한 페이지로 존재한다.
    반드시 서버를 거쳐서 1차 해석이 되어지고,
    그 결과로 만들어진 HTML을 사용자에게 보내게 한다.

    사용자가 요청한 ASP페이지는 ASP.DLL을 무조건적으로 거치며,
    ASP.DLL을 통해 해석이 되어진 뒤에 모든 ASP 코드들이 HTML 태그로 바뀌어지고,
    사용자에게 건네어지는 것이다. 
    (사용자는 그 HTML코드를 직접적으로 보게 되는 것이 아니라. 브라우저에 의해
    다시 해석된 모습으로 보게된다. 지금 여러분이 이 페이지를 보고 있는 것처럼 말이다)

    ASP는 IIS 4.0이 배급되면서 더욱 발전적인 기능들을 가지게 되었고,
    실로 그 기능은 기존의 Visual Basic 언어의 많은 부분을 웹에서 사용가능하게 하고 있다.
    또한, Visual Basic이 서버 컴포넌트를 제작하기에 가장 적합한 툴로 인식되어 지면서
    ASP와 Visual Basic은 같이 그 인기가 상승하고 있는 실정이다  

    내용출처 : [기타] 인터넷 : 태오 asp
    ▶ DirectX 란?
    다이렉트X는 기존의 그래픽카드만을 위한 규격인 DCI(Display Control Interface)의 단점을 보완하여, 그래픽카드/사운드카드/입출력장치 등의 주요 주변기기를 응용 프로그램이 직접 제어할 수 있게 인텔과 마이크로소프트가 제정한 종합 가속표준입니다. 윈도우가 대부분의 컴퓨터에서 사용되면서 게임도 윈도우용으로 제작되고 있습니다. 하지만, 초기에 제작된 대부분의 게임은 윈도우3.1에서 사용된 WinG라는 게임 라이브러리를 사용하여 제작되었습니다. 그런데 WinG라는 것으로는 화려하고 박진감 넘치는 게임을 제작하기에는 한계가 있습니다. 즉, 대부분의게임에서 많이 필요로 하는 빠른 화면 전개가 불가능하다는 단점이 있습니다. 도스용 게임의 경우 게임 자체가 시스템의 하드웨어를 제어하기 때문에 좀더 빠르고 박진감있게 제작할 수 있었지만, 윈도우에서는 윈도우가 자체적으로 시스템을 관리하므로 응용 소프트웨어의 하드웨어 접근을 불허하기 때문입니다.
    따라서 하드웨어를 직접 제어할 수 없는 WinG로는 도스용 게임만큼의 제작이 불가능하다는 한계가 있습니다. 마이크로소프트사는 게임이 컴퓨터에서 차지하는 비중이 매우 크다는 것을 잘 알고 있기 때문에, 윈도우 사용자를 늘리기 위해 정책적으로 윈도우에서 직접적으로 하드웨어를 제어할 수 있게 해주는 라이브러리를 만들려고 노력했습니다. 그러한 노력 끝에 탄생한 것이 바로 다이렉트X 1.0입니다. 다이렉트X는 사용자들의 시스템이 발전함에 따라 계속 버전 업이 이루지고 있습니다.


    ▶ DirectX 규격
    다 이렉트X는 마이크로소프트가 윈도우상에서 멀티미디어 환경을 구현하기 위해서 제안한 소프트웨어 처리 규격이며, 프로그래머와 사용자가 응용 프로그램을 작동시키기 위한 API(Application Programmer Interface)규격입니다. 하드웨어적인 처리 규정은 주변장치 제조업체에게 맡깁니다.

    1) DirectDraw

    다이렉트 드로우는 2D(평면 그래픽)를 담당하는 라이브러리로 선/점/면과 같은 도형의 표현은 물론, 더블 버퍼링, 컬러마스킹 & 컬러필터링, 스프라이트, 늘리기, 윈도우 등에 대한 각종 고급함수에 대한 통일된 규격입니다. 주로 2D로 제작된 게임에 사용됩니다. 다이렉트 드로우는 비디오 카드의 메모리를 직접 조작하거나 하드에어적인 비트블릿(Bitblit)을 수행하고 오버레이와 페이지 플리핑 같은 기능을 프로그램이 직접 실행할 수 있게 해 줍니다. 결과적으로 더 나은 성능의 그래픽 가속 기능을 얻을 수 있습니다. 쉽게 말해서 게임이나 고속으로 하드웨어를 제어하기 위한 개발툴 또는 라이브러리라고 생각하면 된다.

    2) Direct3D

    다 이렉트 3D는 3차원 그래픽에 사용되는 라이브러리로 렌더링/쉐이딩/텍스처링/3차원 변환/필터링 등에 관한 각종 규격을 담고 있습니다. 3D 그래픽 카드는 다이렉트 3D를 직접 지원하여 더 빠르고 멋진 그래픽을 보여줍니다. 특히 전용 그래픽 3D 하드에어가 없어도 소프트웨어적으로 3D을 강화시켜 줍니다. 물론 3D 그래픽 하드웨어가 있으면 최적의 기능을 발휘할 수 있습니다.

    3) DirectVideo

    인텔의 AVI 파일 포맷을 기반으로 하는 동영상 처리에 관한 통합규격입니다. AVI 이외에도 MPEG 동영상 포맷을 윈도우에서 처리하기 위한 규격도 포함하고 있습니다.

    4) DirectSound

    다 이렉트 사운드는 사운드 부분을 담당하는 라이브러리로 사운드카드의 직접 제어를 위한 규격입니다. 웨이브 테이블 미디와 9채널의 wave 믹서로 구성되어 있으며, CD 수준의 음질인 44.1KHz까지 지원합니다. 기존의 윈도우에서는 wave 방식으로는 한 번에 한 개의 소리밖에 출력할 수 없지만, 웨이브 테이블 미디와 wave방식의 음성을 동시에 출력할 수 있습니다. 다이렉트 사운드는 사운드 카드의 버퍼와 직접 데이터를 주고 받음으로써 사운드 카드의 사운드 채널을 직접 제어합니다. 따라서, 고음질이면서도 지연이 거의 없는 사운드와 믹싱 기능을 제공하며 윈도우용 게임에서 현실감 있는 사운드를 재생해 냅니다.

    5) DirectInput

    입 출력 장치의 제어를 위한 규격으로, 주로 조이스틱/게임패드에 대한 입력 규격입니다. 상대포인터/절대포인터/상대변위포인터 등에 대한 통합규격입니다. 느린 속도로 작동하는 입출력 장치들을 안정적으로 사용하기 위해 개발되었습니다. 2차원 입력장치인 마우스는 물론 각종 3차원 입력장치에 대한 응용도 가능하도록 되어 있습니다.

    6) DirectPlay

    다이렉 트 플레이는 네트웨크에서 여러 사용자가 동시에 게임을 할 수 있도록 만들어진 것입니다. 다이렉트 플레이 객체와 다이렉트 플레이 서버로 구성됩니다. 다이렉트 플레이 객체의 통신 대상은 게임이고, 다이렉트 플레이 서버가 모뎀이나 랜의 네트워크 연결을 담당합니다. 다이렉트 플레이는 단일 인터페이스를 제공함으로써 네트워크 게임 제작사가 네트워크 관련 부분을 개발할 필요가 없도록 만들었습니다.

     


    구글의 한국어 검색 결과는 형편없다.


     


    지난 번 글에서 구글이나 엠파스 같은 검색엔진이 성공하는 가장 좋은 방법은 사용자가 원하는 검색 결과를 보여주면 되는 것이라고 말했다. 따라서 구글이 한국에서 인기를 끌지 못하는 이유는 검색 결과가 형편없기 때문이라는 결론이 나온다. 혹자는 구글 화면이나 사용법이 국내 네티즌의 정서와 너무 다르기 때문이라고 말하는데 이것은 부차적인 요소다. 구글이 한국에서 인기를 끌지 못하는 첫 번째 요소는 지난번 칼럼에서도 지적한 것처럼 분명 검색 결과가 형편없기 때문이다.


     


    그래서 지난 번의 구글 간담회 때 나는 미국 본사에서 나온 직원에게 “구글은 검색 결과가 형편없기 때문에 검색엔진으로 한국에서 성공할 수 없습니다”라고 잘라 말했다. 세계 최고 기술력을 가졌다고 생각하는 구글 직원으로서는 구글의 검색 결과가 형편없다는 말이이해되지 않겠지만 한국에서는 분명 형편없다. 마침 그때가 탤런트 장서희씨가 화제에 오르던 때라 ‘장서희 부은 얼굴’이라는 낱말로 국내 포탈과 구글의 검색 결과 차이를 설명해주고 구글이 한국어 문서 검색 결과에서 국내 포탈을 이길 수 없는 이유를 설명해줬다.


     


    실제로 구글의 검색 결과가 얼마나 형편없는지 확인해보도록 하자. 구글 검색 창에 ‘장서희 부은 얼굴’을 입력하고 ‘이미지’ 찾기를 눌러 사진을 찾아보자. 구글은 한 장의 사진(image)도 찾지 못 한다. 검색 결과 점수를 매긴다면 빵점이다.











    구글은 ‘장서희 부은 얼굴’로 한 장의 사진도 찾지 못 했다.


     


    이번에는 네이버 검색 창에 ‘장서희 부은 얼굴’을 입력하고 ‘이미지’ 아이콘을 눌러 사진을 찾아보았다. 화면에 보이는 것처럼 장서희가 부은 얼굴로 나온 TV 프로그램 화면이 줄줄이 사탕처럼 보기 좋게 출력된다.











    네이버에서 ‘장서희 부은 얼굴’로 검색하면 원하는 사진을 보여준다.


     


    두 검색엔진의 검색결과를 비교해보면 더 이상 구글이 국내 포탈보다 뛰어나다는 말을 할 수 없을 것이다. 살펴본 것처럼 구글의 검색 결과는 빵점에 가까울 정도로 형편없다. 이러니 연예뉴스 자주 보는 내 아내가 구글을 사용할 리 없고, 온라인게임 좋아하는 내 아들이 구글을 사용할 리 없다. 물론 나도 장서희 사진을 찾을 때는 구글 대신 네이버나 국내 포탈을 이용한다.


     


    구글 검색 결과가 형편 없는 이유, 국내 사이트들이 검색을 막았기 때문 그러면 세계 최강의 검색 기술을 가졌다는 구글이 왜 한국에서는 이렇게 형편없는 검색 결과를 보여줄까? 구글이 영문 검색 기술만 뛰어나고 한국어 검색 능력은 뒤떨어지기 때문일까? 아니다. 구글의 한국어 검색 능력은 분명 국내 포탈보다 뛰어나다. 구글의 검색 결과가 형편없는 이유는 국내 사이트들이 검색을 막고 있기 때문이다.


     


    현재 국내에서 가장 많은 자료를 보유한 곳은 다음 카페다. 289만 명의 회원을 보유한 ‘장미가족의 태그교실’ 카페 하나만 뒤져도 각종 HTML, 자바스크립트 예제를 비롯한 HTML 관련 수많은 한국어 문서를 찾아낼 수 있다. 다음 카페에 이어 지식인과 블로그를 운영하는 네이버, 통(tong)과 싸이월드를 운영하는 네이트 등에 네티즌이 좋아하는 자료들이 축적되어 있을 것이다. 그런데 이들 사이트를 비롯하여 꽤 알려진 국내 사이트는 공통점이 하나 있다. 바로 검색로봇의 검색을 막고 있다는 것이다.


     


    웹 사이트에서 robots.txt를 이용해 검색로봇의 검색을 막을 경우 검색로봇 규약에 의해 검색로봇은 검색을 하지 않아야 한다. 검색로봇 규약을 정하고 검색로봇 거부권을 행사하는 이유는 검색로봇에 의한 개인정보 유출의 위험을 막기 위함이다. 그런데 국내 대형 사이트는 검색로봇 규약을 자사의 자료 독점권 행사를 위해 사용하고 있다. 그래서 정보 알맹이(content)를 축적했다고 하는 곳은 대부분 검색로봇 거부권으로 검색을 막고 있다.


     


    예를 들어 브라우저의 주소창에 ‘http://kin.naver.com/robots.txt’ 를 입력하고 살펴보자. 네이버 지식인의 루트 디렉토리부터 모든 자료에 대한 접근을 금지시키고 있음을 알 수 있다. 이번에는 ‘http://blog.naver.com/robots.txt’ 를 입력하고 살펴보자. 역시 네이버 블로그의 루트 디렉토리부터 모든 자료에 대한 접근을 금지시키고 있음을 알 수 있다. 이처럼 네이버는 네이버 지식인 게시판이나 네이버 블로그에 대한 로봇의 검색을 철저하게 막고 있다.











    http://kin.naver.com/robots.txt’ 를 보면 네이버 지식인의 로봇 검색을 차단하고 있음을 알 수 있다.


     











    http://blog.naver.com/robots.txt’ 를 통해 네이버 블로그도 로봇 검색을 차단하고 있음을 알 수 있다.


     


    생각해보면 참으로 어이없는 상황이다. 네이버의 정체가 무엇인가? 다른 사이트 게시판을 검색해 그 결과를 보여주는 검색 사이트 아닌가?


     


    자신은 남의 사이트 게시판과 문서를 뒤져서 그 자료를 네티즌에게 보여주면서 돈을 버는 기업이면서 정작 자신들의 게시판과 문서는 검색하지 말라니 이런 이율배반이 어디 있는가? 네이버가 국내 1위 포탈의 자리를 지키면서도 끊임없이 도덕적 비난에 시달리는 이유는바로 이처럼 근본부터 잘못된 철학 때문이다.


     


    다음 카페도 마찬가지다. ‘http://cafe.daum.net/robots.txt’ 를 입력해보면 역시 루트 디렉토리부터 검색로봇의 검색을 차단하고 있다. 카페의 경우 회원용도 있지만 공개된 게시물도 많기 때문에 로봇 검색을 막으면 안 되는데, 다음은 일괄적으로 외부 검색을 차단하고 있는 것이다. 따라서 다음 역시 도덕적 비난에서 자유로울 수 없는 입장인 것이다. 네티즌이 질문하고 답을 올리는 공개 게시판과 블로그조차 막고 있는 곳이 국내 1, 2위 포탈이자 검색을 대문에 내세우는 곳이라니 이 얼마나 황당하고 부끄러운 일인가.











    http://cafe.daum.net/robots.txt’ 에서 알 수 있는 것처럼 다음 카페도 로봇 검색을 차단하고 있다.


     


    robots.txt을 준수하는 구글의 네이버 게시물 검색은 '꽝' 표준 규약을 잘 지키기로 유명한 구글이 로봇 규약을 어길 수는 없는 일이다. 그 결과 수 천 만 건의 자료가 있다는 네이버 지식인의 게시물은 구글에서 검색되지 않는다. 이는 ‘site’ 씨낱말(keyword)로 검색해보면 알 수 있다.


     


    구글 검색창에 ‘site:dal.co.kr’을 입력하면 68,600개나 되는 문서를 검색해준다. 반면 ‘site:kin.naver.com’으로 검색하면 겨우 246개만 검색된다. 개인 홈페이지의 문서도68,600개나 검색해주는 구글이 네이버 지식인의 게시물은 겨우 246개만 검색해주는 것이다. 그리고 화면을 보면 알겠지만 요약문을 제공하는 ‘site:dal.co.kr’의 검색결과와 달리 ‘site:kin.naver.com’의 검색결과는 달랑 주소만 나온다. 이는 246개마저 정상적인 경로로 검색된 것이 아니라 다른 문서의 링크를 통해서 검색되었기 때문이다.











    구글 검색창에 ‘site:dal.co.kr’을 입력하면 68,600개의 검색결과가 나온다.


     











    구글 검색창에 ‘site:kin.naver.com’을 입력하면 246개의 검색결과만 나온다


     


    이번에는 구글 검색창에 ‘블로그 site:dal.co.kr’을 입력해보았다. 내 개인 홈페이지에서만 16,900개나 되는 검색결과를 찾았다. 반면 ‘블로그 site:kin.naver.com’으로 검색하면 딱 한 개만 나온다.











    구글 검색창에 ‘블로그 site:dal.co.kr’을 입력하면 16,900개의 검색결과가 나온다


     











    구글 검색창에 ‘블로그 site:kin.naver.com’을 입력하면 딱 1개의 검색결과가 나온다.


     


    살펴본 것처럼 구글은 개인 홈페이지인 ‘dal.co.kr’에서만 6만 건이 넘는 문서를 검색해주는데, 네이버 지식인의 게시물은 겨우 300개 미만으로 검색해주고 있다. 물론 이것은 네이버 지식인의 대문을 통해 들어가 검색한 것이 아니라 웹문서에 링크 된 주소에 의해 검색된 결과에 불과하다. 만약 구글이 robots.txt를 무시하고 검색했다면 수 백 만 건의 검색 결과가 표시되어야 할 것이다.


     


    robots.txt를 막지 않고 싸우는 외국과 막고 싸우는 국내 포탈 외국 사이트는 어떨까? 구글이 인수한 세계 최대 블로그 사이트라는 블로거닷컴도 검색을 막고 있을까? ‘http://www.blogger.com/robots.txt’ 를 입력해 블로거닷컴의 로봇규약을 살펴봤다. 블로거닷컴은 회원의 개인정보나 덧글을 단 사람의 이메일주소 등이 노출되는 ‘http://www.blogger.com/profile-find.g’ 와http://www.blogger.com/comment.g’ 두 곳만 막고 나머지는 검색을 허락하고 있다.


     




     


    때문에 구글 검색창에서 ‘blog site:blogger.com’으로 검색해보면 886,000개의 검색결과를 보여주며, ‘site:blogger.com’으로는 747만 건의 검색결과를 보여준다. 야후(www.yahoo.com)에서도 "blogger.com"으로 검색할 경우 약 2780만 건이라는 엄청난 수치를 보여준다.









     


    'blog site:blogger.com’의 검색결과는 886,000개다.


     


    지난 번 데니스 황이 국내에 들어왔을 때 인터뷰 한 내용 중에 다음과 같은 내용이 있다.



      아직 저희는 차단된 DB에 대해서는 가져올 수 없고...[줄임] 저희는 정보를 항상 최대한 많은 사람들에게 제공하려다 보니까, 유료였던 것들을 무료로 제공하는 경향이 있어요. 키홀(구글맵에 붙은 인공위성 사진 서비스), 피카사(포토 관리 프로그램)...유료였는데 저희가 가져다가 무료로, 혹은 반값으로 제공하죠. [줄임] 렉시스넥시스(LexisNexis)를 3만원 내고 본다. 왜? 수집해 주니까. 그럼 우리가 수집하면 공짜로 보여줄 수 있잖아.”- 유진닷컴(http://www.youzin.com/blog/archives/000355.html)


    차단된 DB에 대해서는 정보를 가져오지 못하기 때문에 유료인 정보를 인수해 무료로 제공하고 있는 곳이 구글이다. 실제로 구글은 블로거닷컴, 피카사, 키홀을 비롯한 많은 기업을 사서 그들 기업이 가진 정보를 무료로 공개하고 있다. 덕분에 과거에는 유료였던 위성사진을 이제는 무료로 볼 수 있다. 여기에 공개API까지 제공해 구글의 자료를 누구나 자유롭게 가공해 사용할 수 있도록 하고 있다. 그래서 구글 지도를 이용한 하우징맵이나 지오블로거와 같은 서비스가 등장할 수 있는 것이다. 이처럼 게시물의 검색 허용을 당연히 허용할 뿐만 아니라 공개 API까지 제공하며 자료 활용을 돕는 외국 사이트와 네티즌이 올린 자료들마저도 막는 국내 검색 포탈의 철학적, 도덕적 차이는 너무 크다.


     


    한국적인 기술력이 고작 robots.txt로 검색로봇 막는 것? 그런데도 국내 포탈 관계자나 경영진은 언론에 종종 “우리들은 한국적 기술력을 가지고 있기 때문에 구글이 들어와도 무섭지 않다”고 자신감을 표출한다. 그 한국적 기술력이 고작 robots.txt로 구글의 검색로봇을 막고, 네티즌으로 하여금 다른 곳에 있는 자료를 퍼오게 해서 자사 DB(Database)서버에 쌓는 것인가? 그것이 한국적 특성에 맞게 개발한 기술력이고 자신감의 원천인가?


     


    이런 자세로는 개방성을 추구하는 인터넷 문화 흐름에 역행하기만 할 뿐 아니라, 자신도 모르게 기술력이 위축될 뿐이다. 현재 국내 검색 포탈의 검색 능력은 구글이나 야후에 비해 크게 뒤떨어진 상태다. 국내 검색 사이트의 웹문서 검색능력에 대해서는 다음 글에서 좀더 자세하게 다룰 것인데, 일단 결론만 말하자면 국내 검색 사이트의 웹문서 검색 능력은 몇 년 전 상황에서 한 걸음도 나가지 못하고 있다. 국내 포탈 사이트는 자사 서버 내의 DB 검색에 매달리고 있으며 그마저도 수 많은 인력이 편집해서 보여주고 있다.


     


    서버 내의 자료는 누가 만든 것인가? 네티즌들이 만든 것이다. 그것도 여기저기 유료 무료 사이트에 올라온 고급 정보들을 펌질해서 올린 자료가 대부분이다. 이것이 한국적인 기술력이고 구글 정도는 상대할 수 있는 이유라고 말한다면 제 손으로 자기 눈 가리기 아닌가?


     


    결국 싸움터는 웹 전체가 될 것이다 네이버 직원이 말한 것처럼 현실적으로 볼 때 구글이 한국 지사를 설립하고 수 백 명의 인력을 투입한다 하더라도 구글이 네이버나 다음을 이길 방법은 없다. 국내 사이트가 robots.txt로 구글 검색로봇의 검색을 막고 구글이 robots.txt를 준수하는 한, 가까운 시일 안에 구글이 검색엔진으로 한국에서 성공할 가능성은 극히 희박하다.


     


    그러나 언제까지 사람들이 원하는 모든 자료가 네이버 지식인과 네이버 블로그에만 쌓여있을 것이라고 생각하는가? 우주처럼 광활한 웹의 세계에서 하나의 점에 불과한 네이버나 다음에 웹의 모든 자료가 쌓여 있을 것이라는 생각은 얼마나 어리석은 생각인가. 이미 고급자료는 점차 개인 블로그에 축적되는 흐름을 보이고 있다. 또한 언젠가는 네티즌도 원하는 자료를 찾기 위해 포탈의 그늘에서 벗어나 더 넓은 웹의 세계로 향할 것이며 그 날은 곧 다가올 것이다. 결국 현재의 편법은 시간을 벌어주는 역할에 불과하다.


     


    그 시간이 지나면 검색로봇을 막고 불공정 경쟁을 하고 있는 국내 포탈은 도덕적 자신감 결여와 기술투자 부족의 칼날에 의해 상처를 입을 것이다. 그런 상처를 입지 않고 장기적인 경쟁력을 갖추려면 지금이라도 공정하게 경쟁하며 기술 축적에 힘써야 할 것이다. 구글의 검색 결과가 형편 없다고 자만할 때가 아니라, 구글의 검색 결과가 형편 없는 이유에 대해 부끄러워 하며 다가올 전면전을 치열하게 준비해야 하는 것이다. 결국 최종 싸움터는 네이버 사이트 안이 아닌 웹 전체가 될 것이며, 싸움의 승패 역시 웹 검색에서 판가름 날 것이다.


    Netstat는 Windows MS-DOS명령어로서 네트워크 포트(TCP,UDP)상태를
    확인함으로써 바이러스나 해킹여부를 진단할 수 있다.

    이 명령어는 windows 계열에서 사용할 수 있으며 프로토콜 통계와
    현재 TCP/IP 네트워크 연결을 표시합니다.

    쉽게 말하자면 내 컴퓨터와 연결된 다른 컴퓨터의 리스트를 보는 명령어 입니다 .

    C:\>netstat -a
    현재 다른 PC와 연결(Established)되어 있거나, 대기(Listening)중인 모든 포트번호 확인
    (컴퓨터 이름및 도메인이름으로 화면출력)


    C:\>netstat -r

    라우팅 테이블 확인및 Connection 되어 있는 포트번호 확인 (컴퓨터 넷마스크, 게이트웨이)


    C:\>netstat -n
    현재 다른 PC와 연결(Established)되어 있는 포트번호 확인(IP 주소로 화면출력)


    C:\>netstat -e
    랜카드에서 송수신한 패킷의 용량및 종류 확인


    C:\>netstat -s
    IP, ICMP, TCP, UDP 프로토콜의 상태


    1. 부트 바이러스(Boot-sector Virus)
    기억매체의 주 부트섹터를 감염시킨다. 대표적인 바이러스로는 Delwin(델윈), Tamanegi(타마네기 - 양파의 일본어), Zhoungzhou(정저우 - 중국지명), Monkey(멍키 - 원숭이), PingPong(핑퐁 - 탁구공), 안락사(1, 2, 3) 등이 있다.

    2. 파일 바이러스(File Virus)
    파일을 감염시킨다. 확실하진 않지만 대표적인 바이러스는 Dull-Boy(덜 보이 - 바보), Worldcup(월드컵) 등이 있다.

    3. 부트 파일 바이러스(Boot-sector and File Virus)
    기억매체의 주 부트섹터와 파일을 모두 감염시킨다. 확실하진 않지만 대표적인 바이러스로는 미켈란젤로 등이 있다.

    4. 매크로 바이러스(Macro Virus)
    마이크로소프트 오피스 애플리케이션의 매크로 명령을 감염시킨다. 대표적인 바이러스로는 '사이버 흑사병(Cyber's Pest)'이란 별명을 가지고있는 Melisa(멜리사)가 있다.

    5. OS 바이러스(OS Virus)
    운영체제의 주요 부분을 건드린다. 특히 Windows OS에서 활동시 더 치명타를 가하기 때문에 윈도우 바이러스(Windows Virus)라고도 불리며 대표적인 바이러스로는 HPS가 있다.

    6. 웜+트로이목마(Worm+TrojanHorse)
    웜과 트로이목마란 악성 프로그램의 악성부분을 취합한 바이러스이다. 대표적인 바이러스로는 한 무역회사의 모든 데이타들을, 파일은 남겨둔 채 내용만 삭제한 사건을 일으킨 익스플로러집 바이러스가 있다.

    7. IO 및 하드웨어 바이러스(IO and Hardware Virus)
    기본적인 입출력 시스템을 건드리거나 건드려서 컴퓨터의 하드웨어를 파괴하는 바이러스이다. 지난 1999년 4월26일 전세계를 뒤집어놓은 CIH가 대표적이다.
    WindowsXP,2000 에서는 NT커널과 기존Windows시리즈(95,98,me)에서 사용하던
    FAT32방식을 모두 지원하기 때문에 어떤 방식으로 사용하는것이 나을까 궁금할 것이다. 이 2가지 방식을 간단히 설명해 보기로 한다.
    NTFS(New Technology, NT File System)
    이 것은 윈도우 NT3.1/3.5/3.51/4.0/2000/XP에서 지원하는것으로 한결같이 똑같은 것은 아니고 조금씩 수정되어왔다. NTFS의 클러스터 크기는 512바이트, 1킬로,2킬로, 4킬로바이트까지 사용자 지정이 가능하다. 파일크기및 볼륨은 이론상으로 최대 16EB(ExaByte=10의 18승바이트)이나 실질적으로는 2테라바이트가 한계입니다.
    이 파일시스템은 안정성, 자세한 사용자 제한, 보안성등이 FAT32보다는 나은것이다.

    NTFS 와 FAT16/32 파일시스템의 속도는 불륨이 상당히 크지 않으면 일반적으로 FAT가 빠르다. 그 이유는 먼저 FAT구조가 단순하고 같은 파일이 들어있는경우 폴더크기 자체도 NTFS보다 작다. 그리고 FAT는 사용자의 액세스 권한등을 살필 필요도 없고 NTFS는 이 불륨이 FAT인지 아닌지도 살펴보아야 하기 때문이다.
    NTFS가 게임이나 일부 프로그램에서 호환성 문제를 일으킬수 있다고 하니 꼭 호환성을 중시하는 프로그램이 있다면 FAT32로 그 파티션은 유지하는것이 좋다.

    (결론)NTFS방식은 FAT32방식에 비해 안정성,보안성,디스크단편화등이 우수하게 나타나지만 프로그램 액세스 속도면에선 FAT32방식보다 느리다.
    데스크탑등 서버용이 아닌 일반사용면에선 FAT32방식이 유리함을 알수있다.

    FAT32에서 NTFS로의 변환은 데이터를 그대로 유지한채 변환가능하지만 NTFS에서 FAT32로의 변환은 반드시 포맷하여야 함으로 변환을 결정할시 주의를 요한다.

    일부 질문난에 보니 NTFS에서 FAT32로 포맷이 잘안된다고 하는데 FDISK실행후 비도스영역 파티션을 삭제한후 파티션 설정을 하면 가능하다.
    윈도우즈를 쓰다보면 컴퓨터는 작업으로 계속 돌리면서 밖으로 나가거나

    다른 사정으로 컴퓨터를 만지지 못할 경우가 있다.

    그냥 켜두고 나가는 방법도 있지만 전기도 아깝고 찜찜한 기분도 들 것이다.

    이럴 때 간단한 방법으로 컴퓨터를 자신이 예약한 시간에 종료시킬 수 있다!


    ▷ 특별한 프로그램 필요없이 간단한 방법으로 시스템을 종료시킬 수 있다.

    시작 -> 실행을 누른 뒤 shutdown -s -t 시간지정 순으로 입력하면 된다.

    시간지정은 초로 계산되는데 예를 들면 shutdown -s -t 10 이라고 입력하면

    10초후에 컴퓨터가 종료된다는 소리다.

    한 시간 후에 종료시키려면 한 시간을 초로 바꿔야 한다.

    60초 x 60 = 3600초 가 되니 shutdown -s -t 3600 을 입력하면 된다.

    중간에 종료되는 것을 취소하고 싶다면 shutdown -a 를 입력하면 된다.
    shutdown -a 는 종료버그가 걸렸을때도 쓰면 타이머가 사라진다.
     

    2003에서도 됨..

    2000이나 me 에서 되려나 -_-a


    '#창고 > 컴퓨터 관리' 카테고리의 다른 글

    [윈도우] Netstat 명령어 사용법  (0) 2009.05.01
    [컴퓨터] 바이러스의 종류  (0) 2009.05.01
    [컴퓨터] FAT32 와 NTFS  (0) 2009.05.01
    [컴퓨터] USB 란 무엇인가  (0) 2009.05.01
    [HTML] HTML 태그 표  (0) 2009.05.01
    [HTML] RGB색상 코드  (0) 2009.05.01
    [Linux] VIM 사용방법  (0) 2009.05.01
    USB의 기초 - 일반사항
    1. USB란 무엇?
    USB란 Universal Serial Bus의 약어이다.
    CTI (Computer Telephony Integration)산업의 성장을 위하여 상호접속 (Interconnection)을 위한 간단한 방식을 제공하기 위하여 개발된 보편적 버스 규격이라고 할 수 있다.

    2. 누가 만들었는가?
    인텔, 마이크로소프트, 컴팩, IBM, NEC, DEC, Nortel 등
    정 보통신의 선두 7개 업체가 협의하여 개발하였으며, 진정한 플러그 앤 플레이 (PnP)를 위한 PC 주변장치의 Bus 규격으로서, 새로운 주변기기가 접속되었을 때 재부팅이나 셋업 과정 없이 자동인식으로 최대 127개의 장치를 연결할 수 있을 뿐더러 데이터 전송속도도 빠르게 향상된 것이다.

    3. USB의 Plug와 USB Port의 모양은?
    *) 셀러론이나 펜티어II 이상의 PC는 100% 가지고 있다고 보시면 됩니다.
    *) 최근 제조되는 PC는 주로 앞쪽에도 USB포트를 배치하고 있다.

    4. 한번에 연결할 수 있는 주변기기 수는?
    기술적으론 127개의 독립된 주변기기를 붙일 수 있다.
    하지만, 일부 주변기기는 USB 대역을 확보해야 하므로 실질적 연결은 이보다 적다.

    USB 인터페이스의 역사
    USB 는 CTI(컴퓨터와 전화의 통합)라고 알려진, 컴퓨터와 전화기를 통합하기 위한 간단한 방식을 제공하기 위하여 컴팩, DEC, IBM, 인텔, 마이크로소프트,NEC, Nortel의 7개 회사에 의해 개발된 보편적 버스 규격이라고 할 수 있다. 이 규약이 발전하여, PC에서 최대 127개의 주변 장치들을 쉽게 통합시키기 위한 개념으로 확장되어 USB1.0 규격으로 발표된 것이다. 이 규격에서 USB 기술에 대한 다음과 같은 주요한 목표를 갖게 된다. (USB의 홈페이지. www.usb.org )
    우 선 PC주변장치 확장의 쉬운 사용과 12Mbps의 전송을 지원하는 저가격의 해결책을 제시하고자 했으며, 음성과 압축된 비디오에 대한 실시간 데이터에 대한 완벽한 지원. 혼합된 모드의 동기 데이터전송과 비동기 메시지에 대한 규약상의 유연성과 유용한 장치기술에서의 통합성 그리고 다양한 PC구성과 형태요소의 이해, 제품으로의 빠른 확산을 가능케 하는 표준환경을 제공하고 PC성능을 증가시키는 새로운 장치의 개발 등이었다.

    이러한 목표로 인하여 결국 USB는 master/slave 개념과 호스트와 각 주변장치간의 직접적인 연결이나 허브를 통한 연결 하에서 작용하게 되었으며, 이는 기본적으로 시리얼버스 즉, 직렬버스 형태로 구성된다. 하지만 이는 우리가 PC에서 사용하는, 기본적인 RS-232 시리얼 환경과 혼동되는 것이 아니며, PCI 버스를 대체하는 것도 아니라는 점에 유의해야 한다.
    첫 목표였던 PC주변장치 확장의 쉬운 사용은, USB의 중요한 특색중의 하나로 컴퓨터의
    케이스를 여는 수고를 덜어주는 진정한 플러그앤플레이 개념을 사용하는 호스트 PC에
    주변장치를 쉽게 연결하거나 구성할 수 있게 된 것이다.

    이 로 인하여. 모든 연결되는 주변장치들은 호스트상의 직접적인 USB포트나 USB허브장치를 통해서 외부적으로 연결될 수 있으며, 이러한 주변장치들을 사용할 수 있도록 12Mbps의 Full speed와 1.5Mbps의 low speed를 가지게 되었다.

    이러한 USB 규격과 관련하여, 1994년 7개의 USB Core 회사들이 뭉쳐, 1995년 WinHEC
    (Windows Hardware Engineering Conference)와 USB-IF(USB implementers Forum)를 결성하였다.
    그 첫 성과로 1996년 1월15일 USB 1.0 규약이 발표되었으며, USB 첫 제품들이 컴덱스에 소개 되기에 이르렀다. 그러던 것이 1.0 규약의 문제점들을 해결하고 실제 사용할 수 있는 주변 장치들을 위해 1998년 9월 23일 USB 1.1 규약이 다시 발표되었다.

    이러한 USB 1.1 규약의 발표로 인하여 비로소 USB포트를 지원하는 칩셋들이 인텔이나 VIA, SiS, ALi 등과 같은 회사에서 출시되었고, 마더보드에 기본적으로 장착되기 시작했다. 하지만, 이러한 하드웨어상의 진전을 MS사의 윈도우가 지원하지 못하여 여러 가지 문제점을 낳았고, 윈도우95의 OSR 2.1에서 비로소 제대로 지원이 되기 시작했다. 그러나 좀 더 현실적으로 보면 윈도우98에서 부터 지원되었다고 보아야 하며, 윈도우98도 SE 버전에서 USB 주변장치들의 드라이버를 포함하는 주요한 버전업이 이루어져, 현재에 이르고 있다.


    USB의 장점
    USB가 널리 사용되고 있는 실질적인 장점은 사용이 편리하고 속도가 빠르다는 것이다.
    또 한 USB 주변기기는 부피와 무게가 작기 때문에 휴대가 간편하다는 이유로 USB 주변기기의 인기를 뒷받침하고 있다. 그런 이유로 노트북용 주변기기 중 상당수가 USB 인터페이스로 개발되고 있다. USB의 실질적인 장점을 살펴본다.

    1.핫 플러그 지원
    USB 주변기기는 핫플러그와 PnP 기능을 지원한다. 핫플러그 지원으로 컴퓨터에 전원이 켜져 있는 상태에서도 바로 연결할 수 있다. 기존의 주변기기는 주로 컴퓨터에 전원이 꺼져 있을 때 연결해야 했다. USB는 컴퓨터에 전원이 켜져 있는 상태에서 연결하면 바로 PnP 기능이 동작하여 자동으로 인식을 한다. 다른 장치의 경우에는 컴퓨터 전원을 껐다가 다시 켜야만 인식되지만 USB 주변기기는 연결 즉시 바로 인식된다. 그만큼 설치하기도 편리하고 사용하기도 편리하다.

    2.포트의 크기가 작고 127개의 주변기기 지원
    USB 주변기기를 연결할 수 있는 포트는 메인보드에서 제공된다. 초기에는 2개의 포트가 제공되는 것이 일반적이었으나, USB를 이용한 주변기기가 많아지면서 최근에는 4개의 포트를 지원하는 것이 일반적이다. 또 USB 허브라는 장치를 이용하면 포트를 여러 개로 확장 할 수 있어 편리하다. 최대 127개까지의 주변장치를 연결할 수 있다고는 하지만, 실제로 127개가 모두 한번에 연결되는 것은 아니고, 한허브등을 이용해야 하므로 실제는 이보다 적은수가 연결된다.

    3. 속도가 빠르며 커넥터가 작다.
    USB 주변기기는 속도가 빠르다. USB Version 1.1의 경우는 최대 12Mbps의 속도를, USB Version 2.0의 경우는 최대 480Mbps의 속도를 지원하므로 ZIP 드라이브와 같은 저장 매체에 사용되기 적합하다.
    V1.1의 경우는 실제로는 12Mbps의 속도가 지원되지는 않으므로 하드디스크나 CD-R 등을 연결하기에는 적합하지 않다. 그럼에도 불구하고 패러렐, 시리얼 포트보다는 속도가 빠르고 크기가 작다. 포트의 크기가 작기 때문에 USB 장치의 크기도 더불어 작아 휴대하기 편리하다는 장점을 가진다. V2.0의 경우는 빨라진 속도의 경우로 인하여 휴대형 저장장치 및 디지털카메라등 미디어 기기에도 널리 확장되어 사용된다.

    4. 세계적인 표준규격
    USB는 이와 같은 다양한 장점으로 인하여 세계적인 표준 규격으로 정해진지 오래이다.
    최근에 생산되는 메인보드나 주변기기는 USB 인터페이스를 지원하는 경우가 많다.
    신규로 생산되는 PC의 100%가 USB포트를 가지고 있다고 봐도 무리가 없다.

    5. 확장성 좋은 케이블
    SCSI 인터페이스가 여러 가지 장점을 갖고 있지만 실제로 SCSI 인터페이스에 여러 가지 주변장치들을 사용할 때에는 유의해야 할 점이 있다. 바로 케이블 문제이다. 최근 사용되는 울트라 와이드(Ultra Wide) SCSI의 경우 외장형으로 사용할 때 제한되는 케이블의 길이는 1.5m이다. 더욱이 케이블의 두께도 만만치 않다. USB의 케이블은 키보드나 마우스 케이블 굵기 정도밖에 되지 않으며, USB는 기본적으로 전원을 공급 할 수 있도록 되어 있다.

    6. 전원공급 기능 활용
    각 Port당 500mA의 전원을 공급할 수 있다. 저전력을 사용하는 장치들은 별도의 전원을 공급받을 필요가 없다.


    USB를 지원하는 주변기기 1
    USB의 장점과 세계적인 표준으로 인하여 최근에는 다양한 종류의 USB 주변기기가 생산되고 있다.

    < USB 통신장치 >

    USB 방식의 통신장치로는 모뎀이 대표적이다. 본래 모뎀은 ISA, PCI 방식을 사용한다. 단 이러한 모뎀은 내장형으로서, 외장형 방식의 모뎀으로는 시리얼 방식과 PCMCIA 방식이 있다. 최근에는 여기에 덧붙여 USB 방식이 있다. USB 모뎀은 휴대가 간편하고 별도의 전원 어댑터가 필요 없다는 장점이 있다. 물론 연결방법도 쉽다. 그 외의 통신장치로는 USB 허브와 USB 케이블이 있다.
    허브는 USB 포트를 여러 개로 확장시켜주는 것이며 케이블은 두 대의 PC를 연결해주는 장치이다.
    USB 케이블을 이용하면 별도의 랜카드 없이도 두 PC를 서로 연결하여 네트워킹을 할 수 있다.
    또 최근에는 USB 랜카드도 선을 보이고 있다.

    < USB 입력장치 >

    키 보드, 마우스, 조이스틱 등의 장치는 USB를 사용하는 장치로서 가장 이상적이다. 이들 장치는 별 도로 드라이버를 설치하지 않아도 바로 연결만 하면 사용이 가능하다. 또한 키보드, 마우스의 경우에는 PS/2 포트 에 연결된 키보드, 마우스와 함께 사용이 가능하다. 또 조이스틱의 경우에는 여러 개의 조이스틱을 연결해서도 사용 할 수 있다. 본래 조이스틱은 사운드 카드에서 제공되는 조이스틱 포트에 연결하며 물론 포트가 한 개이기 때문에 한 대의 조이스틱만 연결할 수 있다.
    그러나 USB 조이스틱을 사용하면 여러 개를 동시에 연결해 사용할 수 있다.

    < USB 저장장치 >

    빠 른 USB의 전송 속도로 인하여 USB 방식의 저장장치도 늘어가고 있다. CD-R, 하드디스크, ZIP 드라이브, 슈퍼디스크, 스마트 미디어 등이 USB 방식으로 제공되고 있다. 단 하드디스크의 경우에는 USB 전용 하 드디스크가 출시되는 것이 아니라 EIDE 하드디스크를 외장형 하드디스크 케이스에 장착하여 USB로 변환시켜주는 장치가 사용되고 있다. CD-R은 USB의 전송속도 한계로 인하여 4배속이 최대 한계이나, 상당히 안정적이라 평가받 고 있다. CD-R을 휴대하며 여러 컴퓨터에 장착하면서 사용해야 한다면 적당하다. ZIP 등의 저장매체는 USB로서는 훌륭한 선택이지만 가격이 다른 인터페이스에 비해 비싸다는 단점을 가진다.

    < USB 멀티미디어기기 >

    USB를 지원하는 멀티미디어 기기로는 TV 수신장치, 스피커, 동영상 캡쳐 카드 등이 있다.
    사 운드 카드도 USB 인터페이스로 출시되고 있다. 이러한 장치들의 장점은 음질이나 화질의 손실이 없다는 점이다. PCI 사운드카드의 경우에는 PC 내부의 여러 장치들로 인하여 노이즈가 생겨 음질이 떨어진다. 반면 USB 사운드카 드는 외부에서 케이블로 연결되므로 노이즈와 음질 저하가 없다. USB 방식의 라디오나 TV 수신카드도 역시 화질이 나 음질 저하가 없다. 이러한 장치들은 주로 노트북용으로 적합하며 휴대해면서 사용하기에도 적당하다


    USB 기초 - 속도 정의 및 USB 허브
    1. USB 전송속도 정의

    USB 2.0이 등장하면서 최대 전송속도는 480Mbps로 향상이 됐지만 버스 속도와 실제 디바이스가 데이터를 전송하는 속도는 달라지게 된다. USB 호스트는 각기 다른 디바이스들이 사용하는 파이프의 대역폭을 관리하는데 4가지(isochronous, interrupt, bulk, control )의 데이터 전송모드가 있다.
    전송속도는 크게 데이터를 전송하게 되는 버스가 얼마나 바쁜지(Busy, Idle)와 4가지 전송 모드 중 어떤 모드가 사용되고 있느냐에 따라 달라진다. 가장 최상의 상태는 bulk 고속 전송 모드로 약 99%의 대역폭을 사용해 초당 53MB의 속도로 데이터를 전송할 수 있다.

    저속모드(Low-Speed) : 1.5Mbps
    키보드, 마우스, 조이스틱등의 대화형 디바이스에 사용되며 초당 10∼100Kbit/sec의 전송 속도를 가진다. 평균적으로 저속모드는 1.5Mbps의 전송 속도를 가진다.

    풀모드(Full-Speed) : 12Mbps
    전화, 오디오, 비디오 압축 분야에 사용되며, 초당 500Kbit∼10Mbit의 전송속도를 가진다. 평균적으로 풀모드는 12Mbps로 주로 하드디스크, CD-ROM/ CD-RW, ZIP drive, 스캐너, 프린터등에 사용한다.

    고속모드(High-Speed) : 480Mbps
    높 은 대역폭이 필요한 비디오, 네트워크 및 저장 장치 분야에서 주로 사용되며 25∼480Mbps의 전송 속도를 갖는다. 기존 Full-Speed로 사용하던 CD-ROM/ CD-RW, ZIP drive, 스캐너, 프린터등의 분야에도 널리 사용될것으로 본다.


    2. USB 포트/허브 참고사항 / 이용시 주의사항
    허브라는 장치는 하나의 포트를 여러개로 확장 시켜주는 역할을 한다.
    USB 포트의 특징 중 하나가 별도의 전원 연결 없이 USB 포트에서 전원을 공급 받는다는 것이다.
    한 개의 USB Port에서 5V/500mA의 전원을 주변장치로 공급해 줄 수 있다. 컴퓨터 주변기기 중 많은 장치가 500mA 이하의 적은 전력으로도 동작이 가능하다. 따라서 한개의 USB포트에 USB허브를 연결해서 확장하여 다수의 주변기기를 사용할 수 있다.
    하지만 여러개의 주변장치를 HUB에 연결해서 사용할 경우 사용전류가 500mA이상으로 커지게 될경우 주변기기가 정상적으로 동작하지 않을 수도 있다.

    일 반적인 데스크탑 PC의 경우는 최대 약 600~700mA의 전류까지도 공급할 수 있도록 500mA보다 충분히 크게 설계되어 있습니다. 하지만 USB규격에 맞추어 500mA만 보장을 합니다. 그러므로 설계치보다 큰전류를 장시간 사용하게 되면 PC의 USB 포트가 손상을 입을 수 있습니다.

    실제 사용시 이점을 유의하시어 사용하시기 바랍니다.
    다량의 전류를 소모하는 주변기를 USB허브에 장착해서 사용하게될 경우는 전원 아답터가 별도로 부착된 모델을 사용하면 이 문제를 해결할 수 있습니다.


    USB(Universal Serial Bus) 2.0 이란?

    직렬버스로 최대 480Mbps까지 데이터를 전송할 수 있는 규격이다.
    기 존에 사용하던 USB 1.1 비해 상당한 성능향상이 있고, USB 1.1 장치들과 forward, backward 호환성을 유지하며 USB 1.1에 있던 Plug & Play 기능, 드라이버 자동 설치, 전원 관리 기능 등은 그대로 유지하고 있다. 즉 기존에 사용하던 USB 1.1 장치들을 수정 없이 그대로 USB 2.0환경에서 사용할 수 있다.

    1. USB2.0의 장점
    USB1.1 은 low speed 모드로 1.5Mbps, full speed 모드로 12Mbps를 지원한다., USB2.0은 low speed 모드와 full speed 모드를 지원하면서, 40배 빠른 최대 480Mbps를 지원하는 high speed 모드가 제공된다. 주요한 응용으로는 이러한 큰 밴드 폭을 필요로 하는 외장 저장장치, 고속 통신 망, 칼라 프린터, 스캐너 등에 사용된다. 또한 USB2.0은 USB1.1에 비해 성능이 향상 되었을 뿐 아니라 USB1.1 장치들과 forward 호환성과 backward 호환성을 제공하는 장점이 있다. 따라서 기존의 USB1.1 환경에서도 USB2.0 디바이스가 그대로 동작이 된다.

    2. USB2.0의 실제 전송 속도
    버 스 스피드와 실제 디바이스(장치)가 데이터를 전송하는 속도는 다르다. 전송속도(Data transfer rate)는 버스가 얼마나 바쁘냐(busy), 4가지 전송 모드 중 어떤 모드가 사용되고 있느냐에 달려있다. 최상의 상태는 high speed bulk transfer 모드로 약 90%의 버스 폭(Bandwidth)를 사용하여 53Mbyte/sec의 속도로 데이터를 전송할 수 있다.

    3. USB 1.1과 USB 2.0의 전송 속도
    기존의 USB 1.1은 low speed (1.5Mbps)와 full speed(12Mbps) 2가지 모드가 있으나 USB 2.0에서는 앞의 2가지 모드 외에 high speed(480Mbps)가 추가 되었다.

    4. USB1.1 장치들을 USB2.0 장치들과 공용 가능한지?
    USB2.0은 USB 1.1과 backward 호환성이 된다. 따라서 모든 USB1.1 장치들은 USB2.0장치들과 같이 사용할 수 있으나 USB 1.1 장치로서 동작된다.

    5. USB2.0 장치를 USB1.1 host controller에 사용 가능한지?
    USB2.0은 USB1.1과 forward 호환성이 된다. 따라서 USB1.1 host controller에 USB2.0장치를 연결하여 사용할 수 있으나, USB2.0의 장점인 최대 480Mbps의 속도는 낼 수 없다.

    6. USB2.0 Ready라고 표시된 제품은?
    디바이스는 USB2.0을 지원하나 OS가 아직 USB2.0 드라이버를 지원하지 않는 경우에 USB2.0 Ready라고 제품에 표시하고 있다.

    7. USB2.0 High Speed 모드로 동작하려면 무엇이 필요한가?
    호 스트 콘트롤러가 USB2.0을 지원해야 한다(EHCI즉 Enhanced Host Controller Interface 지원). PC본체에 내장 되었거나 별도로 PCI card 또는 Card bus(노트북 경우)로 설치하여야 함.
    호스트 콘트롤러에 사용하는 OS의 USB2.0용 드라이버가 있어야 함.
    USB2.0허브를 사용할 경우는 USB2.0용 허브 드라이버가 있거나 OS에서 지원 되어야 함.
    USB2.0 High Speed를 지원하는 장치가 연결되어야 함.
    이 상의 어느 하나가 만족 되지 않아도 USB2.0 high speed 모드에서 사용할 수 없다. 허브를 사용하지 않을 경우는 참고로 지원하고 있는 OS 환경으로는 Windows 98SE, Windows ME, Windows 2000, Windows XP이나 제품을 공급하는 제조사 마다 지원하는 OS가 다르다. 제품을 구입시 지원 OS를 필히 확인할 필요가 있으며 대부분 Windows 95, Windows NT는 지원하지 않는다. Mac의 경우는 Mac OS X에서는 USB2.0을 지원하나 Mac OS 8.6과 9.x의 환경에서는 USB2.0 디바이스가 USB1.1로만 동작된다.

    8. USB1.1 케이블을 USB2.0 환경에서 사용할 수 있는지?
    규격상으로는 동일하나 기존에 발매된 많은 케이블들은 USB1.1규격을 제대로 만족하는 케이블이 아니므로 기존의 USB1.1용 케이블을 USB2.0의 High speed에서 사용할 경우에는 조심 하여야 한다.

    9. USB1.1 장치들이 USB2.0환경에서 성능이 향상 되는지?
    USB1.1 장치들은 USB2.0환경에서 480Mbps로 동작하지는 않고 USB 1.1장치로서 동작된다. USB1.1장치와 USB2.0 장치들은 서로 혼재 되어 사용할 수 있으나 USB2.0 host controller나 USB2.0 hub에 USB2.0 장치를 연결할 경우만 USB2.0의 성능을 얻을 수 있다.

    10. USB2.0과 IEEE1394와 비교
    IEEE1394(Firewire. iLink)는 최대 400Mbps의 속도이고, IEEE1394b는 3.2Gbps의 이다. 어떤 주변기기는 양쪽의 어느 인터페이스를 사용할 수 있으나 두개의 버스는 서로 다른 목적으로 만들어 졌다. USB에서는 호스트가 모든 전송을 시작하고, 모든 전송은 하나의 목적지를 갖는다.
    IEEE1394는 주변기기들이 각각 서로 직접 통신을 할 수 있고 여러 개의 목적지를 가질 수 있다.

    11. USB2.0장치에 필요한 요소들
    모 든 USB 주변기기들은 버스의 통신을 관리하기 위하여 콘트롤러 칩과 Firmware가 필요하다. 또한 각 주변기기들은 low level드라이버와 application간에 통신을 관리하기 위한 device driver를 갖고 있어야 한다. USB2.0을 지원하는 호스트 컴퓨터는 호스트 컨트롤러 하드웨어와 OS와 함께 제공되는 소프트웨어 드라이버를 갖고 있어야 하나, 내장된(built-in) 드라이버로 동작되지 않는 장치는 자체 드라이버를 제공하여야 한다.


    USB 케이블 길이에 대해서
    USB 케이블의 길이에 대하여

    USB 표준에서 정의하는 Host 인 PC와 주변장치간의 최대 길이는 5M 입니다.
    5M 이상인 경우 주변장치의 종류나 제조사에 따라서 동작하지 않는 경우도 많습니다. 표준에서 보장하는길이가 5M이므로 5M 이상에서 동작하지 않았다고 해서 케이블이나 주변장치가 불량이라고 볼수는 없습니다. 동작을 해도 속도가 저하되거나 중간에 이상동작을 하는 경우가 발생할 수 도 있습니다.
    갖고 있는 주변장치가 5M 이상에서 정상적으로 동작하는지 안하는지는 대부분 직접 자신의 PC에 연결해서 시험해 보는 수밖에 없습니다. 제가 시험할때 보면 PC에 따라서도 될수도 있고 않되는 경우도 있었습니다.

    이 길이를 확장해주는 제품으로 "USB 리피터"라는 것이 있습니다. 5M마다 신호나 전원을 다시 중계해서 증폭해주는 역할을 한다고 보시면 됩니다. 하지만 이또한 가격이 2만원 정도이기 때문에 권할만 것이 못됩니다. 부득이 5M 이상에서도 사용하기 위해서는 적용할 수도 있겠지만, 제가 볼때는, 그렇게 먼거리에 있는 주변장치를 사용할 목적이라면 USB 방식이 아닌 다른 버스방식을 고려하는 것이 오히려 더 바람직한 방법이라고 보여집니다.

    특별히 긴 거리에 있는 장치를 사용하기 위하여 광케이블을 이용해서 대략 40m 까지 가능한 제품도 나왔있다고는 합니다.
    국내업체가 직접 개발한 것은 아니고, 외국업체인 것으로 압니다.
    www.usb.org에 가셔서 검색해 보시면 나와 있습니다.
    하지만 제 생각으로는 권할 만 한 것이 못됩니다.
    위 에서도 설명했다시피 차라리 랜케이블을 이용한 다른 방법등을 고려하시는게
    오히려 안정적이라고 보여집니다.
    물론 어쩔수 없이 USB를 써야할 경우에는 할 수 없지만요...
    직접 USB 케이블을 구입해서 직접 거리별로 테스트를 해보시는 방법밖에 없습니다.

    매월 수천, 수만개이상 대량으로 필요한 경우라면 직접 케이블 안의 구조를 바꿔가면서
    시험해가면서 직접 케이블 사양을 개발해서 사용해야 겠지요.
    (쉴드나, 케이블 심선 굵기, Pair로 된 데이터선의 단위길이당 꼬는 횟수등등...)


    USB 2.0 과 1.1 구별 방법
    아래 사진은 USB 2.0카드를 장착한 후의 장치관리자 내용을 나타낸것입니다.
    (제품은 VIA Chip을 사용한 것입니다.)

    제어판 시스템에서 보면 유니버설 직렬 버스 (USB) 컨트롤러 세부 항목중에 맨아래
    "USB 2.0 Enhanced Host Controller" 라고 된 항목이 있으면 이 PC는 USB 2.0을 지원하는 것입니다.
    그냥 일반인들이 보는 포트 모양은 동일합니다.
    USB 케이블의 경우에는 특별히 케이블에 USB Version 2.0 이라고 인쇄되어 있는 제품들이 있습니다.


    <출처 : http://www.usbport.co.kr/ >

    '#창고 > 컴퓨터 관리' 카테고리의 다른 글

    [컴퓨터] 바이러스의 종류  (0) 2009.05.01
    [컴퓨터] FAT32 와 NTFS  (0) 2009.05.01
    [컴퓨터] Windows XP 예약종료 방법  (0) 2009.05.01
    [HTML] HTML 태그 표  (0) 2009.05.01
    [HTML] RGB색상 코드  (0) 2009.05.01
    [Linux] VIM 사용방법  (0) 2009.05.01
    [Linux] 리눅스 설치시 꼭 알아야할 10가지  (0) 2009.05.01

    H2.0 : HTML 2.0 표준 태그
    H3.2 : HTML 3.2 표준 태그
    N : Netscape에서만 지원
    IE : Internet Explorer에서만 지원
    EX : 확장태그

    태그 이름 태그 설명 버젼
    <A> 하이퍼링크를 작성 H2.0
    href="URL" 하이퍼링크로 호출되는 파일 H2.0
    name="이름" 중간 부분을 지정하기 위한 HTML 도큐먼트 부분 명명. 이 이름은 또 다른 <A>태그의 href= 속성에 사용될 수 있다. H2.0
    target="프레임 이름" , "_blank" , "_parent" , "_self" "_top" 프레임과 함께 사용되는 파일이 디스플레이되어야 할 프레임이나 윈도우를 나타냄 EXT
    <APPLET> 페이지에 자바 애플릿을 삽입 H3.2
    align="left" , "right" , "top" , "middle" "bottom" 에플릿의 출력 내용이 윈도우에 정렬되는 상태 H3.2
    alt="텍스트" 애플릿이 제대로 로드되지 않을 경우에 표시되는 텍스트 H3.2
    code="URL" 자바 애플릿의 이름 H3.2
    codebase="URL" 에플릿이 저장되어 있는 디렉토리 H3.2
    height=수치,width=수치 애플릿의 출력 내용의 가로와 세로 픽셀 크기 H3.2
    hspace=수치, vspace=수치 애플릿과 그 주변 텍스트 사이의 가로와 세로 공간으로, 픽셀값으로 나타냄 H3.2
    name=명칭 페이지상의 다른 에플릿들이 이 에플릿을 참조할 수 있는 이름 H3.2
    <AREA> <MAP>태그로 제작된 이미지 맵 내에 링크 영역을 지정 H3.2
    alt="텍스트" 텍스트 브라우저에 표시될 텍스트 H3.2
    coords="좌표1.좌표2,좌표3..." 영역의 경계선에 대한 좌표(각 형태는 좌표들을 지정하는데 나름대로의 규칙이 있다.) H3.2
    href="URL" 링크된 파일의 URL H3.2
    nohref 링크를 갖고 있지 않도록 하는 영역을 정의 H3.2
    shape="rect" , "circle" , "poly" 정의될 형태의 유형 H3.2
    target="프레임" , "_blank" , "_parent" , "_self""_top" 프레임과 함께 사용되는, 링크된 파일이 표시되어야 하는 프레임이나 윈도우의 이름을 나타냄 EXT
    <B> 볼드체로 설정할 텍스트를 표시 H2.0
    <BASEFONT> 제목에 이용되는 기본 글꼴 지정 EXT
    color="#RRGGBB" 또는 "색이름" 텍스트의 색상으로, 16진수의 RGB값이나 색상명으로 나타냄 EXT
    face="글꼴명" 글꼴 이름 EXT
    size="크기" 1에서 7까지의 글자크기. 3이 초기값임. 1에서7까지는 절대 수치이고, -1에서 +3까지는 상대크기. N
    <BGSOUND> 파일이 로드될 때, 음악이 재생됨 IE
    loop=수치 or "infinite" 사운드 클립이 반복되는 횟수 IE
    src="URL" 사운드 파일의 URL IE
    <BIG> 큰 크기로 텍스트를 나타냄 H3.2
    <BLOCKQUOTE> 들여 쓴 텍스트를 나타냄 H2.0
    <BODY> 브라우저에 표시될 부분을 지정 H2.0
    alink="#RRGGBB" or "색이름" 클릭된 링크의 색상, 16진수의 RGB값이나 색이름 H3.2
    background="URL" 배경으로 사용될 그래픽 파일 H3.2
    bgcolor="#RRGGBB" or "색이름" 배경색 H3.2
    bgproperties="fixed" 배경 이미지가 스크롤되지 않음 IE
    leftmargin=수치 왼쪽 여백 크기, 픽셀 수 IE
    link="#RRGGBB" or "색이름" 하이퍼 링크의 색상 H3.2
    text="#RRGGBB" or "색이름" 일반적 텍스트의 색상 H3.2
    topmargin=수치 상단의 여백, 픽셀수 IE
    vlink="#RRGGBB" or "색이름" 방문한 링크의 색상 H3.2
    <BR> 행분리 H2.0
    <CENTER> 가운데 정렬 H3.2
    <CITE> 인용문을 설정 H2.0
    <CODE> 컴퓨터 코드로 텍스트를 나타냄 H2.0
    <DD> 정의 목록에서 정의문으로 설정될 텍스트를 나타냄(<DL> 과<DT>와 함께 사용해서) H2.0
    <DFN> 정의문을 설정 H3.2
    <DIR> 세로 방향으로 놓여지는 리스트를 만든다(20항목까지) H2.0
    <DIV> 요소들의 세트를 그룹짓는데, 그 속성들을 적용시킴 H3.2
    align="left" , "right" , "center" 픽셀 수로 나타낸 상단의 여백 H3.2
    <DL> 정의 목록을 만든다 H2.0
    <DT> 정의 목록에서 용어로서 설정될 텍스트를 나타냄 H2.0
    <EM> 강조될 텍스트를 나타냄 H2.0
    <EMBED> 페이지에 플러그 인을 삽입 EX
    height=수치, width=수치 가로와 세로 크기, 픽셀값 EX
    name="이름" 다른 오브젝트들이 이것을 참조하는데 사용되는 이름 EX
    param="값" 프로그램에서 매개 변수로 지정되는 값 EX
    src="URL" 플러그 인이 디스플레이할 파일 EX
    <FONT> 특별한 글자 속성으로 텍스트를 나타냄 H3.2
    color="#RRGGBB"또는 "색이름" 텍스트의 색, 16진수의 RGB값이나 색상명 H3.2
    face="글꼴명" 글꼴 이름 EX
    size="크기" 1에서 7까지의 글자 크기, 초기값은 3
    -1에서 +3은 상대적인 크기임
    H3.2
    <FORM> 폼을 작성함 H2.0
    action="URL" 전송 버튼을 클릭하면,작동되고, 양식 데이터가 보내져야 하는 스크립트 H2.0
    method="get" , "post" 데이터를 보내는 방식을 규정 H2.0
    <FRAME> 프레임 세트 내의 각각의 프레임의 속성들을 규정 EX
    frameborder=1 , 0 or "yes" , "no" 프레임 주위에 테두리를 설정하거나(1또는 yes)삭제해 버림(0또는 no).(MS사의 브라우저는 숫자를 사용하고,Netscape는 단어를 사용.) EX
    marginheight=수치 프레임들 사이의 공간으로, 픽셀값으로 나타냄. EX
    marginwidth=수치 프레임내에 여백을 만든다(픽셀값으로 규정) EX
    name="이름" 프레임에 대한 타겟명(<A >와 <AREA>태그를 사용하여 그 특정 프레임으로 강조된 파일들을 보냄) EX
    noresize 유저가 프레임 크기를 바꾸지 못함 EX
    scrolling="yes" ,"no" , "auto" 스크롤 바를 포함시키거나 없애 버림. 초기값에("auto")은 프레임의 내용들이 테두리 밖으로 넘어갈 때만 스크롤 바가 나타남 EX
    src="URL" 프레임에 놓여질 파일의 URL EX
    <FRAMESET> 프레임 세트를 만드는 태그들을 표시 EX
    cols="col1,col2,col3..." "단" 세트로서 프레임세트를 설정. 단의 세트는 각각에 폭을 지정하여 나타냄. 폭은 픽셀값으로 지정되는데, 윈도우 크기에 대한 백분율로 또는 그 단이 나머지 공간을 차지한다는 표시인 별표(*)로서 나타냄.한 개 이상의 단이 별표로 지정되면, 그 공간은 균일하게 그 단의 수로 나뉘게 된다. EX
    rows="row1,row2,row3..." "열"의 세트로서 프레임 세트를 설정. 열의 세트는 각각의 높이를 지정하여 나타냄. 높이는 픽셀값으로 지정되는데, 윈도우 크기에 대한 백분율 또는 그열이 나머지 공간을 차지한다는 표시인 별표(*)로서 나타냄. 한개 이상의 단이 별표로 지정되면 그 공간은 균일하게 그 단의 수로 나뉘게 된다. EX
    frameborder=1 , 0 or "yes" , "no" 프레임 세트 주위에 테두리를 설정하거나(1또는 yes)없애 버림(0또는 no)(MS사의 브라우저는 수치를 사용하고, Netscape사 것은 단어를 사용.) EX
    <H1> 텍스트 1단계 제목으로 나타냄(가장 큰 제목 크기) H2.0
    <H2> 텍스트 2단계 제목으로 나타냄 H2.0
    <H3> 텍스트 3단계 제목으로 나타냄 H2.0
    <H4> 텍스트 4단계 제목으로 나타냄 H2.0
    <H5> 텍스트 5단계 제목으로 나타냄 H2.0
    <H6> 텍스트 6단계 제목으로 나타냄 H2.0
    <HEAD> HTML 문서의 제목 태그를 나타냄 H2.0
    <HR> 가로 괘선을 만든다 H2.0
    align="left"또는 "right" 또는 "center" 문서에서 괘선의 정렬 상태 H3.2
    color="#RRGGBB" 또는 "색이름" 괘선의 색, RGB값이나(16진수) 색이름 IE
    noshade 괘선에 대한 초기값인 3D음영을 없앰 H3.2
    size=수치 괘선의 길이, 픽셀값 H3.2
    width=수치 괘선의 폭, 픽셀값 H3.2
    <HTML> HTML 문서임을 나타냄 H2.0
    <I> 이탤릭체로 텍스트를 나타냄 H2.0
    <IMG> 이미지나 비디오 클립을 삽입 H2.0
    align="top" , "middle" , "bottom" , "left" , "right" , "center" 문서속에서 이미지나 비디오 클립의 정렬상태 H3.2
    alt="텍스트" 텍스트 전용 브라우저나 제대로 로드되지 않을 경우에 표시될 텍스트 H2.0
    border=수치 테두리의 폭, 픽셀값(초기값은 border=1) H3.2
    controls 비디오 조절, dynsrc=과 함께 사용됨 IE
    dynsrc="URL" 삽입될 AVI파일을 지정 IE
    height=수치,width=수치 이미지나 비디오 클립의 가로와 세로 크기, 픽셀값 H3.2
    hspace=수치,vspace=수치 주변 텍스트와 사이의 가로와 세로 공간, 픽셀값 H3.2
    ismap 이미지가 서버 측 이미지 맵임을 지정 H2.0
    loop=수치 또는 "infinite" dynsrc=와 함께 사용, 비디오 클립이 반복되는 횟수 IE
    src="URL" 삽입될 이미지의 URL H2.0
    start="fileopen" , "mouseover" dynsrc=와 함께 사용, 비디오 클립이 작동되게 해주는 이벤트 IE
    uesmap="#이름" 클라이언트 측 이미지 맵으로 사용될 맵의 명칭, 이 이름은 <MAP> 태그의 name=속성이 지정하는 것이다 H3.2
    <INPUT> 폼내에 입력 요소를 만든다 H2.0
    type="text" , "button" , "checkbox" , "radio" , "submit" , "image" , "reset" , "hidden" 삽입할 입력 요소의 유형 H2.0
    checked type=checkbox, radio에 대하여, 초기값으로 선택해 놓을 상자나 버튼을 지정 H2.0
    maxlength="길이" type=text에 대하여, 엔트리의 최대 길이, 글자 수 H2.0
    name="이름" 입력 내용이 CGI 등으로 보내질 때 변수명으로 사용되는 제어의 이름
    type=radio에 대하여, 그룹내의 모든 라디오 버튼들은 똑같은 이름을 갖고 있음
    H2.0
    size="크기" type=text에 대하여, 텍스트 상자의 길이 H2.0
    src="URL" type=image에 대하여, 버튼으로 사용되는 이미지를 나타냄 H2.0
    value="이름" type=checkbox : 상자가 체크되면 보내지는 변수 값.
    type=text : 텍스트 란에 들어 있는 초기 값.
    type=submit, reset, button : 버튼 위에 표시된 텍스트
    H2.0
    <KBD> 키보드 입력으로 설정될 텍스트 H2.0
    <LI> 목록에 새로운 항목을 만든다(<DIR>,<MENU>,<OL>,<UL>과 사용) H2.0
    type="A" , "a" , "I" , "i" , "disc" , "circle" , "square" 항목에 대한 수치나 방점 스타일을 지정 EX
    value=수치 <OL>과 함께 사용되는데, 그 항목에 대한 수치 EX
    <MAP> 클라이언트 측 이미지 맵 지정 (<IMG>태그의 usemap=속성으로 참조) H3.2
    name="이름" 맵에 이름을 붙여 줌 H3.2
    <MARQUEE> 화면위로 텍스트를 스크롤 IE
    align="top" , "middle" , "bottom" 문서에서의 정렬 상태를 지정 IE
    behavior="scroll" , "slide" , "alternate" 스크롤 행동을 지정:"scroll"(초기값)은 화면의 한쪽 끝에서 반대쪽 너머로 스크롤되고, "slide"는 반대쪽에 도달할 때까지 스크롤되며, "alternate"는 앞뒤로 스크롤 된다. IE
    bgcolor="#RRGGBB" or "색상명" 배경색 지정, RGB값이나 색상명을 사용 IE
    direction="left" , "right" 스크롤 방향 IE
    height=수치 or %, weight=수치 or % 가로와 세로 크기, 픽셀값이나 화면 높이에 대한 백분율 IE
    hspace=수치, vspace=수치 주변 텍스트 사이의 가로와 세로 공간, 픽셀값 IE
    loop=수치 or "infinite" 스크롤이 반복되는 횟수 IE
    scrollamount=수치 스크롤 단위, 픽셀값 IE
    scrlldelay=수치 스크롤되는 시간으로,1/1000초 단위 IE
    <MENU> 메뉴 목록을 만든다 H2.0
    <META> HTML 문서에 대한 일반적 정보를 제공 H2.0
    content="값" HTTP 행동을 위해 http-squiv으로 지정된 용도의 값. 자동 페이지 로드시 기다리는 시간을 초 단위로 나타냄 EX
    http-equiv="http 행동" 규정해 놓아야 할 HTTP행동. 자동 페이지 로딩시에는, http-equiv="refresh"를 사용 EX
    url="URL" http-equiv="refresh"와 함께 사용되는데, 다음에 로드될 파일을 나타냄 EX
    <MULTICOL> 다단에 설정될 텍스트 N
    cols=수치 단의 수 N
    gutter=수치 단들 사이의 간격, 픽셀값 N
    width=수치 단의 폭, 픽셀값 N
    <NOBR> 행분리시켜서는 안될 요소들을 연결 EX
    <NOEMBED> 플러그 인을 지원하지 않는 브라우저들에 표시될 내용을 나타냄. EX
    <NOFRAMES> 프레임을 지원하지 않는 브라우저들에 표시될 내용을 나타냄. EX
    <NOSCRIPT> 스크립트 언어를 지원하지 않는 브라우저들에 표시될 것을 나타냄. EX
    <OBJECT> 이미지, 매체 파일, 프로그램 등의 오브젝트를 삽입 EX
    align="left" , "right" , "center" , "top" , "middle" , "bottom" 문서에서 오브젝트의 정렬 상태 EX
    border=수치 오브젝트 주위의 테두리의 폭, 픽셀값 EX
    classid="class 지정자" 플러그 인이나 프로그램에 대한 지정(삽입될 오브젝트의 유형에 따라 달라짐) EX
    codebase="URL" 프로그램을 담고 있는 디렉토리 EX
    codetype="MIME 유형" 프로그램의 MIME 유형 EX
    data="URL" 페이지에 삽입될 오브젝트의 URL EX
    height=수치,width=수치 오브젝트의 가로와 세로 크기, 픽셀값 EX
    hspace=수치,vspace=수치 오브젝트와 주변 텍스트 사이에 가로와 세로 간격, 픽셀값 EX
    name="이름" 다른 프로그램들이 그 오브젝트를 참조하는데 사용하는 이름 EX
    shapes 이미지 맵에서처럼 오브젝트가 하이퍼 링크 형태가 되도록 지정 EX
    standby="텍스트" 오브젝트가 로드되는 동안에 디스플레이되는 텍스트 EX
    type="MIME 유형" 오브젝트의 MIME유형. EX
    usemap="이름" 클라이언트 측 이미지 맵의 이름. EX
    <OL> 번호가 붙은 목록을 만든다 H2.0
    type="A" , "a" , "I" , "I" 번호의 종류를 지정: A는 대문자, a는 소문자, I는 대문자형의 로마숫자, i는 소문자형의 로마 숫자. H3.2
    start=숫자 시작번호를 지정 H3.2
    <OPTION> 메뉴에 옵션을 만든다, <SELECT>태그 뒤에 사용 H2.0
    selected 초기값으로 선택될 옵션을 지정 H2.0
    value="텍스트" 옵션을 선택하면 보내지는 값 H2.0
    <P> 단락 분리 H2.0
    align="left" , "right" , "center" 문서에서의 단락의 정렬 상태 H3.2
    <PARAM> 프로그램에 매개 변수를 전달, <OBJECT>나<APPLET> 태그와 함께 사용됨 H3.2
    name="명칭" 값이 배정될 매개변수의 이름 H3.2
    value="값" 매개 변수의 값 H3.2
    valuetype="data" , "ref" , "object" 값이 해석되는 방법을 나타냄:data는 초기값이고, ref는 URL,object는 같은 도큐먼트에서의 오브젝트의 URL H3.2
    type="MIME유형" 데이터의 MIME 유형 H3.2
    <PRE> 태그가 무시된 텍스트를 나타냄 H2.0
    <S> 밑줄체 텍스트 (<STRIKE>와 동일) H2.0
    <SAMP> 견본으로 설정될 텍스트를 나타냄 H2.0
    <SCRIPT> 스크립트 언어를 나타냄 H3.2
    language="명칭" 스크립트가 쓰여질 언어를 지정 H3.2
    scr="URL" 외부 스크립트 파일을 지정 N
    <SELECT> 선택 메뉴를 만든다 H2.0
    Multiple 스크롤 메뉴에 복수 선택 기능을 H2.0
    name="이름" 입력내용이 CGI 등 으로 보내질 때 변수명으로 사용되는 이름을 만든다 H2.0
    size="크기" 지정된 크기로 스크롤 메뉴를 만든다 H2.0
    <SMALL> 작은 크기로 텍스트를 나타냄 H3.2
    <SPACER> 페이지에 빈 공간을 만든다 N
    align="left" , "right" type=block 일때 ,공간 주위의 왼쪽이나 오른쪽을 텍스트로 둘러쌈 N
    height=수치, width=수치 type=block 일때 ,빈 공간의 가로와 세로크기, 픽셀값 N
    size=수치 type=horizontal , type=vertical 일때 , 빈공간의 크기, 픽셀값 N
    type="horizontal" , "vertical" , "block" horizontal은 현재 행에 공간을 만들어 주고, vertical은 다음 항목 위에 세로로 공간을 만들어 주며, block은 사각형의 공간을 만든다 N
    <STRIKE> 밑줄체 텍스트 (<S>와 동일) H3.2
    <SUB> 아래첨자로 텍스트를 나타냄 H3.2
    <SUP> 위첨자로 텍스트를 나타냄 H3.2
    <TABLE> 테이블 지정 H3.2
    align="left" ,"right" ,"center" 문서에서의 정렬 상태를 지정 H3.2
    bgcolor="#RRGGBB" or "색이름" 표의 배경색 EX
    border=수치 행의 테두리의 두께, 픽셀값 H3.2
    bordercolor="#RRGGBB" or "색이름" 테이블의 테두리 색 IE
    cellpadding=수치 각 셀의 테두리와 그 내용 사이의 간격, 픽셀값 H3.2
    cols=수치 테이블에서 단의 수 H3.2
    width=수치 또는 % 테이블의 전체 폭으로, 픽셀값이나 윈도우 크기에 대한 백분율로 지정 H3.2
    <TD>,<TH> 테이블의 셀에 들어갈 데이터<TD>와 제목<TH>를 나타냄 H3.2
    align="left" , "right" , "center" 셀에서의 데이터의 정렬 상태를 지정 H3.2
    bgcolor="#RRGGBB" or "색이름" 셀의 배경색 EX
    bordercolor="#RRGGBB" or "색이름" 셀의 테두리 색 IE
    colspan=수치 셀이 펼쳐져 있는 단의 수 H3.2
    height=수치 표의 셀의 높이로, 픽셀값으로 나타냄 H3.2
    nowrap 셀에서 행을 감싸지 못하게 함 H3.2
    rowspan=수치 셀이 펼쳐져 있는 행의 수 H3.2
    valign="top" , "middle" , "bottom" , "baseline" 셀의 테두리에 대한 셀의 내용들의 세로 정렬 상태 H3.2
    width=수치 셀의 폭으로, 픽셀값이나 표의 크기에 대한 백분율로서 지정 H3.2
    <TEXTAREA> 여러 행의 텍스트 입력란을 만든다 H2.0
    cols=수치, rows=수치 텍스트 영역의 폭(row)과 높이(cols) H2.0
    name="이름" 텍스트 영역의 이름으로, 입력 내용을 CGI로 보내질 때 변수 이름으로 사용됨 H2.0
    <TR> 테이블에서 새로운 행을 만든다 H3.2
    align="left" 또는"right" or "center" 가로 방향으로 높여진 셀들의 내용들의 정렬 상태 H3.2
    bgcolor="#RRGGBB" or "색이름" 표의 행의 배경색 EX
    bordercolor="#RRGGBB" or "색상명" 행의 테두리 색상 IE
    valign="top" , "middle" , "bottom" , "baseline" 셀의 테두리에 대한 행의 내용들의 세로 정렬 상태 H3.2
    <TT> 고정 크기 서체로 텍스트를 나타냄 H2.0
    <U> 밑줄이 쳐질 텍스트를 나타냄 H2.0
    <UL> 방점이 찍힌 무순서 리스트를 만든다 H2.0
    type="disc" , "circle" , "square" 방점의 형태 EX
    <VAR> 변수로 설정될 텍스트를 나타냄 H2.0

    인용 사이트 http://www.dadream.co.kr/~bogus

    원하는 색깔을 드래그해서 복사하십시오.
    #93DAFF #98DFFF #9DE4FF #A2E9FF #A7EEFF #ACF3FF #B0F7FF #B4FBFF #B9FFFF #C0FFFF
    #87CEFA #91D8FA #A5D8FA #AFDDFA #B9E2FA #C3E7FA #CDECFA #D7F1FA #E1F6FA #EBFBFF
    #00BFFF #0AC9FF #14D3FF #1EDDFF #28E7FF #32F1FF #3CFBFF #46FFFF #96FFFF #C8FFFF
    #00A5FF #00AFFF #00B9FF #00C3FF #00CDFF #00D7FF #00E1FF #00EBFF #00F5FF #00FFFF
    #1EA4FF #28AEFF #32B8FF #3CC2FF #46CCFF #50D6FF #5AE0FF #6EE0FF #6EEAFF #78F3FF
    #1E90FF #289AFF #32A4FF #3CAEFF #46B8FF #50C2FF #5ACCFF #64D6FF #6EE0FF #78EAFF
    #96A5FF #A0AFFF #AAB9FF #B4C3FF #BECDFF #C8D7FF #D2E1FF #DCEBFF #E8F5FF #F4FFFF
    #86A5FF #90AFFF #9AB9FF #A4C3FF #AECDFF #B8D7FF #CCE1FF #E0EBFF #EBF5FF #F9FFFF
    #6495ED #6E9FED #78A9ED #82B3ED #8CBDED #96C7ED #A0D1F7 #AADBFF #B4E5FF #BEEFFF
    #0078FF #0A82FF #148CFF #1E96FF #28A0FF #32AAFF #3CB4FF #46BEFF #50C8FF #5AD2FF
    #0064FF #0A6EFF #1478FF #1E82FF #288CFF #3296FF #3CA0FF #46AAFF #50B4FF #5ABEFF
    #0000FF #3232FF #5050FF #646EFF #6478FF #6482FF #648CFF #6496FF #64A0FF #64AAFF
    #4169E1 #4B73E1 #557DE1 #5F87E1 #6991E1 #739BE1 #7DA5E1 #87AFEB #91B9F5 #9BC3FF
    #0064CD #0A6ECD #1478CD #1E82CD #288CD2 #3296D7 #3CA0E1 #46AAEB #50B4F5 #5ABEF5
    #5A5AFF #6464FF #6E6EFF #7878FF #8282FF #8C8CFF #A0A0FF #B4B4FF #C8C8FF #D2D2FF
    #7B68EE #8572EE #8F7CEE #9986EE #A390EE #AD9AEE #B7A4EE #C1AEEE #CBB8EE #D5C2EE
    #6A5ACD #7E6ECD #8878CD #9282CD #9C8CCD #A696CD #B0A0CD #BAAAD7 #C4B4E1 #CEBEE1
    #0000CD #2828CD #4646CD #6464CD #6E6ED7 #7878E1 #8282EB #8C8CF5 #9696FF #A0A0FF
    #00008C #14148C #28288C #3C3C8C #50508C #646496 #7878AA #8C8CBE #A0A0C8 #B4B4DC
    #483D8B #52478B #5C518B #665B8B #70658B #7A6F95 #84799F #8E83A9 #988DB3 #A297BD
    #000069 #1E3269 #323C73 #3C467D #3C5087 #3C5A91 #46649B #506EA5 #5A78AF #6482B9

     

    #3DFF92 #47FF9C #51FFA6 #5BFFB0 #65FFBA #6FFFC4 #79FFCE #75FFCA #7AFFCF #7FFFD4
    #55EE94 #5FEE9E #69EEA8 #73EEB2 #7DEEBC #87EEC6 #91F8D0 #9BFFDA #A5FFE4 #AFFFEE
    #66CDAA #70D2B4 #7AD7BE #84DCC8 #8EE1D2 #98EBDC #9DF0E1 #A2F5E6 #A7FAEB #ACFFEF
    #AAEBAA #B4F0B4 #BEF5BE #C8FAC8 #D2FFD2 #DCFFDC #E1FFE1 #E6FFE6 #EBFFEB #F0FFF0
    #80E12A #8AE634 #94EB3E #9EF048 #A8F552 #B2FA5C #BCFF66 #C1FF6B #C6FF70 #CBFF75
    #52E252 #5CE75C #66EC66 #70F170 #7AF67A #84FB84 #89FB89 #8EFB8E #93FB93 #98FB98
    #64CD3C #6ED746 #78E150 #82EB5A #8CF064 #96F56E #9BFA73 #A0FA78 #A5FA7D #AAFA82
    #13C7A3 #18CCA8 #1DD1AD #22D6B2 #27DBB7 #2CE0BC #31E0C1 #36E0C6 #3BE0CB #40E0D0
    #46B4B4 #50BEBE #5AC8C8 #64D2D2 #6EDCDC #73E1E1 #78E6E6 #7DEBEB #82F0F0 #87F5F5
    #20B2AA #2ABCB4 #34C6BE #3ED0C8 #48DAD2 #52E4DC #57E9E1 #5CEEE6 #61F3EB #66F8F0
    #5F9EA0 #69A8AA #73B2B4 #7DBCBE #87C6C8 #91D0D2 #96D5D7 #9BDADC #A0DFE1 #A5E3E6
    #3CB371 #46BD7B #50C785 #5AD18F #64DB99 #6EE5A3 #73EAA8 #78EFAD #7DF4B2 #82F9B7
    #2E8B57 #389561 #429F6B #4CA975 #56B37F #60BD89 #65C28E #6AC793 #6FCC98 #74D19D
    #228B22 #2C952C #369F36 #40A940 #4AB34A #54BD54 #5EC75E #63CC63 #68D168 #6DD66D
    #497649 #538053 #5D8A5D #679467 #719E71 #7BA87B #80AD80 #85B285 #8AB78A #8FBC8F
    #006400 #0A6E0A #147814 #1E821E #288C28 #329632 #3CA03C #41A541 #46AA46 #4BAF4B
    #008C8C #0A9696 #14A0A0 #1EAAAA #28B4B4 #32BEBE #37C3C3 #3CC8C8 #41CDCD #46D2D2
    #008080 #0A8A8A #149494 #1E9E9E #28A8A8 #32B2B2 #37B7B7 #3CBCBC #41C1C1 #46C6C6

     

    #FFB6C1 #FFBBC6 #FFC0CB #FFC5D0 #FFCAD5 #FFCFDA #FFD4DF #FFD9E4 #FFDEE9 #FFE3EE
    #FFAAAF #FFB4B9 #FFBEC3 #FFC8CD #FFD2D7 #FFDCE1 #FFE1E6 #FFE6EB #FFEBF0 #FFF0F5
    #FF9E9B #FFA8A5 #FFB2AF #FFBCB9 #FFC6C3 #FFD0CD #FFD5D2 #FFDAD7 #FFDFDC #FFE4E1
    #FF7A85 #FF848F #FF8E99 #FF98A3 #FFA2AD #FFACB7 #FFB1BC #FFB6C1 #FFBBC6 #FFC0CB
    #FF5675 #FF607F #FF6A89 #FF7493 #FF7E9D #FF88A7 #FF92B1 #FF9CBB #FFA6C5 #FFB0CF
    #FF82FF #FF8CFF #FF96FF #FFA0FF #FFAAFF #FFB4FF #FFBEFF #FFC8FF #FFD2FF #FFDCFF
    #FF7DB4 #FF87BE #FF91C8 #FF9BD2 #FFA5DC #FFAFE6 #FFB4EB #FFB9F0 #FFBEF5 #FFC3FA
    #FF69B4 #FF73BE #FF7DC8 #FF87D2 #FF91DC #FF9BE6 #FFA5F0 #FFAAF5 #FFAFFA #FFB4FF
    #FF1493 #FF1E9D #FF28A7 #FF32B1 #FF3CBB #FF46C5 #FF50CF #FF5AD9 #FF64E3 #FF6EED
    #DB7093 #DB7A9D #DB84A7 #E08EB1 #E598BB #EAA2C5 #EAB1D4 #EFACCF #F4BBDE #F4B6D9
    #D7567F #DC6089 #E16A93 #E6749D #EB7EA7 #F088B1 #F592BB #FA9CC5 #FFA6CF #FFB0D9
    #C71585 #C71F8F #C73399 #C73DA3 #CC47AD #D151B7 #D65BC1 #E065CB #EA6FD5 #F479DF
    #CD1039 #CD1F48 #CD2E57 #CD3861 #CD426B #D24C75 #D7567F #DC6089 #E16A93 #E6749D
    #B9062F #B91A4D #BE2457 #C32E61 #C8386B #CD4275 #D24C7F #D75689 #DC6093 #E16A9D

     

    #FAEB78 #FAF082 #FAF58C #FAFA96 #FAFAA0 #FAFAAA #FAFAB4 #FAFABE #FAFAD2 #FAFAD2
    #FFDC3C #FFE146 #FFE650 #FFEB5A #FFF064 #FFF56E #FFFA78 #FFFA82 #FFFF8C #FFFF96
    #FFC81E #FFD228 #FFD732 #FFDC3C #FFE146 #FFE650 #FFEB5A #FFF064 #FFF56E #FFF978
    #FFB400 #FFBE0A #FFC314 #FFC81E #FFCD28 #FFD232 #FFD73C #FFDC46 #FFE150 #FFE65A
    #FDCD8C #FDD296 #FDD7A0 #FDDCAA #FDE1B4 #FDE6BE #FDEBC8 #FDF5D2 #FDF5DC #FDF5E6
    #FAC87D #FACD87 #FAD291 #FAD79B #FADCA5 #FAE1AF #FAE6B9 #FAEBC3 #FAEBCD #FAEBD7
    #FFA500 #FFAF0A #FFB914 #FFC31E #FFCD28 #FFD732 #FFDC37 #FFE13C #FFE641 #FFEB46
    #FF9100 #FF9B00 #FFA500 #FFAF00 #FFB900 #FFC300 #FFC800 #FFCD00 #FFD200 #FFD700
    #FF8200 #FF8C0A #FF9614 #FFA01E #FFAA28 #FFB432 #FFB937 #FFBE3C #FFC341 #FFC846
    #FFA98F #FFB399 #FFBDA3 #FFC7AD #FFD1B7 #FFDBC1 #FFE0C6 #FFE5CB #FFEAD0 #FFEFD5
    #FFA374 #FFAD7E #FFB788 #FFC192 #FFCB9C #FFD0A1 #FFD5A6 #FFDAAB #FFDFB0 #FFE4B5
    #FF9473 #FF9E7D #FFA887 #FFB291 #FFBC9B #FFC6A5 #FFD0AF #FFD0AF #FFD5B4 #FFDAB9
    #FF7F50 #FF895A #FF9364 #FF9D6E #FFA778 #FFB182 #FFBB8C #FFC091 #FFC596 #FFCA9B
    #CD853F #CD8F49 #D29953 #D7A35D #DCAD67 #E1B771 #E6C17B #EBC680 #F0CB85 #F5D08A
    #D2691E #D27328 #D27D32 #D7873C #DC9146 #E19B50 #E6A55A #EBAA5F #EBAF64 #F0B469
    #AE5E1A #B86824 #C2722E #CC7C38 #D68642 #E0904C #E59551 #EA9A56 #EF9F5B #F4A460
    #8B4513 #8B4F1D #8B5927 #8B6331 #906D3B #957745 #9F814F #A48654 #A98B59 #AE905E

     

    #FF9696 #FFA0A0 #FFAAAA #FFB4B4 #FFBEBE #FFC8C8 #FFD2D2 #FFDCDC #FFE6E6 #FFF0F0
    #F08080 #F08A8A #F09494 #F59E9E #FAA8A8 #FAB2B2 #FAB7B7 #FABCBC #FAC1C1 #FAC6C6
    #F56E6E #F57878 #F58282 #F58C8C #F59696 #F5A0A0 #F5AAAA #FAB4B4 #FABEBE #FAC8C8
    #F06464 #F06E6E #F07878 #F08282 #F08C8C #F09696 #F4A0A0 #F4AAAA #F4B4B4 #FEBEBE
    #FF0000 #FF3232 #FF4646 #FF5050 #FF5A5A #FF6464 #FF6E6E #FF7878 #FF8282 #FF8C8C
    #EB0000 #EB3232 #EB4646 #EB5050 #EB5A5A #EB6464 #F06E6E #F57878 #FA8282 #FA8C8C
    #CD0000 #CD3C3C #CD4646 #CD5050 #D25A5A #D76464 #DC6E6E #E17878 #E68282 #EB8C8C
    #CD5C5C #CD6666 #CD7070 #CD7A7A #D28484 #D78E8E #DC9898 #E6A2A2 #EBACAC #F0B6B6
    #B90000 #B93232 #B93C3C #B94646 #B95050 #BE5A5A #C35F5F #C86464 #CD6969 #D26E6E
    #B22222 #B24040 #B24A4A #B25454 #B75E5E #BC6868 #C17272 #CB7776 #CB7C7C #D08180
    #A52A2A #AA3E3E #AF4848 #B45252 #BE5C5C #C36666 #CD7070 #CD7A7A #D28484 #D78E8E
    #800000 #803232 #853C3C #8F4646 #945050 #9E5A5A #A36464 #AD6E6E #B77878 #C18282

     

    #CD853F #CD8B45 #CD904A #D2954F #D29A54 #D79F59 #D7A45E #E1A963 #E1AE68 #E6B36D
    #DB631F #E56D29 #E57733 #EA813D #EF8B47 #EF904C #F49551 #F49A56 #F49F5B #F4A460
    #D2691E #D27328 #D77D32 #D7873C #DC9146 #E19B50 #E6A055 #EBA55A #F0AA5F #F5AF64
    #A0522D #A05C37 #A06641 #A5704B #AA7A55 #B4845F #B98E69 #C39873 #CDA27D #D7AC87
    #8B4513 #8B4F1D #8B5927 #8B6331 #906D3B #9A7745 #A4814F #AE8B59 #B89563 #C29F6D
    #DA70D6 #DF75DB #E47AE0 #E97FE5 #EE84EA #F389EF #F88EF4 #FD93F9 #FF98FE #FF9DFF
    #BA55D3 #BF5AD8 #C45FDD #C964E2 #CE69E7 #D36EEC #D873F1 #DD78F6 #E27DFB #E782FF
    #9932CC #9E37D1 #A33CD6 #A841DB #AD46E0 #B24BE5 #B750EA #BC55EF #C15AF4 #C65FF9
    #9400D3 #9905D8 #9E0ADD #A30FE2 #A814E7 #AD19EC #B21EF1 #B723F6 #BC28FB #C12DFF
    #942894 #9E329E #A83CA8 #B246B2 #BC50BC #C65AC6 #D064D0 #DA6EDA #E478E4 #EE82EE
    #8c008c #960a96 #a014a0 #aa1eaa #b428b4 #be32be #c83cc8 #d246d2 #dc50dc #e65ae6
    #800080 #8a0a8a #941494 #9e1e9e #a828a8 #b232b2 #bc3cbc #c646c6 #d050d0 #da5ada
    #834683 #8d508d #975a97 #a164a1 #ab6eab #b578b5 #bf82bf #c98cc9 #d396d3 #dda0dd
    #828282 #8c8c8c #969696 #a0a0a0 #aaaaaa #b4b4b4 #bebebe #c8c8c8 #d2d2d2 #dcdcdc
    #000000 #282828 #323232 #3c3c3c #464646 #505050 #5a5a5a #646464 #6e6e6e #787878

     

    컬러 이름 16진수 COLOR              
     red #FF0000    
    crimson #DC143C    
    firebrick #B22222    
    maroon #800000    
    darkred #8B0000    
    brown #A52A2A    
    sienna #A0522D    
    saddlebrown #8B4513    
    indianred #CD5C5C    
    rosybrown #BC8F8F    
    lightcoral #F08080    
    salmon #FA8072    
    darksalmon #E9967A    
    coral #FF7F50    
    tomato #FF6347    
    sandybrown #F4A460    
    lightsalmon #FFA07A    
    peru #CD853F    
    chocolate #D2691E    
    orangered #FF4500    
    orange #FFA500    
    darkorange #FF8C00    
    tan #D2B48C    
    peachpuff #FFDAB9    
    bisque #FFE4C4    
    moccasin #FFE4B5    
    navajowhite #FFDEAD    
    wheat #F5DEB3    
    burlywood #DEB887    
    darkgoldenrod #B8860B    
    goldenrod #DAA520    
    gold #FFD700    
    yellow #FFFF00    
    lightgoldenrodyellow #FAFAD2    
    palegoldenrod #EEE8AA    
    khaki #F0E68C    
    darkkhaki #BDB76B    
    lawngreen #7CFC00    
    greenyellow #ADFF2F    
    chartreuse #7FFF00    
    lime #00FF00    
    limegreen #32CD32    
    yellowgreen #9ACD32    
    olive #808000    
    olivedrab #6B8E23    
    darkolivegreen #556B2F    
    forestgreen #228B22    
    darkgreen #006400    
    green #008000    
    seagreen #2E8B57    
    mediumseagreen #3CB371    
    darkseagreen #8FBC8F    
    lightgreen #90EE90    
    palegreen #98FB98    
    springgreen #00FF7F    
    mediumspringgreen #00FA9A    
    teal #008080    
    darkcyan #008B8B    
    lightseagreen #20B2AA    
    mediumaquamarine #66CDAA    
    cadetblue #5F9EA0    
    steelblue #4682B4    
    aquamarine #7FFFD4    
    powderblue #B0E0E6    
    paleturquoise #AFEEEE    
    lightblue #ADD8E6    
    lightsteelblue #B0C4DE    
    skyblue #87CEEB    
    lightskyblue #87CEFA    
    mediumturquoise #48D1CC    
    turquoise #40E0D0    
    darkturquoise #00CED1    
    aqua #00FFFF    
    cyan #00FFFF    
    deepskyblue #00BFFF    
    dodgerblue #1E90FF    
    cornflowerblue #6495ED    
    royalblue #4169E1    
    blue #0000FF    
    mediumblue #0000CD    
    navy #000080    
    darkblue #00008B    
    midnightblue #191970    
    darkslateblue #483D8B    
    slateblue #6A5ACD    
    mediumslateblue #7B68EE    
    mediumpurple #9370DB    
    darkorchid #9932CC    
    darkviolet #9400D3    
    blueviolet #8A2BE2    
    mediumorchid #BA55D3    
    plum #DDA0DD    
    lavender #E6E6FA    
    thistle #D8BFD8    
    orchid #DA70D6    
    violet #EE82EE    
    indigo #4B0082    
    darkmagenta #8B008B    
    purple #800080    
    mediumvioletred #C71585    
    deeppink #FF1493    
    fuchsia #FF00FF    
    magenta #FF00FF    
    hotpink #FF69B4    
    palevioletred #DB7093    
    lightpink #FFB6C1    
    pink #FFC0CB    
    mistyrose #FFE4E1    
    blanchedalmond #FFEBCD    
    lightyellow #FFFFE0    
    cornsilk #FFF8DC    
    antiquewhite #FAEBD7    
    papayawhip #FFEFD5    
    lemonchiffon #FFFACD    
    beige #F5F5DC    
    linen #FAF0E6    
    oldlace #FDF5E6    
    lightcyan #E0FFFF    
    aliceblue #F0F8FF    
    whitesmoke #F5F5F5    
    lavenderblush #FFF0F5    
    floralwhite #FFFAF0    
    mintcream #F5FFFA    
    ghostwhite #F8F8FF    
    honeydew #F0FFF0    
    seashell #FFF5EE    
    ivory #FFFFF0    
    azure #F0FFFF    
    snow #FFFAFA    
    white #FFFFFF    
    gainsboro #DCDCDC    
    lightgrey #D3D3D3    
    silver #C0C0C0    
    darkgray #A9A9A9    
    lightslategray #778899    
    slategray #708090    
    gray #808080    
    dimgray #696969    
    darkslategray #2F4F4F    
    black #000000    

     


    vim 모드

    다른 에디터를 사용하던 유저가 vim을 처음 접하면서 가장 난감해 하는 부분이 vim의 상태(mode)개념이다.vim은 다른 에디터들과 달리, 실행을 시켰다고 해서 즉시 입력이 이루어지지 않는다. 많은 vim을 처음 접하는 유저는 어떻게 글을 입력할지 몰라서 vim의 사용을 접게되는 경우가 발생하는데, 여기에 그 이유가 있다. vi 는 크게 세가지 상태로 나뉘어진다. 첫번째가 명령어 모드로 키입력이 바로 실행되는 상태이며, 다음은 상태모드로 실제 문서를 편집하는 모드 마지막이 ex 상태로 ex 명령을 실행시키는 상태이다.

    vi 를 처음실행시키면 입력모드가 아닌 명령모드 상태에 놓이게 된다. 이 상태에서는 문자의 입력이 이루어지지 않으며, 찾기등과 같은 간단한 문서관련 명령을 실행할 수 있다. 이 명령모드 상태에서 ":" 키를 누르면 ex 상태로 a, i, o 키 등을 누르면 입력 상태로 넘어가게 된다. 일단 입력상태로 들어가게 되면 문서 편집을 할수 있게 되는데, 이때 ESC 키를 누르면 명령모드 상태로 넘어가게 된다.

     

    vim의 상태(mode)

    명령 상태 처음 vim을 실행했을때, 입력상태/명령상태에서 ESC입력시 간단한 찾기, 커서 이동, ex 상태로 넘어가기
    ex 상태 명령 상태에서 (":") 각종 치환, 저장, 파일읽기, vim설정등과 같은 대부분의 작업들
    입력 상태 명령 상태에서 (a,i,o 키 입력) 내용 입력

     

    명령어모드의 사용

    우리는 명령모드에서 여러가지 명령을 입력함으로써, 복사, 붙이기, 삭제 문서입력, 문서저장, 문서불러오기, 커서이동 등의 작업을 할수 있다. 이번 장에서는 이러한 명령모드에서 사용되는 각종 명령어에 대해서 알아보도록 하겠다.

     

    커서 이동

    기본적으로 vi 는 입력모드에서 방향키를 이용해서 커서 이동을 하지 못하도록 되어있다. 비록 최근의 vim 이 입력모드에서 방향키를 이용한 커서 이동을 지원하고 있기는 하지만, 명령모드에서의 키이동이 훨씬 빠르고 편하므로, 처음에는 좀 어색하더라도 명령모드에서의 키 이동을 익히도록 하자.

     

    k 커서를 위로 움직임
    j 커서를 아래로 움직임
    h 커서를 왼쪽으로 움직임
    l 커서를 오른쪽으로 움직임
    - 커서를 줄의 처음으로 옮김
    e, E 다음단어의 끝으로, 문자단위 이동
    w, W 다음단어의 처음으로, 문자단위 이동
    $ 줄의 마지막으로
    0 줄의 처음으로
    ^ 줄의 처음으로(공백이 아닌 처음시작되는 문자)
    Shift+g 문서의 마지막으로 이동한다.
    gg, 1g 문서의 처음으로 이동한다. 1대신 다른 숫자를 입력하면 해당 숫자의 라인으로 이동한다.
    ), ( 다음, 이전 문장의 처음으로
    }, { 다음, 이전문단의 처음으로
    ]], [[ 다음, 이전 구절의 처음으로

     

    화면 스크롤

    위의 커서명령 이동이 매우 편하기는 하지만, 만약 페이지가 한 2000라인 될경우, 위의 커서를 이용해서 한줄씩 이동하는데에는 너무 많은 시간이 걸릴것이다. 그래서 vi 에서는 화면 단위의 스크롤이 가능한 명령들을 제공한다. 아래의 화면 스크롤 명령어들을 익히면 빠른 위치이동을 위해 매우 유용하게 사용할수 있다. ^F 는 CTRL+F 를 의미한다.

     

    ^F 한 화면 을 앞으로 스크롤
    ^B 한 화면 을 뒤로 스크롤
    ^D 반 화면 을 앞으로 스크롤
    ^U 반 화면 을 뒤로 스크롤
    ^E 한줄 앞으로 스크롤
    ^Y 한줄 뒤로 스크롤
    Shift + h 화면의 맨 윗줄로
    Shift + m 화면의 중간줄로
    Shift + l 화면의 맨 아랫줄로

     

     

    마크 이동

    일종의 책갈피 기능이라고 보면 된다. 자주 참조해야할 라인에 마크를 해놓고 필요할때 곧바로 마크된 영역으로 이동하기 위해서 사용한다. 마크는 mx 형식으로 사용할수 있다. x 는 (a~z)까지의 문자로 마크된 영역의 이름을 지정하기 위해서 사용한다. 마크된 영역으로 이동하기 위해서는 'x 와 `x 를 사용한다. 'x 는 마크된 라인의 가장 앞으로 이동하고, `x 는 마크된 라인의 정확한 위치로 이동한다.

     

    입력 명령

    지금 vi 를 실행시켜보자. vi 는 기본적으로 명령모드로 실행되므로, 지금상태에서는 문서 작성을 할수 없을것이다. 우리는 다음과 같은 키입력을 통해서 입력모드 상태로 전환할수 있다.

     

    i 현재위치에서 삽입
    I 현재줄의 처음위치에서 삽입
    a 현재위치에서 한칸앞으로 이동해서 삽입
    A 현재줄의 마지막위치에서 삽입
    o 새로운 줄을 커서 아래에 연다
    O 새로운 줄을 커서 위연다
    s 현재 위치의 문자를 지우고 입력모드로 들어간다.
    S 현재위치의 라인을 지우고 입력모드로 들어간다.

     

    편집명령

    여기에서는 vi의 편집기능인 복사, 붙이기, 삭제에 대해서 알아 보도록 하겠다. 다른 에디터들은 보통 마우스를 이용해서 블럭을 지정해서 편집을 하는 반면, vi 는 명령어 모드에서 키보드 만을 이용해서 편집이 가능하므로, 매우 편리하고 빠르게 편집작업들이 가능하다. 또한 라인단위 블럭, 블럭단위 블럭등의 선택 모드를 지원함으로써, 문서에서 원하는 부분에 대한 작업을 좀더 쉽게 할수 있다.

     

    편집(none visual block 모드)

    visual block 모드가 아닌 상태에서이 편집에 관한 내용이다.

     

    복사,삭제,붙이기

    y 한줄 복사
    yn 현재 라인에서부터 n라인만큼을 복사
    p 복사된 내용 붙이기
    dd 한줄삭제
    dw 한단어 삭제
    Shift+d, d$ 현재커서 위치에서 마지막까지 삭제
    Shift+j 현재 행의 개행문자를 제거한다. 즉 아래라인을 현재라인에 덧붙인다.

     

    Undo (되돌리기)

    vim 은 다중의 undo 기능을 지원한다. 뒤로 되돌리고 싶다면 단지 'u'키만 입력하면 된다.

     

    블럭 지정

    이번엔 블럭지정, 그중에서도 vim 에서 지원하는 visual 블럭 지정에 대해서 알아보겠다. vim visual 블럭 지정 기능을 사용할경우 지정범위가 반전되면서 눈에 보이기 때문에, 효과적인 블럭지정이 가능하도록 도와준다. 범위지정을 위해서 'hjkl', 'Shift+g,GG' 과 같은 이동명령 과 화면스크롤 명령을 사용해서 범위지정을 좀더 빠르게 할수 있다.

     

    v 단어단위로 블럭지정이 가능하다. 블럭범위는 이동명령인 'hjkl' 로 원하는 범위 만큼 지정할수 있다.
    Shift+v 라인단위 블럭지정이다. 라인전체가 선택되며, 위아래 이동명령 'hj' 으로 범위 지정이 가능하다.
    Ctrl+v 블럭단위 블럭지정이다. 4각형의 블럭지정이 가능하며 이동명령인 'hjkl' 로 원하는 범위를 지정할수 있다.
    Shift+v 와 같이 블럭지정을 한후 Shift+G 를 입력하면 현재라인부터 마지막 라인까지가 블럭 지정이 될것이다.

     

    편집(visual block 모드)

    일단 vim 의 visual 블럭 지정 기능을 이용해서 편집하기 원하는 블럭을 지정했다면, 각종 편집명령을 이용해서 복사, 붙이기, 삭제 작업이 가능하다. 블럭을 지정한 상태에서 아래의 명령을 이용해서 편집을 하면 된다. 명령어는 기본적으로 none visual block 모드의 편집 명령어과 같다.

     

    편집(복사, 삭제, 붙이기)

    y 지정된 블럭을 복사한다.
    p 복사된 블럭을 현재라인(커서) 아래에 붙인다.
    d 지정된 블럭을 삭제한다.
    dd 현재라인을 삭제한다.

     

     

    출처: http://www.joinc.co.kr/modules/moniwiki/wiki.php/article/vim_사용하기#AEN18

    리 눅스는 윈도우가 아니며, 몇 가지 유사성을 띠고 있다 해도 리눅스를 좀 편하게 쓸 수 있으려면 그 전에 "뭔가 새로운 방법"을 배워야 한다는 걸 깨달아야 한다. 리눅스는 유닉스의 오픈소스 복제품으로, 유닉스란 도스(DOS)와 윈도우 이전부터 있던 운영체제이며 다중 사용자용으로 설계된 안전한 운영체제(OS)이다.

    다음에 기술할 내용은 리눅스와 다양한 BSD류의 유닉스 기반 *nix 시스템에 일반적으로 적용된다. 이 글에서는 모두 리눅스에서 사용한다고 가정한다.

    반드시 알아야 할 10가지를 다음에 나열했다.

    1. 파일 계층
    각 드라이브 당 파일 트리를 하나씩 갖고 있는 여타 OS와는 달리 리눅스 파일 시스템은 하나의 거대한 트리 구조이다. 맨 꼭대기에 / (루트)가 있고 모든 폴더, 파일, 드라이브는 이 루트에서 가지가 뻗어나간다.

    예를 들어, 여러분이 하드 드라이브 2개(a와 b), 플로피 드라이브 1개, CD롬 1개가 있다고 하자. 첫 번째 하드 드라이브는 파티션이 둘로 나누어져 있다고 하자(a1과 a2). 윈도우에서는 다음과 같이 표시된다.:

    + hard drive a, partition one (hda1): C Drive
    + hda2: D Drive
    + hdb1: E Drive
    + floppy: A drive
    + CD-ROM: F Drive

    리눅스에서는 하나의 파일 시스템으로 나타날 뿐 윈도우의 예처럼 5개가 아니다. 각 드라이브는 트리에 마운트(mount)되고 마치 폴더처럼 동작한다. 드라이브는 다음과 같이 위치시킬 수 있다.:

    + hda1: / (our Root)
    + hda2: /home
    + hdb1: /home/user/music
    + floppy: /mnt/floppy
    + CD-ROM: /mnt/cdrom

    D 드라이브와 E 드라이브는 C 드라이브 안에 붙어있으며 드라이브를 옮겨가기 위해 최상위까지 갈 필요는 없다. 그저 한 폴더에서 다른 폴더로 이동하는 걸로 간단하게 이동이 끝난다. 플로피와 시디롬도 마찬가지여서 하나의 파일 시스템의 일부분으로 /mnt 하에 붙어있다. 설치 프로그램이나 사용자가 컴퓨터에게 뭐가 어디에 붙어있고 어떻게 조작해야 하는지 알려주는 /etc/fstab 파일을 어떻게 설정하느냐에 따라 실제로 이 드라이브들은 리눅스 시스템 어디에든 붙일 수 있다. 그림 A를 보라.

     



    2. 모듈식 시스템
    윈도우 XP, 윈2k, 윈98, 윈95, 애플 OS X의 속이 어떤지 생각해 보라. 각기 내부에 서로 다른 컴포넌트를 지니고 있고 서로 다른 그래픽 환경을 갖고 있을 것이다. XP에서 동작하는 미디어 플레이어에, 98의 파일 관리자에, 윈2k의 안정성에, OS X의 외관을 한데 합치고 싶다면 어떻게 할 수 있을까?

    리눅스에서 시스템의 각 부분은 서로 독립적이어서 이것저것 섞어서 여러분의 OS를 흡사 프랑켄슈타인 OS로 만들 수도 있다. 방화벽으로 돌릴 프로그램은 이것, 미디어를 재생할 프로그램은 저것, 파일 관리자로 돌릴 건 또다른 어떤 것 등 다양한 프로그램 중에서 선택해서 쓸 수 있다.

    MS의 운영체제는 모든 것이 상호 연결돼 시스템의 각 부분이 서로 의존하고 있기 때문에 ‘탑’에 비유할 수 있는 것과는 달리, 리눅스 OS는 마치 시장처럼 여기저기 펼쳐져 있다. 시장에서는 모두들 공익을 위해 함께 움직이지만 시장 상인(리눅스의 독립적 부분)들은 시장에서 빠질 수 있고, 그래도 시장(운영체제)은 돌아갈 것이다. 미디어 플레이어나 파일 관리자를 원치 않는다고? 빼버려라! 여러분 OS는 금이 간 탑처럼 쓰러져 버리지 않을 것이다.

    이런 모듈화가 돼 있기 때문에 리눅스 배포판(distributions. 영어로 보통 distros라고 불린다)은 종류가 꽤 많다. 어떤 개인이든 회사든 자신들이 가장 유용하다고 생각되는 걸 찾아내서 모은 후에 거기다가 이름을 갖다 붙인다. 레드햇(RedHat), 잔드로스(Xandros), 심플리멤피스(SimplyMEPIS), 수세(Suse)가 그런 배포판의 예이다.

    일부 배포판은 대형 배포판을 흉내내서 만들어내곤 하지만 포함된 프로그램은 바뀐다. 이는 리눅스의 방식인 믹스앤매치(mix-and-match) 접근 방식으로서 결국에는 사용자들에게 더 많은 선택권을 부여해준다. 디스트로워치닷컴(DistroWatch.com)에서는 현재 리눅스에 350개가 넘는 배포판이 있는 것으로 집계하고 있다. 목록에 나와있는 많은 배포판들은 특정 사용자 집단을 위해 특화돼 있긴 있지만, 모든 배포판은 똑같은 프로그램을 돌리도록 수정될 수 있다.

    프 로그램이 상호 교환될 수 있기 때문에 GUI(Graphical User Interface)도 예외는 아니다. GUI를 바꿀 수 있어 마우스, 프로그램 아이콘, 메뉴 등에서 현대적인 OS의 룩앤필(look and feel)을 가질 수 있다. 어떤 리눅스 시스템이라도(휴대폰에서 돌아가는 리눅스 말고 실제 컴퓨터에 돌아가는 리눅스) 여러 가지 서로 다른 GUI 중 하나를 택해 이용할 수 있고, 여러 웹 서버나 서로 다른 이메일 클라이언트 프로그램을 돌릴 수도 있다.

    시스템을 윈도우처럼 보이게 하고 싶은가? FVWM에서 XP 테마를 사용하면 된다. 속도가 좀 빨랐으면 좋겠나? IceWM을 써보라. 좀더 "기능이 풍부한" 걸 원하는가? GNOME이나 KDE를 써보기 바란다.

    이 런 GUI들 모두 장단점이 있지만, 모두다 마우스를 이용이 가능한 인터페이스를 제공한다. 이런 다양한 GUI들을 쓸 수 있기에 사람들이 사용하는 리눅스 화면이 서로 제각기 달라보일지 모르겠지만 모든 GUI의 이면에서는 똑같은 작업이 이뤄지고 있다. 직접 눈으로 확인해 보라. 어려운 일은 아니다.

    3. 하드웨어, 소프트웨어, 그리고 그 중간에 위치한 것
    리 눅스는 짧은 기간동안 큰 발전을 했다. 리눅스는 MS 윈도우 나이의 절반도 안 되지만 레드몬드의 OS(MS 윈도우)가 비싸고 버그도 많은 반면 리눅스는 더 강력하고, 더 안정적이며, 리소스도 덜 잡아먹고, 그래픽 측면에서는 (리눅스가 더 우월하지 않다해도) 동등한 수준을 보인다.

    리눅스가 아직 MS 윈도우를 쫓아가지 못하는 건 벤더들의 지원이다. 예를 들어, 만약에 여러분이 인튜잇(Intuit)의 퀵북(QuickBooks)없인 못산다해도 리눅스에서 그대로 구동시킬 순 없다. 리눅스에서 윈도우 프로그램을 동작시키려는 프로젝트들이 있다. 크로스오버 오피스(CrossOver Office)와 와인(Wine)같은 것들이 있는데, 윈도우 프로그램이 뭐냐에 따라 돌릴 수 있을 수도 있고 없을 수도 있다. 소프트웨어 업체들이 리눅스로 프로그램을 이식하겠다고 결정할 때까지는 윈도우 프로그램을 리눅스 자체에서 있는 그대로 돌릴 수는 없을 것이다.

    그렇다 해도 몽땅 다 못하는 건 아니다. 오픈소스 소프트웨어 형태로 된 리눅스용 프로그램은 1만 5000개가 넘는다. 이런 프로그램들은 보통 무료로 쓸 수 있어서 품질도 천차만별이지만, 프로그램 대다수는 잘 만들어졌고 지속적으로 개선되고 있다. 이런 프로그램들은 전용 파일 형식이 아닌 것들을 가져오기(import)하거나 내보내기(export)할 수 있다. GNUCash는 퀵북 파일을 제대로 읽어 들일 수 있고, 오픈오피스는 MS워드의 *.doc 파일을 읽어 들일 수 있다.

    GNUCash를 안 좋아한다면 낙심하지 말기 바란다. 무료로 제공되는 유사한 프로그램들이 더 있으며, 점점더 많은 소프트웨어 업체들이 자사의 소프트웨어를 리눅스 버전으로 출시하고 있다.

    동 일한 현상이 하드웨어에도 적용된다. 컴퓨터 상점에서 구매한 보통 하드웨어가 애플 컴퓨터와 동작하는 걸 기대할 수 없는 것처럼, 동일한 문제가 리눅스 머신에서도 있다고 할 수 있다. 대부분의 표준 하드웨어는 완벽하게 동작한다. 하드 드라이브, 램, 플래시 드라이브, 마더보드, 네트워크 카드(NIC), 디지털 카메라는 보통 리눅스에서 거의 문제를 일으키지 않는다.

    하지 만 새로 나온 최신 하드웨어는 이야기가 좀 다르다. 하드웨어 벤더가 리눅스를 지원하기로 할 때까지는 리눅스 공동체에 참여하는 사람들이 여가 시간을 할애해서 무료 배포용으로 이런 하드웨어를 이용하기 위해 필요한 드라이버를 만들어줘야 한다.

    하드 웨어 회사들은 호환성을 해결하고자 직접 MS와 함께 작업하는 일이 많지만, 리눅스 측에 대해서는 자발적 참여자들이 알아서 리눅스 하드웨어 지원을 해결하도록 내버려두는 경향이 있어 윈도우가 지원하는 것보다는 뒤처질 수밖에 없다. 랩톱은 비표준 하드웨어로 악명이 높다. 랩톱에서 사용하는 특수키를 매핑하는 것 때문에 리눅스에서 고역이 될 수 있다. 그래도 좋은 소식이 있다면, 더 많은 회사들이 리눅스에서 미래를 보고 있기 때문에 소프트웨어처럼 리눅스 하드웨어에 대한 벤더 지원도 더 나은 쪽으로 변화하고 있다는 것이다.

    리눅스 머신에서 하드웨어와 소프트웨어 사이에 있는 건 커널이다. 커널은 하드웨어와 소프트웨어를 연결해주는 역할을 하며, 업데이트된 커널은 매 몇 주마다 인터넷을 통해 얻을 수 있도록 만들어진다. 현재 가장 최신 버전은 2.6.14이다. 현재 지원되지 않는 하드웨어를 보유하고 있다면 좀더 새로운 커널에서는 구원을 받을 수도 있다. 하지만 커널을 직접 설치한다는 게 항상 쉬운 일은 아니다. 대신 그런 일을 해주는 패키지 관리자가 존재한다.

    4. 패키지 관리자 - 프로그램 설치를 쉽게 해주는 소프트웨어
    리 눅스에서 프로그램을 설치하는 데에는 여러 가지 방법이 있지만 가장 쉬운 방법은 배포판의 패키지 관리자(PM; Package manager)를 이용하는 것이다. PM을 이용하면 어떤 빠진 파일이라도 의존성을 이용해 설치해주기 때문에 프로그램이 문제없이 동작하게 된다. 배포판 선택은 여러분이 어떤 PM을 좋아하느냐로 귀착되곤 하지만, 무엇이든 간에 대응되는 패키지만 찾아낼 수 있다면 다른 배포판에서도 어떤 리눅스 소프트웨어든 설치될 수 있다.

    보통 이런 PM들은 프로그램을 담아두는 온라인 저장소를 갖고 있다. 프로그램 저장소를 검색해서 설치를 클릭하는 것만 하면 될 정도로 애플리케이션 설치는 쉽다. 여러분의 패키지 관리자에서 IceWM이나 Mplayer를 찾을 수 없는가? 찾고 있는 패키지를 담고 있는 온라인 저장소를 새롭게 추가하는 방법을 쓸 수도 있다.

    몇 가지 패키지 관리자의 예를 들어보면, 데비안(Debian)과 그 변종들에서 사용되는 dpkg 및 Apt에 기반한 시냅틱(Synaptic), 레드햇과 변종들에서 이용되는 윰(Yum), 수세와 변종들에서 사용되는 YaST2, 젠투(Gentoo)에서 이용하는 이머즈(Emerge)가 있다.

    5. 권한
    리눅스는 다중 사용자를 지원하도록 설계됐고, 사용자는 그룹으로 나눠진다. 모든 사용자들은 자신이 소유한 파일에 대해 읽기, 쓰기, 실행(R/W/X) 권한을 가지며 해당 권한을 변경할 권한도 갖는다. 리눅스는 다중 사용자용으로 설계됐기 때문에 사용자들은 각자 암호를 가지며 자기 소유 파일에 대한 접근을 제한할 수도 있다. 이를 사용자 권한(User Permission)이라 부른다.

    각 사용자는 하나 이상의 그룹에 소속되고, 사용자는 자신의 파일/폴더 권한을 설정할 수 있어 그룹 내 다른 사용자들이 파일을 읽을 수는 있지만 쓸 수는 없게 하거나 R/W/X를 서로 서로 조합해서 설정할 수도 있다. 이런 걸 그룹 권한이라고 한다. 예를 들어 조와 수잔은 회계 부서에 근무한다고 하자. 이들은 회계 부서(Accounting) 사람들이 서로 파일에 접근할 수 있도록 허가할 수 있지만, 영업 쪽 사람들의 접근은 제한할 수도 있다.

    이외의 사용자에 대한 권한으로서, 그룹에 속하지 않은 사람들에게 해당 파일에 대한 접근을 허용하거나 거부할 수 있다. 이 권한은 시스템 전반의 안전을 위한 것일뿐 아니라 각 사용자의 데이터의 안전을 위해서도 존재한다. 집에서 리눅스를 쓰는 대부분의 사용자들은 파일에 기본 권한을 써도 무방하다. (그림 B 참조)



    루트(root. 파일 시스템의 루트(/)와 혼동하지 말라) 사용자는 윈도우의 관리자 계정(Administrator)과 비교할 수 있고, 모든 파일에 대해 권한을 가지며 시스템 전체에 미치는 설정을 수정할 수 있는 유일한 사용자이다. 루트 사용자는 시스템 관리를 위해 사용되는 자체 암호를 갖는다. 이러한 차이점으로 일반 사용자들이 시스템에 유해한 스파이웨어를 설치하거나 중요 파일을 삭제할 수 없도록 한다.

    6. 홈 디렉토리
    윈도우에는 '내 문서(My documents)'라는 데가 있지만, 문서가 아닌 파일은 어디에 두겠는가? 보통은 윈도우 바탕 화면에 둔다! 리눅스에서도 데스크톱을 난잡하게 만들 수 있는 건 마찬가지지만, 사용자들은 각자 홈 디렉토리를 갖게 되며 보통 /home/user에 위치한다(user는 사용자 계정 이름). 이런 홈 디렉토리 내에서 문서를 놔둘 수도 있고(/home/user/documents), 프로그램 링크를 둘 수도 있으며, 음악(/home/user/Music) 등 원하는 건 뭐든지 놔둘 수 있다.

    홈 디렉토리에는 파일과 폴더를 생성할 수 있고, 원하는 만큼 정리하고 다시 또 어질러놓을 수도 있다. 마치 우리가 집안에서 하는 것처럼 말이다. 권한이 어떻게 설정되었는지에 따라 홈 디렉토리에 있는 파일에 대해 다른 사용자가 접근할 수 있게 허락할 수도 혹은 금지할 수도 있다. (루트 사용자만은 예외다).

    7. 기본 설치 차이점
    리 눅스 배포판 간에는 차이점이 약간씩 있어서, 파일들이 위치하는 곳이라든가 기본 프로그램들의 이름이 다른 경우가 있다. 레드햇과 수세는 파일 시스템이 약간 다르다는 걸 알아두고 시작하는 게 좋겠다. 대부분 사용자들은 그런 차이점이 뭔지 알 필요는 없지만, 내부 파일 시스템이 약간 다를 수 있다는 것 정도는 알아둬야 한다. 누군가에게 도움을 요청할 때 여러분이 사용하는 배포판이 뭔지 확실히 알려줄 수 있도록 해라. 시스템에 문제가 없거나 눈에 보이지 않는 복잡한 작업을 설정하는 것에 관심이 없다면 이에 대해 지나치게 신경쓰지 않아도 된다.

    8. CLI
    윈도우의 ‘시작(Start)/ 버튼과 유사한 리눅스 GUI 상의 버튼을 누르면 메뉴가 나타나는데, 이 메뉴에서 xterm 프로그램(보통 콘솔(Console)이라 부른다)을 실행시키면 터미널(Terminal)이라는 게 나타난다. 도스창과 약간 닮았지만 사실 도스보다 오래되었고 도스의 기능을 능가한다. 이는 명령줄 인터페이스(CLI; Command Line Interface)이며, 우리가 좋아하는 OS의 기원으로서 모든 리눅스 배포판에 존재한다. 책 한 권 쓸 정도의 분량이어서 자세히 들어가진 않겠지만, CLI는 컴퓨터의 문제점을 해결하곤 할 때 필요한 강력한 도구이다. 인터넷에서 누군가에게 도움을 요청했을 때 lspci를 실행시켜 보라고 했다면 xterm을 시작해서 lspci라고 입력하고 엔터키를 눌러야 한다. 그러면 화면에 뭔가 나타날 것이다.

    xterm을 시작하면 제한된 권한을 갖고 있는 일반 사용자 상태이다. xterm에서 루트 사용자 모드(앞서 이야기한 권한을 보라)로 가려면 su [엔터]를 입력하고, 그리고 나서 루트 암호 [엔터]를 입력한다. 그러면 막강한 권한을 가진 루트가 된다. 루트 사용자는 리눅스가 돌아가는 데 필요한 시스템 파일을 포함해서 어떤 사용자의 데이터도 파괴할 수 있다. xterm을 끝내거나 su 모드에서 떠나려면 exit [엔터]를 입력한다.

    9. 컨트롤(ctrl)-알트(alt)-이스케이프(escape)
    컨트롤-알트-이 스케이프키를 함께 누르면 마우스가 해골과 두 개의 뼈를 교차시킨 불길한 형상을 한 X 모양으로 바뀐다. 이 모드에서 오동작하거나 먹통인 애플리케이션 위에 놓고 클릭하면 해당 프로그램을 종료시킬 수 있다. 윈도우 작업 관리자(Task Manager)에서 프로세스 종료(End Process)와 유사하지만 조심해서 쓰기 바란다. 만약 키를 누르긴 했는데 아무 것도 종료시키고 싶지 않다면, 되돌아가기 위해 Esc 키를 사용하기 바란다. 엉뚱한 프로그램에다가 클릭하면(데스크톱 GUI 포함) 꽤나 골치 아픈 일이 벌어질 수 있다.

    10. 인터넷은 여러분의 친구!
    많은 배포판들은 질문, 답변, 팁을 주고받는 사용자 포럼이 있다. 리눅스퀘스천(LinuxQuestions.org)이 전반적인 리눅스 지식과 도움을 얻을 수 있는 좋은 사이트이다. 기억할 것은, 어떤 포럼에서라도 질문을 올리기 전에 이미 해결되었을지도 모르는 문제에 대해 또 묻는 일이 없도록 질문할 내용을 검색해 보기 바란다(LQ와 구글 모두에서).

    또한 찾은 해결책이 언제 나온 것인지 체크해보기 바란다. 답변이 올라온지 너무 오래됐다면 이처럼 빠르게 바뀌는 오픈소스 소프트웨어 세계에서는 더 이상 써먹을 수 없는 해결책일지도 모르기 때문이다. 질문할 때 여러분 시스템에 관해 할 수 있는 한 많은 정보를 포함시켜 올리기 바란다. 이를테면 다음과 같은 정보들을 포함하는 것이 좋겠다.:

    * 프로세서 타입 (인텔, AMD, 아니면 애플 PPC?)
    * 배포판 (수세? 데비안?)
    * 어려움을 겪고 있는 프로그램
    * 기타 관련 정보

    반드시 명심해야 할 것
    리 눅스와 오픈소스 소프트웨어는 지난 몇 년동안 쑥쑥 커왔지만, 윈도우라는 닫힌 세계에서 리눅스로 온 사용자들에겐 리눅스의 내부 동작은 낯설기만 할지도 모른다. 마음을 열고 지식을 기꺼이 공유하고자 한다면 리눅스 공동체가 성장하는 데 도움이 될 것이다. 우리는 여러분들을 환영한다.

     

    내용출처 : ZDNet Korea - Jeffrey G. Thomas ( TechRepublic )

    + Recent posts