## GENERAL ADMINISTRATION

General administration tasks include many of the day-to-day activities performed by a BSD system administrator. The BSDP candidate should know how to perform all of these tasks in an efficient manner.
-------------

### 3.5.1. Configure shared library cache.

Importance: 3.0, Frequency: 1.5, Bloom: K,C,A

**Concept:**

The ldconfig utility is used to prepare a set of hints to facilitate quick lookup of shared libraries spanning multiple directories. The libraries which are found will be automatically available when a program is loaded.

BSDP candidates should be able to list the current paths as well and add a new path using ldconfig(8).

**Practical:**

ldconfig(8), ld(1)

NetBSD: ld.so.conf(5)

**Estimated Time:**

5 minutes to configure the shared library cache according to a specification.

### 3.5.2. Enable or disable virtual consoles.

Importance: 3.0, Frequency: 1.5, Bloom: K,A

**Concept:**

Virtual consoles are additional terminal sessions that are accessed by a function key sequence.

BSDP candidates should be able to recognize how many virtual consoles are enabled on the system and change the number of available virtual consoles.

**Practical:**

ttys(5)

**Estimated Time:**

5 minutes to enable or disable a specified number of virtual consoles.

<font color="#A0A0A0">
### 85. Enable process accounting.
Importance: 3.2, Frequency: 1.7, Bloom: K,A

**Concept:** dru@ removed 08/10 as merged with objective 3.2.24

Process accounting is a security method in which an administrator may keep track of system resources used, their allocation among users, provide for system monitoring, and minimally track a user's commands.

BSDP candidates should be able to enable and disable process accounting, and view the specified accounting data.

**Practical:**

sa(8), lastcomm(1)

**Estimated Time:**

10 minutes to configure process accounting.  15 minutes to view accounting data.  Accounting details will be provided through a specification.
</font>


<font color="#A0A0A0">
### 86. Create new device instances.
Importance: 2.9, Frequency: 1.6, Bloom: K,A

**Concept:** XXX-HF: what's meant here? mknod (should be available anywhere)? devfs (not on NetBSD, at least)? ...?

dru@: do people still need to do this?

@@@jpb:  recommend removing this objective.  jpb shaded

**Practical:**

**Estimated Time:**
</font>


<font color="#A0A0A0">
### 87. Recover from lost root password.
Importance: 4.2, Frequency: 1.3, Bloom:

**Concept:** *BSDCG Note: This objective was removed at the 15/5/10 SME session.*

**Practical:**

**Estimated Time:**
</font>

### 3.5.3. Configure and recompile a kernel.

Importance: 4.4, Frequency: 2.0, Bloom: K,C,A

**Concept:**

A system administrator sometimes needs to recompile a kernel in order to add or remove kernel functionality.

BSDP candidates should be able to add or delete a specified functionality to the kernel configuration file of their BSD of choice, then compile and install the new kernel.

**Practical:**

config(8), make(1)

NetBSD, OpenBSD: options(4)

**Estimated Time:**

15 minutes to configure and install a kernel. BSDP lab exam candidates should perform other tasks while the kernel is compiling.

### 3.5.4. Boot an alternate kernel.

Importance: 4.3, Frequency: 1.8, Bloom: K,A

**Concept:**

It is possible to compile and store multiple kernels on a BSD system. The system administrator can choose which kernel is used when the system boots.

BSDP candidates should be able to interrupt the boot process and load an alternate kernel. 

**Practical:**

boot(8)

NetBSD: boot.cfg(5)

**Estimated Time:**

5 minutes to load a specified kernel.

<font color="#A0A0A0">
### 90. Use a kernel debugger.
Importance: 3.0, Frequency: 1.4, Bloom:

**Concept:** *BSDCG Note: This objective was removed at the 15/5/10 SME session. It should be considered for an Embedded exam.*

**Practical:**

**Estimated Time:**
</font>

### 3.5.5. Load and unload kernel modules.

Importance: 4.0, Frequency: 2.3, Bloom: K,A

**Concept:**

Kernel modules allow the system administrator to add or remove functionality on a running system without having to recompile and install a new kernel.

BSDP candidates should be able to view which modules are currently loaded and to load or unload a specified kernel module.

**Practical:**

DragonFly BSD, FreeBSD: kldload(8), kldstat(8), kldunload(8)

NetBSD, OpenBSD: modload(8), modstat(8), modunload(8)

**Estimated Time:**

5 minutes to load or unload a kernel module according to a specification.

### 3.5.6. Install perl modules.

Importance: 3.5, Frequency: 2.1, Bloom: K,A

**Concept:**

Perl is a popular scripting language which provides a large collection of modules that perform a wide variety of programming tasks. Many perl modules are available through packages and pkgsrc.

BSDP candidates should be familiar with the availability of perl packages and be able to install a given perl module from either packages or pkgsrc.

