[Freebsd] FreeBSD 시스템 기본 관리 방법

FreeBSD 시스템 기본 관리 방법

사용자 관리

네트워크 구성

패키지 관리

FreeBSD 에서 설정부분은 /stand/sysinstall 프로그램으로 편리한 메뉴얼 방식으로

설정이 가능하다.

sysinstall -> configure ->

Distributions : 배포본 세트의 추가 설치

Packages : 패키지 설치

Root Password : 관리자 암호 설정

Fdisk : 파티션 편집

Label : 디스크레이블 편집기

User Management : 사용자와 그룹추가

Console : 콘솔 설정

Time Zone : 시간대 설정

Media : 설치 매체 설정

Mouse : 마우스 설정

Networking : 네트워크 설정

Security : 보안 설정

Startup : 시스템 시동 옵션 설정

Options : sysinstall 옵션 설정

XFree86 : XFree86 서버 설정

Desktop : XFree86 클라이언트 설정

HTML Docs : HTML로 문서보기

sysinstall로 인해 변경된 내용은 각각의 설정 파일에 분산되어져서 저장하며

시동 옵션등에 대해서는 /etc/rc.conf를 수정하게 된다. rc.conf 파일이 수정

되어지면 아래아 같은 형식으로 추가 변경된 내용이 기록되어진다.

# — sysinstall generated deltas — # Wed Dec 19 14:18:52 2001

check_quotas=”NO”

usbd_enable=”NO”

이는 sysinstall 로 변경해도 되고 직접적으로 설정파일을 수동으로 변경하여

도 상관없다.

1. 사용자 관리

사용자 관리는 사용자의 추가 삭제 변경등이 있으며 그 방법으로는 sysinstall

로 관리하는 방법과 수동적으로 설정파일을 편집하는 방법이 있다.

sysinstall 을 이용하는 방법 ?

Configure -> User Management

           +————– User and group management ————–+

           | The submenus here allow to manipulate user groups and |  

           | login accounts.                                       |  

           |                                                       |  

           | +—————————————————+ |  

           | |  X Exit  Exit this menu (returning to previous)   | |  

           | |  User    Add a new user to the system.            | |  

           | |  Group   Add a new user group to the system.      | |  

           | +—————————————————+ |  

           +——————————————————-+  

           |                [  OK  ]       Cancel                  |  

           +——-[ Configure your user groups and users ]——–+  

위의 인터페이스에서 사용자와 사용자 그룹을 추가할수 있다.

sysinstall 은 단지 추가 기능만 있고 변경및 삭제는 할수 없다.

수동으로추가하는 방법으로 크게 3가지 방법이 있다.

pw,vipw,adduser 이 3가지 방법이 있는데 사용방법은 다음가 같다.

# pw user add alang

# passwd alang

# mkdir /home/alang

# cp /usr/share/skel/* /home/alang

# chown -R alang /home/alang

# chgrp -R alang /home/alang

# chmod 700 /home/alang

이런 방법을 간단한 스크립트를 이용해서 편리하게 만든것이 adduser 을

이용하는 방법이다.

이밖에 vipw 를 이용해서 설정파일을 편집해서 만들수도 있다.

사용자 관련 설정 파일로는

/etc/passwd

/etc/master.passwd

/etc/pwd.db

/etc/spwd.db

이며 리눅스와는 달리  /etc/passwd 파일은 단지 사용자 정보를 보관하는 파일

이고 실제 적용 파일은 master.passwd 파일이다. master.passwd 에 파일을 db

형식으로 pwd.db spwd.db 파일에서 변형해서 관리한다. master.passwd 파일에

수동으로 편집할때는 vipw 명령어를 이용해서 편집하는게 사용하기 편리하다.

FreeBSD 에서는 일반 사용자는 su 명령어를 사용할수 없도록 셋팅이 되어지기

때문에 관리자용 일반계정이라면 반드시 group 에서 wheel 그룹에 포함을 시

켜주어야 한다.

2. 네트워크 구성

기본적으로 네트워크에 참여하기 위해서는 시스템에 이더넷카드 인식과 각

이더넷 카드에 Ip address 를 셋팅을 해야 한다.

각 시스템에 부착된 이더넷 카드는 초기 FreeBSD 설치시에 커널에서 포함시키

거나 기본 커널로 설치했을 경우라면 무리 없이 인식되리라 본다.

# dmesg

rl0: <RealTek 8139 10/100BaseTX> port 0xb000-0xb0ff mem 0xdd800000-

0xdd8000ff

irq 9 at device 9.0 on pci0

rl0: Ethernet address: 00:50:bf:10:bf:06

miibus0: <MII bus> on rl0

rlphy0: <RealTek internal media interface> on miibus0

rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

xl0: <3Com 3c900B-TPO Etherlink XL> port 0xa800-0xa87f mem 0xdd000000-

0xdd00007f

irq 5 at device 11.0 on pci0

xl0: Ethernet address: 00:10:5a:84:b5:55

xl0: selecting 10baseT transceiver, half duplex

