Trans:GentooX86Handbook1-8

Gentoo Korea Wiki
둘러보기로 가기 검색하러 가기

시스템 설정하기

파일시스템 정보

fstab이 무엇인가요?

리눅스에서는 시스템에서 사용하는 모든 파티션은 /etc/fstab에 나열해야 합니다. 이 파일에는 어떤 특별한 옵션(사용자가 마운트 할 수 있는지에 대한 여부와는 상관 없이 자동 혹은 수동으로 등)과 함께 어떻게 마운트 해야 하는지 각각의 (파일 시스템 구조를 볼 수 있는) 파티션에 대한 마운트 지점 정보가 있습니다.

/etc/fstab 만들기

/etc/fstab은 특별한 문법을 사용합니다. 모든 줄에는 공백(스페이스, 탭 또는 조합 공백)으로 구분하는 6개의 필드가 있습니다. 각각의 필드는 다음의 의미를 지니고 있습니다.

  • 첫번째 내용은 파티션(장치 파일의 경로)을 언급힙니다
  • 두번째 내용은 파티션을 마운트할 마운트 지점을 보여줍니다
  • 세번째 내용은 파티션에서 사용하는 파일시스템을 보여줍니다
  • 네번째 내용은 mount 프로그램이 파티션을 마운트할 때 필요해서 사용하는 마운트 옵션을 보여줍니다
  • 다섯번째 내용은 파티션의 내용을 덤프할 지 아닐지를 결정하는데 dump가사용합니다. 보통 이 값을 0(영)으로 둘 수 있습니다.
  • 여섯번째 내용은 시스템을 제대로 종료하지 않았을 경우 파일시스템을 검사해야 할지를 결정할 때 fsck가 사용합니다. 루트 파일 시스템은 1로 설정하고 나머지 파일 시스템은 2로 설정합니다(또는 파일시스템 검사가 필요하지 않을 경우 0으로 설정합니다)


중요: 젠투가 제공하는 기본 /etc/fstab 파일은 올바른 fstab 파일이 아닙니다. 여러분 자신의 /etc/fstab 파일을 만들어야 합니다



코드 예제 1.1: /etc/fstab 열기
# nano -w /etc/fstab


이제 /boot 파티션에 대한 옵션을 어떻게 적는지 보도록 하겠습니다. 이건 그냥 예제일 뿐인데, /boot 를 만들 줄 모르거나 만들 수 없으면 복사하지 마십시오.

저희가 제공한 기본 x86 파티션 분할 예제에서는, /boot는 보통 ext2 파일시스템의 /dev/sda1 파티션입니다. 부팅하는 동안에 검사할 필요가 있기에 다음과 같이 적습니다.


코드 예제 1.2: /etc/fstab의 /boot 줄 예제
/dev/sda1   /boot     ext2    defaults        1 2


어떤 사용자는 보안성을 향상시키기 위해 /boot 파티션을 자동으로 마운트하는 것을 원하지 않기도 합니다. 이 분들은 defaultsnoauto로 바꿉니다. 이는 여러분이 이 파티션을 사용하려면 매번 직접 마운트 할 필요가 있다는 것을 의미합니다.

여러분의 파티션 모양새와 맞는 규칙을 추가하고 CD-ROM 드라이브 규칙을 붙입니다. 물론 다른 파티션이나 드라이브가 있으면 이에 대해서도 추가합니다.

이제 /etc/fstab을 만드는데 아래에 있는 예제를 사용하겠습니다


코드 예제 1.3: 완전한 /etc/fstab 예제
/dev/sda1   /boot        ext2    defaults,noatime     1 2
/dev/sda2   none         swap    sw                   0 0
/dev/sda3   /            ext3    noatime              0 1

/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0


automount가 파일시스템을 추측(다양한 파일시스템으로 만들 수 있는 이동식 미디어에 추천합니다)하게 하고 user는 비 루트 사용자가 CD를 마운트할 수 있게 합니다.

성능을 좀 더 올리기 위해 대부분의 사용자는 마운트 옵션에 접근 시간을 등록하지 않아 (보통 필요하지 않습니다) 시스템을 좀더 빠르게 하는 noatime을 추가하고 싶을 것입니다.

/etc/fstab을 다시 확인하고, 저장하고 빠져나간 후 계속 진행합니다.

네트워크 정보

호스트 이름, 도메인 이름, 등

사용자가 선택해야 하는 것 중 하나가 PC의 이름입니다. 이는 좀 쉬울 수가 있지만 대부분의 사용자들은 리눅스 PC에서 적당한 이름을 찾는데 애를 먹습니다. 이걸 빨리 해결하려면 나중에 바꿀 수 있게 여러분이 선택한 이름을 알 필요가 있습니다. 이 모든 것들을 고려하여, 여러분은 시스템이름을 tux로 하고 도메인 이름은 homenetwork라고 부를 수 있습니다.


코드 예제 2.1: 호스트 이름 설정

# nano -w /etc/conf.d/hostname

(여러분의 호스트 이름을 hostname에 설정합니다)
hostname="tux"


두번째로 도메인 이름이 필요하다면, /etc/conf.d/net에 설정합니다. ISP나 네트워크 관리자가 언급하는거나, DNS서버는 있는데 DHCP서버가 없을 경우 도메인이 필요합니다. DHCP로 네트워크를 설정했다면 DNS나 도메인 이름에 대해 걱정할 필요가 없습니다.


코드 예제 2.2: 도메인 이름 설정

# nano -w /etc/conf.d/net

(여러분의 도메인 이름을 dns_domain 변수에 설정합니다)
dns_domain_lo="homenetwork"



