COMP 3000 2011 Report II:PC-BSD

From Soma-notes

Part II

Software Packaging

Package Format and Utilities

PC-BSD's package management system takes a different approach to installing software than many other Unix-like operating systems. Instead of using the FreeBSD ports<ref>FreeBSD ports http://en.wikipedia.org/wiki/FreeBSD_ports Retrieved Dec 7, 2011</ref> tree directly, PC-BSD uses files with the .pbi<ref>PBI Package Management. http://www.pcbsd.org/about/pc-bsd-project/package-management Retrieved Nov 16, 2011</ref> file-name extension which, when double-clicked, bring up an installation wizard program. PBI (PC-BSD Installer or Push-Button Installer) is Binary Packaging format. This distribution uses lots of graphic utilities<ref>PC-BSD Utilities. http://www.pcbsd.org/about/pc-bsd-project/utilities Retrieved Nov 16, 2011</ref> to offer front-end to useful FreeBSD features, such as Software Management Utility, Virtual Environment Utility, Backup Utility, Ports Jails Utility and so on.In the distribution, the package management rely on pkg tool, which is also used in FreeBSD, and Software Manager.

List Installed Packages

In command line, it will use "pkg_info" or "pkg_info | less"to get a list of installed packages. The first command will print the whole list of packages at once, while the second one will print the first page of the package list and you can use keyboard to look forward or backward in the list.

Add and Remove Packages

"pkg_add" to add packages, and "pkg_delete" to remove packages. In PC-BSD 9.0, it will use PBI manager<ref>PBI Manager. http://wiki.pcbsd.org/index.php/PBI_Manager Retrieved Nov 16, 2011</ref>, which will use "pbi_info", "pbi_add", "pbi_delete" instead. Package can be added by using "pkg_add -r -v {pacakge-name}" or "pbi_add -r PBINAME":

 # pkg_add -v -r vim      or   # pbi_add -r alpine

We can also set the environment variable PACKAGEROOT specifies an alternate location for pkg_add to fetch from:

 # export PACKAGEROOT=ftp://ftp3.FreeBSD.org
 # pkg_add -v -r vim 

Package can be delete by using "pkg_delete {package-name}" or "pbi_delete {package-name}". Package name and version can be found by "pkg_info" or "pbi_info":

 # pkg_info | grep ntop    or    # pbi_info | grep ntop
 # ntop-4.0.1_1-i386             # ntop-4.0.1_1-i386   
 # pkg_delete ntop-4.0.1_1-i386  # pbi_delete ntop-4.0.1_1-i386

Software Catelog

The PC-BSD repository<ref>Package Management in PC-BSD. http://en.wikipedia.org/wiki/PC-BSD#Package_management Retrieved Nov 16, 2011</ref> is http://www.pbidir.com/. The software catalog is organized by alphabet of package categories like the following picture.

Software Management

PC-BSD offers many Graphic tools for desktop user, and there is utility called Software Management (in PC-BSD version 8.2), which can get a list of installed packages, only the packages installed after system installations will be displayed, like this picture:


PC-BSD is aim to give user simple install/remove package experience, like Windows or Mac OS. Software Management is also a very useful utility to find desired software and install them by clicking the link. Remove is also a simply mouse click operation. There is a website browser in the Software Management and search engine for keyword search and different catalogs for selections.


After made decision, it can downloaded the software by clicking the download link. And it will automatically download and install the packages/software.


There is also a remove button under "Installed Software" menu. Simply choose the package needed to remove, and click remove.

The software catalog for this distribution can be found in the Software Browser of Software Management. There are many selections: Archives, Astronomy, Audio, Benchmarks, Biology, CAD, Communications, Databases, Desktop Utilities, Development, E-Mail, Editors, Educational, Emulators, File Transfer & Utilities, Finance, Games, Graphics, IRC, Japanese, Java, Languages, Math, Miscellaneous, Multimedia, Network-IM, Network-Management, Network-P2P, Network-Utilities, News, Non-Port, Polish, Ports-Management, Print, Science, Security, Shells, System Utilities, Text Processing, The Warden-Inmates, Web, X11, X11-File Managers and X11-Window Managers.

There is too many packages to choose, part of catalog information can be seen from the previous picture.

Major package versions

The package version information can be found by using command "pkg_info". More information about the specific package version could be found through Internet. Here are version numbers, release date, and upstream source of various major packages in PC-BSD:

