COMP 3000 2011 Report: Dream Studio

From Soma-notes
Revision as of 12:44, 17 November 2011 by Smaqsood (talk | contribs)

Part I

Background

Dream Studio is an Ubuntu based distribution that provides users tools to create stunning graphics, music, videos and websites. It is developed and maintained by Dream Dickmacinnis, who originally designed this distribution for his work. The distribution can be downloaded on the harddrive or run from a DVD and USB flash drive. It takes advantage of the Ubuntu base and does not modify the default packages provided by Ubuntu for ease of system updates and maintaineance. The primary target audience for this distribution are designers, musicians or anyone developing mutlimedia (video, audio etc.) or design products.

Part II

Software Packaging

Dream Studio uses Ubuntu’s package management utilities to package and distribute software. Software is distributed in package files with a .deb extension to software repositories, and Dream Studio can download and install the software from these software repositories using a package management utility. Since Ubuntu uses Debian’s package management utilities, the base package management utility of Dream Studio is dpkg. Dream Studio has the following package management utilities:

  • dpkg: dpkg is the base software of Dream Studio’s package management system. It is a low-level package management utility that can be used to create, install and remove packages. dpkg cannot get packages from remote repositories or manage complex package dependencies, therefore it is recommended that a higher level utility such as APT be used to install, update and remove packages in Dream Studio.
  • APT (Advanced Packaging Tool): APT is a command line based front-end for dpkg. It allows users to install, update and remove packages on the system and, unlike dkpg it can download packages from remote repositories and manage package dependencies. APT can be accessed in Dream Studio by using the command line utility apt-get.
  • Aptitude: Aptitude is a command line text-based menu front-end for APT. It can be used to install, update and remove packages on the system. Aptitude can be accessed in Dream Studio by using the command line utility aptitude.
  • Ubuntu Software Center: Ubuntu Software Center is the graphical (GUI) front-end for APT and can be used to browse, install, update and remove packages. It is the most simple application in Dream Studio to install packages but it can ignore certain packages (i.e. packages that don’t contain programs), and therefore the Synaptic Package Manager should be used to install complex packages or packages that cannot be installed using the Ubuntu Software Center.
  • Synaptic Package Manager: The Synaptic Package Manager provides an advanced GUI front-end for APT. It can be used to browse, install, update and remove any package on the system. It is similar to the Ubuntu Software Center, but provides more information and complete control over the packages installed on the system.

Listing Installed Software

A listing of all the software installed in Dream Studio can be obtained by using the package management utilities below:

  • dpkg: A list of installed packages (software) can be obtained by using the following dpkg command in the terminal:dpkg –l
  • Aptitude: The following steps describe how to obtain a list of installed software using Aptitude:
    1. Type aptitude in the command line
    2. Select the option “Installed Packages” from the menu
  • Ubuntu Software Center: The following steps describe how to obtain a list of installed software using Ubuntu Software Center:
    1. Select “Ubuntu Software Center” from the Applications menu in the top menu bar
    2. Select the option “Installed Software” from the left pane in Ubuntu Software Center. List of installed software will be displayed in the right pane.
  • Synaptic Package Manager: The following steps describe how to obtain a list of installed software using the Synaptic Package Manager:
    1. Open the Synaptic Package Manager by selecting it from the menu  System > Administration in the top menu bar
    2. Select the “Status” button from the Synaptic Packager Manager
    3. Select “Installed” from the menu located at the top of the buttons

Adding and Removing Packages

Packages can be installed or removed in Dream Studio by using any of the package management utilities listed below: (note: dpkg is excluded from this list because it is not recommended to directly install/remove packages using this utility)

APT: Search for a package by typing the following command in the terminal: apt-cache search <search term>. Example: To search for a graphics program/package type the following command in the terminal: apt-cache search <graphics program>. Select the package name from the search results and then use the commands below to install or remove the package if is already installed:

  • Installing a package: Type the following command in the terminal to install a given package: apt-get install <package_name>. Example: Use the command apt-get install graphicsprorgram to install the package named grapicsprogram.

  • Removing a package: Type the following command in the terminal to remove a given package: apt-get remove <package_name>. Example: Use the command apt-get remove graphicsprorgram to remove the package named grapicsprogram. The command apt-get purge <package_name> can be used to remove a package and its configuration files.