위와 같이 dmesg 명령으로 시스템 부팅 메세지를 보면 이더넷 정보를 알수 있다.

위에서는 rl0: <RealTek 8139 10/100BaseTX> 과 xl0: <3Com 3c900B-TPO Etherlink

XL>

두개의 이더넷 카드가 있다는 것을 알수 있다.

/stand/sysinstall 을 이용하는 방법 :

Configure -> Networking 메뉴에서 네트워크 설정 인터페이스를 이용해서 간편

하게 할수 있다.  

Host : FQDN 호스트명(도메인 포함)

Domain : 도메인명

IPv4 Gateway : 게이트웨이의 IP 주소

Name server : DNS 서버의 IP 주소

IPv4 Address : 해당인터페이스의 IP 주소

Netmask : 해당 인터페이스의 넷마스크

Extra options to ifconfig : 추가 옵션

수동으로 추가 하는 방법은

ifconfig rl0 inet 192.168.1.12 netmask 0xffffff00

route add default 192.168.1.1

와 같이 설정 하면 된다.

/etc/resolv.conf 에서 DNS IP 주소를 적어 주면 된다.

search freebsd.zzang911.net

192.168.1.12

새로 부팅시에도 계속 위의 설정이 적용되도록 하기 위해서는 /etc/rc.conf 파일에

설정 내용을 추가해 주어야 한다.

defaultrouter=”192.168.1.12″

hostname=”freebsd.zzang911.net”

ifconfig_xl0=”inet 192.168.1.12 netmask 255.255.255.0″

이와 같이 수정을 하고 시스템을 재부팅 하거나…

# sh /etc/netstart

하면 네트워크 설정이 바로 적용 되어 집니다.

3. 패키지 관리

/stand/sysinstall 로 관리하는 방법으로

Configure -> Packages

메뉴로 가서 해당 패키지를 선택하면 된다. 이때 설치 매체로 CD 혹은 FTP 를

먼저 정해 줘야 한다.

한국 FreeBSD 해당 FTP 사이트는 다음과 같다.

ftp.kr.freebsd.org

ftp3.kr.freebsd.org

ftp4.kr.freebsd.org

ftp7.kr.freebsd.org

패키지는 시스템관리자의 관리상 필요한 패키지만 선택하서 설치 하도록 한다.

전체 설치를 해게 되면 5000 여개의 패키지가 설치 되므로 불필요한 하드 공간

을 낭비하게 된다.

수동으로 팻키지를 관리  하는 방법으로 pkg_**** 명령어를 이용하는 방법과

포토를 이용하는 방법이 있다. 특히 FreeBSD 에서 포트를 이용하는 패키지 관리

방식은 많은 시스템 관리자들이 FreeBSD 를 선택하는 중요한  이유중에 하나이다.

3.1 pkg_* 명령군 사용방법

pkg_add  : 패키지 추가

pkg_info : 패키지 정보

pkg_delete : 패키지 삭제 (해당 패키지만 삭제)

pkg_remove : 패키지 삭제 (패키지 관련 모든 패키지 삭제)

pkg_create : 패키지 제작

이 있다.

설치 방법은 아주 단순하다.

pkg_add 사용방법 :

# pkg_add hanterm-3.1.5.tgz

위와 같이 설치를 하면 의존성에 관련 있는 모든 패키지를 다 설치하게 된다.

물런 관련 패키지가 hanterm-3.1.5.tgz 와 같은 디렉토리 상에 있어야 한다.

만일 의존성 검사를 무시하고 설치하려면 -f 옵션을 주면 된다. 하지만..그리

하면 재대로 작동 안될수도 있다.

pkg_add 는 ftp 에서 직접 설치돠 가능하다.

# pkg_add ftp://ftp.kr.freebsd.org/pub/FreeBSD/packages/korean/hanterm-

3.1.5.tgz

이밖에 -r 옵션을 이용하면 ftp url 이나 패키지 버젼 등과 같이 패키지의 상세

정보 없이도 설치가 가능하다.

# pkg_add -r hanterm

pkg_info 사용방법 :

패키지 리스트 목록 확인 방법

# pkg_info

freebsd# pkg_info

Hermes-1.3.2        Fast pixel formats conversion library

a2ps-a4-4.13        Formats an ascii file for printing on a postscript printer

gettext-0.10.35     GNU gettext package

jpeg-6b             IJG’s jpeg compression utilities

ko-a2ps-20000314    Simple a2ps wrapper for Korean text printing

ko-hmconv-1.0.3     Hangul code conversion utility for E-mail

libproplist-0.10.1  Property library for gnome and Window Maker

libungif-4.1.0b1    Tools and library routines for working with GIF images

linux_base-6.1      The base set of packages needed in Linux mode

ncftp3-3.0.3        ftp replacement with advanced user interface

패키지의 상세 정보 확인 방법

# pkg_info package_name

해당 패키지에 의존하는 패키지들을 보고 싶은 경우

# pkg_info -R package_name

설치되는 파일 목록을 보고자 할 경우

# pkg_info -L package_name

pkg_delete 사용방법 :

# pkg_delete hanterm-3.1.5