Package Version Latest Official Release Official Source
X.org 7.5 Oct 26, 2009 <ref>X.org 7.5 release notes. http://www.x.org/wiki/Releases/7.5 Retrieved Dec 5, 2011</ref> 7.6 Dec 20, 2010 <ref>X.org 7.6 release notes. http://www.x.org/wiki/Releases/7.6 Retrieved Dec 5, 2011</ref> http://www.x.org/wiki/
Qt 4.7.1 Nov 9, 2010 <ref>Qt 4.7.1 release notes. http://labs.qt.nokia.com/2010/11/09/qt-4-7-1-released/ Retrieved Dec 5, 2011</ref> 4.7.4 Sep 1, 2011 <ref>Qt 4.7.4 release notes. http://labs.qt.nokia.com/2011/09/01/qt-4-7-4-released/ Retrieved Dec 5, 2011</ref> http://qt.nokia.com/
GTK+ 2.22.1, Nov 15, 2010 <ref>GTK+ 2.22.1 overview. http://mail.gnome.org/archives/ftp-release-list/2010-November/msg00145.html Retrieved Dec 5, 2011</ref> 2.24.8, Nov 10, 2011 <ref>GTK+ 2.24.8 overview. http://mail.gnome.org/archives/gtk-devel-list/2011-November/msg00026.html Retrieved Dec 5, 2011</ref> http://ftp.gnome.org/pub/gnome/sources/gtk+/
bash 4.1.9 March, 2010 <ref>BASH PATH REPORT 4.1.9. ftp://ftp.gnu.org/gnu/bash/bash-4.1-patches/bash41-009 Retrieved Dec 5, 2011</ref> 4.2.10 April, 2011 <ref>BASH PATH REPORT 4.2.10. ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/bash42-010 Retrieved Dec 5, 2011</ref> http://ftp.gnu.org/gnu/bash/
pth 2.0.7 Jun 8, 2006 <ref>GNU Portable Thread. http://www.gnu.org/s/pth/ Retrieved Dec 5, 2011</ref> current is the latest http://www.gnu.org/s/pth/
ruby 1.8.7 June 1, 2008 1.9.3 Oct 30, 2011 <ref>Ruby News. http://www.ruby-lang.org/en/feeds/news.rss Retrieved Dec 5, 2011</ref> http://www.ruby-lang.org/en/news/2008/05/31/ruby-1-8-7-has-been-released/
KDE(Konqueror web browser and KMail) 4.5.5 Jan 4, 2011 <ref>KDE 4.5 Release Schedule. http://techbase.kde.org/Schedules/KDE4/4.5_Release_Schedule#January_4th.2C_2011:_Release_KDE_SC_4.5.5 Retrieved Dec 5, 2011</ref> 4.7.3 Nov, 2011 <ref>KDE Release News. http://www.kubuntu.org/news/by-date/201111 Retrieved Dec 5, 2011</ref> http://kde.org/info/4.5.5.php
Gwenview 1.2.92 Aug 21, 2005 <ref>gwenview-1.2.92-0.1.101mdk RPM for i586 http://rpmfind.net/linux/RPM/sourceforge/g/project/gw/gwenview/gwenview/1.2.92/gwenview-1.2.92-0.1.101mdk.i586.html Retrieved Dec 5, 2011</ref> 4.7.3, Oct 28, 2011 <ref>Gwenview Release list. ftp://ftp.kde.org/pub/kde/stable/latest/src/ Retrieved Dec 5, 2011</ref> http://rpmfind.net/linux/RPM/sourceforge/g/project/gw/gwenview/gwenview/1.2.92/gwenview-1.2.92-0.1.101mdk.i586.html
amarok 2.3.2 Sep 20, 2010 <ref>Amarok 2.3.2 Release News http://amarok.kde.org/en/releases/2.3.2 Retrieved Dec 5, 2011</ref> 2.5 Nov 6, 2011 <ref>Amarok Home. http://amarok.kde.org/ Retrieved Dec 5, 2011</ref> http://amarok.kde.org/en/releases/2.3.2


X.org:

version number: 11.0, release 7.5 (Oct 26, 2009) <ref>http://www.x.org/wiki/Releases/7.5</ref>. URL:http://www.x.org/wiki/Releases/7.5

latest version: X11R7.6 on Dec 20, 2010.<ref>http://www.x.org/wiki/Releases/7.6</ref>

reason: Xorg supports several mechanisms for supplying/obtaining configuration and run-time parameters: command line options, environment variables, the xorg.conf configuration file, auto-detection, and fallback defaults. In PC-BSD, it completes distribution meta-port.

Qt

version number: 4.7.1, released Nov 9, 2010 <ref>http://labs.qt.nokia.com/2010/11/09/qt-4-7-1-released/</ref> URL: http://qt.nokia.com/downloads

latest version: 4.7.4, released Sep 1, 2011 <ref>http://labs.qt.nokia.com/2011/09/01/qt-4-7-4-released/</ref>

reason: Qt SDK combines the Qt framework with tools designed to streamline the creation of applications for Symbian and Maemo, MeeGo (Nokia N9) as well as desktop platforms, such as Microsoft Windows, Mac OS X, and Linux. PC-BSD needs that platform.

