dselect
가 실행되면 다음과 같은 화면을 보게 될 것이다:
Debian Linux `dselect' package handling frontend. 0. [A]ccess Choose the access method to use. 1. [U]pdate Update list of available packages, if possible. 2 [S]elect Request which packages you want on your system. 3. [I]nstall Install and upgrade wanted packages. 4. [C]onfig Configure any packages that are unconfigured. 5. [R]emove Remove unwanted software. 6. [Q]uit Quit dselect.
각각을 하나씩 살펴보도록 하자.
여기 접근방식 선택 화면이 있다:
dselect - list of access methods Abbrev. Description cdrom Install from a CD-ROM. * multi_cd Install from a CD-ROM set. nfs Install from an NFS server (not yet mounted). multi_nfs Install from an NFS server (using the CD-ROM set) (not yet mounted). harddisk Install from a hard disk partition (not yet mounted). mounted Install from a filesystem which is already mounted. multi_mount Install from a mounted partition with changing contents. floppy Install from a pile of floppy disks. apt APT Acquisition [file,http,ftp]
여기서 우리는 dselect
에게 설치하고자 하는 패키지들이
어디에 있는지를 알려주게 된다. 위의 리스트에서 순서는 무시하기 바란다.
정확한 설치 방법을 선택하는 건 매우 중요한 일이다. 아래에서 위의
방법들이 가지고 있는 차이점을 알아보도록 하자.
Packages.cd
파일들이 (각각이 패키지에 대한 기록을
담고 있다) 있는데, 이것들은 다른 방법들에서 사용되는 전통적인 패키지
파일들에 대해 추가적으로 담겨있는 것들이다. 맨 처음 이방법을 택했다면,
우선 사용하고자 하는 CD-ROM이 마운트되지 않은 것을 확인하라. 바이너리
CD 세트 가운데 아무거나 드라이버에 넣고 아래의 질문들에 답하면 된다:
한번 사용 가능한 리스트를 업데이트하고 설치하고자 하는 패키지들을 선택한 다음부터 multi-cd 방법은 다른 방법과 달라진다. 각각의 CD들에 대해서 "Install"을 실행시켜야 하기 때문이다. 불행하게도 dselect의 한계로 인하여 각각의 단계에서 새로운 CD를 설치할 수 없다; 각각의 디스크에 대해 다음의 작업이 필요하다.
아마도 패키지 설치 순서를 고려할 때 한번 이상의 설치 단계를 거쳐야 할 것이다. - 미리 설치하려고 한 패키지가 적절한 설정 없이 후반에 설치할 패키지를 필요로 하는 경우 이런 문제가 발행한다.
이런 문제가 발생하게 되면 "Configure"를 실행시켜 그 문제점에 대한 도움을 받을 수 있을 것이다.
이 방법의 설정은 수월하다; 여러 개의 위치를 섞어서 쓸 수도 있는데 file: URL (지역 디스크나 NFS로 마운트된 디스크), http: URL, 혹은 ftp: URL 등을 자유롭게 사용할 수 있다. 하지만, HTTP와 FTP 옵션은 지역의 허가된 프록시(local authenticating proxies)를 지원하지 않는다.
만약 http나 ftp에 (혹은 둘 다) 대한 프록시 서버를 가지고 있다면, http_proxy나 ftp_proxy 환경 변수가 설정되어 있는지를 확인해라. dselect를 실행시키기 전에 셸에서 이들을 다음과 같이 설정한다:
# export http_proxy=http://gateway:3128/ # dselect
이 방법은 설치 과정이 매우 간단하다: NFS 서버의 주소를 주고 데비안 배포판의 위치와 패키지 파일들의 위치만 알려주면 끝이다. dselect는 서버에서 여러가지 섹션을 설치할 것이다. 느리지만 쉽다; 적절한 설정 단계가 없기 때문에 수많은 ``Configure'' 단계를 거치게 될 것이다. NFS 기반의 설치에서만 적합한 방법이다.
데비안 파일들이 위치한 파티션에 대한 블럭 디바이스를 지정한다. 간단하지만 느리고, 설치 순서를 위한 단계가 없어서 ``Configure'' 단계를 많이 거쳐야 한다. ``apt'' 방법이 설치 순서 설정 기능과 함께 이 기능을 지원하므로 사용을 권하지 않는다.
파일시스템에서 데비안 파일들의 위치만을 정해주면 된다. 아마 가장 쉬운 방법일 텐데, 느리다는 단점이 있다. 적절한 설치 순서를 위한 단계가 없으므로 수많은 ``Configure'' 단계를 거쳐야 할 것이다.
하나의 CD 설치를 위한 방법으로, CD-ROM 드라이브의 위치, 데비안 배포본의 위치, 각 패키지 파일들의 위치만을 물어볼 것이다. 간단하지만 정말 느리고, 설치 단계 설정을 위한 단계가 없으므로 수많은 ``Configure'' 단계를 필요로 한다. 하나의 CD-ROM에 만들어진 배포본은 더이상 없을 것으로 생각되기 때문에 권하지 않고, 대신 ``multi_cd'' 방법을 사용할 것을 권한다.
만약 어떤 문제가 발생할 때 -- 아마 Linux가 당신의 CD-ROM을 찾지 못하거나, NFS 마운트가 작동하지 않거나, 어떤 파티션에 패키지가 존재하는지 잊어버렸을 때 등 -- 몇가지 선택이 있다:
dselect
를 나가고 후에 다시 실행시킨다. 때로 어떤 문제는
해결을 위해 시스템을 종료할 필요가 있기도 하다. 이것은 아무 문제가 없는
것이지만 다시 dselect
를 실행시킬 때에는 루트의 권한을 가지고
있어야 한다. 처음 시스템 설치 중 실행된 dselect가 아니라면 이런 권한의
변환은 자동으로 행해지지 않는다.
접근 방식을 선택한 다음 dselect
는 패키지들의 적당한 위치를
찾게 될 것이다. 만약 이 정보를 정확히 얻지 못한다면 Control-C를
누르고 ``Access'' 아이템으로 돌아가기 바란다.
이 과정이 끝난 다음에는 처음의 주화면으로 돌아가게 된다.
dselect
는 `Packages' 혹은 `Packages.gz' 파일들을 읽어서
시스템에서 사용 가능한 모든 패키지들의 데이터베이스를 구성한다. 이 과정은
약간 시간이 걸린다.
준비하시라. 여기가 모든 것이 결정되는 핵심이다. 이 부분에서는 설치하고자 하는 패키지들을 선택한다.
Enter를 누르자. 만약 컴퓨터가 좀 느린 경우 화면이 지워지고도 15초 동안 아무것도 안나타날 수도 있다.
먼저 화면에 나타나는 것은 도움말 파일의 첫 페이지이다. ``Select'' 화면 어디서든 ? 키를 누름으로써 이 도움말의 첫 페이지를 볼 수 있으며, 그 페이지를 . 키를 누름으로써 넘길 수 있다.
그 안으로 들어가기 전 다음과 같은 사실을 주의하라:
dselect
는 문제가 있음을 경고하고 해결책을 제시해 줄 것이다.
만약 A 패키지가 B 패키지와 충돌된다면(예를 들면
그들이 서로 같이 사용될 수 없는 프로그램이라면) 그 가운데 하나를
선택하라는 질문을 받게 될 것이다.
``Select'' 화면의 상단 두 줄을 보자.
dselect - main package listing (avail., priority) mark:+/=/- verbose:v help:? EIOM Pri Section Package Inst.ver Avail.ver Description
이것들은 몇몇 특수키들에 대한 정보를 상기시켜 준다.
Flag 의미 가능한 값 E 에러 Space, R, I I 설치 상태 Space, *, -, U, C, I O 이전 마크 *, -, =, _, n M 현재 마크 *, -, =, _, n
모든 것에 대해 설명하기 보다는 당신이 Help 화면에서 그 내용을 직접 확인하는 것이 좋을 것이다. 예를 하나 들어보자.
dselect
로 들어가서 이와 같은 줄을 찾았다고 하자:
EIOM Pri Section Package Description ** Opt misc loadlin a loader (running under DOS) for LINUX kernel
이것은 당신이 마지막에 dselect
를 실행했을 때 loadlin을
선택했다는 것과 아직 선택되어 있다는 것, 하지만 아직 설치되지는
않았다는 것을 보여준다. 이유는 무엇 때문이겠는가? 당연히 loadlin
패키지가 물리적으로 설치 불가능하기 때문이다(설치 중인 매체에 패키지가
포함되어 있지 않다는 등의 이유).
dselect
가 모든 패키지에 대한 설치 내용에 대한 정보는
패키지들 자체에 담겨져 있다. 이 세상에 완전한 것은 없다. 따라서 때때로
패키지 안의 의존성 내용이 정확하지 않아 dselect
가 그 문제를
해결할 수 없는 경우도 존재한다. 이런 경우 ``Select'' 화면에서 Q나
X 명령을 이용하여 제어할 수 있다.
dselect
내부의 의존성을 강제로 무시하고 당신이
지정한 작업을 수행하게 한다. 물론 결과에 대해서 당신이 정확히 알고
있어야 한다.
당신의 실패를 방지하는데 도움을 주는 키로 R, U, D 가 있다.
dselect
가 무언가 바꿀 것을 제안하거나 당신
스스로 추가로 바꾼 것이 있다면 이 키로 현재 dselect
의
내용을 복구할 수 있다.
dselect
에 의해 선택된 것들을 모두 제거하고, 당신이 선택한
것 만을 남겨놓는다.
다음과 같은 예를 보자. boot-floppies
패키지는
(초보자를 위한 예제가 아니라는 걸 안다. 하지만 이것이 많은 패키지에
의존적이기 때문에 선택했다) 다음과 같은 패키지들에 의존적이다:
libc6-pic
slang1-pic
sysutils
makedev
newt0.25
newt0.25-dev
popt
zlib1g
zlib1g-dev
recode
boot-floppies
패키지를 관리하는 사람은 또한 아래의
패키지 역시 설치되어 있어야 한다고 생각한다. 하지만, 이것은 반드시
필요한 것은 아니다:
lynx
debiandoc-sgml
unzip
따라서 내가 boot-floppies
를 선택할 때 다음과 같은
화면을 보게 된다:
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description ** Opt admin boot-floppie Scripts to create the Debian installation floppy set. _* Opt devel newt0.25-dev Developer's toolkit for newt windowing library _* Opt devel slang1-dev The S-Lang programming library, development version. _* Opt devel slang1-pic The S-Lang programming library, shared library subset ki
(당신 시스템에 어떤 패키지들이 설치되어 있는가에 따라서 나머지 패키지들은 나타날 수도 있고 그렇지 않을 수도 있다). 모든 필요한 패키지들이 나를 위해 선택되어 있다는 것을 확인할 수 있을 것이다.
R 키를 누름으로써 처음으로 돌아갈 수 있다.
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description __ Opt admin boot-floppie Scripts to create the Debian installation floppy set. __ Opt devel newt0.25-dev Developer's toolkit for newt windowing library __ Opt devel slang1-dev The S-Lang programming library, development version. __ Opt devel slang1-pic The S-Lang programming library, shared library subset ki
만약 이 boot-floppies 패키지를 설치하지 않기로 결심했다면, 이 상태에서 Enter를 치면 된다.
D 키는 처음 설치 상태로 돌아가게 한다:
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy set. __ Opt devel newt0.25-dev Developer's toolkit for newt windowing library __ Opt devel slang1-dev The S-Lang programming library, development version. __ Opt devel slang1-pic The S-Lang programming library, shared library subset ki
U키는 dselect
의 선택들을 복구한다:
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy set. _* Opt devel newt0.25-dev Developer's toolkit for newt windowing library _* Opt devel slang1-dev The S-Lang programming library, development version. _* Opt devel slang1-pic The S-Lang programming library, shared library subset ki
지금은 기본적인 것들을 실행할 것을 제안한다 -- 앞으로 많은 패키지들을 추가할 수 있는 기회가 있을 것이다.
당신 결정이 어떻든, Enter를 치면 그 결정을 받아들이고 주화면으로 전환된다. 만약 결과가 해결할 수 없는 문제를 담고 있다면, 바로 문제 해결을 위한 다른 화면으로 전환될 것이다.
따라서 R, U, D, 키는 ``어떤 상황에서도'' 매우 유용하다. 어떤 것이든 실험해보고 모든 것을 원상태로 복구한 뒤 다시 시도해 볼 수 있다. 이것들을 ``비상시 유리를 깨고 사용하시오'' 딱지가 붙어있는 유리 상자와 같이 보지 말라.
``Select'' 화면에서 선택을 마친 후, I를 누르면 큰 창이 나타날
것이고, t를 쓰면 처음으로 간 뒤 Page-Down 키를 이용하여
선택 내용을 빠르게 검토할 수 있다. 이 방법은 작업 결과를 확인하고 에러를
쉽게 찾아낼 수 있게 한다. 어떤 사람은 모든 패키지들 선택을 실수로 해제하고
너무 늦게 그 사실을 알아채는 경우도 있다. dselect
는 매우
강력한 도구이므로 잘못 사용하지 않도록 주의해야 한다.
처음상태는 다음과 같다:
package category status required all selected important all selected standard mostly selected optional mostly deselected extra mostly deselected
만족스러운가? Enter를 누르고 ``Select'' 프로세스를 빠져나오라. 만약 원한다면 다시 ``Select''를 실행시킬 수 있다.
dselect
는 실행시 2250개의 모든 패키지를 거치면서 선택된
패키지를 설치하게 된다. 설치가 진행되면서 결정이 필요할 때에는 질문이
나타나게 될 것이다. 이것은 서로 다른 셸을 비교하면서 교체할 때
(말하자면 이전의 설정을 새 패키지에 적용할 때) 종종 유용하게 사용된다.
만약 예전의 파일이 conf.modules
였다면 새로운 것은
conf.modules.dpkg-new
가 될 것이다.
시스템이 빠르면 화면이 너무 빨리 넘어갈지도 모른다. 그렇다면
Control-s/Control-q 로 화면을 정지/해제 시킬 수 있고
화면의 마지막에서는 설치되지않은 패키지들의 목록을 얻게 될 것이다. 만약
모든 것에 대한 기록을 간직하고 싶다면 tee
나 script
같은 일반 유닉스의 기능을 이용하라.
패키지가 설치되지 않은 경우 가운데 하나는 설치를 위해 목록에 포함되긴 했지만 아직 설치되지 않은 패키지에 설치하고자 하는 패키지가 의존적인 경우이다. 이런 경우에 대한 해답은 ``Install''을 다시 한번 실행시키는 것이다. 모든 것이 제위치에 설치되기 위해서 설치를 4번 반복해야 하는 경우가 보고된 적도 있다. 물론 이 회수는 당신이 어떤 방법으로 무엇을 설치하는 지에 따라 다르다.
대부분의 패키지들은 세번째 단계에서 설정이 되지만, 설정이 이루어지지 않은 패키지가 있다면 이 곳에서 설정을 한다.
설치되어 있지만 더이상 필요하지 않은 패키지들을 제거한다.
나는 이 단계에서 /etc/cron.daily/find
를 실행시켜 시스템에
설치된 수많은 파일들을 확인하기를 권한다. 그러면 locate
를
이용하여 주어진 파일이 위치를 확인할 수 있다.
dselect
문서bortzmeyer@debian.org
linusben@bawi.org