**Practical:**

pkg_add(1)

**Estimated Time:**

5 minutes to install a perl module according to a specification.

### 3.5.7. Retrieve updates from a code repository.

Importance: 4.1, Frequency: 2.7, Bloom: K,A

**Concept:** 

BSD projects maintain official repositories containing operating system source as well as the source for software which has been ported to the operating system.

BSDP candidates should be able to sync their system of choice with the specified subset of a source collection.

**Practical:**

DragonFly BSD: git(1) 

FreeBSD: csup(1)

NetBSD and OpenBSD: cvs(1)

**Estimated Time:**

15 minutes to synchronize a local repository with a remote repository according to a specification.

### 3.5.8. Use ktrace to troubleshoot software issues.

Importance: 3.4, Frequency: 2.0, Bloom: K,C,A

**Concept:** 

The ktrace utility can be used to track kernel system calls and I/O for the specified application.  

BSDP candidates should be able to enable and disable kernel tracing and review the generated trace file.

**Practical:**

ktrace(1), kdump(1)

**Estimated Time:**

15 minutes to troubleshoot software issue according to a specification.

### 3.5.9. Update system configuration files during a system upgrade.

Importance: 4.0, Frequency: 2.1, Bloom: K,A

**Concept:** 

During a system upgrade it is important that all system configuration files contain both the new settings required by the operating system as well as any existing customizations required by the local environment.

BSDP candidates should be able to merge any changes to system configuration files during an upgrade.

**Practical:**

software of choice from packages/pkgsrc

diff(1)

DragonFly BSD: make(1)

FreeBSD: mergemaster(8)

NetBSD: etcupdate(8)

OpenBSD: sysmerge(8)

**Estimated Time:**

15 minutes to merge system configuration files according to a specification.

### 3.5.10. Tune the operating system.

Importance: 4.3, Frequency: 2.4, Bloom: K,C,A

**Concept:**

There are many factors that can contribute to the speed and efficiency of a running system. Some factors are pre-installation decisions, such as the size and number of partitions and their selected block sizes. The tunefs utility allows the administrator to tune some filesystem parameters and the sysctl utility provides the capability to change MIB parameters to improve the performance of a system.

BSDP candidates should be able to tune their BSD system.

**Practical:**

tunefs(8), sysctl(7) or (8)

DragonFly BSD, FreeBSD: tuning(7)

**Estimated Time:**

5 minutes to tune the operating system according to a specification.

### 3.5.11. View interrupt rate.

Importance: 3.3, Frequency: 2.2, Bloom: K

**Concept:**

Devices communicate updates in the hardware state via interrupts. The interrupt number of a device can usually be seen in the system boot messages. To get more information about the runtime behavior of a  device, interrupt statistics need to be reviewed. 

BSDP candidates should be able to view the runtime interrupt statistics using the utilities provided by their BSD system.

**Practical:**

iostat(8), pstat(8), systat(1)

**Estimated Time:**

5 minutes to review the interrupt rate.

<font color="#A0A0A0">
### 98. Use an rc script to send a process a signal.
Importance: 3.6, Frequency: 2.7, Bloom: K

**Concept:** 
@@@jpb: objective removed as it is *very* basic.  jpb shaded.

**Practical:**

**Estimated Time:**
</font>

### 3.5.12. Enable logins on serial console.

Importance: 3.2, Frequency: 1.6, Bloom: K,A

**Concept:**

Serial communications allow an administrator to access a system that does not have an attached keyboard or monitor.

BSDP candidates should be able to configure their BSD of choice to accept logins over a serial port.

**Practical:**

ttys(5), boot(8)

**Estimated Time:**

10 minutes to enable logins according to a specification.

### 3.5.13. Add additional swap space.

Importance: 3.4, Frequency: 1.5, Bloom: K,A

**Concept:**

One way to increase system performance is to increase the memory available to applications.
When it is not possible to add more physical memory, the system administrator can increase virtual memory by adding swap space.

BSDP candidates should be able to create and enable additional swap space.

**Practical:**

dd(1), rc.conf(5), chmod(1), fstab(5), vnconfig(8), swapon(8)

**Estimated Time:**

10 minutes to create and enable new swap space according to a specification.

### 3.5.14. Insert entries in the system log.

Importance: 3.2, Frequency: 2.0, Bloom: K,A

**Concept:**

When troubleshooting a system, it can be useful to add comments to the log file to mark certain actions.

BSDP candidates should be able to add entries to the system log file.

**Practical:**

logger(1)

**Estimated Time:**

5 minutes to add a log entry according to a specification.

<font color="#A0A0A0">
### 102. Configure verified exec in-kernel fingerprint table.
Importance: 2.7, Frequency: 1.4, Bloom:

**Concept:** *BSDCG Note: This objective was removed at the 15/5/10 SME session.*

