네트웍이 빨라지면서 CD나 DVD의 활용도는 많이 떨어졌습니다. 몇백메가에서 몇기가의 데이터도, 굳이 CD나 DVD를 통해 배포하지 않고 웹이나 P2P를 통해 다운받아 사용하는 것이 더 빠르고 편하게 된 것입니다. 많은 울트라씬 노트북이나 넷북이 DVD 없이 출시되고 있고, 컴퓨터를 조립할 때도 DVD를 빼는 경우가 종종 있습니다.

DVD가 없더라도 보통 컴퓨터를 쓰는데는 별 문제가 없습니다. 보통 CD/DVD로 배포되는 것들은 네트웍으로도 구할 수 있으니까요. 내가 데이터를 배포할 일이 있어도 네트웍이나 USB를 사용하면 됩니다. 하지만 새 OS를 DVD가 없는 시스템에 설치하려면 다른 추가 작업을 좀 해야 합니다. 일반적으로 OS 설치는 CD나 DVD를 통해 하는 것으로 가정되니까요. 보통은 USB의 CD영역, PXE 설치, USB에 부트로더 설치하기 등등을 사용합니다.

Windows 7 의 경우는 Microsoft 에서 Windows 7 USB/DVD Download Tool 라는 편리한 프로그램을 제공합니다. 이 프로그램을 다운로드하여 사용하면 Windows 7 설치 디스크 이미지를 USB로 복사해서 DVD가 없는 시스템에 USB 부팅으로 쉽게 Windows 7 을 사용할 수 있습니다. 이 프로그램의 기본적인 사용방법은 웹 검색하면 많이 나오니 이 글에서는 다루지 않습니다.

하지만 이 프로그램은 Microsoft 에서 다운받은 이미지나, 정식 DVD로부터 추출한 ISO만 인식합니다. DELL 업그레이드 DVD 처럼 수정된 이미지를 프로그램에서 불러들이면 다음과 같은 에러가 발생합니다. "The selected file is not a valid ISO file. Please Select a valid ISO file and try again"

이런 경우에는 isoavdpcopy 툴을 사용하면 AVDP 코드를 수정된 ISO에 삽입하여 정상적으로 인식되게 할 수 있습니다. isoavdpcopy 툴을 다운로드한 뒤 수정된 ISO가 있는 폴더에 압축을 풀고, ISO 파일을 isoavdpcopy 실행파일에 던져넣으면 정상적으로 인식되게 바뀝니다.


참고로, Windows XP 32bit 컴퓨터에서 Windows 7 x64 (64bit) USB를 만들려고 하면 bootsect 에러가 납니다. 이 문제를 해결하기 위해서는 32bit 인 bootsect.exe 를 "Windows 7 USB/DVD Download Tool"가 설치된 폴더에 미리 복사해둬야 합니다. bootsect.exe 파일은 1. Microsoft Store account 를 통해 다운로드받거나, 2. Windows Vista 32bit가 설치된 컴퓨터에서 복사하거나, 3. Windows 7 32bit 설치시디에서 복사할 수 있습니다.


이 외에도 Ultra ISO 프로그램을 사용하여 ISO로부터 부팅 가능한 USB를 만드는 방법과 ISO/DVD의 내용을 USB로 복사한 후 파티션을 부팅 가능하게 만들고 bootsect 프로그램으로 부트섹터를 심는 방법도 있습니다. 다만 grub2의 ISO 부팅 방식은 loopback device가 chainloader 를 지원하지 않기 때문에 사용할 수 없습니다. 각자 편한 방법으로 사용하시기 바랍니다.
As the performance of network grow, the usage of CD/DVD had been decreased. Downloading big file via web or P2P is significantly faster and more convinince then distribute the files via disc media. Most netbooks and ultra-thiin laptops are provided without a DVD drive, and it's common to build a desktop computer excluding it.

When the DVD drive is leaved out, there is almost no problem while running it. But installing a new OS to a DVD-less system require some more things to do: CD area in USB, PXE boot, installing bootloader to USB, etc.

In the case of Windows 7, Microsoft provides a simple tool to transfer the DVD image of Windows 7 to an USB stick, Windows 7 USB/DVD Download Tool. Downloading and using this tool, it's easy to make a USB which can install Windows 7 to DVD-less system with just 4 steps. You can find lot's of information about this tool on the web, so the basic usage of it is not covered by this article.

But, this tool just reconize the DVD image (ISO) which is downloaded from Microsoft or made from original DVD installation disc. That means the custom ISO like the upgrade DVD from DELL cannot be used with following error: "The selected file is not a valid ISO file. Please Select a valid ISO file and try again."

The solution is isoavdpcopy tool, which add proper AVDP seeking code to make the custom ISO can be used by Windows 7 USB/DVD Download Tool. Download and unzip this tool to the folder which contains the custom ISO and drag the ISO to the tool. The previous error will be resolved well.

Btw, if you are making the Windows 7 x64 USB at a Windows XP 32bit system, 32bit bootsect.exe should be located at the "Windows 7 USB/DVD Download Tool" directory. This file can be, 1. Downloaded from Microsoft Store account, 2. System32 folder of Windows Vista 32bit, 3. Windows 7 32bit installation DVD.

There are some other way to make Windows 7 installation USB, using UltraISO, format/partitioning/make active/copy installation content. But grub2 do not support booting from Windows installation ISO file because grub2 cannot chainload into ISO loopback device.

Posted by Arcy

2009/12/29 05:52 2009/12/29 05:52
Response
No Trackback , No Comment
RSS :
http://arcy.org/tc/rss/response/99

Trackback URL : http://arcy.org/tc/trackback/99

CentOS 에서는 racoon 을 사용한 IPsec 연결을 제공합니다. 일반적인 고정아이피 끼리의 host-to-host, net-to-net 연결방식은 다음 링크를 참고하시기 바랍니다.

http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-networkscripts-interfaces-ipsec.html
http://www.centos.org/docs/5/html/5.2/Deployment_Guide/ch-vpn.html

http://www.linuxtopia.org/online_books/centos_linux_guides/centos_linux_security_guide/s1-ipsec-host2host.html


여기에 설명되어 있지 않은 IPsec 연결방식 중 road-warrior 는 유동 아이피와 IPsec 연결을 만들 때 사용됩니다. 유동 아이피를 가진 서버에게 실제 고정 아이피를 할당할 때 사용하는데요, CentOS 는 기본적으로 road-warrior 를 지원하지 않기 때문에 추가 설정이 필요합니다.

