freebsd - 國立交通大學資訊工程學系liuyh/course/sysadm/... · computer center, cs, nctu...

76
FreeBSD

Upload: others

Post on 28-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

FreeBSD

Page 2: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

2

Outline

� FreeBSD version

• 8.1-RELEASE

� Installing FreeBSD

• From CD-ROM

� Build world and kernel

• Update source

• Rebuild world

• Rebuild kernel

� Software installation

� Appendix

• Csup

Page 3: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

3

Page 4: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

FreeBSD Version

Page 5: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

5

FreeBSD Branches/Tags

� Three parallel development branches:

• -RELEASE

� Latest Release Version:

– 8.1 (July, 2010)

– http://www.freebsd.org/releases/

• -STABLE

� Tested new features and bug fixes

� MFC: Merge From Current

• -CURRENT

� Working space for FreeBSD developers

� Current version:

– 9.0-CURRENT

– http://www.freebsd.org/releng/

Page 6: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

6

FreeBSD Version

� FreeBSD–A.B.C–Type

• A: major version Number

• B: minor version Number

• C: slight patch version number

• Type: version type

� PRERELEASE

� BETA

� RC

� RELEASE

� STABLE

� CURRENT

� Choosing the FreeBSD Version That Is Right For You:

• http://www.freebsd.org/doc/en/articles/version-guide/

Page 7: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

FreeBSD Installation

Page 8: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

8

FreeBSD View of Disk (1)

D-Disk NTFS Linux Swap

MBR

Partition 1

Partition 2

Partition 3

Partition 4

Windows 7 (NTFS)

bsdlabel

Label a

Label b

Label c

Label d

Extended Partiton

Linux (EXT3FS)

FreeBSD

Here!!!

Page 9: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

9

FreeBSD View of Disk (2)

� What is the meaning of ad0s1a

• Disk name

� ad: IDE, SATA

� da: SCSI, usb stick

• Slice is equal to the partition of common use

� Primary partition: s1 ~ s4

� Extended partition: s5 ~ sn

• Label in each slice

� a: root partition /

� b: swap

� c: entire slice

� defgh: /usr, /home, …

MBR

Slice 1 (/dev/ad0s1)

Slice 2 (/dev/ad0s2)

Slice 3 (/dev/ad0s3)

Slice 4 (/dev/ad0s4)

Slice 5

(/dev/ad0s5)

Slice 6

(/dev/ad0s6)

Page 10: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

10

Installing FreeBSD

� Steps

1. Knowing your hardware

2. Obtaining installation file

3. Booting from CD/DVD/usb-stick

4. FreeBSD installer: sysinstall

1. Partition

2. Label

3. Distribution

4. Media

5. Commit

5. Post-installation configurations

Page 11: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

11

Installing FreeBSD –

1. Knowing Your Hardware

� CPU

• 32bit or 64bit

• Intel、AMD

• Architecture: amd64, i386 (, ia64, pc98, powerpc, sparc64)

� RAM

• Size

� HD

• Size, amount, SCSI or IDE

� VGA

• Brand, ram size

� Sound

• Brand

� Network Interface Card

• Brand

• IP、Netmask、Default gateway、Hostname、DNS

� Other Special device• pciconf -lv

Page 12: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

12

Installing FreeBSD –

2. Obtaining Installation File

� FreeBSD installation CD

• ftp://ftp.tw.freebsd.org/pub/ISO-IMAGES-amd64/8.1/FreeBSD-8.1-

RELEASE-amd64-bootonly.iso

• ftp://ftp.tw.freebsd.org/pub/ISO-IMAGES-amd64/8.1/FreeBSD-8.1-

RELEASE-amd64-disc1.iso

• ftp://ftp.tw.freebsd.org/pub/ISO-IMAGES-amd64/8.1/FreeBSD-8.1-

RELEASE-amd64-dvd1.iso.gz

• ftp://ftp.tw.freebsd.org/pub/ISO-IMAGES-amd64/8.1/FreeBSD-8.1-

RELEASE-amd64-memstick.img

• Burn CD, DVD, or USB!

Page 13: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

13

Installing FreeBSD –

3. Booting from CD (1)

Page 14: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

14

Installing FreeBSD –

3. Booting from CD (2)

Enter

Page 15: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

15

Installing FreeBSD –

3. Booting from CD (3)

Just use default or…

Page 16: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

16

Installing FreeBSD –

3. Booting from CD (4)

這丟係愛台灣啦這丟係愛台灣啦這丟係愛台灣啦這丟係愛台灣啦!!!

Page 17: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

17

Installing FreeBSD –

3. Booting from CD (5)

Use USA ISO keymap because we don’t have our keyboard layout…

Page 18: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

18

Installing FreeBSD –

4. FreeBSD Installer

Being experts!

Page 19: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

19

Installing FreeBSD –