**Practical:**

**Estimated Time:**
</font>

### 3.5.15. Configure the system for Linux binary compatibility.

Importance: 3.2, Frequency: 1.6, Bloom: K,A

**Concept:** objected reworded to clarify

Binary compatibility allows a system to run applications that were compiled for a different operating system. BSD systems are able to provide binary compatibility for Linux applications.

BSDP candidates should be able to install the Linux runtime libraries for their BSD system of choice, install a precompiled Linux binary, and verify that Linux emulation is enabled. They should also be able to mount  /proc  for Linux binaries  that require this filesystem.

**Practical:**

software of choice from packages or pkgsrc

fstab(5)

DragonFly BSD, FreeBSD: kldload(8), linprocfs(5), linux(4), brandelf(1)

NetBSD, OpenBSD: mount_procfs(8), compat_linux(8)

**Estimated Time:**

30 minutes to load the libraries, install the application, configure the environment, and run a Linux binary according to a specification.

### 3.5.16. Configure a network service to use a sandbox environment.

Importance: 3.5, Frequency: 1.8, Bloom: K,C,A

**Concept:** 

The chroot command can be used to change the apparent disk root directory for a process and its children. A program that is re-rooted to another directory cannot access files outside of that directory.

BSDP candidates should be able to create a chroot for a specified service and ensure that all of the libraries that program needs are contained within the chroot.

**Practical:**

chroot(8), ldd(1)

**Estimated Time:**

20 minutes to configure a sandbox environment for a network service according to a specification.

<font color="#A0A0A0">
### 106. Download and apply kernel patches.
Importance: 4.4, Frequency: 2.4, Bloom: K,A

**Concept:**  dru@ removed 08/10 as merged with 3.2.9

Some security advisories require the system administrator to download and apply a patch before recompiling the kernel. Some BSD systems also supply binary patches, meaning the kernel does not need to be recompiled. BSDP candidates should know how to apply a kernel or a binary patch. 

**Practical:**

patch(1)

FreeBSD: fetch(1), freebsd-update(8)

NetBSD: cvs(1), build.sh

**Estimated Time:**

10 minutes (patch only, no recompile)
</font>

### 3.5.17. Setup on-going software vulnerability audit reports.

Importance: 4.0, Frequency: 2.5, Bloom: K,A

**Concept:** 

Tracking security vulnerabilities for third-party software is an important task.

BSDP candidates should be able to track security vulnerabilities for software that was installed using either pkgsrc or packages.

**Practical:**

software of choice from packages/pkgsrc

**Estimated Time:**

15 minutes to automate the tracking of security vulnerabilities according to a specification.

### 3.5.18. Capture performance data using standard tools.

Importance: 4.1, Frequency: 3.2, Bloom: K,A

**Concept:** 

An important administrative task is proactively monitoring system performance to become aware of potential bottlenecks or issues.

BSDP candidates should be able to use common utilities to monitor performance data such as CPU usage, RAM usage, network usage, and disk I/O.

**Practical:**

vmstat(8) or vmstat(1), iostat(8), systat(1), netstat(1), ps(1), top(1)

**Estimated Time:**

10 minutes to collect performance data using standard tools according to a specification.

### 3.5.19. Localize a server for another language.

Importance: 2.5, Frequency: 1.4, Bloom: K,A

**Concept:**

Localization adds support for non-English characters and can be added to the environment settings of a BSD system.

BSDP candidates should be able to configure their BSD of choice to support the specified locale.

**Practical:**

environment settings for shell of choice

DragonFly BSD, FreeBSD, NetBSD: locale(1), setlocale(3)

**Estimated Time:

10 minutes to configure localization according to a specification.

<font color="#A0A0A0">
### 110. Troubleshoot X Window startup problems.
Importance: 2.7, Frequency: 1.6, Bloom:

**Concept:** *BSDCG Note: This objective was removed at the 15/5/10 SME session. It should be considered for a Desktop exam.*

**Practical:**

**Estimated Time:**
</font>

<font color="#A0A0A0">

### 111. Configure an audio (sound) device.
Importance: 2.2, Frequency: 1.4, Bloom:

**Concept:** *BSDCG Note: This objective was removed at the 15/5/10 SME session. It should be considered for a Desktop exam.*

**Practical:**

**Estimated Time:**
</font>

<font color="#A0A0A0">
### 112. Configure events for power and/or sensors.
Importance: 3.2, Frequency: 1.9, Bloom:

**Concept:** dru@ as worded, this objective is confusing. Are we aiming for power management? What is meant by events? Thermal sensors are device/driver specific.

@@@jpb: objective should be removed.  it's confusing, not easily tested on paper, and impossible to test with virtual machines in a lab.  jpb shaded.

**Practical:**

**Estimated Time:**
</font>