이 포스팅에서는 일반적인 IPsec 설정보다는 road-warrior 설정에 필요한 방법만을 설명합니다. IPsec에 대한 이해가 있고 CentOS 에서 일반적인 host-to-host, 또는 net-to-net 설정이 가능한 독자층을 대상으로 하고 있으니 자세한 설정 내용은 위 링크를 참고하기기 바랍니다.

일단 클라이언트쪽의 /etc/sysconfig/network-scripts/ifcfg-ipsec0 설정은 일반적인 설정과 크게 다르지 않습니다. DST 항목은 IPsec 을 연결할 서버가 되어야 합니다. SRC는 유동아이피이므로 지정하지 않습니다. SRCNET, DSTNET 을 지정하면 SRCNET -> DSTNET 의 연결에 대해 IPsec 을 통하도록 policy를 생성합니다.

서버쪽의 /etc/sysconfig/network-scripts/ifcfg-ipsec0 에서는 반대로 DST=anonymous 로 지정합니다. SRC는 지정하지 않아도 됩니다. 어차피 policy 는 클라이언트 -> 서버 방향으로 SA 생성 단계에서 자동으로 만들어지는 것이 목표입니다.

클라이언트, 서버 양쪽 모두 IKE_METHOD=X509 를 사용합니다. PSK 방식을 많이 사용하시겠지만, PSK는 CentOS ifup-ipsec 스크립트 구조상 identifier가 address로 고정되기 때문에 road-warrior 방식에서는 적합하지 않습니다. 다음 커맨드를 서버에서 사용하여 X509 인증을 설정합니다.

sudo openssl req -x509 -new -keyout /etc/racoon/certs/<서버키이름>.private -out /etc/racoon/certs/<서버키이름>.public -nodes -days 3650
chmod 600 /etc/racoon/certs/<서버키이름>.private
그리고 /etc/racoon/certs/<서버키이름>.public 파일을 클라이언트의 /etc/racoon/certs/ 로 복사해줍니다.
클라이언트에서도 똑같은 방법으로 <클라이언트키이름> 을 사용하여 키페어를 생성 후, <클라이언트키이름>.public 파일을 서버쪽으로 복사합니다.

이제 서버의 /etc/racoon/certs/ 에는 <서버키이름>.private <서버키이름>.public <클라이언트키이름>.public 파일이 있을겁니다.
클라이언트의 /etc/racoon/certs/ 에는 <클라이언트키이름>.private <클라이언트키이름>.public <서버키이름>.public 파일이 있어야 합니다.
그러면 서버의 ifcfg-ipsec0 에서 cert 파일 설정을 다음과 같이 해 줄 수 있습니다. .public, .private 는 붙이지 않습니다.

IKE_CERTFILE=<서버키이름>
IKE_PEER_CERTFILE=<클라이언트키이름>
클라이언트에서는 반대로 입력하면 됩니다.

그러면 ifcfg-ipsec0 준비는 끝났습니다. ifup ipsec0 으로 ipsec0 인터페이스를 올리면 /etc/racoon/racoon.conf 파일과 해당 DST 에 대한 conf 파일이 자동으로 생성됩니다. 라우팅, 폴리시 추가에서 에러가 주르륵 나지만 동작에는 큰 문제가 없습니다.