pkg_delete 는 패키지명과 패키지 버전 정보까지 정확히 적어줘야 한다.

그리고 제거할려는 패키지와 의존성을 가지는 다른 패키지가 있을경우 삭제가

안된다. 그렇기 때문에 pkg_info -R 로 의존되는 패키지를 점검하고 모두 삭제

를 해야 한다. 의존성과 관계없이 삭제를 하기 위해서는 -f 옵션을 이용하면

의존성을 무시하고 해당 패키지를 삭제해 버린다.

# pkg_delete -f hanterm-3.1.5

pkg_remove 사용방법 :

pkg_delete 가 갖는 여러가지 제한을 극복하여 보다 유연한 패키지 삭제를 가능

하게 한것이다.

# pkg_remove hanterm

이와 같이 패키지 명만 적어 주면 제거할 패키지명으로 시작되는 모든 패키지와

의존되는 패키지 까지 찾아서 깨끗하게 지워준다.

# pkg_remove -n hanterm

위와 같이 -n 옵션을 붙이면 지울 패키지 목록만 보여줄뿐 실제로는 삭제하진

않는다.

3.2 포트 사용법

포트를 이용하여 패키지 관리를 하기 위해서는 먼저 ports 가 설치 되어져 있어야

한다. 이는 시스템 설치시 설치를 했다면 /usr/ports 란 디렉토리에 설치가 되어

진다. 만약 초기 설치시 설치 하지 않았다면 sysinstall 을 이용해서 설치 하도록

한다.

Configure -> Packages

ports 설치가 완료되면 /usr/ports 디렉토리로 가서 …

원하는 패키지를 설치 하면 된다. 먼저 패키지 컬렉션이 복잡하기 때문에 몇가지

패키지를 찾는 방법이 있다.

# whereis hanterm

hanterm: /usr/ports/korean/hanterm

혹은 ..

# locate hanterm

이와 같이 whereis 나 locate 를  이용해서 찾을수 있다.

시스템을 초기 설치하고 난뒤에 한번쯤 시스템 파일의 전반적인 위치를 관리하는

DB 를 업데이트 해 줄 필요가 있다.

# /etc/periodic/weekly/310.locate

위와 같이 하면 locateDB 를 업데이트 한다.

이밖에 패키지 검색 방법으로 /usr/ports 디렉토리에서..

# make search key=hanterm

과 같이 하면 쉽게 찾을수가 있다.

일단 패키지가 있는 곳으로 가서

# make install clean

을 하면 패키지가 설치되어진다.

만일 설치하고자 하는 패키지의 의존 패키지들을 알고 싶을땐 포토의 해당 패키지

디렉토리 밑에서 ..

# make package-depends

포토에서 패키지를 삭제하고 싶을때는 ..

# make deinstall

만일 기본 설치 유형의 패키지가 아닌 경우에는 위와 같은 방식으로 설치 할수가

없다. 이런 경우는 상용 라이센스나 기타 라이센스가 존재할때 주로 일어나는데

이때는 해당 패키지를 사이트에서 다운 받은 다음 /usr/ports/distfiles 디렉토리

에 놓아두고 해당 포트 디렉토리로 이동하여 make install clean 를 해 주면 된다.

이밖에 자주 사용되는 포트 명령어로는 ..

해당 포트에서 빌드를 위해 받아와야 할 파일 목록 보기

# make fetch-list

위와 같이 목록을 바로 다운 받고 싶을때 쉘( /bin/sh )로 넘겨 주면 된다.

# make fetch-list | /bin/sh

3.3 최신 포트 정보 유지 방법

기본적으로 설치된 포트는 릴리즈 설치시 같이 설치 되어진 것이지만 각 패키지들은

계속 업데이터가 되어지기 때문에 포트 역시 최신으로 유지할 필요가 있다.

포트 시스템을 최신으로 유지하는 방법으로는 cvsup 을 이용하는 방법이 있다.

먼저 cvpup 패키지를 설치 한다.

# cd /usr/ports/net/cvsup

# make install clean

이와 같이 설치가 완료 되면 /usr/share/examples/cvsup 아래에 ports-supfile

을 이용하여 업데이트가 가능하다.

먼저 ports-supfile 열어서 CHANGE_THIS 로 검색해 보면.. default host 부분이 있다.

이곳에서 기본적으로 패키지 컬렉션을 다운 받게 되는데..

국내에서는 cvsup.kr.freebsd.org 로 변경 하도록 한다.

그런후..

# /usr/local/bin/cvsup -g -L2 /usr/share/examples/cvsup/ports-supfile

이와 같이 하면 포트가 최신으로 갱신되어진다.

ports 나 pkg_add 와 같이 FreeBSD 패키지 관리 프로그램의 장점은 패키지 관리가

용의한 반면..업그레이드시 기존에 패키지에서 바로 리눅스의 rpm 처럼 업그레이드

식으로 설치가 힘들기 때문에 반드시 의존하는 모든 패키지 까지 깨끗히 삭제를 하

고 새로 설치해야 하는 단점이 있다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.