4. FreeBSD Installer: Custom

� 5 major steps

3. Partition your disk

4. Label your disk

5. Choose what to install

6. Choose how to install

7. Do it!

Page 20: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

20

� If you have more than one disk…

• You can choose one to partition it.

Installing FreeBSD –

4. FreeBSD Installer: Partition (1)

Page 21: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

21

� Create slice

• Press “C” to create a new slice / Press “A” to use entire disk

Installing FreeBSD –

4. FreeBSD Installer: Partition (2)

Page 22: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

22

� Press “S” to toggle “freebsd” as bootable

� Press “Q” to next step (Select Boot Manager)

Installing FreeBSD –

4. FreeBSD Installer: Partition (3)

Page 23: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

23

• Choose boot manager

� Standard � Write to disk MBR

� BootMgr � Install a simple boot manager to disk MBR

� None � Leave it unchanged

Installing FreeBSD –

4. FreeBSD Installer: Partition (4)

Page 24: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

24

� BSDlabel Editor

Installing FreeBSD –

4. FreeBSD Installer: Label (1)

Page 25: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

25

� Create label in ad0s1 and specify size

• Press “C” to create bsdlabel

� swap , / ( and /home, /var, …): size、type、mount point

• Press “S” to toggle SoftUpdates (async written to disk)

Installing FreeBSD –

4. FreeBSD Installer: Label (2)

Page 26: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

26

• Press “Q” to next step (back to custom installation options menu)

Installing FreeBSD –

4. FreeBSD Installer: Label (3)

Page 27: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

27

� Custom

Installing FreeBSD –

4. FreeBSD Installer: Distributions (1)

Page 28: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

28

� Select

• base ; binary

• kernels ; Generic kernel supports SMP

• man ; Manual

• src ; FreeBSD Source Code

• ports ; FreeBSD Software Collection

Installing FreeBSD –

4. FreeBSD Installer: Distributions (2)

Page 29: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

29

Installing FreeBSD –

4. FreeBSD Installer: Distributions (3)

Page 30: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

30

• Choose “1 CD/DVD” if you have 8.1 Release CD disk 1 or DVD

• Choose “3 FTP Passive” if your NIC is detected

• Choose “9 USB” if you have 8.1 memstick usb stick

Installing FreeBSD –

4. FreeBSD Installer: Media

Page 31: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

31

� Install through FTP Passive

• Specify ftp server

Installing FreeBSD –

4. FreeBSD Installer: Media (2)

Page 32: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

32

• Select NIC

• IPv6 and DHCP

Installing FreeBSD –

4. FreeBSD Installer: Media (3)

Page 33: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

33

• Specify your IP information

Installing FreeBSD –

4. FreeBSD Installer: Media (4)

Page 34: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

34

� Last Chance!

• We can take no responsibility for lost disk contents!

• Don’t forget backup!

Installing FreeBSD –

4. FreeBSD Installer: Commit (1)

Page 35: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

35

� Start to format disk and install operating system

� You can press “Alt + F2” to see the install detail

� There is a shell start in “Alt + F4”

Installing FreeBSD –

4. FreeBSD Installer: Commit (2)

Page 36: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

36

Installing FreeBSD –

5. Post Installation

� Recommend you to do it!

• Root Password

• User and group management

• Time Zone � Asia � Taiwan

• Networking � interfaces, sshd

Page 37: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

37

Installing FreeBSD –

5. Post Installation: Root Password

Page 38: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

38

Installing FreeBSD –

5. Post Installation: User Management (1)

� Create a group for users

� Create a user for yourself

• Least privilege

Page 39: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

39

Installing FreeBSD –

5. Post Installation: User Management (2)

Page 40: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

40

Installing FreeBSD –

5. Post Installation: User Management (3)

Page 41: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

41

Installing FreeBSD –

5. Post Installation: Time Zone

Page 42: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

42

Installing FreeBSD –

5. Post Installation: Networking (1)

� Interfaces

Page 43: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

43

Installing FreeBSD –

5. Post Installation: Networking (2)

� sshd

Page 44: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

44

Installing FreeBSD –

5. Post Installation: Done!

� Be sure to remove booting media.

• You would not want restart whole process again…

Page 45: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

45

FreeBSD Handbook

� Chapter 2 Installing FreeBSD

• http://www.tw.freebsd.org/doc/en/books/handbook/install.html

� Chinese resources

• http://www.tw.freebsd.org/doc/zh_TW/books/handbook/install.html

• http://freebsddoc.twbbs.org

• https://opensvn.csie.org/traccgi/freebsddoc

Page 46: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Build world and kernel

Page 47: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

47

Build World and Kernel

� Update source

• /etc/make.conf

• make update

� Build world

• mergemaster –p

• make buildworld

� Build and install kernel

• make buildkernel installkernel

� Install world