이제 마지막으로 서버의 /etc/racoon/anonymous.conf 파일을 수정해 generate_policy on; 옵션을 다음과 같이 추가해줍니다.
remote anonymous
{
        generate_policy on;
        exchange_mode aggressive, main;
        my_identifier asn1dn;
        peers_identifier asn1dn;
...생략...

위 설정이 없으면 다음과 같은 에러가 발생합니다.
2009-11-29 09:13:07: INFO: respond new phase 2 negotiation: xxx.xxx.xxx.xxx[500]<=>yyy.yyy.yyy.yyy[500]
2009-11-29 09:13:07: ERROR: no policy found: aaa.aaa.aaa.0/n[0] bbb.bbb.bbb.bbb/m[0] proto=any dir=in
2009-11-29 09:13:07: ERROR: failed to get proposal for responder.
2009-11-29 09:13:07: ERROR: failed to pre-process packet.

다시 ifdown ipsec0; ifup ipsec0 을 통해 인터페이스를 재시작하고 클라이언트에서 서버로 IPsec 접속이 되나 확인합니다.

설정 후에는 다음과 같은 에러가 발생하나, 정상적인 동작입니다.
2009-11-29 09:14:58: INFO: respond new phase 2 negotiation: xxx.xxx.xxx.xxx[500]<=>yyy.yyy.yyy.yyy[500]
2009-11-29 09:14:58: INFO: no policy found, try to generate the policy : aaa.aaa.aaa.0/n[0] bbb.bbb.bbb.bbb/m[0] proto=any dir=in
2009-11-29 09:14:58: INFO: IPsec-SA established: ESP/Tunnel 211.215.9.154[500]->165.132.148.222[500] spi=216702467(0xcea9e03)
2009-11-29 09:14:58: INFO: IPsec-SA established: ESP/Tunnel yyy.yyy.yyy.yyy[500]<=>xxx.xxx.xxx.xxx[500] spi=~~(0x~~~)
2009-11-29 09:14:58: ERROR: such policy does not already exist: "aaa.aaa.aaa.0/n[0] bbb.bbb.bbb.bbb/m[0] proto=any dir=in"
2009-11-29 09:14:58: ERROR: such policy does not already exist: "aaa.aaa.aaa.0/n[0] bbb.bbb.bbb.bbb/m[0] proto=any dir=fwd"
2009-11-29 09:14:58: ERROR: such policy does not already exist: "bbb.bbb.bbb.bbb/m[0] aaa.aaa.aaa.0/n[0] proto=any dir=out"

만일 서버의 /etc/sysconfig/network-scripts/ifcfg-ipsec0 파일을 수정했다면, /etc/racoon/anonymous.conf 이 재생성되므로 generate_policy on; 를 다시 추가해줘야 합니다. 서버에 있는 /etc/sysconfig/network-scripts/ifup-ipsec 파일을 수정하여 자동적으로 추가하게 만드는 방법도 있지만, 배포판 업데이트시 충돌을 야기하기 때문에 추천하지는 않습니다.



CentOS provides IPsec with racoon IKE and scripts. It's well documented in following official and other links, if you are using host-to-host or net-to-net connection between two hosts which have fixed ip-address on both side.

http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-networkscripts-interfaces-ipsec.html
http://www.centos.org/docs/5/html/5.2/Deployment_Guide/ch-vpn.html

http://www.linuxtopia.org/online_books/centos_linux_guides/centos_linux_security_guide/s1-ipsec-host2host.html


But, there are another way to use IPsec, which is called as "road-warrior" is used to make secure IPsec connection from client with dynamic ip-address to server. We need to configure a bit more to use this way, because CentOS do NOT support road-warrior officially.

In this post, the specific how-to about road-warrior will be explained, aiming who understand basics of IPsec and can setup generic host-to-host or net-to-net connection in CentOS. If you are not familiar with these topics, please refer above links.


First, the configuration in "/etc/sysconfig/network-scripts/ifcfg-ipsec0" is not significantly differ with generic IPsec setting. "DST" must be set with ip-address of server, and "SRC" should be omitted because the address is dynamic. Packets from "SRCNET" to "DSTNET" will be relayed via IPsec with the policy created by script.

On the contrary,  server should use "DST=anonymous" in "/etc/sysconfig/network-scripts/ifcfg-ipsec0", this is magic keyword for road-warrior. "SRC" should be excluded, policies will be generated with the generation of SA.

For authentication, "IKE_METHOD=X509" would be set in this case. PSK is popular, but CentOS use address as default identifier when PSK is used which is not suitable with road-warrior. Use following commands to produce X509 key-pair.

sudo openssl req -x509 -new -keyout /etc/racoon/certs/<server_key_name>.private -out /etc/racoon/certs/<server_key_name>.public -nodes -days 3650
chmod 600 /etc/racoon/certs/<server_key_name>.private
Next, copy /etc/racoon/certs/<server_key_name>.public file to client at the location of /etc/racoon/certs/.

Vice versa, make key-pair in the client with <client_key_name> and copy <client_key_name>.public file to server side.

In summary, server's /etc/racoon/certs/ should have following files: <server_key_name>.private <server_key_name>.public <client_key_name>.public
And client's /etc/racoon/certs/ does <client_key_name>.private <client_key_name>.public <server_key_name>.public

Then the certification setting in ifcfg-ipsec0 can be set like this:
IKE_CERTFILE=<server_key_name>
IKE_PEER_CERTFILE=<client_key_name>
 .public, .private are excluded in this files. The client use reversed order of there key.

Now ifcfg-ipsec0 is ready for ifup. Use "ifup ipsec0" command to activate ipsec0 interface, and "/etc/racoon/racoon.conf", "DST.conf " file will be generated. You will see several errors while getting routes and generating policies, but it is not problem on operation.

Finally, modify server's "/etc/racoon/anonymous.conf" to add "generate_policy on;" option.
remote anonymous
{
        generate_policy on;
        exchange_mode aggressive, main;
        my_identifier asn1dn;
        peers_identifier asn1dn;
...omitted...

Following errors will be occur if you don't add above configuration:
2009-11-29 09:13:07: INFO: respond new phase 2 negotiation: xxx.xxx.xxx.xxx[500]<=>yyy.yyy.yyy.yyy[500]
2009-11-29 09:13:07: ERROR: no policy found: aaa.aaa.aaa.0/n[0] bbb.bbb.bbb.bbb/m[0] proto=any dir=in
2009-11-29 09:13:07: ERROR: failed to get proposal for responder.
2009-11-29 09:13:07: ERROR: failed to pre-process packet.

Toggle the ipsec0 interface down and up with "ifdown ipsec0; ifup ipsec0" command. The IPsec will work functionally when client connect to server!

Some other error can be found in log, but it's just usual error message.
2009-11-29 09:14:58: INFO: respond new phase 2 negotiation: xxx.xxx.xxx.xxx[500]<=>yyy.yyy.yyy.yyy[500]
2009-11-29 09:14:58: INFO: no policy found, try to generate the policy : aaa.aaa.aaa.0/n[0] bbb.bbb.bbb.bbb/m[0] proto=any dir=in
2009-11-29 09:14:58: INFO: IPsec-SA established: ESP/Tunnel 211.215.9.154[500]->165.132.148.222[500] spi=216702467(0xcea9e03)
2009-11-29 09:14:58: INFO: IPsec-SA established: ESP/Tunnel yyy.yyy.yyy.yyy[500]<=>xxx.xxx.xxx.xxx[500] spi=~~(0x~~~)
2009-11-29 09:14:58: ERROR: such policy does not already exist: "aaa.aaa.aaa.0/n[0] bbb.bbb.bbb.bbb/m[0] proto=any dir=in"
2009-11-29 09:14:58: ERROR: such policy does not already exist: "aaa.aaa.aaa.0/n[0] bbb.bbb.bbb.bbb/m[0] proto=any dir=fwd"
2009-11-29 09:14:58: ERROR: such policy does not already exist: "bbb.bbb.bbb.bbb/m[0] aaa.aaa.aaa.0/n[0] proto=any dir=out"

If you change "/etc/sysconfig/network-scripts/ifcfg-ipsec0" file on the server, you have to insert "generate_policy on;" again because "/etc/racoon/anonymous.conf" is regenerated while interface up.

You can modify the server's "/etc/sysconfig/network-scripts/ifup-ipsec" to avoid the repetition on change of configuration, but this workaround make another possibility of conflicting while update or upgrading system. So I do not recommend this workaround.

Posted by Arcy

2009/11/30 01:54 2009/11/30 01:54
,
Response
No Trackback , No Comment
RSS :
http://arcy.org/tc/rss/response/86

Trackback URL : http://arcy.org/tc/trackback/86

Internet Explorer 7 혹은 8에서 검색 공급자를 추가하려면 아래 링크를 누르시면 됩니다.
( 안의 이름은 추가되는 공급자 이름입니다.)

  1. google.co.kr 한국어 검색을 검색 공급자로 추가하기 (구글)
  2. google.com 한국어 검색을 검색 공급자로 추가하기 (Google (한국어))
  3. google.com 영어 검색을 검색 공급자로 추가하기 (Google)
링크를 클릭하시면 다음과 같은 화면이 뜹니다.
사용자 삽입 이미지
저기 뜨는 시작: URL 은 지금 이 블로그를 에서 설치를 한다는 확인입니다. 공급자가 잘 추가되었는지 레지스트리에서 확인하셔도 되고, 불안하시면 지우셔도 됩니다.

기본 검색 공급자로 지정 체크하면 기본으로 설정됩니다. 현재 Internet Explorer 의 icon 설정, 추천 검색어가 적용되어 있습니다.




위에 요약 해놨으니 아래는 포스팅 계기입니다.

사용자 삽입 이미지
윈도우를 새로 깔린 컴퓨터에서 Internet Explorer 를 켜면, 오른쪽 위의 검색창은 Live Search 로 연결이 됩니다. 요즘은 Bing 으로 검색되죠.

전 메인 검색엔진으로 구글을 쓰기 때문에, 이걸 바꾸는게 작업의 시작입니다.

하지만 저기 화살표키를 눌러 추가 공급자 검색에 가봐도, 한국에서 구글은 트래픽이 적다는 이유로 쉽게 추가할 수 없습니다.

검색 공급자를 어떻게 추가하나 검색해봐도 대부분 저기서 URL어쩌구=TEST 넣어서 하는 방법이 대부분입니다. 하지만 여기도 조금 쉽게 추가하는 방법이 존재합니다.

http://winnwe.com/windowsweblog/perma/400/

위 블로그에서 검색자 추가 링크를 봤던 기억이 나서 다시 찾아봤습니다. 그런데 영어 검색링크밖에 없군요. -_-; 그래서 간만에 구글 검색자 추가에 완결을 맺고자 이 포스트를 씁니다. 제발 이 포스트가 검색 상위에 랭크돼서, 다들 삽질 안하고 쉽게 검색자를 추가할 수 있으면 좋겠습니다.

xml 은 Microsoft 에서 제공하는 opensearch xml 을 기본으로 언어만 한글, 영어로 고정시켜놨습니다.

혹시 구글 외에 더 원하는 검색 공급자가 있으면 리플 달아주세요.


참조 사이트:

http://www.opensearch.org/Specifications/OpenSearch/1.1

Posted by Arcy

2009/11/24 23:41 2009/11/24 23:41
Response
No Trackback , No Comment
RSS :
http://arcy.org/tc/rss/response/97

Trackback URL : http://arcy.org/tc/trackback/97

Google Maps API V3 (rev 13, 2009/09)

텍스트큐브 업데잇하다가 Google Maps API v3 이 있다는 티켓을 보고 후다닥 찾아봐서 여기저기 적용해봤습니다.

좋아진점은,
  • 더이상 API key가 필요없다.
  • fitBound 처럼 몇가지 편리한 함수가 생겼다.
  • 속도가 빠르다.
  • 모바일 장비를 잘 지원한다.
  • MVC 프레임웍을 사용한다. (-_-;)
라는 점이 있겠습니다만..

아직 개발중이라 현재 rev 13 기준 치명적인 단점들이 있습니다.
  • custom control을 만들 수 없다.
    • progress bar 나 다른 사용자 컨트롤을 new google.maps.Control() 로 만들어 쓸 수 있었는데요, 아직 이런 인터페이스가 생기지 않았습니다. MVCObject 를 상속한 OverlayView로 만드는 방법이 있지만 지도를 따라다닌다는 단점이 있고요. 뭐 LayoutManager 구현중이라는데 나와봐야 알 것 같습니다.
  • moveend event 를 지원하지 않는다.
    • 지도를 움직였을때 새 Marker를 추가하거나 그래야 하는데, 저 이벤트가 아직 없습니다. 왕 불편..
  • 유틸리티 함수들이 존재하지 않는다.
    • DownloadUrl, XMLhttp 등 몇가지 편리한 클래스들이 V2 에는 있지만 V3 는 아직 지원하지 않습니다. 마이그레이션에 방해가 되지요.
  • 한국 지도 및 메뉴 지원 미비
라는 이유들로 아직 V3 는 시기상조로 보입니다.

다만 이 블로그의 Location tag 지도는 V3 로 업뎃되어 있으니 체험하실 분은 보시면 되겠습니다. 몇몇 기능은 제대로 동작하지 않아요.




Posted by Arcy

2009/09/09 14:56 2009/09/09 14:56
Response
No Trackback , No Comment
RSS :
http://arcy.org/tc/rss/response/96

Trackback URL : http://arcy.org/tc/trackback/96

어느 새 0.60 이 릴리즈 됐었네요.

새로 패키징해 올립니다.




0.59 하고 내용은 똑같고요. 0.59 -> 0.60 만 적용했습니다.


자세한건 0.59 링크를 참조해주세요.

http://kldp.org/node/79841

http://arcy.org/tt/83


ps.. h1a2 는 패키징만 다시 했습니다. 그룹 이름이 0.59 처럼 "한글 Putty" 로 들어가고 설치 위치가 Program Files\iPutty 로 됩니다.

Posted by Arcy

2007/08/22 01:38 2007/08/22 01:38
Response
A trackback , 8 Comments
RSS :
http://arcy.org/tc/rss/response/90

Trackback URL : http://arcy.org/tc/trackback/90

Trackbacks List

  1. Putty 0.60 한글판 + 유니코드 + 한텀키 패치

    Tracked from 공부하는 용가리. v2 2007/11/16 13:02 Delete

    우리 푸티가 어느새 0.60까지 릴리즈되고 한글판까지 패치가 되었네요. 자세한건 링크를 타고 가시면 확인 및 다운로드까지 하실 수 있습니다. http://arcy.org/tt/90

먼저 브릿지가 뭐냐면.. 랜카드 여러장을 마치 하나처럼 쓰게 하는 겁니다.

eth1 eth2 eth3 세개를 br0:192.168.0.254/24 이렇게 한 브릿지 안에 넣으면, eth1, 2, 3 아무데나 꽂아도 다 저 192.168.0.254/24 네트웍으로 연결됩니다. eth1, 2, 3 간에도 서로 같은 네트웍으로 인식되고요.

보통 브릿지 방화벽이라고 해서, 방화벽 만들때 쓰거나.. 아님 허브 대용으로 쓰기도 합니다. -_-; 리눅스 게이트웨이 서버인데 아랫쪽에 컴터가 두대 있다면 랜카드 두개중 아랫쪽 랜카드에 허브를 연결해 두대를 연결할 수 있지만, 그냥 랜카드 한개 더 꽂아 두개를 브릿지로 잡으면 두대 다 같은 서브넷에 들어갈 수 있는거죠.

rc.local 등에 넣는 방법도 있지만, 레드햇 기본 ifup 스크립트도 브릿지를 잘 지원합니다. 설정파일 설정만으로 브릿지 잡는 방법입니다.

먼저 브릿지 설정을 위한 커널 설정과 유틸리티가 설치되어 있어야 합니다.

1. 커널
다른 필요에 의해 커널을 직접 컴파일하셨다면 CONFIG_BRIDGE 가 켜져 있어야 합니다. 배포판 기본 커널이라면 보통 들어가 있습니다.

2. brctl

/usr/sbin/brctl 이 파일이 없다면, 설치해 줍니다.
# yum install bridge-utils


3. 설정

위의 예 처럼, eth1, eth2 이 br0 이라는 브릿지 인터페이스 안에 192.168.0.254/24 로 포함되는 설정을 잡겠습니다. br0 브릿지 인터페이스는 가상 인터페이스이지만 tcpdump, 등등 될건 다 됩니다.

물리 인터페이스와 마찬가지로 /etc/sysconfig/network-scripts/ 안에서 설정 파일을 만듭니다.

먼저 ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.0.254
NETMASK=255.255.255.0
BOOTPROTO=static

중요한건 TYPE 입니다. 저렇게 Bridge 로 해 놓으면 브릿지 인터페이스로 만들죠. DEVICE 이름은 파일명과 같으면 되고, 이름은 사실 큰 관계 없습니다. ifcfg-office 등등도 가능합니다. eth, ipsec, bond 등 미리 예약된 이름은 쓰지 않는게 혼란을 피할 수 있고요.

그리고 브릿지에 포함될 인터페이스들을 설정합니다.

ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BRIDGE=br0

ifcfg-eth2
DEVICE=eth2
ONBOOT=yes
BRIDGE=br0

BRIDGE 설정을 위에서 만든 브릿지 이름으로 합니다. 그러면 알아서 포함시켜줍니다.

4. 확인

리붓을 해도 좋고 service network restart, /etc/init.d/network restart 등등 아무거나 좋습니다. 네트워크를 재시작해서 브릿지를 잡아줍니다.

잘 잡혔는지 brctl show 명령어로 봅니다.
# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.0007e939502a       no              eth2
                                                        eth1

브릿지 이름들이 나오고 브릿지에 포함된 인터페이들이 나타납니다.

5. 기타

브릿지 간에 패킷이 왔다갔다 하지 않으면, 아시겠지만 ip_forward 가 설정되지 않았을 가능성이 있습니다.

아래는 1회용,
# echo 1 > /proc/sys/net/ipv4/ip_forward


영구적으로 적용하려면 /etc/sysctl.conf 을 수정해줍니다.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1




Posted by Arcy

2007/05/20 07:13 2007/05/20 07:13
, ,
Response
No Trackback , 2 Comments
RSS :
http://arcy.org/tc/rss/response/88

Trackback URL : http://arcy.org/tc/trackback/88

SELinux 설정

CentOS, Fedora 등 RedHat 계열 기준입니다. RHEL 등도 먹지 않을까 싶군요.
  • 끄고 켜기
    • 끄기
      # setenforce 0
    • 켜기
      # setenforce 1
    • 꺼버리면 대부분의 문제가 해결됩니다.. -_-;
  • 파일의 권한 보기
    • SELinux 아래에선 기존의 퍼미션과 별도로 security tag가 파일이나 디렉마다 설정됩니다. 이는 다음 명령어로 볼 수 있습니다.
      $ ls -Z
      (중략..)
      -rw-r--r--  root root  system_u:object_r:etc_t          csh.login
      drwxr-xr-x  root lp    system_u:object_r:cupsd_etc_t    cups
      drwxr-xr-x  root root  system_u:object_r:dbusd_etc_t    dbus-1
      (후략..)

  • 임의 디렉터리의 권한 설정하기
    • /etc/selinux/targeted/contexts/files/file_contexts.local 파일을 수정해 해당 디렉터리에 대해 설정해줍니다. 설정 방법은 /etc/selinux/targeted/contexts/files/file_contexts 을 참고하거나 메뉴얼 페이지를 참고하세요. 이 후에는 restorecon 이 이 설정 기준으로 먹습니다.

  • symbolic link 파일의 설정
    • chcon -h 를 해줘야 먹습니다. 링크의 경우..

  • apache (httpd)와 트러블
    • 기본 웹 디렉터리에서는 기본적으로 문제 없게 설정되어 있습니다. /var/www 쪽이나 유저의 홈디렉 아래에 public_html, www, web 등등 일반적인 경로 기준입니다.

    • OS 업그레이드 후 기본 웹 디렉에서 403 Permission error 가 떨어질때:
      • 보통 백업했던 해당 디렉을 복구하면서 태그가 붙지 않은 경우입니다.

        Forbidden

        You don't have permission to access / on this server.

      • /var/log/audit/audit.log 에 다음과 같이 에러가 뜹니다.
        type=AVC msg=audit(1177139220.333:330): avc:  denied  { getattr } for  pid=4337 comm="httpd" name="phpMyAdmin-2.9.1.1-all-languages" dev=dm-0 ino=6418532 scontext=root:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=dir
        type=SYSCALL msg=audit(1177139220.333:330): arch=40000003 syscall=196 success=no exit=-13 a0=91d5f38 a1=bf90d63c a2=265ff4 a3=2008171 items=0 ppid=4332 pid=4337 auid=0 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) comm="httpd" exe="/usr/sbin/httpd" subj=root:system_r:httpd_t:s0 key=(null)
        type=AVC_PATH msg=audit(1177139220.333:330):  path="/var/www/html/somedir"

      • 이 때는 restorecon 명령어를 사용하면 원하는 파일과 디렉을 기본 설정값대로 만들 수 있습니다.
        # restorecon -rv /home

      • ~someuser/public_html 같은 디렉터리는 기본 설정이 문제 없는거니 관련 디렉을 restorecon 하면 되지만, 특이한 위치에 웹페이지가 있다면 다음 파일들을 수정하면 되지 않을까 싶습니다.
        /etc/selinux/targeted/contexts/files/homedir_template
        /etc/selinux/targeted/contexts/files/file_contexts.homedirs

      • template 을 수정하지 않고 웹 접근을 설정할 수도 있긴 합니다. root 가 아닌 일반 유저나 특별한 예외 상황에서는 이런 접근을 해야 하죠. 설정 전 설정은 다음과 같이 보입니다.
        $ ls -Z
        drwxrwxrwx  imo imo   root:object_r:user_home_t        pds
        drwxr-xr-x  imo imo   user_u:object_r:httpd_sys_content_t public_html
        여기서 public_html 은 httpd 접속이 가능하기 때문에 웹에서 보이지만, pds 는 403이 떨어집니다. chcon 명령어로 속성을 추가해줍니다.
        $ chcon -R -t httpd_sys_content_t pds
        그러면 해당 디렉의 설정이 바뀌게 되고 접속 가능해집니다.
        $ ls -Z
        drwxrwxrwx  imo imo   root:object_r:httpd_sys_content_t pds
        drwxr-xr-x  imo imo   user_u:object_r:httpd_sys_content_t public_html


    • php 에서 외부 데이터베이스 연결이 되지 않습니다. mysql_connect 로 다른 호스트 연결이 되지 않는다는가 하는 경우죠. 쉘에서 mysql 등으로는 연결이 잘 되기 때문에 원인 파악이 쉽지 않습니다.
      •  웹에서는 다음과 같은 에러 메시지를 확인할 수 있고,
        Can't connect to MySQL server on 'yyy.yyy.yyy.yyy' (13)

      • error_log 에는 다음과 같은 에러가 떨어지며..
        [Thu May 10 00:39:53 2007] [error] [client xxx.xxx.xxx.xxx] PHP Warning:  mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Can't connect to MySQL server on 'yyy.yyy.yyy.yyy' (13) in /home/someuser/public_html/file.php on line 2

      • /var/log/message 에서 원인을 파악할 수 있습니다.
        May 10 00:39:53 server kernel: audit(1178725193.534:53): avc:  denied  { name_connect } for  pid=4178 comm="httpd" dest=3306 scontext=user_u:system_r:httpd_t:s0 tcontext=system_u:object_r:mysqld_port_t:s0 tclass=tcp_socket

      • 해결 방법은 다음의 bool 값을 켜주면 됩니다.
        -P (대문자) 옵션을 주면 설정이 저장되어서 리붓해도 이 설정이 적용됩니다.
        # setsebool -P httpd_can_network_connect_db on

        원인을 파악하기 힘들어 당황스러운 에러였습니다.

Posted by Arcy

2007/04/21 15:19 2007/04/21 15:19
Response
No Trackback , No Comment
RSS :
http://arcy.org/tc/rss/response/85

Trackback URL : http://arcy.org/tc/trackback/85

개인적으로 사용하는 한글 Putty 입니다. 한글화, Hanterm Fn키 적용, UTF-8 간단 토글 기능 세가지 정도가 적용되어 있습니다.





  1. 한글화 패치는 kldp.net 퍼키님의 0.58 한글패치를 바꿔 입혔습니다. 시리얼이나 몇가지 새로 추가된 기능은 한글화되어있지 않습니다. 제가 글을 쓰거나 번역하면 읽고 이해하기 쉽지 않다는 컴플레인이 좀 있습니다;

  2. Hanterm의 Fn 키 배치는 다른 터미널과 좀 다릅니다. 그냥 F1~12 키야 마찬가지이지만, shift-F1 ~ shift-F12 키가 vim 에서 그대로 입력됩니다. 저처럼 Fn 키들을 vi 에서 단축키로 사용하는 경우에 12개의 키를 더 쓸 수 있다는건 vim 사용에서의 큰 차이입니다. 키보드 Fn 키 배열에서 추가된 "한텀" 을 고르면 이 키배열을 사용할 수 있습니다.

    사용자 삽입 이미지
    시험 방법은 다음과 같습니다. : 를 눌러 명령행 모드로 들어간 뒤 Fn 키를 눌러보면 키들이 그대로 표시되는 것을 확인할 수 있습니다.
    사용자 삽입 이미지
    한텀 Fn 매핑을 고르게 되면 shift-Fn 키도 <S-Fn> 형식으로 표시가 됩니다.

    사용자 삽입 이미지

    전 다음과 같은 매핑으로, F4 는 파일 저장, shift-F4는 종료로 사용합니다. shift 를 눌러야 하기 때문에 비정상적인 종료를 하게 되는 경우도 없고요, 저장 후 나갈때도 :wq<CR> 대신 F4, S-F4 로 저장 종료가 가능합니다. 그냥 종료 할 경우엔 S-F4로 에러가 뜨기 때문에 내가 뭐 실수로 바꿨거나 저장을 놓쳤는지도 확인 가능하죠.

    map <F4> :w<cr>
    imap <F4> <ESC>:w<CR>a
    map <S-F4> :q<cr>

    기본 매핑인 ZZ ZQ 등을 사용하는 방법도 있지만, 101~106키 키보드가 일반화된 상황에서는 Fn키를 더 좋아하게 되더군요. 보통은 F5~F8 로 make, F9~F12 로 네비게이션을 합니다.

  3. UTF-8 전환이 투클릭으로 가능합니다.

    아직 UTF-8이 보편화되지 않은 현실에서, 한 서버에서도 UTF-8 과 CP949 를 전환하려면 타이틀창오른클릭-G-변환-변경-적용 의 긴 단계를 거쳐야 했습니다만;

    이 패치된 Putty는 타이틀창 오른클릭하고 U 를 누르면 바로 변환됩니다.
    사용자 삽입 이미지

    유니코드 상태면 체크됩니다. \ 가 원으로 보이는가 역슬래시로 보이는가로 유니코드 상태는 쉽게 구별 가능합니다..
    사용자 삽입 이미지
    체크를 해제해주면 CP949 로 돌아가고요.

Posted by Arcy

2007/03/19 16:14 2007/03/19 16:14
Response
A trackback , No Comment
RSS :
http://arcy.org/tc/rss/response/83

Trackback URL : http://arcy.org/tc/trackback/83

Trackbacks List

  1. Putty 0.60 한글판 + 유니코드 + 한텀키 패치

    Tracked from temp blog of Arcy 2008/03/02 11:01 Delete

    어느 새 0.60 이 릴리즈 됐었네요.새로 패키징해 올립니다. HangulPuTTY-0.60.h1a2.exe0.59 하고 내용은 똑같고요. 0.59 -&gt; 0.60 만 적용했습니다.자세한건 0.59 링크를 참조해주세요.http://kldp.org/node/79841http://arcy.org/tt/83ps.. h1a2 는 패키징만 다시 했습니다. 그룹 이름이 0.59 처럼 "한글 Putty" 로 들어가고 설치 위치가 Program Files\iP..


cups + 윈도용 프린터 드라이버 자동 인스톨러 #1 - cups 잡기
cups + 윈도용 프린터 드라이버 자동 인스톨러 #2 - 프린터 설치 스크립트



조금 더 사용자 수고를 다이어트해보자. 전에 패키지할때 써보던 Inno Setup 이란 넘이 있었다.

오픈소스는 아니지만, 공개 프로그램이고 코드 집어넣는 인스톨러가 되어서 깔끔하다. 이번엔 코드 쓸 일은 없지만. (써도 된다 물론. -_-;)

다운 받아 설치한다.
 

한글 설치를 지원하려면..




그리고, 설치 스크립트를 짠다.

감이 전혀 오지 않는다면 참고하시라.

lj1150.iss
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
AppName=exe 파일 등록정보에 나올 이름
AppVerName=설치 메인 화면에 나올 이름
AppPublisher=배포자
AppPublisherURL=http://주소
AppSupportURL=http://적당히
AppUpdatesURL=http://대충
CreateAppDir=no
OutputBaseFilename=lj1150
Compression=lzma
SolidCompression=yes
Uninstallable=no

[Languages]
Name: "korean"; MessagesFile: "compiler:Languages\Korean.isl"

[Files]
Source: "hp1300m5.cat"; Destdir: {tmp}\lj1150;
Source: "hp1300m5.inf"; Destdir: {tmp}\lj1150;
Source: "hpbhealr.dl_"; Destdir: {tmp}\lj1150;
Source: "hpbmmon.dl_"; Destdir: {tmp}\lj1150;
Source: "hpbmmon.dll"; Destdir: {tmp}\lj1150;
Source: "hpc11505.gp_"; Destdir: {tmp}\lj1150;
Source: "hpc11505.xm_"; Destdir: {tmp}\lj1150;
Source: "hpc1150b.in_"; Destdir: {tmp}\lj1150;
Source: "hpc13005.gp_"; Destdir: {tmp}\lj1150;
Source: "hpc13005.xm_"; Destdir: {tmp}\lj1150;
Source: "hpc1300b.in_"; Destdir: {tmp}\lj1150;
Source: "hpc13155.gp_"; Destdir: {tmp}\lj1150;
Source: "hpcdmc32.dl_"; Destdir: {tmp}\lj1150;
Source: "hpcevt05.dl_"; Destdir: {tmp}\lj1150;
Source: "hpcljx05.hl_"; Destdir: {tmp}\lj1150;
Source: "hpcrd05.dl_"; Destdir: {tmp}\lj1150;
Source: "hpcsch05.dt_"; Destdir: {tmp}\lj1150;
Source: "hpcstr05.dl_"; Destdir: {tmp}\lj1150;
Source: "hpcui05.dl_"; Destdir: {tmp}\lj1150;
Source: "hpdomon.dl_"; Destdir: {tmp}\lj1150;
Source: "hplj3in03.ex_"; Destdir: {tmp}\lj1150;
Source: "hpprn05.dl_"; Destdir: {tmp}\lj1150;
Source: "hpprn05.dll"; Destdir: {tmp}\lj1150;
Source: "hpsmac05.gp_"; Destdir: {tmp}\lj1150;
Source: "setup.bat"; Destdir: {tmp}\lj1150;
Source: "stdnames.gp_"; Destdir: {tmp}\lj1150;
Source: "unidrv.dl_"; Destdir: {tmp}\lj1150;
Source: "unidrv.hl_"; Destdir: {tmp}\lj1150;
Source: "unidrvui.dl_"; Destdir: {tmp}\lj1150;
Source: "unires.dl_"; Destdir: {tmp}\lj1150;
; Source: "lj1150.iss"; Destdir: {tmp}\lj1150;

[Run]
Filename: "{tmp}\lj1150\setup.bat"; Flags: runminimized

; NOTE: Don't use "Flags: ignoreversion" on any shared system files

Inno Setup 에 넣고 컴파일하면 .exe 파일이 나온다.


이거이 그냥 실행하면 프린터가 알아서 잡힌다!





네번만 클릭하면 끝난다!

설치 파일 이름도 친절하게 바꿔주는 것을 잊지 말자.


이래도 못쓰시겠다면.. 그냥 대신 출력해 드리자.. -_-

Posted by Arcy

2006/09/06 23:38 2006/09/06 23:38
, ,
Response
No Trackback , a comment
RSS :
http://arcy.org/tc/rss/response/11

Trackback URL : http://arcy.org/tc/trackback/11


cups + 윈도용 프린터 드라이버 자동 인스톨러 #1 - cups 잡기



다즐이 블로그에서 프린터 자동설치에 대한 글을 본 적이 있었다. 트랙백이 안보여서 못 날린다;

이래저래 문서를 찾고 시행착오를 거쳐서 배치파일을 만들 수 있었다. 사실 내용은 한줄이다;;

setup.bat
@echo off
rundll32 printui.dll,PrintUIEntry /if /m "hp LaserJet 1150 PCL 5e" /b "프린터위치 - HP LaserJet 1150 PCL 5e" /n "hp LaserJet 1150 PCL 5e" /f hp1300m5.inf /r "http://프린터서버아이피나호스트:631/printers/MyPrinter1" /z

다 한줄이다. 프린터 드라이버가 있는 디렉토리에서 실행시키면 주르륵 드라이버를 복사하고 프린터를 추가한다.

/b 는 프린터가 추가되는 이름이다. 저기다 모델명을 그대로 적어봤자,

기획자 A가 개발실 프린터로 30분전에 이미 인쇄를 5부나 해놓고선, 회의실 프린터 앞에서 담배 물고 성질을 빡빡 내며 '이놈의 관리자 오기만 해봐라!' 하며 인쇄물과 관리자를 기다리

도록 행동하게 이미 유도한 것이다!

어느 장소에서나 모든 프린터로 인쇄할 수 있도록 설정한 '아름다운' '유비쿼터스' 환경에서, 사용자는 현재 출력하는 위치와물리적으로 가장 가까운 프린터에서 알아서 출력이 되리라고 기대한다. 아직 더욱 아름다운 세상을 구현하지 못한 관리자와 엔지니어의책임이다! 그러니 사용자가 쉽게 알 수 있도록 "개발실 화분 앞 HP 레이져 프린터" "디자이너 C 씨 옆 칼라 프린터 -출력비 비쌈" 등등 사용자 친화적인 이름을 적어두도록 하자.


/y 옵션을 넣어 한줄 더 추가하면 기본 프린터로 설정한다. 옵션 다 빼고 /? 하면 옵션 설명이 나오니 참고하시라. 자세한 설명은 지면상 생략한다.
참고로, 저 줄에 /y 를 추가하면 프린터 추가하면서 자동으로 기본 프린터로 설정될 것 같지만, 옵션 충돌로 실행되지 않는다.


자, 이 배치파일을 드라이버와 함께 압축하여 배포하면 zip 파일을 받아 압축을 풀고, setup.bat 을 실행시키기만 하면 프린터가 알아서 추가된다. 1편보다 클릭이 11번, 텍스트 입력 하나가 줄었다. (주소에 "http://프린터.서버,호스트:631/~~~" 라고 치고 "안됩니다. 고쳐주세요." 하는 분도 꼭 계시다;)


많이 아름다워졌지만, 아직도 "압축파일 어떻게 푸나요?" "어디다 풀어야 해요?" 등등의 질문이 날아올지도 모른다. 그래, 아직 부족한거다. 카스테라인 스퐁지에 생크림을 부드럽게 발라 케익의 모양은 갖췄지만 케익은 데코레이션을 해야 하는 것이다.


사실..




cups + 윈도용 프린터 드라이버 자동 인스톨러 #3 - Inno Setup 으로 자동화


Posted by Arcy

2006/09/06 23:21 2006/09/06 23:21
, ,
Response
No Trackback , No Comment
RSS :
http://arcy.org/tc/rss/response/10

Trackback URL : http://arcy.org/tc/trackback/10

Linux 도 프린터 서버로 쓰기 좋다. 사무실 안에 노는 Linux 머신이 있다면 프린터 서버로 돌려보자.


먼저 리눅스에서 프린터 잡기.

패러럴 포트라면 그냥 꽂으면 되고, USB 라도 일반 배포판 커널은 보통 잘 잡힌다.

혹시 없다면: 커널 옵션에서 USB, USB Printing 을 켜고 커널을 다시 컴파일해줘야 한다.

USB 경우 잘 잡히면 lsusb 에서 바로 보인다.

# lsusb
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 002: ID 03f0:0f17 Hewlett-Packard
Bus 001 Device 001: ID 0000:0000

이건 USB 가 잡힌거다. USB printer 는 usblp 로 잡힌다. 디바이스는 /dev/usb/lpX
dmesg 에서 커널 메시지를 확인한다.

drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x03F0 pid 0x0F17
usbcore: registered new driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver


프린터 데몬을 준비한다. 요즘 어디나 쓰이는 cups. samba 가 없어도 기종별 호환에 문제가 없다.

깔려 있지 않다면 새로 깐다.

레드햇계열이면 (Fedora, RHEL, Centos, 등등. 아 친절하다. -_-)

# yum install cups


데비안계열이면 (Ubuntu 포함이다;;)

# apt-get install cups


젠투면 알아서.. (젠투 안좋아한다.)


설치 후 cupsd.conf 를 수정하여 지금 쓰는 컴퓨터에서 어드민이 가능하게 한다.

기본으로 127.0.0.1, 로컬 접속에서는 다 되게 되어 있지만, 다른 컴퓨터에서 원격으로 설정중이라면 이걸 켜줘야 한다. * 의 와일드카드도 먹힌다.

cupsd.conf

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 내.아.이.피
Allow From 내.아이.피.*
</Location>


설정이 준비되면 cupsd 를 기동한다.

그리고 http://프린터서버호스트혹은아이피:631/admin 으로 접속해서 화면이 나오면 일단 cupsd 는 뜬거다.


그럼 프린터를 추가하자. 아래의 Add Printer 를 누른다.


이름과 위치, 설명을 대충 넣고 (한글은 웬만함 쓰지 말자. -_- Linux 는 아직 i18n 과 안친하다.) Continue 를 누르면 포트를 고른다.


USB 는 친절하게 현재 연결된 모델명까지 떠준다. 포트 고르고 벤더와 기종을 대충 고른다.

Windows 에서 자체 드라이버를 사용하는 경우라면, Raw 에서 Raw Queue 를 선택해야 한다. 그렇지 않으면 프린터 종류에 따라 추가할 때 혹은 등록정보를 볼 때 spool (spoolsv.exe) 가 CPU 를 전부 다 먹고 freezing 되는 일이 발생한다!




프린터가 여러대라면 여러대의 프린터를 class 로 묶에 관리할 수도 있다. 하지만 프린터 한대만 쓴다면 이정도면 충분하다.

이 프린터의 위치는 http://프린터서버아이피혹은호스트:631/printers/MyPrinter1 이 된다.
그래, 저 위에서 Manage Printers 를 눌러 프린터를 눌렀을때 주소창에 뜨는 바로 그거다! 같은 주소로 웹 매니지먼트랑 프린팅이 다 되는거다.

스태터스가 Online, idle 이 맞는지 확인한다. 빨간색이고 뭔가 잘못됐다면 알아서 트러블슈팅!


자, 클라이언트 윈도 XP 에선 이렇게 잡는다. 프린터 추가..



이 다음은 윈도에서 일반 프린터 설정과 마찬가지다. 벤더 고르고 드라이버 고르고.. 최신 프린터라 목록에 없다면 받은 드라이버로 설치한다.

테스트페이지를 출력해봐서 인쇄가 잘 된다면 그럭저럭 잘 된거다. cupsd.conf 에서 해당 프린터를 사용할 수 있는 아이피 대역을 지정해준다.

<Location /printers/MyPrinter1>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 프린터쓸.사람들.아이피들.*
</Location>

서비스를 재시작해서 conf 파일을 읽어야 하는 것을 잊지 말자.

자 만일,
  1. 뭐 나 혼자 쓸거라거나..
  2. 시간이 아주 많거나..
  3. 사람들 컴퓨터 하나하나 설정해주는거 좋아한다거나..
  4. 평소에 마음에 들어하던 총무과 아가씨 컴퓨터에서 거들먹거리며 프린터를 잡아주고, "커피 한잔 사세요. ^^" 라고 하고 싶다면
여기까지 충분하다.

하지만 위와 같이 아주 친절한 메뉴얼을 적는다고, "저 첫 화면은 어디서 불러와요?" "시작 버튼이 안보여요!" 라는 등의 질문이 들어오지 않기를 바란다면 사용자를 너무 무시해주신 결과 되겠다. 진정 게으른 관리자는 인간 우선적 설계는 사용자의 클릭 한번이라도 줄여서 -> 사용자의 실수를 미리 방지해 -> 내 시간을 확보해야 사용자의 편의를 고려해야 하는 것이다.



cups + 윈도용 프린터 드라이버 자동 인스톨러 #2 - 프린터 설치 스크립트

Posted by Arcy

2006/09/06 13:41 2006/09/06 13:41
, , ,
Response
No Trackback , No Comment
RSS :
http://arcy.org/tc/rss/response/9

Trackback URL : http://arcy.org/tc/trackback/9


블로그 이미지

- Arcy

Notices

Archives

Authors

  1. Arcy

Calendar

«   2012/05   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Site Stats

Total hits:
83928
Today:
51
Yesterday:
79