Aptitude: Open aptitude by the typing the command aptitude in the terminal

  • Installing a package: The steps below describe how to select and install a package using aptitude:
    1. Select the “Not Installed Packages” from the menu at the top
    2. Select a category from the displayed list
    3. Select a package repository from the displayed list
    4. Browse the displayed list of available packages and mark a package to be installed by pressing the “+” key
    5. Press the “g” key twice to install the selected package
  • Removing a package: The steps below describe how to select and remove a package using aptitude:
    1. Select the “Installed Packages” from the menu at the top
    2. Select a category from the displayed list
    3. Select a package repository from the displayed list
    4.  Browse the displayed list of available packages and mark a package to be removed by pressing the “-” key
    5. Press the “g” key twice to remove the selected package

Ubuntu Software Center: Open Ubuntu Software Center by selecting it from the menu at the top: Applications > Ubuntu Software Center

  • Installing a package: The steps below describe how to install a package using the Ubuntu Software Center:
    1. Find the package to be installed by selecting it from the categories listed under the ‘Get Software” menu in the left-pane or searching for it using the “Search” box in the top right corner.
    2. Select the package to be installed from the results displayed in the right-pane
    3. Select the “Install” option to install the selected package
  • Removing a package: The steps below describe how to remove a package using the Ubuntu Software Center:
    1. Select the “Installed Software” option from the left-pane
    2. Select a category from the options displayed under “Installed Software” in the left-pane
    3. Select the package to be removed from the results displayed in the right pane
    4. Select the “Remove” option to remove the selected package

Synaptic Package Manager: Open Synaptic Package Manager by selecting it from the menu at the top: System > Administration > Ubuntu Software Center

  • Installing a package: The steps below describe how to install a package using the Synaptic Package Manager:
    1. Select the “Status” button from the Synaptic Packager Manager
    2. Select the “Not Installed” option from the menu located at the top of the buttons
    3. Select the package to be installed from the list displayed in the right-pane
    4. Right-click on the package and select the “Mark for Installation” option from the pop-up menu
    5. Select the “Apply” option from the toolbar at the top
  • Removing a package: The steps below describe how to remove a package using the Synaptic Package Manager:
    1. Select the “Status” button from the Synaptic Packager Manager
    2. Select “Installed” from the menu at the top of the buttons
    3. Select the package to be removed from the list displayed in the right-pane
    4. Right-click on the package and select the “Mark for Removal” option from pop-up menu
    5. Select the option “Apply” from the toolbar at the top

Software Catalog

Dream Studio has 2141 packages installed upon the distribution's installation. These packages are more than enough for regular users, as they provide all the basic software that a regular user will need. This includes a web browser (firefox), an email client/address book (Evolution), Image editor (GIMP), Office Suite (Open Office), Audio/Video playback software. In addition to the basic software, Dream Studio also provides a sufficient amount of multimedia and Graphic software to meet its design goals. The software catalog of Dream Studio is not as comprehensive as other distributions with similar design goals (Ubuntu Studio, ArtisX), this was done to keep the the distribution light as it already provides users with all types of software that they might need. Rather than having redundant software offering the same core services, Dream Studio opted to provide the bare minimum upon installation and provide users the option to install additional software as required.

Major package versions

Package Name Version Upstream source
  • linux-image-3.0.0-9-lowlatency
  • linux-lowlatency

 

  • 3.0.0-9.13ppa1~natty1
  • 3.0.0.9.10ppa1~natty1
<a href="http://www.kernel.org/">http://www.kernel.org/</a>
Libc6 2.13-0ubuntu13 <a href="http://www.eglibc.org/home">http://www.eglibc.org/home</a>
xserver-xorg-video-qxl 0.0.12-1ubuntu4 <a href="http://anonscm.debian.org/gitweb/?p=pkg-xorg/driver/xserver-xorg-video-qxl.git">http://anonscm.debian.org/gitweb/?p=pkg-xorg/driver/xserver-xorg-video-qxl.git</a>
  • gtkdialog and gtk2-engines-pixbuf
  • libqt4-core
  • tk8.5: 8.5.9-2
  • 2:0.7.20-4
  • 2.24.4-0ubuntu2
  • 4:4.7.2-0ubuntu6.2
  • 8.5.9-2
Shells:
  • Bash
  • Dash
  • Mono-csharp-shell
  • 4.2-0ubuntu3
  • 0.5.5.1-7.2ubuntu1
  • 2.6.7-5ubuntu3

 

Busybox-static 1:1.17.1-10ubuntu1 <a href="http://busybox.net/downloads/">http://busybox.net/downloads/</a>
Software packaging (rpm, dpkg, etc.)
  • dpkg
  • aptitude
  • apt
  • synaptic
  • software-center
  • 1.16.0~ubuntu7
  • 0.6.3-3.2ubuntu1
  • 0.8.13.2ubuntu4.1
  • 0.75.1lubuntu2
  • 4.0.4