• make installworld

• mergemaster

Page 48: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

48

Build World & Kernel –

Prepare make.conf (1)

� Example make.conf

• /usr/share/examples/etc/make.conf

• Everything add in make.conf is used every time you run make

• # cp /usr/share/examples/etc/make.conf /etc/

• # chmod u+w /etc/make.conf

• Edit /etc/make.conf

Page 49: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

49

Build World & Kernel –

Prepare make.conf (2)

� CPU optimization

• CPUTYPE?=core2

Page 50: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

50

� Update source

SUP_UPDATE= yes

SUP= /usr/bin/csup

SUPFLAGS= -g –L 2

SUPHOST= cvsup.tw.freebsd.org

SUPFILE= /usr/share/examples/cvsup/standard-supfile

PORTSSUPFILE= /usr/share/examples/cvsup/ports-supfile

Build World & Kernel –

Prepare make.conf (3)

Page 51: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

51

� The canonical steps to update system

• # cd /usr/src && make update

• # mergemaster -p (Pre-buildworld mode)

• # cd /usr/src && make -s buildworld

• # cd /usr/src && make -s kernel (buildkernel, installkernel)

• Reboot and boot in single user mode

� # mount -u /

• # cd /usr/src && make -s installworld

• # mergemaster (or mergemaster -UFi)

• # reboot

• See build(7), mergemaster(8)

Build World & Kernel –

Canonical steps

Page 52: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

52

Build World & Kernel –

make buildworld

� Build FreeBSD entire system

• % make –s –j 5 buildworld >& /var/log/world.log &

make –j n buildworld

Spawn multiple (n) processes to do make.

The compiling processes of make world is I/O bound.

Page 53: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

53

Build World & Kernel –

make buildkernel (1)

� Why rebuild kernel?

• Faster boot time.

� Probe only necessary device

• Lower memory usage

� Smaller kernel image

• Additional hardware support.

Page 54: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

54

Build World & Kernel –

make buildkernel (2)

� Edit kernel configuration file

• # cd /usr/src/sys/{i386,amd64}/conf

� GENERIC must have too much for your system

• # cp GENERIC YOUR_NAME

� We often use hostname to be YOUR_NAME

� Ex. # cp GENERIC SABSD

• edit config file

� Depend on your system

� Be attention to related options

� Following the explanation of

http://www.freebsd.org/doc/en_US.ISO8859-

1/books/handbook/kernelconfig-config.html

Page 55: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

55

Build World & Kernel –

make buildkernel (3)

� Set KERNCONF in /etc/rc.conf

• KERNCONF= SABSD

� Build kernel

• # make -s buildkernel

Page 56: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

56

Build World & Kernel –

make installkernel

� Install kernel

• # make -s installkernel

make buildkernel && make installkernel

= make buildkernel installkernel

= make kernel

Page 57: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

57

Build World & Kernel –

reboot into single user mode

� Boot in single user mode

• Press “4”

Or

• # shutdown now

� For a running system, this will drop it to single user mode

Page 58: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

58

Build World & Kernel –

make installworld

� Install the built world

• % make installworld

Page 59: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

59

Build World & Kernel –

mergemaster

� mergemaster [ -UFi ]

• Synchronize /usr/src/etc with /etc

• Choose “i” for most case, such as

� /etc/defaults/rc.conf, …

• Press “enter” for certain file, such as

� master.passwd, hosts, csh.*

• -U

Attempt to auto upgrade files that have not been user modified.

• -F

Install the new file if the files differ only by VCS Id.

• -i

Automatically install any files that do not exist.

Page 60: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

60

Reboot

� Reboot and enjoy it

• % reboot

� Check

• % uname –ai

� Handbook

• Chapter 8 Configuring the FreeBSD Kernel

� http://www.freebsd.org/doc/en/books/handbook/kernelconfig.html

• 23.4 Rebuilding “world”

� http://www.freebsd.org/doc/en/books/handbook/makeworld.html

Page 61: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

61

If Something Goes Wrong … (1)

� Possible errors in building new kernel

• Configuration file

� # cd /usr/src/sys/{i386,amd64}/conf/

� Edit YOUR_NAME

• Build fail?

• Install fail?

• Kernel does not boot

� Boot with old kernel, recompile kernel

• Kernel works, but ps does not work

� Rebuild world

Page 62: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

62

If Something Goes Wrong … (2)

� Boot from old kernel

• “6. Escape to loader prompt”

• OK boot /boot/kernel.old/kernel

• # cd /boot

• # cp -R kernel.old kernel.ok

• # rm -rf kernel

• # mv kernel.old kernel

� Handbook

• 8.7 If Something Goes Wrong

� http://www.freebsd.org/doc/en/books/handbook/kernelconfig-

trouble.html

Page 63: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

63

Play with Your FreeBSD

� Useful commands