gtk

version number: 2.22.1, Nov 15, 2010 <ref>http://mail.gnome.org/archives/ftp-release-list/2010-November/msg00145.html</ref> URL: http://ftp.gnome.org/pub/gnome/sources/gtk+/

latest version: 2.24.8, Nov 10, 2011 <ref>http://mail.gnome.org/archives/gtk-devel-list/2011-November/msg00026.html</ref>

reason: Gimp toolkit for X11 GUI. It is a multi-platform toolkit for creating graphical user interfaces, which is PC-BSD's need.

bash

version number: 4.1.9, March, 2010 <ref>ftp://ftp.gnu.org/gnu/bash/bash-4.1-patches/bash41-009</ref> URL: http://ftp.gnu.org/gnu/bash/

latest version: 4.2.10, April, 2011 <ref>ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/bash42-010</ref>

reason: The GNU Project's Bourne Again SHell. Bash is the shell, or command language interpreter, that will appear in the GNU operating system.

pth

version number: 2.0.7 Jun 8, 2006 <ref>http://www.gnu.org/s/pth/</ref> URL: http://www.gnu.org/s/pth/

latest version: current is the latest version

reason: Pth is a very portable POSIX/ANSI-C based library for Unix platforms which provides non-preemptive priority-based scheduling for multiple threads of execution inside event-driven applications. PC-BSD want to give user better experience in desktop like Windows or Mac OS, multi-thread is needed.

ruby

version number: 1.8.7 June 1, 2008 <ref>http://www.ruby-lang.org/en/feeds/news.rss</ref> URL: http://www.ruby-lang.org/en/news/2008/05/31/ruby-1-8-7-has-been-released/

latest version: 1.9.3 Oct 30, 2011 <ref>http://www.ruby-lang.org/en/feeds/news.rss</ref>

reason: A dynamic, open source programming language with a focus on simplicity and productivity. Most Unix/Linux distribution will use that, so do PC-BSD. It has an elegant syntax that is natural to read and easy to write.


KDE (this includes Konqueror web browser and KMail)

version number: KDE version 4.5.5, Jan 4, 2011 <ref>http://techbase.kde.org/Schedules/KDE4/4.5_Release_Schedule#January_4th.2C_2011:_Release_KDE_SC_4.5.5</ref> URL: http://kde.org/info/4.5.5.php

latest version: 4.7.3 Nov, 2011 <ref>http://www.kubuntu.org/news/by-date/201111</ref>

reason: KDE offers a full suite of user workspace applications which allow interaction with these operating systems in a modern, graphical user interface. And PC-BSD need good GUI to offer nice experience for desktop user, KDE is a good choice


Gwenview

version number : 1.2.92 Aug 21, 2005 Image viewer for KDE. URL: http://rpmfind.net/linux/RPM/sourceforge/g/project/gw/gwenview/gwenview/1.2.92/gwenview-1.2.92-0.1.101mdk.i586.html

latest version: 4.7.3, Oct 28, 2011 <ref>ftp://ftp.kde.org/pub/kde/stable/latest/src/</ref>

reason: Gwenview is part of the kdegraphics module. Gwenview is a fast and easy to use image viewer/browser for KDE. PC-BSD use KDE for better user experience. Gwenview is inside KDE.

amarok

version number: 2.3.2 Sep 20, 2010 URL: http://amarok.kde.org/en/releases/2.3.2

latest version: 2.5 Beta1, Nov 6, 2011 <ref>http://amarok.kde.org/</ref>

reason: Media Player for KDE4. PC-BSD want to provider service for daily uses, and for desktop user. Multimedia is needed so that a media player like amarok will be a necessary utility.

Initialization

Upon initialization of Pcbsd, the following happens or the following programs run. To access the following program from the terminal, the code used is : cd/usr/local/etc/rc.d. After which the command "ls" is typed to see the programs that run on initialization, it is from the list that the following programs were chosen, using the code cat "program name"


(cat ffserver) ffserver - runs after the network service runs, it is a streaming server for both audio and video.

fusefs - runs after systctl runs and before mountlate is running.

pcbsdinit - runs after DAEMON is running and it starts the system scripts.

gpsd - runs after networking deamon cleanvar devfs runs and runs before ntpd, it is an interface daemon for GPS receivers.

oss - also runs after deamon, it handles the sound system.

netatalk - runs after daemon, it provides atalkd papd cnid_metad timelord afpd,

snddetect - runs after daemon, it provides sound detect, it first removes sound flag then detects if system has sound or not.

wacom - runs after filesystem, it offers setup and cleanup to configure Xorg for use of the driver or remove the configuration settings.

Reference

<references/>