Firefox 6.0+build1+nobinonly-0ubuntu0.11.04.1 <a href="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/">http://releases.mozilla.org/pub/mozilla.org/firefox/releases/</a>
Evolution 2.32.2-0ubuntu7 <a href="http://projects.gnome.org/evolution/">http://projects.gnome.org/evolution/</a>
Inkscape 0.48.1-2ubuntu2 <a href="http://inkscape.org/">http://inkscape.org/</a>
Gimp 2.6.11-1ubuntu6.1 <a href="http://www.gimp.org/">http://www.gimp.org/</a>
Imagemagick 7:6.6.2.6-1ubuntu4 <a href="http://www.imagemagick.org/script/download.php">http://www.imagemagick.org/script/download.php</a>

Package Information and Comparisons

  • bash: The latest stable release of bash is 4.2-0ubuntu3 and it was released in Feburary 2011, therefore bash is using the latest stable release. As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore bash has not been modified by the author. Bash is a default shell that comes installed with Ubuntu and that is why it was included in this distribution.    

  • firefox: The latest stable release of firefox is 8.0 and it was released in November 2011, the version installed in the distribution is two versions old. As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore firefox has not been modified by the author. Firefox is the default browser that comes installed with Ubuntu and that is why it was included in this distribution.

  • dpkg: The latest stable release of dpkg is 1.16.1.1 and it was released in April 2011, therefore bash is using the latest stable release. As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore dpkg has not been modified by the author. dpkg is the default package management utikity that comes installed with Ubuntu and that is why it was included in this distribution.

  • libc6: The latest stable release of libc6 is 2.14.1 and it was released in October 2011, the version installed in the distribution is one version old. As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore libc6 has not been modified by the author. libc6 is the glibc library that comes installed with Ubuntu and that is why it was included in this distribution.

  • apt: The latest stable release of apt is 0.8.10.3+squeeze1<a href="http://packages.debian.org/source/stable/apt"></a> and it was released in September 2011, the version installed in the distribution is two versions newer than the most stable release (the new version mostly consisted of security updates). As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore apt has not been modified by the author. apt is a front-end interface for dkpg that comes installed with Ubuntu and that is why it was included in this distribution.

  • synaptic: The latest stable release of synaptic is 0.75.1ubuntu2 and it was released in April 2011, therefore synaptic is using the latest stable release. As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore synaptic has not been modified by the author. synaptic is an advanced GUI front-end for APT that comes installed with Ubuntu and that is why it was included in this distribution.

  • software-center: The latest stable release of software-center is 4.0.5 and it was released in October 2011, the version installed in the distribution is one version old. As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore software center has not been modified by the author. software-center is an advanced GUI front-end for APT that comes installed with Ubuntu and that is why it was included in this distribution. 

  • evolution: The latest stable release of evolution is 3.2.2 and it was released in November 2011, the version installed in the distribution is one version old. As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore evolution has not been modified by the author. Evolutions is the default mail client that comes installed with Ubuntu and that is why it was included in this distribution.

  • linux kernel: The latest stable release of the linux kernel (3.0.0-9.13ppa1~natty1) is 3.1.1 and it was released in November 2011, the version installed in the distribution is one version old. As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore kernel has not been modified by the author. kernel is the core of Ubuntu and that is why it was included in this distribution.

  • dash:  The latest stable release of dash is 0.5.5.1-7.2ubuntu1 and it was released in November 2010, therefore dash is using the latest stable release. As stated by Dream Studio’s author, Dream Studio is using the main packages of Ubuntu without modification; this was done to allow seamless updates to the underlying software. Therefore dash has not been modified by the author. Dash is a default shell that comes installed with Ubuntu and that is why it was included in this distribution.

Initialization

Dream Studio uses the same processes as Ubuntu to initialize the system. Specifically it uses a combination of System V init scripts and Upstart jobs to fully initialize the system. Since Upstart runs program in parallel based on events, it is very difficult to identify which programs are run first. By looking at the /etc/rcS script and the boot log files (/var/log/boot.log), it seems that the following processes are run during system initialization:

  1. Network Services
  2. AppArmor profiles
  3. ACPI daemon
  4. Cron
  5. Graphics Device

This information was found in the scripts and conf files located in the init.d and init folders under /etc.