• passwd, chsh, chfn, chpass

• ls

• ps, top

• mkdir/rmdir

• cp/mv/rm

• write

• Manual: man, info, …etc.

• Email reader: mutt, …etc.

• News reader: tin

• Connecting: ssh/telnet

• Editor: vim, joe, ee, …etc.

• File Transmittion: ftp, ncftp, lftp, scp, wget, curl, …etc.

• Compilers: gcc, g++, javac, …etc.

• Scripting: perl, php, ruby, python …etc.

• login/exit/logout/screen

Page 64: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

64

Help Yourself – man (1)

�man pages (manual)

• Contain descriptions of

� Individual command.

– % man cp

�File format.

– % man rc.local

�Library routines.

– % man strcpy

Page 65: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

65

�Command

• % man [section] title

� % man printf (printf command)

� % man 3 printf (C Standard printf func.)

� % man –k exit (keyword search)

�Man pages organization

AT&T BSD Contents

1 1 User-Level commands and applications

2 2 System calls and kernel error code

3 3 Library calls

4 5 Standard file format

5 7 Miscellaneous files and documents

6 6 Games and demonstrations

7 4 Device Drivers and network protocols

1m 8 System administration commands

9 9 Obscure kernel specs and interfaces

%man man

Help Yourself – man (2)

Page 66: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

66

Conventions

� Syntax of commands:

• Anything between “[” & “]” – are optional.

• Anything followed by “…” – can be repeated.

• {a | b} – you should choose one of them.

• Example:

� bork [-x] { on | off } filename …

bork on /etc/hosts ○

bork –x off /etc/hosts /etc/passwd ○

bork –x /etc/hosts X

bork -h /etc/hosts X

Page 67: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Software Installation

Page 68: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

68

Using FreeBSD Ports (1)

�Using ports

• Steps of install software

(1) Figure out the path to the software

– % cd /usr/ports

– % make search key=mutt

– % cd /usr/ports/chinese/mutt

(2) Fetch and compile the source

– % make install

• Uninstall

�% make deinstall

Page 69: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

69

Using FreeBSD Ports (2)

�Ports

• cd /usr/ports

�make search

�make install clean

• ports-mgmt/psearch

�make search

• ports-mgmt/portmaster

�Use “portmaster chinese/mutt” to install.

Page 70: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

70

Installing Useful Tools

�Try to install some software, such as:

• vim: editors/vim

• mutt: chinese/mutt

• wget: ftp/wget

• screen: sysutils/screen

Page 71: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Appendix

Page 72: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

72

FreeBSD source

� Maintained in a CVS repository in California

• The tool to get the latest FreeBSD source

� CSup

� We can use CSup keep our FreeBSD source up-to-date with any FreeBSD mirror sites

• Edit CSup supfile

• Update source using CSup

� Up-to-date your system

• Build world & kernel using the updated source.

• Install softwares.

• Upgrade softwares.

Page 73: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

73

FreeBSD source

CSup Configuration file (1)

� Example csup supfiles

• /usr/share/examples/cvsup/standard-supfile

• /usr/share/examples/cvsup/ports-supfile

� Create your own supfiles

• Edit /usr/local/etc/src-supfile

• Edit /usr/local/etc/ports-supfile

• Edit /etc/make.conf to set your own supfiles

Page 74: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

74

FreeBSD source

CSup Configuration file (2)

�/usr/local/etc/src-supfile

*default host=freebsd.cs.nctu.edu.tw Where to get source

*default base=/usr Where to put status file

*default prefix=/usr Where to put source

*default delete use-rel-suffix Allow cvs to delete

*default compress Compress before transmit

*default release=cvs tag=RELENG_8_1

src-all

� host can be remained CHANGE_THIS.freebsd.org if you runmake update, and you have SUPHOST in /etc/make.conf

Page 75: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

75

FreeBSD source

CSup Configuration file (3)

� CVS tags

• Branch Tags

� . (FreeBSD-CURRENT)

� RELENG_8 (FreeBSD 8.1-STABLE)

• Release Tags

� RELENG_8_1 (FreeBSD 8.1-RELEASE)

• To refer to a specific point in time

� RELENG_8_1_0_RELEASE

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvs-tags.html

Page 76: FreeBSD - 國立交通大學資訊工程學系liuyh/course/sysadm/... · Computer Center, CS, NCTU 9 FreeBSD View of Disk (2) What is the meaning of ad0s1a • Disk name ad: IDE,

Com

pute

r Cente

r, CS

, NC

TU

76

FreeBSD source

CSup Configuration file (4)

�/usr/local/etc/ports-supfile

*default host=freebsd.cs.nctu.edu.tw

*default base=/usr

*default prefix=/usr

*default delete use-rel-suffix

*default compress

*default release=cvs tag=. . means the latest ports tree

ports-all