PC-BSD® for Linux Users
PC-BSD® is based on, meaning that it is not a Linux distribution. If you have used Linux before, you will find that some features that you are used to have different names on a BSD system and that some commands are different. This section covers some of these differences.
BSD and Linux use different filesystems during installation. Many Linux distros use EXT2, EXT3, EXT4, or ReiserFS, while PC-BSD® uses UFS or ZFS. This means that if you wish to dual-boot with Linux or access data on an external drive that has been formatted with another filesystem, you will want to do a bit of research first to see if the data will be accessible to both operating systems.
Table Is there no version? a summarizes the various filesystems commonly used by desktop systems. Most of the desktop managers available from PC-BSD® should automatically mount the following filesystems: FAT16, FAT32, EXT2, EXT3 (without journaling), EXT4 (read-only), NTFS5, NTFS6, and XFS. See the section on [[Files and File Sharing/en|Translations:Files and File Sharing/Page display title/en]] for more information about available file manager utilities.
Linux and BSD use different naming conventions for devices. For example:
Some of the features used by BSD have similar counterparts to Linux, but the name of the feature is different. Table Is there no version? b provides some common examples:
If you are comfortable with the command line, you may find that some of the commands that you are used to have different names on BSD. Table Is there no version? c lists some common commands and what they are used for.
The following articles and videos provide additional information about some of the differences between BSD and Linux:
Multiple Boot Environments
PC-BSD® supports a feature of ZFS known as multiple boot environments (BEs). With multiple boot environments, the process of updating software becomes a low-risk operation as you can backup your current boot environment before upgrading or making software updates to your system. If needed, you also have the option of booting into a backup boot environment. For example:
Managing Boot Environments
Boot environments are managed with the beadm command which must be run as the superuser. The following example creates a BE named beforeupgrade. The new BE is a clone of the current BE, the ZFS environment that you booted into.
beadm create beforeupgrade Created successfully
To view all BEs, use the list command
BE Active Mountpoint Space Policy Created default NR / 6.05G static 2012-07-09 05:06beforeupgrade - - 1K static 2012-07-10 12:25
The possible flags in the "Active" field are as follows:
In this example, the current BE is called default, it is active now, and at next reboot; and it is mounted. The newly created beforeupgrade BE exists, but is inactive and unmounted. To activate the new BE:
beadm activate beforeupgrade
Activated successfully beadm list BE Active Mountpoint Space Policy Created default N / 64.5K static 2012-07-09 05:06beforeupgrade R - 6.05G static 2012-07-10 12:25
The flags now indicate that the system is currently booted into default, but at next boot the system will boot into beforeupgrade. Only one boot environment can be active at a time.
Enlightenmentis a lean, fast, modular, and extensible window manager. It provides a desktop for launching applications, managing windows, and doing other system tasks like suspending, reboots, and managing files.
The first time you run Enlightenment, you will be prompted to select your Language, then either a touchscreen or a standard computer profile. You will then be prompted to select the size of title bars, the type of window focus, and whether or not to use compositing. If in doubt, you can select the defaults by pressing "Next" at each initial configuration screen.
Figure 6.6a shows a screenshot of Enlightenment running a standard computer profile on PC-BSD® 9.2. The icon on the far left of the iBar has been clicked in order to access the applications menu.
Enlightenment is very customizable. Thedescribes how to configure windows, shelves, menus, wallpaper, and much more.
is an extremely light window manager. It does not support window decorations or icons and uses keyboard shortcuts to access xterms in order to run applications from the command line. Figure 6.7a shows a screenshot of evilwm running on PC-BSD® 9.2.
Notice that there are no icons, nor is there a system tray, an application panel, or window buttons. An xterm has been opened using Ctrl+Alt+Enter and shows the output of the ps command.
The keyboard shortcuts for manipulating windows are listed on.
To exit evilwm and return to the login screen, type killall evilwm within an xterm.
EasyPBI is a graphical application that makes it easy to build a PBI module from a FreeBSD port. Beginning with PC-BSD® 9.1, EasyPBI ships with PC-BSD® and can be found in the Control Panel.This section demonstrates how to use this utility to convert an existing FreeBSD port into a PC-BSD® PBI. Create PBIs first, as well as refer to that Guide should you have trouble creating a PBI or wish to create a more complex PBI.
To start EasyPBI, double-click its icon in Control Panel or type EasyPBI from within an X terminal as your regular user account.
If the ports collection is not installed, you will receive the message shown in Figure 8.1a the first time you start EasyPBI.
If multiple users will be using the EasyPBI utility, go to Control Panel ➜ System Manager ➜ Tasks and click the Fetch Ports Tree button. Alternately, use the following command as the superuser portsnap fetch extract. Either of these methods will install the ports collection into /usr/ports.
If you are the only user who will be using the EasyPBI utility, click OK to launch the main EasyPBI screen, shown in Figure 8.1b. Click File ➜ Get Ports which will download the ports collection to the EasyPBI subdirectory located in your home directory.
If the ports collection was already installed or was installed using System Manager or portsnap, the message in the bottom area of the screen will instead indicate To get started, please push the New Module button.
Creating a PBI Module
Before building a PBI, refer to theto determine which PBIs have been requested by users. You should also check that a module does not already exist for the PBI in the section of trac. Existing modules are listed alphabetically, according to their category in the ports collection.
To create a new module, click the New Module button and use the browser to select the desired port from the FreeBSD ports tree. Once a port is selected, EasyPBI will attempt to automatically supply the port information for the PBI and display the results in the GUI. In the example shown in Figure 8.1c, the net/trickle port has been selected and the fields have been auto-filled in.
You should review these fields for accuracy. If you click "Get Port Info"will open in the default web browser so that you can view additional information about the port.
A generic icon will be supplied for the module; you can change the default icon by clicking the Choose Icon button. When using a custom icon, use a 64x64 .png file with a transparent background.
Check the Create Desktop/Menu Entries' if you wish the program's icon to be available on the desktop and in the desktop's application menu.Once the port information is complete, click the Create Module button and EasyPBI will produce the PBI module. The module will be named after the port and will be stored in a subdirectory of the EasyPBI/Modules directory in your home directory. In this example, the module is located in EasyPBI/Modules/trickle.
Build the Module
Creating the module itself is very quick and takes less than a minute. However, you still need to build and test the module to make sure that the application works as expected. Depending upon the complexity of the application, you may have to edit the initial module then rebuild and retest it until you are satisfied with the PBI for the application.
Once the module is created, you are ready to build a PBI from the module. Click on the Build PBI tab and click the Select Module button to browse to the module you created. Figure 8.1d shows this tab with our example PBI selected.
The top half of this screen contains modifiable settings which are used when building PBIs:
Save Settings as Defaults: the settings in this section revert back to the default settings when you exit EasyPBI. This allows you to override the default settings for a particular build. If you wish your changes to be permanent, click this button.
Output Directory: specifies the directory to store the built module. By default, it is the EasyPBI/PBI subdirectory of the user's home directory. Click the Change Directory button to select another location.Digital Signature File: the PBIs available from the PC-BSD® repositories are digitally signed by the PC-BSD® project's signature file. If you are creating your own repository, click the Change File button to select your own digital signature file. Create Your Own PBI Repository provides instructions for creating a signature file.
Use TMPFS: if your build system has a lot of RAM, selecting this option can speed up the build.
Use Package Caching: this setting is recommended as it reuses previously built packages to speed up subsequent builds.
The rest of this screen is used to build the specified module:
Select Module: select the previously created module to build.
Build PBI: starts the build of the PBI module. It will prompt you for the superuser password and requires a working Internet connection in order to build the PBI. This process may take quite a while, depending upon the port selected and the speed of your computer. The build messages will be displayed in the window at the bottom of the tab. EasyPBI will inform you when the PBI build is finished, and whether it was successful or not.
Stop Build: stops the build process. Click the Build PBI button to resume the build.
Save Build Log: useful if the build fails. Will prompt you to select the location to store build.log which can be read with any ASCII text editor.
You can produce additional modules from the Create Module tab while a PBI build is running.
If the PBI build fails for some reason, you may need to modify the module as described in the next section. Use the build log to determine the error and modify the module as needed. If you are unsure how to fix the module, send the build.log for the failure to the.
Test and Fine-Tune the Module
Once your build is finished, test the PBI to ensure that it installs and that the application works.To install the PBI, become the superuser, cd to the "Output Directory", and use the pbi_add command. Unless you have specified your own digital signature, include the --no-checksig option.
Password: cd ~dru/EasyPBI/PBI ls trickle-1.07_2_amd64.pbi trickle-1.07_2_amd64.pbi.sha256 pbi_add --no-checksig trickle-1.07_2_amd64.pbi Verifying Checksum...OK Extracting to: /usr/pbi/trickle-amd64Installed: trickle-1.07_2
If the module installs successfully, perform the following tests:
The Module Editor tab, seen in Figure 8.1e, can be used to modify the module's settings. Use the Select Module button to browse to the location of the module and to un-grey-out the settings in this screen.
Several tabs are provided, allowing you to customize the PBI module. It should be noted that most PBI modules do not require you to make any configuration changes in the Module Editor tab. This tab allows the creation of more complex PBI modules that require additional FreeBSD ports or scripts which are not provided by the default FreeBSD port.
The rest of this section describes the actions available within each tab. If you modify any settings in the PBI module, rebuild it then test again to see if the changes fixed the PBI.
Typically the Program Name, Program Website, and Program Author are left at their default values. If this information is incorrect, you should email the FreeBSD port maintainer shown in the Program Author field so that the information can be corrected in the FreeBSD port.If you choose to replace the Program Icon, use a 64x64 .png file with a transparent background.
If your PBI requires a dependency that is not provided by the FreeBSD port, use the + button next to Make Port Before to select the needed port.
If you wish an additional port to be included with your PBI, use the + button next to Make Port After to select the desired port.
The Make Options field lets you specify a space separated list of options. The available options and their default settings will be listed in the OPTIONS= section of the port's Makefile.
If the resulting PBI needs to be run as the root user, check the Require Root Permissions box.
This tab, shown in Figure 8.1f, is used to add additional files to the PBI module.
An example of an additional file would be an application that requires the user to accept a License. Use the + Add Resource button to browse to the location of the LICENSE file.
Another example would be when you wish to use a custom script to start the application rather than starting the application binary directly. A custom script could also be used to verify that the service is enabled or to generate a custom configuration file.
If the application uses custom installer graphics, add them using this screen.
This tab, shown in Figure 8.1g, is used to fine-tune the desktop icon and the application menu entry for the application.
If the Create Desktop/Menu Entries box was checked when creating the module and EasyPBI detects that the application is graphical, the default entries for the application will be listed. In our PBI example, trickle is a command line application so no entries were created by default. If your application is graphical but EasyPBI did not detect it, you can manually add the desired entries using the Remove Desktop Entry and Remove Menu Entry buttons.
Under Executable, the drop-down menu will display all of the binaries that came with the application. Select the binary that should launch when the user clicks the desktop icon or selects the application from the application menu. Alternately, you can select Custom Binary and input the path to the desired executable.
The Entry Label field allows you to customize the name that will appear with the icon and application menu entry.
The Icon drop-down menu allows you to select the .png file to use for the icon. This file must exist in ~/EasyPBI/Modules/PBI_name/resources in order to appear in the drop-down menu. Use the Select Module button to re-select the module if you add the icon after loading the module.
The Menu Category drop-down menu is used to select the category the application menu entry will be added to.
To add a desktop entry, select an Executable, input an Entry Label, and click the + Add Desktop Entry button. This will generate the .desktop file to be used by XDG-compliant desktops. The entry will appear under Current Desktop Entries.
To add an application menu entry, select an Executable, input an Entry Label, and click the + Add Menu Entry button. The generated .desktop file will appear under Current Menu Entries.
This tab, shown in Figure 8.1h, is used to customize how the specified binary starts.
To customize how a binary starts, highlight it and click the Action drop-down menu. The possible actions are:
If you select an Action, use the up arrow to add it. If you change your mind, click the Clear Changes button.
Submit the Module
Once you are satisfied with the PBI, go to the "Module Editor" tab and use the "Select Module" button to select the PBI's module. Then click the "Package Module" button. A pop-up window will indicate that the module has been compressed and that a .tar.gz file has been added to the PBI module directory. The file name for our example PBI is ~dru/EasyPBI/Modules/trickle.tar.gz.
If you send that file to the, it will be added to the PC-BSD® build servers so that the 32- and 64-bit versions of the PBI can be built. Once the built PBIs are tested, they will be added to AppCafe® so that other PC-BSD® users can benefit from the PBI.
is open source software that allows you to create your own cloud storage. This allows you to share data, contacts, and calendars with other devices and users.
In PC-BSD®, you can create your own private cloud service by installing ownCloud either into a traditional jail that you created using Warden® or into a TrueOS® installation. For security reasons, installing ownCloud directly onto a desktop installation is not recommended, as the web and database services it requires may expose the desktop to security vulnerabilities. If you are installing ownCloud on a PC-BSD® system, create a traditional jail as it isolates the software installed into the jail from your desktop operating system.
Install and Start the Required Services
If you are installing ownCloud into a traditional jail, make sure that the jail has been started, then go to the “Tools” tab of the jail and click the “Package Manager” button as seen in the example in Figure 9.9a.
Check the boxes for databases ➜ mysql56-server, lang ➜ php55, and www ➜ apache24, then click the “Apply” button to install these packages.
Once installed, go to Tools ➜ Service Manager which will open the screen shown in Figure 9.9b. Highlight the apache22 service and click the "Enable Service" button and then the "Start" button. Repeat for the mysql service.
Verify that you can reach the web server by typing the IP address of the jail into a web browser. You should receive an "It works!" message. You will need to first allow incoming TCP port 80 on the jail interface using Firewall Manager if you use a web browser on a different computer.
If you are installing ownCloud onto a TrueOS® system, you will need to create the jail and install the dependencies from the command line. When creating the jail, specify the jail IP address and hostname as seen in this example:
warden create 10.0.0.1 owncloudjail --startauto
pc-metapkgmanager --pkgset warden --chroot /usr/jails/10.0.0.1 add MySQL,Apache,
Once the software is installed, access the jail by its IP address in order to edit the /etc/rc.conf file within the jail so that the required services start when the jail is available:
warden chroot 10.0.0.1 vi /etc/rc.conf
Add these two lines to that file:
Save your edits then start the services:
Verify that you can reach the web server by typing the IP address of the jail into a web browser. You should receive a "It works!" message. You will need to first edit /etc/pf.conf in order to allow incoming TCP port 80 using if you use a web browser on a different computer. An example would be to add a line to the "Nic specific rules" section:
pass in quick on re0 proto tcp from any to (re0) port 80 keep state
You may wish to replace any with just the IP addresses of the systems on your network. re0 should be replaced with the interface used by the jail.
You are now ready to download and configure ownCloud. If you are using a traditional jail on your desktop, go to Tools -> Launch Terminal to access the jail's command line. If you are using TrueOS®, use the warden chroot command to access the command line of the jail.
Once at the command line of the jail, download ownCloud into the Apache data directory.
cd /usr/local/www/apache24/data fetch http://download.owncloud.com/download/2012.4.5.12/owncloud-2012.4.5.12-enterprise.tar.bz2 tar xzvf owncloud-2012.4.5.12-enterprise.tar.bz2 chown -R www:www owncloud
Next, configure the MySQL database, substituting ocuser and mypass with the username and password that you wish to use:
mysql -u root mysql> create database owncloud; mysql> grant all on owncloud.* to ocuser@localhost identified by "mypass"; mysql> quit
Next, add the required PHP options to Apache. Open /usr/local/etc/apache24/httpd.conf in an editor and look for this line:
#AddType application/x-gzip .tgz
Add the following lines directly below that line:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Then, look for the following section:
<IfModule dir_module> DirectoryIndex index.html </IfModule>
and change it to:
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
Save your changes and restart the Apache and MySQL services.
Test your changes from a web browser by adding "owncloud" to the end of the IP address of the jail. For example, type http://10.0.0.1/owncloud/. You should see the setup screen shown in Figure 9.9c.
Input the name of the user and password that will be used to administer ownCloud, then click the " "Advanced" button. In the advanced settings, click the "MySQL" tab and input the MySQL username, password, and database name that you configured previously. Click the “Finish setup” button to save your changes and enter your new cloud interface -- shown in Figure 9.9d.
Click the left panel of the interface to access a type of media. For example, if you click "Files" and then the "New" button, you can upload a file, folder, or from a URL. If you click "Contacts", you can add a contact or import/export the address book.
Click the "Settings" icon at the bottom of the left panel to add users, configure applications, change the administrative configuration, and to access "Help".
Instructions for synchronizing the calendar and address book, integrating with a file manager, and integrating with a media player can be found in the. Synchronization clients are available from .
Finding HelpFlat html/content/en
PC-BSD® ForumsFlat html/content/en
IRC ChannelFlat html/content/en
Mailing ListsFlat html/content/en
FreeBSD Handbook and FAQFlat html/content/en
Social MediaFlat html/content/en
Search and PortalsFlat html/content/en
Other ResourcesFlat html/content/en
Become a Beta TesterFlat html/4/en/en/10.1.2
Become a TranslatorFlat html/4/en/en/10.1.1
Have you found a bug in PC-BSD®? If so, please take the time to read through this section to ensure that your bug gets reported to the correct group and is resolved in a timely fashion.
First, determine the type of bug that you are encountering. Is it a bug that is preventing you from properly installing and running PC-BSD® (a system bug), or is it an issue with an installed software package such as FireFox (an application bug)?
An application bug can fall into a few different categories.
Application Packaging Bug
The first is a packaging bug, which is when you can not install the application or it simply crashes on startup. Please report these types of bugs by logging into theand clicking "New Ticket". In the "Type" drop-down menu select "PBI Packaging Bug" and select the operating system version you are using in the "Version" drop-down menu. Use descriptive words in the "Summary". In the "Description", provide as much detail as possible about the bug, such as:
If you would like to include a screenshot of the error or a log that includes error messages, check the box "I have files to attach to this ticket" to browse to the location of the attachment. Use the "Preview" button to read through your ticket to make sure that the information is clear to the person who will resolve the issue. When finished, click the "Create ticket" button to submit your bug report.
Application Runtime Bug
An application runtime bug occurs when an application installs and is able to start successfully, but during use, it crashes or exhibits some other type of undesired behavior. An example would be OpenOffice failing to import a type of document properly or a chat client unable to keep a connection to a network.
If you installed the application using AppCafe® and you think that the problem is related to how the PBI was packaged, report the bug on the . If you suspect that the problem is with the underlying FreeBSD port, you can use FreshPorts.org to determine the email address of the port maintainer. If you do email the port maintainer, indicate the name of the port, any error messages that you receive and how to reproduce the bug, and indicate if you are able to assist the maintainer in testing any patches to the port. Once the port is fixed, let the PBI Discussion Forum know so that the PBI can be rebuilt using the fixed port.
System Driver Bugs
A system bug is any bug which prevents the initial installation of PC-BSD®, or causes issues with hardware. Some examples would be a non-bootable system, failed installation, missing drivers for your hardware, or a non-functional desktop after installation. To report this type of issue please follow the instructions below for your type of system bug.
An example of a system driver bug would be a missing network driver, no sound output, or no disk drives detected. Most of these types of issues are directly related to the FreeBSD base upon which PC-BSD® is built, and are best fixed by discussing them with the FreeBSD team directly. Reporting a bug to FreeBSD can be done using thepage. You should also search the FreeBSD mailing lists as other users may have already discovered the bug or have a work-around for your particular hardware. Below are some of the related mailing lists:
System Installation Bugs
Any bugs encountered during the installation of PC-BSD® should be reported to the, with as much detail as possible, including:
Host a Mirror
We are always interested in more download mirrors. If you have a system with a high-speed connection, 350-500GB of space, and the ability to rsync with a host, you can greatly help the PC-BSD® project and PC-BSD® users by becoming a mirror. More mirrors means faster download speeds and more geographic locations for users to download from.
This rsync command will mirror the entire collection of installation files and PBIs:
rsync -vaz --delete-delay --delay-updates isc.pcbsd.org::ftp .
That command should be run as a cron job with a recommended frequency of at least once daily with a preferred interval of every 12 hours.
Once you have begun the rsync process, send an email to kris at pcbsd dot org letting him know the URL of the mirror so that the new mirror can get listed and become available to users.
Seed a Torrent
PC-BSD® is also distributed as aand you can increase download speeds for other users by seeding, especially during the first two weeks after a new release. If you are new to seeding, read through the first.
The Network-P2P category of AppCafe® provides several torrent utilities including:
<ref>tags exist, but no
<references/>tag was found