FreeBSD 는 유닉스 운영체제입니다.
FreeBSD 는 커널, libc, 시스템 관련 유틸리티를 모두 포함하는 완전한 형태의 운영체제입니다.
소스코드는 https://svnweb.freebsd.org/base/ 에 있습니다.
미러링 사이트: https://github.com/freebsd/freebsd
가끔 커널을 수작업으로 업데이트할 필요가 발생하는데 커널 업데이트 하는 방법은 이곳에 나옵니다.
https://www.freebsd.org/doc/handbook/makeworld.html
https://download.freebsd.org/ftp/releases/ISO-IMAGES/13.0/
이미지를 다운받습니다.
*.img
파일이 UBS 용 파일입니다.
다음 문서를 참고하세요.
https://www.freebsd.org/doc/handbook/bsdinstall.html
설치 단계를 나누지 않고 합쳐서 설명 드리겠습니다.
아래 명령을 하면 username 이라는 사용자가 wheel
, operator
, video
그룹에 추가됩니다.
wheel
그룹에 추가해야만 su
명령을 사용할 수 있습니다.
# pw usermod username -G wheel, operator, video
주의: AMD 3000G CPU, Asus Prime A320I-K 메인보드를 기준으로 설명 드립니다. 아래 설명 중에
kld_list="amdgpu" # amdgpu 커널 모듈을 로딩
mv /root/xorg.conf.new /usr/local/etc/X11/xorg.conf.d/amdgpu.conf
이런 내용이 나오는데 귀하의 환경과는 맞지 않을 수 있습니다.
FreeBSD 를 설치한 후에 터미널에서 아래 패키지들을 설치합니다.
# pkg install xorg-minimal xf86-video-amdgpu drm-kmod sddm \
sddm-freebsd-black-theme hal xfce xfce4-screensaver xfce4-pulseaudio-plugin \
xfce4-screenshooter-plugin xfce4-whiskermenu-plugin xfce4-weather-plugin \
thunar-archive-plugin xarchiver ristretto noto-kr firefox
일부 패키지는 설치한 후에 설정을 필요로 합니다.
/etc/rc.conf
에 아래 내용을 추가합니다.
clear_tmp_enable="YES" # 재시동할 때 /tmp 디렉토리 내의 파일들을 삭제합니다
syslogd_flags="-ss" # 원격 로그 기능을 사용하지 않습니다
devfs_system_ruleset="localrules" # 위에 작성한 /etc/devfs.rules 적용
kld_list="amdgpu" # amdgpu 커널 모듈을 로딩
dbus_enable="YES" # dbus 가동
hald_enable="YES" # hald 가동
sddm_enable="YES" # sddm 가동
sddm-freebsd-black-theme 을 사용하면 화면이 멋있어 보입니다.
/usr/local/etc/sddm.conf
파일이 없으면 만든 후 아래 내용을 넣어 줍니다.
[Theme]
Current=sddm-freebsd-black-theme
/etc/devfs.rules
파일이 없으면 만든 후에 아래 내용을 추가합니다. USB 메모리를 꽂으면 da0
이런
형태의 장치 이름이 생깁니다. 아래 설정은 USB 메모리를 꽂았을 때, operator
그룹에 있는 사용자가
da*
장치에 읽기 쓰기할 수 있도록 하기 위해 da*
장치에 소유지/그룹 읽기 쓰기 권한과 operator
그룹 권한을 부여하는 내용입니다.
[localrules=5]
add path 'da*' mode 0660 group operator
많은 프로그램들이 리눅스 proc 파일 시스템을 필요로 합니다. proc 파일 시스템을 사용하기 위해
/etc/fstab
에 아래 내용을 추가합니다.
proc /proc procfs rw 0 0
/boot/loader.conf
파일에 아래 내용을 추가합니다.
snd_hda_load="YES"
/etc/sysctl.conf
에 아래 내용을 추가합니다.
vfs.usermount=1 # 일반 사용자가 USB 저장소를 마운트할 수 있게 해줍니다.
hw.snd.default_unit=3 # 기본 사운드 유닛을 3 (0부터 시작하므로 네번째)으로 합니다. 시스템 마다 다릅니다.
/etc/profile
에 아래 내용을 추가합니다.
LANG=en_US.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET
LC_ALL=en_US.UTF-8; export LC_ALL
LC_ALL=en_US.UTF-8; export LC_ALL
이부분을 추가하지 않으면 리브레오피스에서 한글 이름의 파일을
읽지 못하거나 문서 내에 한글이 있을 경우 이상하게 나옵니다. /etc/profile
말고 ~/.login_conf
,
~/.shrc
, ~/.cshrc
에 LC_ALL
을 추가해봤자 파일탐색기에서 한글 파일을 클릭하여 파일을
열었을 때 소용없었습니다. 그래서 /etc/profile
에 추가합니다.
리부팅 후에 아래 명령을 합니다.
reboot
X -configure
mv /root/xorg.conf.new /usr/local/etc/X11/xorg.conf.d/amdgpu.conf
그 다음 아래 명령을 합니다.
service sddm stop
service sddm start
매번 service sddm start
명령을 해야 하는 것은 아닙니다. 리부팅 횟수를 1회로 줄이고자 xorg 를
마지막에 설정한 것입니다. 컴퓨터를 이용하신 후에 다음 번에 리부팅을 하시면 위 명령을 수작업으로 할 필요없이
그래픽 로그인 화면이 나오게 될 것입니다.
dos 파일 시스템을 마운트할 때, UTF-8 이름이 있으면 에러 나는 경우가 있습니다. 이 때
mount_msdosfs -L en_US.UTF-8 /dev/da0s1 /mnt
이런 식으로 마운트 하면 됩니다.
portsnap auto
cd /usr/ports/devel/geany
make extract
cd work-gtk3/geany-1.37.1/scintilla/gtk/
cp ScintillaGTK.cxx ScintillaGTK.cxx.orig
# ScintillaGTK.cxx 파일을 수정합니다.
cd /usr/ports/devel/geany
make makepatch
# ./files/patch-scintilla_gtk_ScintillaGTK.cxx 가 생성되었네요
그 다음에 make
한 후에 make deinstall
하고 make reinstall
하면
패치된 geany 가 설치됩니다.
make clean
하여도 패치 파일은 남아 있어서 다음 번에 또 이용할 수 있습니다.
2021년 2월 11일에 업데이트 함