참고: 도메인 이름을 설정하지 않으면, /etc/issue를 편집하면 나타나는 "This is hostname.(none)" 로그인 화면의 메시지를 보게 됩니다. 파일에서 .\O 문자열을 지우세요


NIS 도메인을 가지고 있다면(뭔지 모르겠다면 가지고 있는게 아닙니다) 다음을 더 설정하는 것이 필요합니다


코드 예제 2.3: NIS 도메인 이름 설정

# nano -w /etc/conf.d/net

(여러분의 NIS 도메인 이름을 nis_domain 변수에 설정합니다)
nis_domain_lo="my-nisdomain"



참고: DNS와 NIS설정에 대해 더 알려면 bzless를 통해 읽을 수 있는 /usr/share/doc/openrc-*/net.example.bz2의 제공내용을 읽어보시기 바랍니다. 또한 DNS/NIS 설정을 관리하는데 도움을 받으려면 원하시는 경우 openresolv를 이머지 하실수 있습니다.


네트워크 설정하기

"어이, 다 됐는데..."같은 느낌을 받기전에 젠투 설치 시작 즈음에 여러분이 설정한 네트워크는 그냥 설치를 위한 것이었음을 기억하셔야 합니다. 바로 이제 젠투 시스템에서 계속 사용할 네트워크를 설정하실 차례입니다.


참고: 본딩, 브리징, 802.1Q VLAN 또는 무선 네트워크 같은 고급 주제를 포함한 네트워크에 대한 더 많은 내용은 [젠투 네트워크 설정] 장에서 다룹니다.


모든 네트워크 정보는 /etc/conf.d/net에서 가져옵니다. 여러분이 네트워크를 직접 어떻게 설정하는지 모르시겠더라도 아직은 직관적이지 않지만 간단한 문법을 사용합니다. 그러나 두려워 하지 마세요. 다 설명할테니까. 많은 여러가지 설정에 대해 주석이 완전히 달린 예제는 /usr/share/doc/openrc-*/net.example.bz2에 있습니다.

DHCP는 기본으로 사용합니다. DHCP를 동작하게 하려면, DHCP 클라이언트를 설치할 필요가 있습니다. 다음의 [필요한 시스템 도구 설치하기] 부분에서 설명할 것입니다. DHCP 클라이언트를 설치하는걸 잊지 마시기 바랍니다.

특정 DHCP 옵션이 필요하거나 DHCP를 아얘 사용하지 않아 네트워크 연결 설정이 필요한 경우, /etc/conf.d/net 을 여러분 취향의 편집기로 엽니다. (이 예제에서는 nano를 사용합니다.)


코드 예제 2.4: /etc/conf.d/net 편집을 위해 열기
# nano -w /etc/conf.d/net


다음 줄을 보게 될 것입니다.


코드 예제 2.5: 기본 /etc/conf.d/net
# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d. To create a more complete configuration,
# please review /usr/share/doc/openrc-*/net.example.bz2 and save
# your configuration in /etc/conf.d/net (this file :]!).


여러분의 IP 주소, 넷마스크, 게이트웨이를 입력하려면 config_eth0routes_eth0 둘 다 설정해야 합니다.


코드 예제 2.6: eth0 IP 정보 직접 설정하기
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"

routes_eth0="default via 192.168.0.1"


DHCP를 사용하려면 config_eth0을 설정합니다


코드 예제 2.7: eth0에 IP주소 자동으로 가져오기
config_eth0="dhcp"


쓸 수 있는 모든 옵션을 보려면 /usr/share/doc/openrc-*/net.example.bz2를 보시기 바랍니다. 특정 DHCP 옵션을 설정할 필요가 있다면 DHCP 클라이언트 맨페이지도 보시기 바랍니다.

여러 개의 네트워크 인터페이스가 있다면 config_eth1, config_eth2 등에 대해서도 위 과정을 반복하도록 합니다.

이제 설정을 저장하고, 계속 진행하기 위해 빠져나갑니다.

시동시 자동으로 네트워크 시작하기

시동시 네트워크 인터페이스를 활성화하려면 기본 런레벨에 추가해야 합니다.


코드 예제 2.8: 기본 런레벨에 net.eth0 추가하기
# cd /etc/init.d

# ln -s net.lo net.eth0
# rc-update add net.eth0 default


여러 개의 네트워크 인터페이스가 있다면, net.eth0를 만들었던 것처럼, 적당한 net.eth1, net.eth2 등을 만들어야 합니다.

네트워크 정보 적어놓기

이제 여러분의 네트워크에 대해 리눅스에게 알려줄 필요가 있습니다. /etc/hosts에 지정되어 있으며, 이름 서버에서 해석할 수 없는 호스트의 IP 주소를 해석하는데 도움을 줍니다. 시스템을 설정할 필요가 있습니다. 내부 DNS 시스템을 설정하고 싶지 않다면 여러분의 네트워크에 다른 시스템을 지정하고 싶으실 것입니다.


코드 예제 2.9: /etc/hosts 열기
# nano -w /etc/hosts



코드 예제 2.10: 네트워크 정보 채워넣기
(현재 시스템을 설정합니다)

127.0.0.1 tux.homenetwork tux localhost

(네트워크상에 설정한 방법대로 고정 IP가 필요한
추가 시스템을 설정합니다.)
192.168.0.5 jenny.homenetwork jenny
192.168.0.6 benny.homenetwork benny


저장하고 계속 진행하기 위해 편집기를 빠져 나갑니다.

PCMCIA가 붙어있지 않다면 [시스템 정보]로 계속 진행할 수 있습니다. PCMCIA 사용자는 PCMCIA에 대한 다음 주제를 읽어야합니다.

선택 요소: PCMCIA 동작하게 만들기

시스템 정보

루트 암호

시스템 정보

로캘 설정