pbi v10: application management made easy by ken moore
DESCRIPTION
These slides accompanied a presentation given at Southeast Linux Fest. The PBI system provides an easy-to-use package management framework for installing, removing, and running applications while also providing simple methods for keeping your system up to date and in working order. In this session we will discuss the recent developments in the 10.0 PBI format, describe the background systems that make everything run, and demonstrate how an end-user interacts with this system via the AppCafe on PC-BSD. The slides also show how this system can be utilized to manage and use jails on PC-BSD/FreeBSD, enabling the user to isolate applications away from the general system for improved safety and security.TRANSCRIPT
PBI v10:Application Management
Made Easy
Ken Moore PC-BSD/iXsystems
SouthEast LinuxFestJune 20-22, 2014
Definitions
● PBI: Push Button Installer
– This encompasses all the various subsystems required to use 3rd party applications on a PC-BSD system
Example Toolchain:
– Fetching/building the application from source
– Packaging that application for distribution– Downloading/installing package
Source Build
Old PBI System● FreeBSD Ports● /usr/pbi/<app>
system base● Compilation
options set on individual application basis (including for all dependencies)
PBI Version 10● FreeBSD Ports● /usr/local system
base● Compilation
options set for individual applications on a system-wide basis
App Packaging
Old PBI System● Single file for each
application (*.pbi)● Large file size● Fixed download
size● No internet
required
PBI Version 10● Single file for each
port/package● Small file sizes● Variable download
size● Requires internet
connection
App Installation
Old PBI System● Single Method
– Specialized Containers
PBI Version 10● Multiple methods
– System Integrated
– FreeBSD Jails– Other
Containers?
10.x Summary
Old PBI System
Various independent subsystems
PBI Version 10
Unified subsystem framework
FreeBSD OS FreeBSD OS
PBI System Jails
1 2 3 4
PBI w/pkgng
Jails Other?System
AppCafe
● Graphical interface for end-user interaction with the PBI system
● Simple access to different installation methods or locations
● Easily use custom package repositories
Management
● Easily see installed applications
● Filtering Options
– Apps Only– Orphan Packages– Base Packages– “Raw” Packages
● Bulk Actions
– Uninstall– Desktop Shortcuts– Version Locking
Browsing
● At-a-glance:
– Name/summary– Rating– Recommended– Install status– Type of application
● Filter Options
– Graphical Apps– Text Apps– Server Apps– “Raw” Packages
Searching
● Smart Search Algorithm
– Name Matches– Tag Matches– Description
Matches
App Details
● Push Button Install● Detailed Information
– Version– User Rating– User Tips– Author– Download Size– License– Platform/Arch– Description– Screenshots– Plugins Available– Similar Applications– Build Options (static)
App Access
● Launch Application● Contact Maintainer● Desktop Shortcuts● The “Size” is now
the actual size the package occupies on disk
FreeBSD Jails
What is it?● Self-contained
system environment● Independant
root/users● Secure environment● Distinct IP/Hostname● Not a Linux chroot!
Features● Extremely low
overhead● Start/Stop● Invisible oversight
from main system
Tip: Think of a jail as a full virtual machine, but with such low overhead that hundreds can be used simultaneously
Warden
● Jail Management● Import/Export● ZFS snapshot/restore● Multiple Jail Types
– Traditional (command line)
– Ports Jail (graphical access)
– Linux Jail (experimental)
AppCafe Jails
● Jails must be running in order to be used
– The warden can start jails automatically● When installing an application into a jail,
it will sync the pkg configuration between the jail and the main system.
● Jails can be updated from the AppCafe using the existing pkg configuration in the jail.
PBI Summary
● Improvements– Stability (no custom localbase)– Simplicity (distribution system and
management)– Standards (the underlying FreeBSD pkg system)
● New Features– Support for multiple installation methods– Ability to use/manage FreeBSD jails– Application plugin support– Version locking– More Application Info (ratings, tips, screenshots)
Remember: The *.pbi file format becomes obsolete with the new system!
Get Involved!
● See an error with an application's info?● Want to fix or add an icon for an
application?
– Modules are on the PC-BSD GitHub repo
● Is the AppCafe missing a particular application?
– Add it to the FreeBSD ports tree!
http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/
https://github.com/pcbsd/pcbsd/tree/master/pbi-modules
Questions?