Your SlideShare is downloading. ×
2013 Ohio LinuxFest - Ports, Packages, and PBI's
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

2013 Ohio LinuxFest - Ports, Packages, and PBI's


Published on

Slides from my 2013 Ohio Linux Fest talk entitled: …

Slides from my 2013 Ohio Linux Fest talk entitled:
PC-BSD: Ports, Packages, and PBI's

This covers all the different methods for installing applications on a PC-BSD system, with additional information about how to use these systems within the individualized jails via the "Warden" - the jail management utility in PC-BSD.

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. PC-BSD: Ports, Packages, and PBI's Ken Moore PC-BSD/iXsystems Ohio LinuxFest September 14th , 2013
  • 2. What is PC-BSD? FreeBSD Simplified! ● Pre-configured desktop/server installation ● Desktop-Environment agnostic ● Automatic ZFS setup ● Up-to-date package repositories PC-BSD Additions ● Graphical Installer ● Warden (jail management) ● PBI package format w/ EasyPBI ● System backup/restore functionality ● Many system administration and device management utilities
  • 3. FreeBSD Ports Features ● ~25,000 applications ● Standardized method of building/installing applications. ● Independent of FreeBSD version. ● FreeBSD Porters Handbook Downsides ● Compiling from source ● Constant flux ● Size of the ports tree
  • 4. FreeBSD Ports – Usage ● Ports tree management – portsnap fetch extract: Install the ports tree – portsnap fetch update: Update the ports tree ● Searching the ports tree – ● Installing a port – cd /usr/ports/<category>/<portname> – make install clean
  • 5. FreeBSD pkgng (Next Generation Packages) Features ● Binary packages ● No ports tree ● Fast and easy ● Dependency checking/resolving Downsides ● No FreeBSD repo ● Security concerns ● Static compilation options ● FreeBSD series dependent PC-BSD provides pkgng repositories for the release and stable branches of FreeBSD These packages are digitally signed/sealed for secure digital transfer and use.
  • 6. pkgng - Usage ● All interactions are run using the pkg command – pkg add: install local package – pkg install: download/install package from repo – pkg delete: Uninstall a package – pkg info: list information about installed packages – pkg search: search the repo for package(s) – pkg update: update local packages to the latest versions on the repo Many more pkg commands are available: use pkg help to see the full list.
  • 7. pkgng – Graphical Interface
  • 8. The PBI Package System The Purpose ● Provide a safe, system package independent, method of installing/updating applications Additional Goals ● Ensure that applications do not require an internet connection for installation ● Minimize library duplication to preserve disk space The Implementation ● Written in pure shell (/bin/sh) ● Intelligently shared libraries between PBI's ● A single PBI contains all libraries, files, and data needed for an application to run. ● Completely independent of the local system packages and other PBI applications
  • 9. Using PBI's – Command Line ● Full command-line usage for the PBI system is available using the pbi_* commands. – pbi_add: Install PBI (from local file or remote repo) – pbi_remove: Uninstall PBI – pbi_info: List information about current PBI(s) – pbi_browser: List/search available PBI's in the repo – pbi_update: Update an installed PBI – pbi_create: Package a local directory into a PBI – pbi_makeport: build a PBI from a FreeBSD port Additional commands for running a repo are also available
  • 10. Using PBI's - AppCafe
  • 11. Creating PBI's - EasyPBI ● Graphical front-end to the PBI build system – Generate build instructions (a PBI “module”) – Run the actual build process ● Tight (but optional) integration with the FreeBSD ports collection ● No technical experience required ● Average time to create a module for a FreeBSD port: 5 minutes start to finish
  • 12. Summary of Formats Ports Packages PBI's Pre-Compiled No Yes Yes Compile-time Options Yes No No Plugin-aware Yes Yes No Self-Contained No No Yes Offline Installation No Yes* Yes Delta Updates No No Yes Reliability Poor Average Good Installed To: /usr/local /usr/local/ /usr/pbi/<name>-<arch> Available on FreeBSD Yes Yes** No Available on PC-BSD Yes Yes Yes * This is not recommended due to dependency resolution of pkgng ** FreeBSD does not provide any up-to-date package repositories
  • 13. Examples ● Ports – Best used for building customized drivers and/or modifying the base system with specialized options ● Packages – Generally used for any applications that require integration within the system environment or highly customizable with pre-compiled plugins – Desktop environments, development platforms, system hardware or administration utilities ● PBI's – End-user or frequently updated applications – Web browsers, email clients, games, audio/video, etc..
  • 14. The Warden What is it? ● Jail Managment Utility ● Powerful way to configure and run a large number of FreeBSD jails ● Simple sandboxing utility for developers or users ● Secure environment for running web services Features ● ZFS snapshots ● Autostart jails on bootup ● Administer packages, services, and users from outside the jail ● Import/export jails between systems ● Traditional, ports, and Linux jails possible ● Template system for customized jail creation
  • 15. Warden - Usage ● Command-line usage is all run via warden – warden help: Show all the CLI options – warden create/delete – warden import/export: Uses a *.wdn file for transport – warden list: list installed jails – warden chroot: launch chroot into a jail And many more for things like ZFS snapshot management and jail configuration
  • 16. Warden – Graphical Interface
  • 17. Demo Time!!
  • 18. Questions?