Project Sputnik Ready for Mainstream?

I was intially extremely happy with the Dell XPS 13 paired with Ubuntu 12.04, also known as Project Sputnik. Physically, the laptop was very impressive, the first non-Apple laptop I’ve used that I thought could be competitive with the MacBook Air. Also, even after trying all the major Linux distributions, I’ve always been an Ubuntu fan for its stability and large community (I know calling Ubuntu stable might make some people scoff, especially with the migration to Unity, but that is not what this post is about). However, after using the combination for a few weeks, unfortunately, I don’t think this project is ready for the masses…

Here are some of my thoughts in no particular order:

  • The WiFi signal strength meter in Unity shows pretty low signal strength. This may be because the bars on the meter are calibrated differently, but as a simple user, it is more comforting to see all the bars on my MacBook Air lit up than to see only three. To be fair, I haven’t noticed any WiFi performance differences between the two.
  • I read complaints that the Ubuntu installer wiped the entire laptop. I didn’t experience this for myself, so if the partitioning options are a new feature in the install process, they are definitely welcome. I’m still curious why Ubuntu insists on installing the entire system in a single partition when distributions like Fedora install a nice LVM2 layout by default. As a simple user who might want to reinstall the OS if I think I’ve messed up too many system configurations, I’d like to think I could do this without having to back up or lose all of my personal data (e.g. critical development projects).
  • To put it simply, the touchpad behaves inconsistently. Even after tweaking the system settings, it usually requires a pretty heavy tap to register a click, but at other times, clicks register with just a slight brush of my palm. As a simple user or even an advanced user who is just trying to develop, this seems like one of the basic things I should not have to deal with in order to do whatever I need to get done.
  • The way the keyboard lighting works doesn’t make sense. Sometimes it turns on as soon as I start using the keyboard and turns off when I am done (which I assume it’s supposed to do), and other times it remains illuminated. There are also times when it just doesn’t turn on at all even though I have been typing for some time.
  • To put it simply, Unity behaves inconsistently. Everything at the command line and with raw processing (e.g. compilation) work fine, but strange things happen with the GUI, especially considering I am running with a Core i7. Again, as a simple user, these are the kinds of things I do not want to bother me while I am trying to do my work.
    • While extracting a large file (~4GB) in gnome-terminal, keystrokes were not being registered in Chrome. Keystrokes began registering again after the file was extracted.
    • The launcher sometimes gets “stuck” (doesn’t hide) even though it is set in auto-hide mode. I haven’t really found a solution to this other than to hope it auto-hides itself after I put the laptop to sleep.
    • Flash in Firefox works fine, but is inconsistent in Chrome (not Chromium); it works fine for a little while (I’ve accepted that the fan will go on full blast on any non-Windows OS), but then it starts playing all videos at over 2X. This might be a Chrome bug and not an Ubuntu bug, but I haven’t run into this issue on my MacBook Air.
    • Sometimes Thunderbird will close all its Windows, but the process will remain running in the background, consuming ~20% CPU. This causes the fan to kick in and probably consumes more battery, an annoyance that might go undiscovered by a simple user.
    • Unity became unresponsive to the keyboard while updating the Twitter feed. Seriously? With an i7?
    • While some mail in Thunderbird was being copied to the Sent folder, I could not change the volume with the keyboard. Again, seriously? With an i7?
  • Multitouch gestures are nowhere close to what Apple has implemented.
  • After being put to sleep and being woken up multiple times, something with the fan doesn’t seem to work properly. The temperature sensors in the laptop don’t report anything out of the ordinary, but the fan cycles like it’s breathing. For comparison, my MacBook Air has been put to sleep and woken up for a collective 6 days without inconsistent behavior.

To be fair, these are only minor complaints that can mostly be tolerated by intermediate or advanced users who want to troubleshoot and know what’s going on, but from a simple user perspective or maybe even a developer who wants to get things done, these are annoyances that can be avoided by just investing the extra money towards an Apple.

Project Sputnik Extra Packages

The additional packages in the Project Sputnik Ubuntu distribution are listed on the Ubuntu site here, but for those looking to find a little more details before rolling their own, here are the package details:

Package: git
Priority: optional
Section: vcs
Installed-Size: 13684
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Gerrit Pape <pape@smarden.org>
Architecture: amd64
Version: 1:1.7.9.5-1
Replaces: cogito (<< 0.16rc2-0), git-core (<< 1:1.7.0.4-1.), gitweb (<< 1:1.7.4~rc1)
Provides: git-completion, git-core
Depends: libc6 (>= 2.14), libcurl3-gnutls (>= 7.16.2-1), libexpat1 (>= 1.95.8), zlib1g (>= 1:1.2.0), perl-modules, liberror-perl, git-man (>> 1:1.7.9.5), git-man (<< 1:1.7.9.5-.)
Recommends: patch, less, rsync, ssh-client
Suggests: git-daemon-run | git-daemon-sysvinit, git-doc, git-el, git-arch, git-cvs, git-svn, git-email, git-gui, gitk, gitweb
Conflicts: git-core (<< 1:1.5.2~rc3-2.)
Breaks: cogito (<= 0.18.2+), git-buildpackage (<< 0.4.38), git-core (<< 1:1.7.0.4-1.), gitosis (<< 0.2+20090917-7), gitpkg (<< 0.15), gitweb (<< 1:1.7.4~rc1), guilt (<< 0.33), qgit (<< 1.5.5), stgit (<< 0.15), stgit-contrib (<< 0.15)
Filename: pool/main/g/git/git_1.7.9.5-1_amd64.deb
Size: 6086854
MD5sum: a280c48b41de227103e665c5d11a310a
SHA1: f60552319e5af79f019eb079e17b85c1d65c2c3a
SHA256: 115a2b4a6fc3f8f7709aebd6064e0ad01225330a5ddd5e0fff28e90efa8e9535
Description-en: fast, scalable, distributed revision control system
Git is popular version control system designed to handle very large
projects with speed and efficiency; it is used for many high profile
open source projects, most notably the Linux kernel.
.
Git falls in the category of distributed source code management tools.
Every Git working directory is a full-fledged repository with full
revision tracking capabilities, not dependent on network access or a
central server.
.
This package provides the git main components with minimal dependencies.
Additional functionality, e.g. a graphical user interface and revision
tree visualizer, tools for interoperating with other VCS’s, or a web
interface, is provided as separate git* packages.
Homepage: http://git-scm.com/
Description-md5: c1f968556452a190fe359bffd151c012
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: git-core
Priority: optional
Section: devel
Installed-Size: 21
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Gerrit Pape <pape@smarden.org>
Architecture: all
Source: git
Version: 1:1.7.9.5-1
Depends: git (>> 1:1.7.0.2)
Filename: pool/main/g/git/git-core_1.7.9.5-1_all.deb
Size: 1384
MD5sum: 5dd779ddcb51c87cf88a33d07f72362a
SHA1: 58706cc2ed5b625afa367fa470efaffcd30c5112
SHA256: dfbdc074d474dad6d495deb92460e944752949f53a7c9f9c4c6eb987f972be21
Description-en: fast, scalable, distributed revision control system (obsolete)
Git is popular version control system designed to handle very large
projects with speed and efficiency; it is used for many high profile
open source projects, most notably the Linux kernel.
.
Git falls in the category of distributed source code management tools.
Every Git working directory is a full-fledged repository with full
revision tracking capabilities, not dependent on network access or a
central server.
.
This is a transitional dummy package. The ‘git-core’ package has been
renamed to ‘git’, which has been installed automatically. This
git-core package is now obsolete, and can safely be removed from the
system if no other package depends on it.
Homepage: http://git-scm.com/
Description-md5: a5277a215be4fbea0e2f9300b9266151
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: bzr
Priority: optional
Section: devel
Installed-Size: 97
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Bazaar Maintainers <pkg-bazaar-maint@lists.alioth.debian.org>
Architecture: all
Version: 2.5.1-0ubuntu2
Depends: python-bzrlib (>= 2.5.1-0ubuntu2), python-bzrlib (<= 2.5.1-0ubuntu2.1~), python
Suggests: bzr-doc, bzr-gtk, bzr-svn, python-bzrlib.tests, bzrtools
Breaks: bzr-pqm (<< 1.4.0~bzr80), bzr-xmloutput (<< 0.8.8+bzr160), python-bzrlib (<< 2.4.0~beta3~)
Filename: pool/main/b/bzr/bzr_2.5.1-0ubuntu2_all.deb
Size: 35222
MD5sum: 1b80cb39214e236717719c69ab55b3f1
SHA1: c5b7db65f5302b508db947ad0ccf8b2a8ed51f05
SHA256: b1afa453423b047e54d1d5dd64b8eef5fcf87ab90637e0c74da67502d7dee11e
Description-en: easy to use distributed version control system
Bazaar is a distributed version control system designed to be easy to
use and intuitive, able to adapt to many workflows, reliable, and
easily extendable.
.
Publishing of branches can be done over plain HTTP, that is, no special
software is needed on the server to host Bazaar branches. Branches can
be pushed to the server via sftp (which most SSH installations come
with), FTP, or over a custom and faster protocol if bzr is installed in
the remote end.
.
Merging in Bazaar is easy, as the implementation is able to avoid many
spurious conflicts, deals well with repeated merges between branches,
and is able to handle modifications to renamed files correctly.
.
Bazaar is written in Python, and has a flexible plugin interface which
can be used to extend its functionality. Many plugins exist, providing
useful commands (bzrtools), graphical interfaces (bzr-gtk), or native
interaction with Subversion branches (bzr-svn).
.
Install python-paramiko if you are going to push branches to remote
hosts with sftp, and python-pycurl if you’d like for SSL certificates
always to be verified.
Homepage: http://bazaar-vcs.org
Description-md5: 1d3423894d16a186e692fc8818fe3072
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: bzr
Priority: optional
Section: devel
Installed-Size: 96
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Bazaar Maintainers <pkg-bazaar-maint@lists.alioth.debian.org>
Architecture: all
Version: 2.5.0-2ubuntu2
Depends: python-bzrlib (>= 2.5.0-2ubuntu2), python-bzrlib (<= 2.5.0-2ubuntu2.1~), python
Suggests: bzr-doc, bzr-gtk, bzr-svn, python-bzrlib.tests, bzrtools
Breaks: bzr-pqm (<< 1.4.0~bzr80), bzr-xmloutput (<< 0.8.8+bzr160), python-bzrlib (<< 2.4.0~beta3~)
Filename: pool/main/b/bzr/bzr_2.5.0-2ubuntu2_all.deb
Size: 35170
MD5sum: 7fa86d70819451a90552ee256bdd3e51
SHA1: ea9ef132ca99a73d2830bfeb44982201e1e07ef3
SHA256: 2fca853b0d396582a060371323e227e0c9370b292ea1384347d3cf3a024c0da3
Description-en: easy to use distributed version control system
Bazaar is a distributed version control system designed to be easy to
use and intuitive, able to adapt to many workflows, reliable, and
easily extendable.
.
Publishing of branches can be done over plain HTTP, that is, no special
software is needed on the server to host Bazaar branches. Branches can
be pushed to the server via sftp (which most SSH installations come
with), FTP, or over a custom and faster protocol if bzr is installed in
the remote end.
.
Merging in Bazaar is easy, as the implementation is able to avoid many
spurious conflicts, deals well with repeated merges between branches,
and is able to handle modifications to renamed files correctly.
.
Bazaar is written in Python, and has a flexible plugin interface which
can be used to extend its functionality. Many plugins exist, providing
useful commands (bzrtools), graphical interfaces (bzr-gtk), or native
interaction with Subversion branches (bzr-svn).
.
Install python-paramiko if you are going to push branches to remote
hosts with sftp, and python-pycurl if you’d like for SSL certificates
always to be verified.
Homepage: http://bazaar-vcs.org
Description-md5: 1d3423894d16a186e692fc8818fe3072
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: bzr-gtk
Priority: optional
Section: universe/devel
Installed-Size: 730
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Bazaar Maintainers <pkg-bazaar-maint@lists.alioth.debian.org>
Architecture: all
Version: 0.103.0+bzr792-1ubuntu1
Depends: bzr (<< 2.6.0), bzr (>= 2.1~), gir1.2-gconf-2.0, gir1.2-gtk-3.0, gir1.2-gtksource-3.0, libcanberra-gtk3-module, python-gi, python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8)
Recommends: bzr-dbus, gir1.2-appindicator3-0.1 | gir1.2-notify-0.7, gir1.2-freedesktop, python-gi-cairo, seahorse
Suggests: bzr-loom, bzr-search
Filename: pool/universe/b/bzr-gtk/bzr-gtk_0.103.0+bzr792-1ubuntu1_all.deb
Size: 158006
MD5sum: 34e4b939f3c796940b1819dc8a033209
SHA1: d3e1d8a6bbdadd897b6613ecc45026da2a8d9584
SHA256: ef85aaa1fb392d194fdccef9e5257ccb3e3722c98aff3f87b4a4ce082f9aa6e2
Description-en: provides graphical interfaces to Bazaar (bzr) version control
bzr-gtk provides GTK+ interfaces to the Bazaar (bzr) source code management
tool.
.
This package adds the following commands to the bzr command line
tool: gannotate, gbranch, gcheckout, gcommit, gconflicts, gdiff, gloom,
gmissing, gpreferences, gpush, gstatus, visualise.
Enhances: bzr
Homepage: http://bazaar-vcs.org/bzr-gtk
Description-md5: ede401cc22315d2f0c8fe2e791883493
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Package: bzr-git
Priority: optional
Section: universe/vcs
Installed-Size: 601
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Bazaar Maintainers <pkg-bazaar-maint@lists.alioth.debian.org>
Architecture: all
Version: 0.6.8-1
Depends: bzr (<< 2.6.0), bzr (>= 2.5~), python-dulwich (>= 0.8.3~), python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8)
Recommends: python-tdb
Suggests: bzr-fastimport
Filename: pool/universe/b/bzr-git/bzr-git_0.6.8-1_all.deb
Size: 110378
MD5sum: cd1c86b644d8ef78cddb74f90f2bc602
SHA1: 57d8d1165716a5683d09da68783588cb8f6b5afd
SHA256: fc050f5e5249a1aa7567787e0667521e7c157052a3e31967c5b38dad7c5b2de5
Description-en: Bazaar plugin providing Git integration
This is a plugin for Bazaar that adds the ability to use Git repositories,
both local and remote (git://, git+ssh:// and http://). It integrates with the
regular Bazaar UI, and provides a new Bazaar subcommand `git-import` which
imports all branches from a Git repository.
.
An experimental remote helper for Git that can push to and
fetch from Bazaar branches is also provided.
Enhances: bzr, git, loggerhead
Homepage: http://bazaar-vcs.org/BzrForeignBranches/Git
Description-md5: bcdbb434b7a307268227e0b1ee79069e
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Package: python-launchpadlib
Priority: optional
Section: python
Installed-Size: 276
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Luca Falavigna <dktrkranz@debian.org>
Architecture: all
Version: 1.9.12-1
Depends: python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8), python-simplejson, python-httplib2 (>= 0.4.0), python-wadllib, python-lazr.restfulclient (>= 0.11.2-1), python-lazr.uri (>= 1.0.2-4), python-oauth, python-keyring (>= 0.5)
Suggests: python-pkg-resources, python-testresources
Filename: pool/main/p/python-launchpadlib/python-launchpadlib_1.9.12-1_all.deb
Size: 50520
MD5sum: 5b98021c32f8097974171ea1b81e133a
SHA1: 4034167b06c21b1d31d5198fd67bbaf861ae8560
SHA256: 30f8ce588d98b87ab5567bb05a3b337ef01a1a9c65b9701a350165cd2f0f53d7
Description-en: Launchpad web services client library
A free Python library for scripting Launchpad through its web services
interface.
.
It currently provides access to the following parts of Launchpad:
* People and Teams
* Team memberships
* Bugs and bugtasks
.
The Launchpad API is currently in beta, and may well change in ways
incompatible with this library.
.
You can find current API documentation at
https://help.launchpad.net/API/launchpadlib
Homepage: https://launchpad.net/launchpadlib
Description-md5: a750e50e8b37547aff54df37eaf126d0
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: ubuntu-desktop, cloud-image, ubuntu-usb, server, kubuntu-desktop, kubuntu-active-desktop, kubuntu-active, edubuntu-desktop, edubuntu-usb, xubuntu-desktop, mythbuntu-frontend, mythbuntu-desktop, mythbuntu-backend-slave, mythbuntu-backend-master, mythbuntu-backend-master, lubuntu-core, ubuntustudio-desktop

Package: screen
Priority: optional
Section: misc
Installed-Size: 1052
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de>
Architecture: amd64
Version: 4.0.3-14ubuntu8
Depends: libc6 (>= 2.4), libncursesw5 (>= 5.6+20070908), libpam0g (>= 0.99.7.1), dpkg (>= 1.15.4) | install-info, upstart-job
Suggests: byobu
Filename: pool/main/s/screen/screen_4.0.3-14ubuntu8_amd64.deb
Size: 611204
MD5sum: b5e98bb56fdfc9bf9fd13e6f726c83aa
SHA1: 8d3e5c5d858b4a314a66b5bc51b3a557b85ea96c
SHA256: 2b6c752fc226ad6e2e32cd93f089bf2a89d51e95f6e5ff1e7ed63b0b57ff592f
Description-en: terminal multiplexor with VT100/ANSI terminal emulation
screen is a terminal multiplexor that runs several separate “screens” on a
single physical character-based terminal. Each virtual terminal emulates a
DEC VT100 plus several ANSI X3.64 and ISO 2022 functions. Screen sessions
can be detached and resumed later on a different terminal.
.
Screen also supports a whole slew of other features. Some of these are:
configurable input and output translation, serial port support, configurable
logging, multi-user support, and utf8 charset support.
Homepage: http://savannah.gnu.org/projects/screen
Description-md5: 031a852784c43a4c757fecf6b610c93e
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: cloud-image, ubuntu-usb, server, edubuntu-usb, edubuntu-desktop-kde, edubuntu-desktop-gnome

Package: byobu
Priority: optional
Section: misc
Installed-Size: 418
Maintainer: Dustin Kirkland <kirkland@ubuntu.com>
Architecture: all
Version: 5.17-0ubuntu1
Replaces: byobu-extras (<< 2.17), screen-profiles (<< 2.0), screen-profiles-extras (<< 2.0)
Provides: byobu-extras, screen-profiles, screen-profiles-extras
Depends: debconf (>= 0.5) | debconf-2.0, gettext-base, python, python-newt (>= 0.52.2-11), tmux (>= 1.5) | screen
Recommends: screen, tmux (>= 1.5)
Suggests: apport, lsb-release, po-debconf, run-one, ttf-ubuntu-font-family (>= 0.80-0ubuntu1~medium), update-notifier-common, vim, w3m
Breaks: byobu-extras (<< 2.17), screen-profiles (<< 2.0), screen-profiles-extras (<< 2.0)
Filename: pool/main/b/byobu/byobu_5.17-0ubuntu1_all.deb
Size: 85912
MD5sum: e6635011d53960504cefc470f0254e1d
SHA1: c734563a72adc6b39cbd6f4e2ed00b8ade7159be
SHA256: 3ef161c6433bfc34753c00906fc00f36f874caff55fc712bfe49e570b9f66a44
Description-en: powerful, text based window manager and shell multiplexer
Byobu is Ubuntu’s text-based window manager based on GNU Screen.
Using Byobu, you can quickly create and move between different windows
over a single SSH connection or TTY terminal, monitor dozens of important
statistics about your system, detach and reattach to sessions later
while your programs continue to run in the background.
Enhances: screen
Homepage: http://launchpad.net/byobu
Description-md5: 024f61f4fb7dd0808208a74ed4c03472
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: cloud-image, ubuntu-usb, server, edubuntu-usb

Package: tmux
Priority: optional
Section: admin
Installed-Size: 516
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Karl Ferdinand Ebert <kfebert@gmail.com>
Architecture: amd64
Version: 1.6-1ubuntu1
Depends: libc6 (>= 2.14), libevent-2.0-5 (>= 2.0.16-stable), libtinfo5
Pre-Depends: dpkg (>= 1.15.7.2)
Filename: pool/main/t/tmux/tmux_1.6-1ubuntu1_amd64.deb
Size: 223608
MD5sum: ee0571d160482d7f6616d45020c10579
SHA1: cddfecbe9ea04481ea815fca5f88b32106b66c5d
SHA256: 3ccebcc7bd395f77932746d4796a1ec7446d7df0af5611f09049c5675abf2a2f
Description-en: terminal multiplexer
tmux enables a number of terminals (or windows) to be accessed and
controlled from a single terminal like screen. tmux runs as a
server-client system. A server is created automatically when necessary
and holds a number of sessions, each of which may have a number of
windows linked to it. Any number of clients may connect to a session,
or the server may be controlled by issuing commands with tmux.
Communication takes place through a socket, by default placed in /tmp.
Moreover tmux provides a consistent and well-documented command
interface, with the same syntax whether used interactively, as a key
binding, or from the shell. It offers a choice of vim or Emacs key
layouts.
Homepage: http://tmux.sourceforge.net/
Description-md5: dc6ff920cb9183a42694d0ea54835078
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: cloud-image, ubuntu-usb, server, edubuntu-usb

Package: meld
Priority: optional
Section: universe/gnome
Installed-Size: 1962
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Ross Burton <ross@debian.org>
Architecture: all
Version: 1.5.3-1ubuntu1
Depends: python (>= 2.7.1-0ubuntu2), python-gtk2 (>= 2.14), python-glade2 (>= 2.14), python-gobject-2 (>= 2.16), patch
Recommends: yelp, python-gnome2, python-gconf, python-gtksourceview2 (>= 2.4)
Filename: pool/universe/m/meld/meld_1.5.3-1ubuntu1_all.deb
Size: 409736
MD5sum: 03070e941608b198c68288bd894dfa40
SHA1: f51e2cf736226cef9c625a9f9205ed296e78f69f
SHA256: a99ab27b2e8f8399e9976f066c65a01719103d0e6534f39a68b55e51da221528
Description-en: graphical tool to diff and merge files
Meld is a tool which allows the user to see the changes in, and merge between,
either two files, two directories, or two files with a common ancestor.
Homepage: http://meldmerge.org
Description-md5: 8547967d0298698d88629231f6acca01
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Package: juju
Priority: optional
Section: universe/python
Installed-Size: 2866
Maintainer: Juju Developers <juju@lists.ubuntu.com>
Architecture: all
Version: 0.5+bzr531-0ubuntu1.3
Replaces: ensemble
Depends: python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8), python-twisted, python-txzookeeper (>= 0.9.5~), python-txaws, python-yaml, openssh-client, tmux, python-oauth
Recommends: python-pydot, byobu
Suggests: apt-cacher-ng, lxc, libvirt-bin, zookeeper
Breaks: ensemble
Filename: pool/universe/j/juju/juju_0.5+bzr531-0ubuntu1.3_all.deb
Size: 502530
MD5sum: 30a1e1d04c678ea659e4f57049926526
SHA1: 82f33bb92651278606d99649efd924662ecdda53
SHA256: 10b1d4046be0054d869addc6393cd8d6c5c4d338f5fa28cb5c076b8ebdaf506a
Description-en: next generation service orchestration system
Juju is a next generation service orchestration framework. It has been
likened to APT for the cloud. With Juju, different authors are able to
create service formulas, called charms, independently, and make those
services coordinate their communication and configuration through a
simple protocol.
Homepage: https://launchpad.net/juju
Python-Version: 2.7
Description-md5: ac3d2b9e02b2307dd8ca59864a72d120
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Package: juju
Priority: optional
Section: universe/python
Installed-Size: 2861
Maintainer: Juju Developers <juju@lists.ubuntu.com>
Architecture: all
Version: 0.5+bzr531-0ubuntu1
Replaces: ensemble
Depends: python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8), python-twisted, python-txzookeeper (>= 0.9.5~), python-txaws, python-yaml, openssh-client, tmux, python-oauth
Recommends: python-pydot, byobu
Suggests: apt-cacher-ng, lxc, libvirt-bin, zookeeper
Breaks: ensemble
Filename: pool/universe/j/juju/juju_0.5+bzr531-0ubuntu1_all.deb
Size: 501132
MD5sum: e8926d70b6e9cebce3419bc1f5e8e3b7
SHA1: 590296e7b2ef8191db93308dfd62144ba009c79f
SHA256: 98cebeede1717595762647f4de6de5ae153484e3569ec402c54cb99177dbcc24
Description-en: next generation service orchestration system
Juju is a next generation service orchestration framework. It has been
likened to APT for the cloud. With Juju, different authors are able to
create service formulas, called charms, independently, and make those
services coordinate their communication and configuration through a
simple protocol.
Homepage: https://launchpad.net/juju
Python-Version: 2.7
Description-md5: ac3d2b9e02b2307dd8ca59864a72d120
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Package: charm-tools
Priority: optional
Section: universe/net
Installed-Size: 110
Maintainer: Clint Byrum <clint@ubuntu.com>
Architecture: all
Version: 0.3+121-0ubuntu1
Replaces: principia-tools
Depends: bzr, mr, python, python-apt, python-cheetah, python-launchpadlib, curl
Recommends: juju
Breaks: principia-tools
Filename: pool/universe/c/charm-tools/charm-tools_0.3+121-0ubuntu1_all.deb
Size: 16680
MD5sum: b7f9d6eead1251ff2c5048b978591636
SHA1: 7ac4e47c1479470fd3724ffa192b60c17d8f68e4
SHA256: 01ceed732564ab926a2f91fa7a597e0bd48b94f100e1216334edc7de5ccc1eba
Description-en: tools for maintaining Juju charms
This project is a set of tools for authoring and maintaining charms in
the Juju charms distribution.
.
This package contains specific tools for charm development.
.
Note that juju was formerly called “Ensemble” and charms were called
“formulas”.
Homepage: https://launchpad.net/charm-tools
Description-md5: 11bee234bc833b4a8da7c523b53be066
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Package: charm-helper-sh
Priority: optional
Section: universe/net
Installed-Size: 55
Maintainer: Clint Byrum <clint@ubuntu.com>
Architecture: all
Source: charm-tools
Version: 0.3+121-0ubuntu1
Provides: charm-helper-bash
Depends: wget, bind9-host
Suggests: juju
Filename: pool/universe/c/charm-tools/charm-helper-sh_0.3+121-0ubuntu1_all.deb
Size: 7958
MD5sum: 7db9be1918a5ef51444842a1f6f74c5f
SHA1: 9a6208fbd00244566f3982d8a6a6a68e9e358a03
SHA256: 0b6dbe4c349fd1e29f4085061165ee95eb93493b660a56f71720eeced47f6ff7
Description-en: shell script helpers for use in juju charms
This project is a set of tools for authoring and maintaining charms in
the Juju charms distribution.
.
This package contains helper scripts for use in simplifying charms
written using sh/bash scripts.
Homepage: https://launchpad.net/charm-tools
Description-md5: b5bb78fa6c1d763f0c9c54d1e79a1055
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Package: euca2ools
Priority: optional
Section: utils
Installed-Size: 843
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: chris grzegorczyk <grze@eucalyptus.com>
Architecture: all
Version: 2.0.0~bzr516-0ubuntu3.1
Depends: python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8), python-m2crypto (>= 0.19.1), python-boto (>= 2.1~)
Recommends: cloud-utils
Filename: pool/main/e/euca2ools/euca2ools_2.0.0~bzr516-0ubuntu3.1_all.deb
Size: 178824
MD5sum: 5a8ce1985c34bd9c07bd8793585b1d83
SHA1: c0c76958c162a7ac058761f10849333cd707e2d6
SHA256: c325643352408cba656197bf66530ab0a6844b490f22d3338af3aaabbeb217c7
Description-en: managing cloud instances for Eucalyptus
EUCALYPTUS is an open source service overlay that implements elastic
computing using existing resources. The goal of EUCALYPTUS is to allow
sites with existing clusters and server infrastructure to co-host an
elastic computing service that is interface-compatible with Amazon’s EC2.
.
Elastic Utility Computing Architecture for Linking Your Programs
To Useful Systems – is an open-source software infrastructure for
implementing “cloud computing” on clusters. Eucalyptus Systems is the
pioneer in open source cloud computing technology that delivers hybrid
cloud deployments for enterprise data centers. Leveraging Linux and web
service technologies that commonly exist in today’s IT infrastructure,
Eucalyptus enables customers to quickly and easily create elastic clouds
in minutes. This “no lock-in” approach provides users with ultimate
flexibility when delivering their SLAs.
.
Eucalyptus is more than just virtualization. Along with building virtual
machines, the technology supports the network and storage infrastructure
within the cloud environment. Eucalyptus works with multiple flavors
of Linux including Ubuntu, OpenSuse, Debian, and CentOS. Eucalyptus
currently supports Xen and KVM hypervisors. These tools are meant to
be CLI compatible with the ec2-api-tools.
Homepage: http://open.eucalyptus.com/open/
Description-md5: bb80f4d8971e59effc3226e5698b9eed
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m
Task: cloud-image

Package: euca2ools
Priority: optional
Section: utils
Installed-Size: 835
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: chris grzegorczyk <grze@eucalyptus.com>
Architecture: all
Version: 2.0.0~bzr516-0ubuntu3
Depends: python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8), python-m2crypto (>= 0.19.1), python-boto (>= 2.1~)
Recommends: cloud-utils
Filename: pool/main/e/euca2ools/euca2ools_2.0.0~bzr516-0ubuntu3_all.deb
Size: 172720
MD5sum: 484719122cf5f45766ef8c378fa4c673
SHA1: 22f9f95972320aff9534cc7797ae7d50c80cc290
SHA256: e4e436598f2936b177d2dbad8339efdc18a72ff5e0c1efbf36db693420f4c60c
Description-en: managing cloud instances for Eucalyptus
EUCALYPTUS is an open source service overlay that implements elastic
computing using existing resources. The goal of EUCALYPTUS is to allow
sites with existing clusters and server infrastructure to co-host an
elastic computing service that is interface-compatible with Amazon’s EC2.
.
Elastic Utility Computing Architecture for Linking Your Programs
To Useful Systems – is an open-source software infrastructure for
implementing “cloud computing” on clusters. Eucalyptus Systems is the
pioneer in open source cloud computing technology that delivers hybrid
cloud deployments for enterprise data centers. Leveraging Linux and web
service technologies that commonly exist in today’s IT infrastructure,
Eucalyptus enables customers to quickly and easily create elastic clouds
in minutes. This “no lock-in” approach provides users with ultimate
flexibility when delivering their SLAs.
.
Eucalyptus is more than just virtualization. Along with building virtual
machines, the technology supports the network and storage infrastructure
within the cloud environment. Eucalyptus works with multiple flavors
of Linux including Ubuntu, OpenSuse, Debian, and CentOS. Eucalyptus
currently supports Xen and KVM hypervisors. These tools are meant to
be CLI compatible with the ec2-api-tools.
Homepage: http://open.eucalyptus.com/open/
Description-md5: bb80f4d8971e59effc3226e5698b9eed
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m
Task: cloud-image

Package: puppet
Priority: optional
Section: admin
Installed-Size: 336
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Puppet Package Maintainers <pkg-puppet-devel@lists.alioth.debian.org>
Architecture: all
Version: 2.7.11-1ubuntu2.1
Depends: puppet-common (= 2.7.11-1ubuntu2.1), ruby1.8
Pre-Depends: dpkg (>= 1.15.7.2)
Recommends: rdoc
Suggests: puppet-el, vim-puppet, etckeeper
Filename: pool/main/p/puppet/puppet_2.7.11-1ubuntu2.1_all.deb
Size: 20176
MD5sum: a4bbf9ead5ce67ebb2ff6a1541bbff6d
SHA1: 164e2c359e734e552ce5a21a3bd3f0eb9d149849
SHA256: 87017eafe6409b8c844415b4e7d2b705dc5cc8bc33e786ae2080554c0e15c8b5
Description-en: Centralized configuration management – agent startup and compatibility scripts
This package contains the startup script and compatbility scripts for the
puppet agent, which is the process responsible for configuring the local node.
.
Puppet lets you centrally manage every important aspect of your system
using a cross-platform specification language that manages all the
separate elements normally aggregated in different files, like users,
cron jobs, and hosts, along with obviously discrete elements like
packages, services, and files.
.
Puppet’s simple declarative specification language provides powerful
classing abilities for drawing out the similarities between hosts while
allowing them to be as specific as necessary, and it handles dependency
and prerequisite relationships between objects clearly and explicitly.
Homepage: http://projects.puppetlabs.com/projects/puppet
Description-md5: 1dc71ec043c0ade030b8a9e18410f9ef
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: puppet
Priority: optional
Section: admin
Installed-Size: 336
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Puppet Package Maintainers <pkg-puppet-devel@lists.alioth.debian.org>
Architecture: all
Version: 2.7.11-1ubuntu2
Depends: puppet-common (= 2.7.11-1ubuntu2), ruby1.8
Pre-Depends: dpkg (>= 1.15.7.2)
Recommends: rdoc
Suggests: puppet-el, vim-puppet, etckeeper
Filename: pool/main/p/puppet/puppet_2.7.11-1ubuntu2_all.deb
Size: 20128
MD5sum: a81289e500e4dd6faa2d1f1756af8ac2
SHA1: 0fdd9b907becd54cba99ecbbdf568e814d217bd6
SHA256: c8fd2c8d610fa6078a94b3812308fc6a3df8b876bdfcbb95856e5ef2aff80f8a
Description-en: Centralized configuration management – agent startup and compatibility scripts
This package contains the startup script and compatbility scripts for the
puppet agent, which is the process responsible for configuring the local node.
.
Puppet lets you centrally manage every important aspect of your system
using a cross-platform specification language that manages all the
separate elements normally aggregated in different files, like users,
cron jobs, and hosts, along with obviously discrete elements like
packages, services, and files.
.
Puppet’s simple declarative specification language provides powerful
classing abilities for drawing out the similarities between hosts while
allowing them to be as specific as necessary, and it handles dependency
and prerequisite relationships between objects clearly and explicitly.
Homepage: http://projects.puppetlabs.com/projects/puppet
Description-md5: 1dc71ec043c0ade030b8a9e18410f9ef
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: chef
Version: 10.12.0-1
Architecture: all
Maintainer: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers@lists.alioth.debian.org>
Installed-Size: 2744
Depends: debconf (>= 0.5) | debconf-2.0, ruby1.8 | ruby-interpreter, libmixlib-config-ruby (>= 1.1.2), libmixlib-cli-ruby (>= 1.1.0), libmixlib-log-ruby (>= 1.3.0), libmixlib-authentication-ruby (>= 1.1.0), ruby-mixlib-shellout, ohai (>= 0.6.0), librestclient-ruby, libbunny-ruby, libjson-ruby (>= 1.4.4), libtreetop-ruby, libnet-ssh2-ruby, libnet-ssh-multi-ruby, liberubis-ruby, libmoneta-ruby, libhighline-ruby, libuuidtools-ruby, rubygems, ucf
Recommends: irb1.8
Conflicts: libchef-ruby, libchef-ruby1.8
Replaces: libchef-ruby, libchef-ruby1.8
Provides: libchef-ruby, libchef-ruby1.8
Homepage: http://wiki.opscode.com/display/chef
Priority: optional
Section: ruby
Filename: pool/main/c/chef/chef_10.12.0-1_all.deb
Size: 387854
SHA256: d7b89f7892d6fdf79a86ab050894f16436de47441f11a55759e92910e481c87d
SHA1: 2180a79a2a8b7e29fc2ea3e35343787f209dd017
MD5sum: 7cd4a7ad6c66cfa7b0c0b7b554a3b657
Description: A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
Chef is a systems integration framework and configuration management library
written in Ruby. Chef provides a Ruby library and API that can be used to
bring the benefits of configuration management to an entire infrastructure.
.
Chef can be run as a client (chef-client) to a server, or run as a standalone
tool (chef-solo). Configuration recipes are written in a pure Ruby DSL.
.
This package contains the chef-client, chef-solo and knife binaries as well
as the chef library.
Ruby-Versions: ruby1.8 ruby1.9.1

Package: emacs
Priority: optional
Section: editors
Installed-Size: 52
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Rob Browning <rlb@defaultvalue.org>
Architecture: all
Source: emacs23
Version: 23.3+1-1ubuntu9
Provides: editor, emacsen, mail-reader, news-reader
Depends: emacs23 | emacs23-lucid | emacs23-nox
Filename: pool/main/e/emacs23/emacs_23.3+1-1ubuntu9_all.deb
Size: 2252
MD5sum: 0028dfdede5598045818adf893fe28a7
SHA1: fcdaafae9a9ca7b91f9eb94897f03355be76fd2b
SHA256: 36662a46f8385eaa071594935e5266014d3850f959c649ad532e37bc582827dc
Description-en: The GNU Emacs editor (metapackage)
GNU Emacs is the extensible self-documenting text editor.
This is a metapackage which will always depend on the latest Emacs
release.
Homepage: http://www.gnu.org/software/emacs/
Description-md5: f701b2c5da95237a78f8b765b6804a2b
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: vim
Priority: optional
Section: editors
Installed-Size: 2013
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
Architecture: amd64
Version: 2:7.3.429-2ubuntu2.1
Provides: editor
Depends: vim-common (= 2:7.3.429-2ubuntu2.1), vim-runtime (= 2:7.3.429-2ubuntu2.1), libacl1 (>= 2.2.51-5), libc6 (>= 2.15), libgpm2 (>= 1.20.4), libpython2.7 (>= 2.7), libselinux1 (>= 1.32), libtinfo5
Suggests: ctags, vim-doc, vim-scripts
Filename: pool/main/v/vim/vim_7.3.429-2ubuntu2.1_amd64.deb
Size: 1048020
MD5sum: a97d345324a1d673da8a34609767a3f7
SHA1: 13f284ec5e96e9904ba5e5520c5ac59f5737b14e
SHA256: 86e86f71ade6e324b600269ff89c8eb03e8ada5f4ca22cec8e57edc5696dc35c
Description-en: Vi IMproved – enhanced vi editor
Vim is an almost compatible version of the UNIX editor Vi.
.
Many new features have been added: multi level undo, syntax
highlighting, command line history, on-line help, filename
completion, block operations, folding, Unicode support, etc.
.
This package contains a version of vim compiled with a rather
standard set of features. This package does not provide a GUI
version of Vim. See the other vim-* packages if you need more
(or less).
Homepage: http://www.vim.org/
Description-md5: 59e8b8f7757db8b53566d5d119872de8
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: cloud-image, ubuntu-usb, server, edubuntu-usb, edubuntu-desktop-kde, edubuntu-desktop-gnome

Package: vim
Priority: optional
Section: editors
Installed-Size: 2013
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
Architecture: amd64
Version: 2:7.3.429-2ubuntu2
Provides: editor
Depends: vim-common (= 2:7.3.429-2ubuntu2), vim-runtime (= 2:7.3.429-2ubuntu2), libacl1 (>= 2.2.51-5), libc6 (>= 2.15), libgpm2 (>= 1.20.4), libpython2.7 (>= 2.7), libselinux1 (>= 1.32), libtinfo5
Suggests: ctags, vim-doc, vim-scripts
Filename: pool/main/v/vim/vim_7.3.429-2ubuntu2_amd64.deb
Size: 1048016
MD5sum: 61cf816fda097a4e96ef32fc30cf364e
SHA1: de6c64b53dc1e57ca1aec7f5d4cd4aba6e08e993
SHA256: 182f4b57a6fb32d7cf5ee814641580ca5c20e881488e61db911fc87337cb4b02
Description-en: Vi IMproved – enhanced vi editor
Vim is an almost compatible version of the UNIX editor Vi.
.
Many new features have been added: multi level undo, syntax
highlighting, command line history, on-line help, filename
completion, block operations, folding, Unicode support, etc.
.
This package contains a version of vim compiled with a rather
standard set of features. This package does not provide a GUI
version of Vim. See the other vim-* packages if you need more
(or less).
Homepage: http://www.vim.org/
Description-md5: 59e8b8f7757db8b53566d5d119872de8
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: cloud-image, ubuntu-usb, server, edubuntu-usb, edubuntu-desktop-kde, edubuntu-desktop-gnome

Package: vim-gnome
Priority: extra
Section: editors
Installed-Size: 2386
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
Architecture: amd64
Source: vim
Version: 2:7.3.429-2ubuntu2.1
Provides: editor, gvim, vim, vim-lua, vim-perl, vim-python, vim-ruby, vim-tcl
Depends: vim-gui-common (= 2:7.3.429-2ubuntu2.1), vim-common (= 2:7.3.429-2ubuntu2.1), vim-runtime (= 2:7.3.429-2ubuntu2.1), libacl1 (>= 2.2.51-5), libbonoboui2-0 (>= 2.15.1), libc6 (>= 2.15), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.12.0), libgnome2-0 (>= 2.17.3), libgnomeui-0 (>= 2.22.0), libgpm2 (>= 1.20.4), libgtk2.0-0 (>= 2.24.0), libice6 (>= 1:1.0.0), liblua5.1-0, libpango1.0-0 (>= 1.14.0), libperl5.14 (>= 5.14.2), libpython2.7 (>= 2.7), libruby1.8 (>= 1.8.7.352), libselinux1 (>= 1.32), libsm6, libtinfo5, libx11-6, libxt6, tcl8.5 (>= 8.5.0)
Suggests: cscope, vim-doc, ttf-dejavu, gnome-icon-theme
Filename: pool/main/v/vim/vim-gnome_7.3.429-2ubuntu2.1_amd64.deb
Size: 1217466
MD5sum: 6899f13189c271f1c3012789f9f11416
SHA1: 6ceb9c68840e856801989d446da8bc70edbf1e37
SHA256: f4b20e232291be8a016806846070cfbddf3187bd3f83f707d3f6742987343a23
Description-en: Vi IMproved – enhanced vi editor – with GNOME2 GUI
Vim is an almost compatible version of the UNIX editor Vi.
.
Many new features have been added: multi level undo, syntax
highlighting, command line history, on-line help, filename
completion, block operations, folding, Unicode support, etc.
.
This package contains a version of vim compiled with a GNOME2 GUI
and support for scripting with Lua, Perl, Python, Ruby, and Tcl.
Homepage: http://www.vim.org/
Description-md5: cd4a76134bce59404c52749b68c94208
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: vim-gnome
Priority: extra
Section: editors
Installed-Size: 2386
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
Architecture: amd64
Source: vim
Version: 2:7.3.429-2ubuntu2
Provides: editor, gvim, vim, vim-lua, vim-perl, vim-python, vim-ruby, vim-tcl
Depends: vim-gui-common (= 2:7.3.429-2ubuntu2), vim-common (= 2:7.3.429-2ubuntu2), vim-runtime (= 2:7.3.429-2ubuntu2), libacl1 (>= 2.2.51-5), libbonoboui2-0 (>= 2.15.1), libc6 (>= 2.15), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.12.0), libgnome2-0 (>= 2.17.3), libgnomeui-0 (>= 2.22.0), libgpm2 (>= 1.20.4), libgtk2.0-0 (>= 2.24.0), libice6 (>= 1:1.0.0), liblua5.1-0, libpango1.0-0 (>= 1.14.0), libperl5.14 (>= 5.14.2), libpython2.7 (>= 2.7), libruby1.8 (>= 1.8.7.352), libselinux1 (>= 1.32), libsm6, libtinfo5, libx11-6, libxt6, tcl8.5 (>= 8.5.0)
Suggests: cscope, vim-doc, ttf-dejavu, gnome-icon-theme
Filename: pool/main/v/vim/vim-gnome_7.3.429-2ubuntu2_amd64.deb
Size: 1217460
MD5sum: 6488b8aa5ea7cb035a11eb1feab24ce9
SHA1: 8885e535cc5c727f39b04d52f9e1f2dfc914ce5f
SHA256: 6154cd38ccc39e9fadd66dfcdd12956a8a3ae02dbb42f3d7019f0927b56fcb44
Description-en: Vi IMproved – enhanced vi editor – with GNOME2 GUI
Vim is an almost compatible version of the UNIX editor Vi.
.
Many new features have been added: multi level undo, syntax
highlighting, command line history, on-line help, filename
completion, block operations, folding, Unicode support, etc.
.
This package contains a version of vim compiled with a GNOME2 GUI
and support for scripting with Lua, Perl, Python, Ruby, and Tcl.
Homepage: http://www.vim.org/
Description-md5: cd4a76134bce59404c52749b68c94208
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: firefox
Priority: optional
Section: web
Installed-Size: 43715
Maintainer: Ubuntu Mozilla Team <ubuntu-mozillateam@lists.ubuntu.com>
Architecture: amd64
Version: 15.0+build1-0ubuntu0.12.04.1
Replaces: abrowser, abrowser-branding, firefox-branding, kubuntu-firefox-installer
Provides: gnome-www-browser, iceweasel, www-browser
Depends: lsb-release, libasound2 (>= 1.0.23), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.15), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.3.9), libgcc1 (>= 1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.31.8), libgtk2.0-0 (>= 2.24.0), libpango1.0-0 (>= 1.14.0), libstartup-notification0 (>= 0.8), libstdc++6 (>= 4.6), libx11-6, libxext6, libxrender1, libxt6
Recommends: xul-ext-ubufox, firefox-globalmenu, libcanberra0
Suggests: latex-xft-fonts, libthai0, firefox-gnome-support
Conflicts: gcu-plugin (<= 0.12.10-1ubuntu1)
Breaks: abrowser (<= 4.0~b11+build3+nobinonly-0ubuntu1), abrowser-branding (<= 4.0~b11+build3+nobinonly-0ubuntu1), adobe-flashplugin (<= 11.1.102.63-0precise1), firefox-branding (<= 4.0~b11+build3+nobinonly-0ubuntu1), flashplugin-installer (<= 11.1.102.63ubuntu1)
Filename: pool/main/f/firefox/firefox_15.0+build1-0ubuntu0.12.04.1_amd64.deb
Size: 20072250
MD5sum: b55e3a676a42c5f9a6cad9d075d99621
SHA1: 022c48b53493167826da120d733f0ebe4d948d52
SHA256: 71bd8377211e293e357e1dfd3166a3b3076dcf75564465ec2a2b87ab2b28bf33
Description-en: Safe and easy web browser from Mozilla
Firefox delivers safe, easy web browsing. A familiar user interface,
enhanced security features including protection from online identity theft,
and integrated search let you get the most out of the web.
Xul-Appid: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Description-md5: 46b619f510631c4693dc09c1a3778a55
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: ubuntu-desktop, ubuntu-usb, edubuntu-desktop, edubuntu-usb, edubuntu-desktop-kde, xubuntu-desktop, ubuntustudio-desktop

Package: firefox
Priority: optional
Section: web
Installed-Size: 40311
Maintainer: Ubuntu Mozilla Team <ubuntu-mozillateam@lists.ubuntu.com>
Architecture: amd64
Version: 11.0+build1-0ubuntu4
Replaces: abrowser, abrowser-branding, firefox-branding, kubuntu-firefox-installer
Provides: gnome-www-browser, iceweasel, www-browser
Depends: lsb-release, libasound2 (>= 1.0.23), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.15), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.31.8), libgtk2.0-0 (>= 2.24.0), libpango1.0-0 (>= 1.14.0), libstartup-notification0 (>= 0.8), libstdc++6 (>= 4.6), libx11-6, libxext6, libxrender1, libxt6
Recommends: xul-ext-ubufox, firefox-globalmenu
Suggests: latex-xft-fonts, libthai0, firefox-gnome-support | firefox-kde-support
Conflicts: gcu-plugin (<= 0.12.10-1ubuntu1)
Breaks: abrowser (<= 4.0~b11+build3+nobinonly-0ubuntu1), abrowser-branding (<= 4.0~b11+build3+nobinonly-0ubuntu1), adobe-flashplugin (<= 11.1.102.63-0precise1), firefox-branding (<= 4.0~b11+build3+nobinonly-0ubuntu1), flashplugin-installer (<= 11.1.102.63ubuntu1)
Filename: pool/main/f/firefox/firefox_11.0+build1-0ubuntu4_amd64.deb
Size: 18150878
MD5sum: 45afb510e60fdf36ed4feefbb0521acf
SHA1: 38065b6de1c1d70cb25a4beb7b5c69ab3be14c08
SHA256: 6a9f7e69c5196ee5d7b64130c00ea7977a2b73e33c5b9dfe9d1c0d6a7efedbda
Description-en: Safe and easy web browser from Mozilla
Firefox delivers safe, easy web browsing. A familiar user interface,
enhanced security features including protection from online identity theft,
and integrated search let you get the most out of the web.
Xul-Appid: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Description-md5: 46b619f510631c4693dc09c1a3778a55
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: ubuntu-desktop, ubuntu-usb, edubuntu-desktop, edubuntu-usb, edubuntu-desktop-kde, xubuntu-desktop, ubuntustudio-desktop

Package: fakeroot
Priority: optional
Section: utils
Installed-Size: 313
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Clint Adams <clint@debian.org>
Architecture: amd64
Version: 1.18.2-1
Depends: libc6 (>= 2.7)
Filename: pool/main/f/fakeroot/fakeroot_1.18.2-1_amd64.deb
Size: 87204
MD5sum: 360b5f3acf8080457d569d08f3de9d38
SHA1: b34744e5609ae1c762f83e572bd29c6e56e3eaa3
SHA256: da223309ad4f25e18099e2bfe9d38801d7e351d7a5dd740842fc9e84d78c328b
Description-en: tool for simulating superuser privileges
fakeroot provides a fake “root environment” by means of LD_PRELOAD and
SysV IPC (or TCP) trickery. It puts wrappers around getuid(), chown(),
stat(), and other file-manipulation functions, so that unprivileged
users can (for instance) populate .deb archives with root-owned files;
various build tools use fakeroot for this by default.
Description-md5: a3db724d379628c5b233e5d4de7af3dc
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Build-Essential: yes
Origin: Ubuntu
Supported: 5y

Package: build-essential
Priority: optional
Section: devel
Installed-Size: 37
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Matthias Klose <doko@debian.org>
Architecture: amd64
Version: 11.5ubuntu2
Depends: libc6-dev | libc-dev, gcc (>= 4:4.4.3), g++ (>= 4:4.4.3), make, dpkg-dev (>= 1.13.5)
Filename: pool/main/b/build-essential/build-essential_11.5ubuntu2_amd64.deb
Size: 5978
MD5sum: a0b56317a176d3305a94dda33808b276
SHA1: afe756d40911577e8bed2aab4649de7262900bf9
SHA256: 5af06c8e08f84e4d3a73642e1901016844f505c2a8a4cf825ca7ecdf16a89fbf
Description-en: Informational list of build-essential packages
If you do not plan to build Debian packages, you don’t need this
package. Starting with dpkg (>= 1.14.18) this package is required
for building Debian packages.
.
This package contains an informational list of packages which are
considered essential for building Debian packages. This package also
depends on the packages on that list, to make it easy to have the
build-essential packages installed.
.
If you have this package installed, you only need to install whatever
a package specifies as its build-time dependencies to build the
package. Conversely, if you are determining what your package needs
to build-depend on, you can always leave out the packages this
package depends on.
.
This package is NOT the definition of what packages are
build-essential; the real definition is in the Debian Policy Manual.
This package contains merely an informational list, which is all
most people need. However, if this package and the manual disagree,
the manual is correct.
Multi-Arch: foreign
Description-md5: 90ef0ef86cafda0bd16f746eb621d9da
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Build-Essential: yes
Origin: Ubuntu
Supported: 5y

Package: crash
Priority: optional
Section: utils
Installed-Size: 5716
Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Original-Maintainer: Troy Heber <troyh@debian.org>
Architecture: amd64
Version: 5.1.6-1ubuntu1
Depends: libc6 (>= 2.11), libncurses5 (>= 5.5-5~), zlib1g (>= 1:1.1.4)
Suggests: kernel-patch-lkcd, dumputils
Filename: pool/main/c/crash/crash_5.1.6-1ubuntu1_amd64.deb
Size: 2407536
MD5sum: a7dde92b7b5ae5b596c54fc67951d107
SHA1: a5e027f96c27e314e9a47abbf2df9032cf6b4086
SHA256: e940ec68b2b97de18bfe7a42760586f340a351829b4d166750d293b1e11e9fb9
Description-en: kernel debugging utility, allowing gdb like syntax
The core analysis suite is a self-contained tool that can be used to
investigate either live systems, or multiple different core dump formats
including kdump, LKCD, netdump and diskdump.
.
o The tool is loosely based on the SVR4 crash command, but has been
completely integrated with gdb in order to be able to display
formatted kernel data structures, disassemble source code, etc.
.
o The current set of available commands consist of common kernel core
analysis tools such as a context-specific stack traces, source code
disassembly, kernel variable displays, memory display, dumps of
linked-lists, etc. In addition, any gdb command may be entered,
which in turn will be passed onto the gdb module for execution.
.
o There are several commands that delve deeper into specific kernel
subsystems, which also serve as templates for kernel developers
to create new commands for analysis of a specific area of interest.
Adding a new command is a simple affair, and a quick recompile
adds it to the command menu.
.
o The intent is to make the tool independent of Linux version dependencies,
building in recognition of major kernel code changes so as to adapt to
new kernel versions, while maintaining backwards compatibility.
Description-md5: 62a3af04681a29149ddd988c1db996db
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: kexec-tools
Priority: optional
Section: admin
Installed-Size: 304
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Khalid Aziz <khalid@debian.org>
Architecture: amd64
Version: 1:2.0.2-3ubuntu4
Depends: libc6 (>= 2.14), debconf (>= 0.5) | debconf-2.0, debconf, initramfs-tools, makedumpfile
Filename: pool/main/k/kexec-tools/kexec-tools_2.0.2-3ubuntu4_amd64.deb
Size: 84106
MD5sum: ad9f42298ec1a6deb58b24d95e64dc2d
SHA1: 33cef2d1c3b7ac352f6f5e9a53f9e90dfcc2f0f8
SHA256: a2a78b03f53c1cf439f67d177964402eef54c8271bcb59a1acf358edbadde6c1
Description-en: tools to support fast kexec reboots
This package provides tools to load a kernel into memory and then
“reboot” directly into that kernel using the kexec system call,
bypassing the normal boot process.
Homepage: http://kernel.org/pub/linux/utils/kernel/kexec/
Description-md5: 8d39a422632d6a4c4a9ed06e009b2673
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: kvm
Priority: optional
Section: misc
Installed-Size: 60
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Source: qemu-kvm (1.0+noroms-0ubuntu14.1)
Version: 1:84+dfsg-0ubuntu16+1.0+noroms+0ubuntu14.1
Depends: qemu-kvm
Filename: pool/main/q/qemu-kvm/kvm_84+dfsg-0ubuntu16+1.0+noroms+0ubuntu14.1_amd64.deb
Size: 3232
MD5sum: 2acedefea218e24536f656288433d14d
SHA1: 83cdfb709c0d04aba35e817815ac134134655b2a
SHA256: ac9a2e2359ad5dd3f1277b467c9615415616609ac3ad541f62a75ba73a33f98c
Description-en: dummy transitional package from kvm to qemu-kvm
This transitional package helps users transition from the kvm package to the
qemu-kvm package. Once this package and its dependencies are installed you
can safely remove it.
Homepage: http://www.linux-kvm.org
Description-md5: 770c6f1f7fe6d217706484c7e54ec5d9
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: virt-host

Package: kvm
Priority: optional
Section: metapackages
Installed-Size: 60
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Source: qemu-kvm (1.0+noroms-0ubuntu13)
Version: 1:84+dfsg-0ubuntu16+1.0+noroms+0ubuntu13
Depends: qemu-kvm
Filename: pool/main/q/qemu-kvm/kvm_84+dfsg-0ubuntu16+1.0+noroms+0ubuntu13_amd64.deb
Size: 3220
MD5sum: 4176007720a15259d0999ab35c67af14
SHA1: f06ddc2a332d2f2fd906da4332312a3f5fae39e4
SHA256: 8add5c96edf86da972c954f0a25e0c9f8b0d391c5f2eb2f5e146f71419bd7e6e
Description-en: dummy transitional package from kvm to qemu-kvm
This transitional package helps users transition from the kvm package to the
qemu-kvm package. Once this package and its dependencies are installed you
can safely remove it.
Homepage: http://www.linux-kvm.org
Description-md5: 770c6f1f7fe6d217706484c7e54ec5d9
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: virt-host

Package: makedumpfile
Priority: optional
Section: devel
Installed-Size: 236
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: John Wright <jsw@debian.org>
Architecture: amd64
Version: 1.3.7-2
Replaces: kdump-tools (<< 1.3.4-1~)
Depends: libc6 (>= 2.4), libdw1 (>= 0.143), libelf1 (>= 0.131), zlib1g (>= 1:1.2.0), perl
Recommends: crash, kexec-tools
Filename: pool/main/m/makedumpfile/makedumpfile_1.3.7-2_amd64.deb
Size: 86368
MD5sum: f790c39f3b533674643744f119a2f73a
SHA1: aa01e9757e3fec1548d11568f4ef0d27786f153c
SHA256: 2c565da295bbd9f060595781a8745b7f3945911d03ca0d2da088e96f6ad922fe
Description-en: VMcore extraction tool
This program is used to extract a subset of the memory available either
via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory
images without extra uneeded information (zero pages, userspace programs,
etc).
Description-md5: 63f8d9a2e0d40374bffffdb63689a386
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: kernel-wedge
Priority: optional
Section: utils
Installed-Size: 130
Maintainer: Ubuntu Installer Team <ubuntu-installer@lists.ubuntu.com>
Original-Maintainer: Debian Install System Team <debian-boot@lists.debian.org>
Architecture: all
Version: 2.82ubuntu1
Depends: debhelper (>= 7.0.0), make
Filename: pool/main/k/kernel-wedge/kernel-wedge_2.82ubuntu1_all.deb
Size: 28556
MD5sum: f897850ab81fe174996b314cb6958fe4
SHA1: c0c6358cf6418e0c8a13c74cecdfce30b19c6f9d
SHA256: 54e8ef22c05ff4ae8e904d526a0995090aaf82c8c5401d9e14a2bad1c4e9ac33
Description-en: udeb package builder for Debian-Installer
kernel-wedge splits udeb packages out of a kernel image deb. The udebs
are used by the Debian-Installer.
Description-md5: fb028eb3928d8d0a511055c3e1f6fab8
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m

Package: fwts
Priority: optional
Section: universe/devel
Installed-Size: 425
Maintainer: Colin King <colin.king@ubuntu.com>
Architecture: amd64
Version: 0.24.21
Depends: libc6 (>= 2.7), libfwts1, libfwtsacpica1, libjson0, pciutils
Suggests: dmidecode, net-tools, wireless-tools, bluez, xinput, pulseaudio-utils
Filename: pool/universe/f/fwts/fwts_0.24.21_amd64.deb
Size: 136562
MD5sum: 1aa16321f502987b33b68c4596212c22
SHA1: 984866b6be72cb63158f6aefda7e6d5376eab612
SHA256: 78030e772477ea3c3b3aaffd5544e59c4a36428f888378010904af632bb5635d
Description-en: FirmWare Test Suite
This is a firmware test suite that performs sanity checks on Intel/AMD
PC firmware. It is intended to identify BIOS and ACPI errors and
if appropriate it will try to explain the errors and give advice to
help workaround or fix firmware bugs. It is primarily intended to
be a Linux-centric firmware troubleshooting tool.
Description-md5: d6b6141d7ca394b5197f5a8e24578b35
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Package: devscripts
Priority: optional
Section: devel
Installed-Size: 1499
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Devscripts Devel Team <pkg-devscripts@teams.debian.net>
Architecture: amd64
Version: 2.11.6ubuntu1.3
Replaces: ubuntu-dev-tools (<< 0.124~)
Depends: dpkg-dev (>= 1.15.4.1), perl, python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8), libc6 (>= 2.3.4)
Recommends: at, curl | wget, dctrl-tools, dput | dupload, fakeroot, gnupg, libjson-perl, libparse-debcontrol-perl, liburi-perl, libwww-perl, lintian, man-db, patch, patchutils, python-debian (>= 0.1.15), python-magic, sensible-utils, strace, unzip, wdiff, xz-utils
Suggests: bsd-mailx | mailx, build-essential, cvs-buildpackage, debian-keyring, devscripts-el, equivs, gnuplot, libauthen-sasl-perl, libcrypt-ssleay-perl, libfile-desktopentry-perl, libnet-smtp-ssl-perl, libsoap-lite-perl, libterm-size-perl, libtimedate-perl, libyaml-syck-perl, mutt, ssh-client, svn-buildpackage, w3m
Breaks: ubuntu-dev-tools (<< 0.124~)
Filename: pool/main/d/devscripts/devscripts_2.11.6ubuntu1.3_amd64.deb
Size: 627012
MD5sum: 0f3c6366d536d78cd76635e821f336a6
SHA1: cf8dda9418a4368a793288089e9235a3d36fc2c2
SHA256: 9a6d6427f56f77b64c03ac4a613fec22de8399fd7fecdf37409904694da8b6c9
Description-en: scripts to make the life of a Debian Package maintainer easier
Contains the following scripts, dependencies/recommendations shown in
brackets afterwards:
.
– annotate-output: run a command and prepend time and stream (O for stdout,
E for stderr) for every line of output
– archpath: print tla/Bazaar package names [tla | bazaar]
– bts: a command-line tool for manipulating the BTS [www-browser,
libauthen-sasl-perl, libnet-smtp-ssl-perl, libsoap-lite-perl, libwww-perl,
bsd-mailx | mailx]
– build-rdeps: Searches for all packages that build-depend on a
given package [dctrl-tools]
– chdist: tool to easily play with several distributions [dctrl-tools]
– checkbashisms: check whether a /bin/sh script contains any common
bash-specific contructs
– cowpoke: upload a Debian source package to a cowbuilder host and build it,
optionally also signing and uploading the result to an incoming queue
[ssh-client]
– cvs-debi, cvs-debc: wrappers around debi and debc respectively (see below)
which allow them to be called from the CVS working directory.
[cvs-buildpackage]
– cvs-debrelease: wrapper around debrelease which allows it to be called
from the CVS working directory. [cvs-buildpackage, dupload | dput,
ssh-client]
– cvs-debuild: A wrapper for cvs-buildpackage to use debuild as its package
building program. [cvs-buildpackage, fakeroot, lintian, gnupg]
– dcmd: run a given command replacing the name of a .changes or .dsc file
with each of the files referenced therein
– dcontrol: remotely query package and source control files for all Debian
distributions. [liburl-perl, libwww-perl]
– dd-list: given a list of packages, pretty-print it ordered by maintainer
– debc: display the contents of just-built .debs
– debchange/dch: automagically add entries to debian/changelog files
[libparse-debcontrol-perl, libsoap-lite-perl]
– debcheckout: checkout the development repository of a Debian package
– debclean: purge a Debian source tree [fakeroot]
– debcommit: commit changes to cvs, darcs, svn, svk, tla, bzr, git, or hg,
basing commit message on changelog
[cvs | darcs | subversion | svk | tla | bzr | git-core | mercurial]
– debdiff: compare two versions of a Debian package to check for
added and removed files [wdiff, patchutils]
– debi: install a just-built package
– debpkg: dpkg wrapper to be able to manage/test packages without su
– debrelease: wrapper around dupload or dput [dupload | dput, ssh-client]
– debsign, debrsign: sign a .changes/.dsc pair without needing any of
the rest of the package to be present; can sign the pair remotely
or fetch the pair from a remote machine for signing [gnupg,
debian-keyring, ssh-client]
– debsnap: grab packages from http://snapshot.debian.org [libwww-perl,
libjson-perl]
– debuild: wrapper to build a package without having to su or worry
about how to invoke dpkg to build using fakeroot. Also deals
with common environment problems, umask etc. [fakeroot,
lintian, gnupg]
– deb-reversion: increases a binary package version number and repacks the
archive
– dep3changelog: generate a changelog entry from a DEP3-style patch header
– desktop2menu: produce a skeleton menu file from a freedesktop.org
desktop file [libfile-desktopentry-perl]
– dget: downloads Debian source and binary packages [wget | curl]
– dpkg-depcheck, dpkg-genbuilddeps: determine the packages used during
the build of a Debian package; useful for determining the Build-Depends
control field needed [build-essential, strace]
– diff2patches: extract patches from a .diff.gz file placing them under
debian/ or, if present, debian/patches [patchutils]
– dscextract: extract a single file from a Debian source package [patchutils]
– dscverify: verify the integrity of a Debian package from the
.changes or .dsc files [gnupg, debian-keyring, libdigest-md5-perl]
– edit-patch: add/edit a patch for a source package and commit the changes
[quilt | dpatch | cdbs]
– getbuildlog: download package build logs from Debian auto-builders [wget]
– grep-excuses: grep the update_excuses.html file for your packages
[libterm-size-perl, wget, w3m]
– licensecheck: attempt to determine the license of source files
– list-unreleased: searches for unreleased packages
– manpage-alert: locate binaries without corresponding manpages [man-db]
– mass-bug: mass-file bug reports [bsd-mailx | mailx]
– mergechanges: merge .changes files from a package built on different
architectures
– mk-build-deps: Given a package name and/or control file, generate a binary
package which may be installed to satisfy the build-dependencies of the
given packages. [equivs]
– namecheck: Check project names are not already taken.
– nmudiff: mail a diff of the current package against the previous version
to the BTS to assist in tracking NMUs [patchutils, mutt]
– plotchangelog: view a nice plot of the data in a changelog file
[libtimedate-perl, gnuplot]
– pts-subscribe: subscribe to the PTS for a limited period of time
[bsd-mailx | mailx, at]
– rc-alert: list installed packages which have release-critical bugs [wget]
– rmadison: remotely query the Debian archive database about packages
[wget | curl, liburi-perl]
– suspicious-source: output a list of files which are not common source
files [python-magic]
– svnpath: print svn repository paths [subversion]
– tagpending: runs from a Debian source tree and tags bugs that are to
be closed in the latest changelog as pending. [libsoap-lite-perl]
– transition-check: Check a list of source packages for involvement in
transitions for which uploads to unstable are currently blocked
[libwww-perl, libyaml-syck-perl]
– uscan: scan upstream sites for new releases of packages
[libcrypt-ssleay-perl, libwww-perl, unzip, xz-utils]
– uupdate: integrate upstream changes into a source package [patch]
– what-patch: determine what patch system, if any, a source package is using
[patchutils]
– whodepends: check which maintainers’ packages depend on a package
– who-uploads: determine the most recent uploaders of a package to the Debian
archive [gnupg, debian-keyring, wget]
– wnpp-alert: list installed packages which are orphaned or up for
adoption [wget]
– wnpp-check: check whether there is an open request for packaging or
intention to package bug for a package [wget]
– wrap-and-sort: wrap long lines and sort items in packaging files
[python-debian]
.
Also included are a set of example mail filters for filtering mail
from Debian mailing lists using exim, procmail, etc.
Description-md5: 2838223e9a536bf717ff7824f1cdb896
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: devscripts
Priority: optional
Section: devel
Installed-Size: 1499
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Devscripts Devel Team <pkg-devscripts@teams.debian.net>
Architecture: amd64
Version: 2.11.6ubuntu1
Replaces: ubuntu-dev-tools (<< 0.124~)
Depends: dpkg-dev (>= 1.15.4.1), perl, python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8), libc6 (>= 2.3.4)
Recommends: at, curl | wget, dctrl-tools, dput | dupload, fakeroot, gnupg, libjson-perl, libparse-debcontrol-perl, liburi-perl, libwww-perl, lintian, man-db, patch, patchutils, python-debian (>= 0.1.15), python-magic, sensible-utils, strace, unzip, wdiff, xz-utils
Suggests: bsd-mailx | mailx, build-essential, cvs-buildpackage, debian-keyring, devscripts-el, equivs, gnuplot, libauthen-sasl-perl, libcrypt-ssleay-perl, libfile-desktopentry-perl, libnet-smtp-ssl-perl, libsoap-lite-perl, libterm-size-perl, libtimedate-perl, libyaml-syck-perl, mutt, ssh-client, svn-buildpackage, w3m
Breaks: ubuntu-dev-tools (<< 0.124~)
Filename: pool/main/d/devscripts/devscripts_2.11.6ubuntu1_amd64.deb
Size: 630560
MD5sum: cde9d7a50a874747498a2a841630b79c
SHA1: e1ce97d97968e29ad905f44c714fc9d00b635b19
SHA256: 039e892c8cccfb25b2c90c8efd34d66e8f1a107dd374baef7667c16b76b96a19
Description-en: scripts to make the life of a Debian Package maintainer easier
Contains the following scripts, dependencies/recommendations shown in
brackets afterwards:
.
– annotate-output: run a command and prepend time and stream (O for stdout,
E for stderr) for every line of output
– archpath: print tla/Bazaar package names [tla | bazaar]
– bts: a command-line tool for manipulating the BTS [www-browser,
libauthen-sasl-perl, libnet-smtp-ssl-perl, libsoap-lite-perl, libwww-perl,
bsd-mailx | mailx]
– build-rdeps: Searches for all packages that build-depend on a
given package [dctrl-tools]
– chdist: tool to easily play with several distributions [dctrl-tools]
– checkbashisms: check whether a /bin/sh script contains any common
bash-specific contructs
– cowpoke: upload a Debian source package to a cowbuilder host and build it,
optionally also signing and uploading the result to an incoming queue
[ssh-client]
– cvs-debi, cvs-debc: wrappers around debi and debc respectively (see below)
which allow them to be called from the CVS working directory.
[cvs-buildpackage]
– cvs-debrelease: wrapper around debrelease which allows it to be called
from the CVS working directory. [cvs-buildpackage, dupload | dput,
ssh-client]
– cvs-debuild: A wrapper for cvs-buildpackage to use debuild as its package
building program. [cvs-buildpackage, fakeroot, lintian, gnupg]
– dcmd: run a given command replacing the name of a .changes or .dsc file
with each of the files referenced therein
– dcontrol: remotely query package and source control files for all Debian
distributions. [liburl-perl, libwww-perl]
– dd-list: given a list of packages, pretty-print it ordered by maintainer
– debc: display the contents of just-built .debs
– debchange/dch: automagically add entries to debian/changelog files
[libparse-debcontrol-perl, libsoap-lite-perl]
– debcheckout: checkout the development repository of a Debian package
– debclean: purge a Debian source tree [fakeroot]
– debcommit: commit changes to cvs, darcs, svn, svk, tla, bzr, git, or hg,
basing commit message on changelog
[cvs | darcs | subversion | svk | tla | bzr | git-core | mercurial]
– debdiff: compare two versions of a Debian package to check for
added and removed files [wdiff, patchutils]
– debi: install a just-built package
– debpkg: dpkg wrapper to be able to manage/test packages without su
– debrelease: wrapper around dupload or dput [dupload | dput, ssh-client]
– debsign, debrsign: sign a .changes/.dsc pair without needing any of
the rest of the package to be present; can sign the pair remotely
or fetch the pair from a remote machine for signing [gnupg,
debian-keyring, ssh-client]
– debsnap: grab packages from http://snapshot.debian.org [libwww-perl,
libjson-perl]
– debuild: wrapper to build a package without having to su or worry
about how to invoke dpkg to build using fakeroot. Also deals
with common environment problems, umask etc. [fakeroot,
lintian, gnupg]
– deb-reversion: increases a binary package version number and repacks the
archive
– dep3changelog: generate a changelog entry from a DEP3-style patch header
– desktop2menu: produce a skeleton menu file from a freedesktop.org
desktop file [libfile-desktopentry-perl]
– dget: downloads Debian source and binary packages [wget | curl]
– dpkg-depcheck, dpkg-genbuilddeps: determine the packages used during
the build of a Debian package; useful for determining the Build-Depends
control field needed [build-essential, strace]
– diff2patches: extract patches from a .diff.gz file placing them under
debian/ or, if present, debian/patches [patchutils]
– dscextract: extract a single file from a Debian source package [patchutils]
– dscverify: verify the integrity of a Debian package from the
.changes or .dsc files [gnupg, debian-keyring, libdigest-md5-perl]
– edit-patch: add/edit a patch for a source package and commit the changes
[quilt | dpatch | cdbs]
– getbuildlog: download package build logs from Debian auto-builders [wget]
– grep-excuses: grep the update_excuses.html file for your packages
[libterm-size-perl, wget, w3m]
– licensecheck: attempt to determine the license of source files
– list-unreleased: searches for unreleased packages
– manpage-alert: locate binaries without corresponding manpages [man-db]
– mass-bug: mass-file bug reports [bsd-mailx | mailx]
– mergechanges: merge .changes files from a package built on different
architectures
– mk-build-deps: Given a package name and/or control file, generate a binary
package which may be installed to satisfy the build-dependencies of the
given packages. [equivs]
– namecheck: Check project names are not already taken.
– nmudiff: mail a diff of the current package against the previous version
to the BTS to assist in tracking NMUs [patchutils, mutt]
– plotchangelog: view a nice plot of the data in a changelog file
[libtimedate-perl, gnuplot]
– pts-subscribe: subscribe to the PTS for a limited period of time
[bsd-mailx | mailx, at]
– rc-alert: list installed packages which have release-critical bugs [wget]
– rmadison: remotely query the Debian archive database about packages
[wget | curl, liburi-perl]
– suspicious-source: output a list of files which are not common source
files [python-magic]
– svnpath: print svn repository paths [subversion]
– tagpending: runs from a Debian source tree and tags bugs that are to
be closed in the latest changelog as pending. [libsoap-lite-perl]
– transition-check: Check a list of source packages for involvement in
transitions for which uploads to unstable are currently blocked
[libwww-perl, libyaml-syck-perl]
– uscan: scan upstream sites for new releases of packages
[libcrypt-ssleay-perl, libwww-perl, unzip, xz-utils]
– uupdate: integrate upstream changes into a source package [patch]
– what-patch: determine what patch system, if any, a source package is using
[patchutils]
– whodepends: check which maintainers’ packages depend on a package
– who-uploads: determine the most recent uploaders of a package to the Debian
archive [gnupg, debian-keyring, wget]
– wnpp-alert: list installed packages which are orphaned or up for
adoption [wget]
– wnpp-check: check whether there is an open request for packaging or
intention to package bug for a package [wget]
– wrap-and-sort: wrap long lines and sort items in packaging files
[python-debian]
.
Also included are a set of example mail filters for filtering mail
from Debian mailing lists using exim, procmail, etc.
Description-md5: 2838223e9a536bf717ff7824f1cdb896
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: libncurses5
Priority: required
Section: libs
Installed-Size: 471
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Craig Small <csmall@debian.org>
Architecture: amd64
Source: ncurses
Version: 5.9-4
Depends: libtinfo5 (= 5.9-4), libc6 (>= 2.4)
Pre-Depends: multiarch-support, libtinfo5 (>= 5.9-3)
Recommends: libgpm2
Filename: pool/main/n/ncurses/libncurses5_5.9-4_amd64.deb
Size: 113520
MD5sum: 9cdfb382f754df2445d88fe1c03a6252
SHA1: 139c25953398a623ebd2ae6c2cda3f99ee7a54a0
SHA256: 689d92a01034549677a8d6746a98f99b3638655f6697883b09dc2be8bdc2912a
Description-en: shared libraries for terminal handling
The ncurses library routines are a terminal-independent method of
updating character screens with reasonable optimization.
.
This package contains the shared libraries necessary to run programs
compiled with ncurses.
Multi-Arch: same
Homepage: http://invisible-island.net/ncurses/
Description-md5: 599cbbcff16d09b3b4643d84f37643fd
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: minimal

Package: libncurses5-dev
Priority: optional
Section: libdevel
Installed-Size: 1194
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Craig Small <csmall@debian.org>
Architecture: amd64
Source: ncurses
Version: 5.9-4
Replaces: libncurses-dev, ncurses-dev
Provides: libncurses-dev, ncurses-dev
Depends: libncurses5 (= 5.9-4), libtinfo-dev (= 5.9-4), ncurses-bin (= 5.9-4), libc-dev
Suggests: ncurses-doc
Conflicts: libncurses-dev, ncurses-dev
Breaks: binutils-gold (<< 2.21.53.20110910)
Filename: pool/main/n/ncurses/libncurses5-dev_5.9-4_amd64.deb
Size: 222450
MD5sum: 0052ce6417997f6fc39e2a6761b04472
SHA1: bc34126bb7bb0bcab115e1889cc14addf832b633
SHA256: f6bd937259e5f9199149c102119378b233b61e53f6b5b2d64c99a28c8b994ea2
Description-en: developer’s libraries for ncurses
The ncurses library routines are a terminal-independent method of
updating character screens with reasonable optimization.
.
This package contains the header files, static libraries
and symbolic links that developers using ncurses will need.
Homepage: http://invisible-island.net/ncurses/
Description-md5: 38da502b304ea3ed5ff1e12d072d14a8
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Package: libelf-dev
Priority: optional
Section: libdevel
Installed-Size: 349
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Kurt Roeckx <kurt@roeckx.be>
Architecture: amd64
Source: elfutils
Version: 0.152-1ubuntu3
Depends: libelf1 (= 0.152-1ubuntu3)
Conflicts: libelfg0-dev
Filename: pool/main/e/elfutils/libelf-dev_0.152-1ubuntu3_amd64.deb
Size: 59478
MD5sum: 8d72f852bb5f37db4e849c2a7e5d7caf
SHA1: 61a5adbe8a68a6462ec3ad0aae7254d3622e5d8c
SHA256: 454f8af2de7d357e15fc5d36b103e0181d3021391e9cb9e607c4d3d7dec7df8a
Description-en: libelf1 development libraries and header files
libelf1 provides a shared library which allows reading and writing of ELF
files on a high level.
.
This package contains development libraries and header files for libelf1.
Multi-Arch: same
Homepage: https://fedorahosted.org/elfutils/
Description-md5: 987fe60edac82d9ad80df9bdb9c08f33
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m

Package: asciidoc
Priority: optional
Section: text
Installed-Size: 3086
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Fredrik Steen <stone@debian.org>
Architecture: all
Version: 8.6.6-1ubuntu1
Depends: python (>= 2.4)
Recommends: docbook-utils, xmlto, dblatex, libxml2-utils
Suggests: vim-addon-manager, source-highlight
Filename: pool/main/a/asciidoc/asciidoc_8.6.6-1ubuntu1_all.deb
Size: 1232110
MD5sum: 4854197a08d3bc182ba0e4b28c2e6f5b
SHA1: abbd38c3e0693cb1514be2ff9c2c25304d900efb
SHA256: 9f0cb3f3c370914ea5151b3076234f0d2eccd4126ce1c357eb6d75f45b41bd4d
Description-en: Highly configurable text format for writing documentation
AsciiDoc is a text document format for writing articles, books, manuals and
UNIX man pages. AsciiDoc files can be translated to HTML (with or without
stylesheets), DocBook (articles, books and refentry documents) and LinuxDoc
using the asciidoc command. AsciiDoc can also be used to build and maintain
websites.
.
You write an AsciiDoc document the same way you would write a
normal text document, there are no markup tags or weird format notations.
AsciiDoc files are designed to be viewed, edited and printed directly or
translated to other presentation formats
Multi-Arch: foreign
Description-md5: db604821694f4714e2ebf12b4f45105d
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m

Package: binutils-dev
Priority: extra
Section: devel
Installed-Size: 16293
Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Matthias Klose <doko@debian.org>
Architecture: amd64
Source: binutils
Version: 2.22-6ubuntu1
Replaces: libbfd-dev, libc5-dev
Provides: libbfd-dev
Depends: binutils (= 2.22-6ubuntu1)
Conflicts: libbfd-dev
Filename: pool/main/b/binutils/binutils-dev_2.22-6ubuntu1_amd64.deb
Size: 4315158
MD5sum: eb0675d05cf3fe504e7d8a4fad434259
SHA1: 26a26cbbd5561c197a265f2c8b29688f080b872b
SHA256: 3489b5b6fe3d2b43c722ecd407be87afcf329a46e7794417279aa4096cfe92f5
Description-en: GNU binary utilities (BFD development files)
This package includes header files and static libraries necessary to build
programs which use the GNU BFD library, which is part of binutils. Note
that building Debian packages which depend on the shared libbfd is Not
Allowed.
Description-md5: ddc22c04156534b000b4f021b88a6023
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m

Custom Bash Completion

Bash completion (pressing [TAB][TAB] after a certain command to get the possible options) is an awesome feature, as I’m sure many would agree.  Here’s how to set up a custom completion.

The Completion Function

Here is an example of a basic bash completion function.

# the bash completion function to execute
bash_completion_function() {
  # clear the COMPREPLY variable
  COMPREPLY=()

  # get the current argument on the command line
  CURRENT_ARG="${COMP_WORDS[COMP_CWORD]}"

  # the list of possible options
  OPTIONS="aaa a23 bbb b34 ccc c45 ddd d56 eee e67 fff f78"

  COMPREPLY=($(compgen -W "${OPTIONS}" -- "${CURRENT_ARG}"))
  return 0
}
  • COMPREPLY: this is the variable that will eventually hold the completion results (what is output after pressing [TAB][TAB])
  • COMP_WORDS: an array of words on the command line
  • COMP_CWORD: an index for the COMP_WORDS array; something like COMP_WORDS[COMP_CWORD - 1] can also be used to perform some logic based on words in different positions on the command line
  • compgen: this is where the magic happens; the argument to the -W flag holds the possible arguments, and the possibilities are chosen based on the CURRENT_ARG; to test the completion function, this can be run on the command line (e.g. compgen -W "aaa a32 bbb b34" a should output aaa a32)

Apply The Function To the Command

After the function is set up, it must be sourced. This can be done manually for testing or example purposes (e.g. . ./bash_completion_function) or can be put somewhere like ~/.bashrc so it is always available.

After the function is sourced, it must be linked to the command. This is done with the complete command. The command below is linking the bash_completion_function function to the test.sh script. Again, this can be done manually for testing or example purposes or can be put somewhere like ~/.bashrc so it is always available.

complete -F bash_completion_function test.sh

With this particular set up, executing ./test.sh a [TAB][TAB] should output aaa a32 as possible arguments.

Linux KVM Disk Formats

  • raw: think “bare metal”
  • cow: Linux user space “copy-on-write” (think raw, but allocates as needed)
  • qcow: QEMU disk format (enhanced cow)
  • qcow2: new QEMU disk format (enhanced qcow2)
  • qed: QEMU enhanced disk format (think “the future qcow2″)
  • vmdk: VMWare compatible format (apparently also compatible with VirtualBox also)
  • vpc: VirtualPC compatible format

Apache Directory Listings

Enable Directory Listings

Enabling directory listings is pretty a pretty straight-forward task.  If a Linux distribution with a maintained package system is being used, this should only be a matter of installing the proper software, otherwise recompilation may be necessary.  All that has to be done is to configure the web server to load the mod_autoindex module.

LoadModule autoindex_module /usr/lib/apache2/modules/mod_autoindex.so

Configure Fancy Directory Listings

Simply loading the module should enable basic listings. To enable fancy listings that are sortable and show more detail, the FancyIndexing feature has to be enabled. To do this globally, the following configuration should be used:

IndexOptions FancyIndexing

To do this only for a specific directory, the following configuration should be used within a Directory configuration:

Options Indexes
IndexOptions FancyIndexing

Wide/Unlimited Name and Description Columns

Fancy indexing is much better than the basic directory listings, but it may be noticed that filenames and descriptions are truncated. This may make directory listings unusable. To display entire filenames and descriptions, the following configuration should be used either globally or within a Directory configuration:

IndexOptions NameWidth=* DescriptionWidth=*

bash_profile and bashrc

I can never remember whether to put my personal settings into the .bash_profile or .bashrc file. Below is what is provided in the bash man page regarding these two files.

~/.bash_profile
       The personal initialization file, executed for login shells
~/.bashrc
       The individual per-interactive-shell startup file

A login shell is a shell where an actual login is performed. This might be if an ssh connection made, or if the system is logged into via a desktop environment such as GNOME or KDE. I usually put environment variables such as PATH, LD_LIBRARY_PATH, etc. into the .bash_profile.

A non-login shell might be an instance of gnome-terminal or running bash while connected via ssh. I put terminal behaviours and other aliases such as set -o vi into .bashrc.

One might argue that everything could just be put into the .bash_profile since the entire environment would be set up at login, but here are two things to consider that might help distinguish the two files:

  1. While interacting with the desktop environment, will this setting be needed? e.g. If I am going only going to log in to my desktop and run a browser, I don’t care about settings like alias less="less -X".
  2. Would I want this setting applied every time I open a terminal? e.g. Think about a welcome message or the diagnostic information given when opening an ssh connection to an Ubuntu server. Would you want to see this only when you logged in to the server or every time you opened a terminal (example below)?
Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-16-server x86_64)

 * Documentation:  https://help.ubuntu.com/11.10/serverguide/C

  System information as of Fri Apr  6 23:30:59 CDT 2012

  System load:  0.7                Processes:           115
  Usage of /:   0.6% of 454.23GB   Users logged in:     0
  Memory usage: 32%                IP address for eth0: xxx.xxx.xxx.xxx
  Swap usage:   0%

  Graph this data and manage this system at https://landscape.canonical.com/
Last login: Mon Apr  2 23:11:18 2012 from xxx.xxx.xxx

Adding Application Launchers In GNOME

Lately I have been installing software on my Linux laptop locally as my individual user instead of system wide as the root user.  There are definitely convenience benefits to just doing everything as root, but after having worked with Linux for a few years, upgrading systems, trying different software, etc., I have definitely come to understand the benefits of separating /home and user files from the rest of the system, whether by partition, logical volume, etc.

I installed SpringSource Tool Suite recently by extracting the tar.gz file to my home directory.  Installing the software this way did not provide a nice application launcher icon that I could use to launch the application from my desktop, so I wanted to create one.

The first step was to create a .desktop file that could be used to launch the application. I created a basic file, which is below.

Name=SpringSource Tool Suite
Icon=/home/cbaek/springsource/sts-2.9.1.RELEASE/icon.xpm
Exec=/home/cbaek/springsource/sts-2.9.1.RELEASE/STS
Terminal=false
Type=Application
Categories=Development;IDE;Java
StartupNotify=true

A good resource of how .desktop files are set up and what the different categories are can be found here.

The next question was where to place the file. The file could have been placed in /usr/share/applications and all users would have access to it, but this is not what I wanted.  The software was installed in my home directory and I wouldn’t want any other user to run the same software unless they installed it themselves, so I placed the icon in ~/.local/share/applications.

I did not immediately see the icon show up in the GNOME launcher and got an Untrusted application launcher error when I double-clicked the icon I created nautilus. To fix this error, I had to make the .desktop file executable by running the command below.

[cbaek@linux ~]$ chmod u+x ~/.local/share/applications/STS.desktop

To make the launcher show up in GNOME, I had to log out and log back in.

Triple Booting a Macbook Air

Download Windows 7 Bootcamp Drivers

It is possible to download the Windows 7 drivers with the Boot Camp Assistant, but I could never get this to work (the progress bar never passed 20%), so I had to use the alternate method below.

Download and Install Driver Package

Follow this link (http://swscan.apple.com/content/catalogs/others/index-lion.merged-1.sucatalog) and search for BootCampESD.pkg. There were two entries listed when I did this, so I picked the one with the more recent value between the date tags, which was pointing here: http://swcdn.apple.com/content/downloads/63/18/041-4777/GRGxJTrxPTSTdbBKFXt2bVjqVJGvBknRC3/BootCampESD.pkg

After downloading the file, simply double-click it to run it.

Copy Drivers to USB Flash Drive

After the install is complete, navigate to /Library/Application Support/BootCamp and double-click the WindowsSupport.dmg file to mount it. After the file is mounted, copy the contents to a USB drive for later.

Download and Install rEFIt

Download rEFIt from the website (http://refit.sourceforge.net/). It will make the whole process much easier. When the download is complete, simply double-click the dmg file to mount it and run the rEFIt.mpkg file to install.

When the install is complete, reboot the machine. I had to reboot twice before the change took effect (not sure why this was the case). It will be clear when rEFIt has taken over because the boot screen will have multiple graphical icons.

Partition Hard Drive

OS X supports live partition resizing, so the partitioning can simply be done using Disk Utility. Open Disk Utility, click the hard drive (not the partitions) on the left pane (mine says “251 GB APPLE SSD…”), click the Partition tab on the top, and add two partitions by clicking the + button near the bottom.

Both new partitions should be formatted as FAT and should be labeled clearly. I made a 50GB partition labeled WINDOWS and a 100GB partition LINUX while leaving my OS X partition at 100GB.

Install Windows 7

I think a USB flash drive can be used somehow, but I happen to have a USB DVD burner, so I used this instead for simplicity.

With the optical drive connected and the Windows install disk in the drive, reboot the Mac and press and hold the option key when the computer turns on. There should be a picture of an optical disk labeled WINDOWS that should be selected. It might take a little while (~30 seconds) for the system to find the disk if it does not appear right away.

Click through the first few steps until you are able to choose Custom Install. Select the partition labeled WINDOWS, format it as NTFS (you may have to click some link to enable advanced features to be able to do this), and click through the rest of the install process. This should be pretty straight-forward.  You should be able to select the WINDOWS partition whenever you need to reboot at the rEFIt screen.

When the Windows installation is complete, install the drivers that were copied to the USB drive earlier.

Remove Linux Partition

This step isn’t really necessary if the desired Linux partitioning is known, but it makes the process easier.

Disk Utility will be used as earlier (which means the computer has to be booted into OS X), but instead of clicking the + button, the - button should be clicked to delete the LINUX partition and leave it as empty space.

Install Fedora 16

This was by far the most challenging part to get right, but hopefully this will make it pretty straight-forward.

Download Fedora DVD

The first step is to download the install DVD (the Live CD WILL NOT WORK!!!). The DVD apparently has extra EFI capabilities that the Live CD doesn’t come with. It was a little hard for me to find the link, but it is here: http://fedoraproject.org/en/get-fedora-all. Near the bottom of the same page, there are links for torrent downloads, which might work faster.

Install Fedora 16

Insert the Fedora 16 DVD into the drive and reboot the computer, pressing the option key when the computer powers on. Two optical disk images may pop up, but the one labeled WINDOWS should be the one selected.

When the Fedora installer comes up, press the tab key and follow the steps displayed on the screen to add the nomodeset kernel parameter. The screen may remain black for a few minutes, but the installer should start up. When prompted, select the “Use Free Space” option if the LINUX partition was removed earlier, otherwise the partitions should manually be set.

When prompted, the boot loader should be installed to the disk (mine was /dev/sda), not the partition.

Sync MBR

After the Fedora installer is complete, cycle through the icons at the rEFIt screen and select the MBR tool. It should state that the MBR is out of sync, so it should be synced up. I only had to sync up the MBR once, but again, I had to restart twice for this to take effect for some reason.

After the computer reboots, all operating systems should be successfully installed. At the rEFIt screen, selecting Linux or Windows should boot into the Grub2 menu, at which point the proper OS can be selected.

Optional: Remove rEFIt

Because selecting Linux and Windows both led to the Grub2 screen, I thought having rEFIt was redundant. rEFIt can be easily removed by booting into OS X, selecting the OS X hard drive in Startup Disk to bless it, and removing the /efi folder.

If rEFIt is removed, the option has to be held when the computer boots and the WINDOWS hard drive selected in order to see the Grub2 menu.

Fedora Tweaks

Enable WiFi

WiFi and sound do not work out of the box. I was able to connect to the Internet via my phone over Bluetooth, but a USB Ethernet dongle can also be used. A simple yum update and reboot should enable the WiFi.

Enable Latest nVidia and WiFi drivers with RPM Fusion

The free and nonfree RPM Fusion repos should added by following the instructions at the RPM Fusion website: http://rpmfusion.org/

After the repos are added, run yum install kmod-nvidia kmod-wl. yum info kmod-nvidia and yum info kmod-wl can be used for more information on these packages, but they are just downloading the latest nVidia and WiFi drivers.

After the packages are done installing and the system is rebooted, the resolution should be set properly.

Enabled Sound

The sound modules all get loaded correctly, but the speakers seem to be muted for some reason. Run alsamixer -c0 as your user (does not have to be done as root) and make sure the main speakers are not set to MM. This can be toggled by selecting the main speakers with the arrow keys and pressing the m key. The up and down arrows can be used to set the speakers to the desired level. I set mine to 60.

When this is done, run alsactl store 0 as root. Reboot just to make sure everything still works, but it should.

Enable Two-Finger Scrolling

Two-finger scrolling is not enabled by default, but thankfully the only tweaking necessary here is clicking the two-finger scrolling checkbox in the mouse settings tool.

Other Notes

The brightness keys do not work. I have not tested any “advanced” functions like hibernate, stand by, etc.

Getting Started with Git

Git is quickly becoming a source management solution, and I wanted to try some of the basic operations.

Install Necessary Software

Fortunately, this is a breeze in Linux. It is not as simple with Mac or Windows.

[root@centos0001 ~]# yum install git

Set Global Identification

It is important to have credentials set so they are noted on any changes that are made. If different credentials are to be used for a specific project, the --global flag can be dropped and the git config run in the project directory.

[root@centos0001 ~]# git config --global user.name "User Name"
[root@centos0001 ~]# git config --global user.email "user@name.com"

Initializing A New Local Repository

[root@centos0001 ~]# mkdir project

[root@centos0001 ~]# cd project

[root@centos0001 project]# git init

Add Changes

After the repository has been initialized and some files have been created, they must be added so they will be tracked. A quick overview of the repository status is also available.

[root@centos0001 project]# git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add ..." to include in what will be committed)
#
#	HelloWorld.java
#	README
nothing added to commit but untracked files present (use "git add" to track)

[root@centos0001 project]# git add HelloWorld.java

[root@centos0001 project]# git add README

[root@centos0001 project]# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached ..." to unstage)
#
#	new file:   HelloWorld.java
#	new file:   README
#

Create A Commit

After all the desired changes have been made, a commit can be made so the changes are saved. Notes can be added to add some description to the commit. The suggested format is to use the first line as a subject line, followed by a blank line, followed by the commit description.

[root@centos0001 project]# git commit
[master (root-commit) 04abe55] Initial Project Commit
 2 files changed, 6 insertions(+), 0 deletions(-)
 create mode 100644 HelloWorld.java
 create mode 100644 README

Branches

In a very simple repository, there might only be one master branch. However, it may not be desireable to make all changes in this branch, e.g. if an experimental change is to be tested before being committed to the master branch.

Display Branches

[root@centos0001 project]# git branch
* master

Create New Branch

Creating a new branch is fast an inexpensive

[root@centos0001 project]# git branch new_feature_test_branch
[root@centos0001 project]# git branch
* master
  new_feature_test_branch

Checkout A Branch

A branch must be checked out so changes are isolated to that branch.

[root@centos0001 project]# git checkout new_feature_test_branch
Switched to branch 'new_feature_test_branch'
[root@centos0001 project]# git branch
  master
* new_feature_test_branch

Alternatively, branch creation and checkout can be done in one step.

[root@centos0001 project]# git checkout -b new_branch
Switched to a new branch 'new_branch'

Merge Branches

After some changes have been made, added, and committed on the new branch and if the changes are satisfactory, the master branch should be merged to the new branch. This is conceptually a little difficult to understand initially, so an oversimplified but quick way to think about it is to think of the master branch as a pointer to a state at a given time, and the new branch as a pointer to a state at a more recent time. The master must be merged to the new branch because the master must be brought up to date.

[root@centos0001 project]# vi README

[root@centos0001 project]# git add README

[root@centos0001 project]# git commit
[new_feature_test_branch d37f59a] README Update
 1 files changed, 2 insertions(+), 0 deletions(-)

[root@centos0001 project]# git checkout master
Switched to branch 'master'

[root@centos0001 project]# git merge new_feature_test_branch
Updating 04abe55..d37f59a
Fast-forward
 README |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

Delete A Branch

Branches are cheap, but it may be desireable to delete them when they are getting old.

[root@centos0001 project]# git branch -d new_feature_test_branch
Deleted branch new_feature_test_branch (was d37f59a).

Remotes Operations

There are quite a few ways a repo can be made available for sharing among multiple users. For simplicity, ssh connectivity will be assumed for the following examples. The root user is also only being used for simplicity, but this is most definitely not best practice.

Clone Repo

The first thing to do is to clone the repo locally. This creates an entire local copy of the repo. Remote tracking branches are also made to track remote changes.

[root@centos0002 ~]# git clone root@centos0001:/root/project
Initialized empty Git repository in /root/project/.git/
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 7 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (7/7), done.

[root@centos0002 ~]# cd project

[root@centos0002 project]# git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

Pull

Assume user 1 tells user 2 that while user 2 was away, some changes were made to the project. To make sure user 2 is up to date before continuing work, user 2 can perform a pull operation that will merge his local branch to the remote tracking branch.

[root@centos0001 project]# vi README

[root@centos0001 project]# git add README

[root@centos0001 project]# git commit
[master 6f03839] README change for remote user
 1 files changed, 2 insertions(+), 0 deletions(-)
[root@centos0002 project]# git pull
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From centos0001:/root/project
   d37f59a..6f03839  master     -> origin/master
Updating d37f59a..6f03839
Fast-forward
 README |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

[root@centos0002 project]# cat README
This is a sample project.

This is a sample change.

This is a sample change for user 2.

Fetch

Assume user 2 performs a pull operation, makes a few changes, but then has to discontinue work. Meanwhile, user 1 might have committed some changes. When user 2 returns, the changes can be examined before merging.

[root@centos0001 project]# vi README

[root@centos0001 project]# git add README

[root@centos0001 project]# git commit
[master 6f03839] README change for remote user
 1 files changed, 2 insertions(+), 0 deletions(-)
[root@centos0002 project]# cat README
This is a sample project.

This is a sample change.

This is a sample change for user 2.

[root@centos0002 project]# git fetch
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From centos0001:/root/project
   6f03839..48b04dc  master     -> origin/master

[root@centos0002 project]# git diff master origin
diff --git a/README b/README
index d3a695f..535a876 100644
--- a/README
+++ b/README
@@ -3,3 +3,5 @@ This is a sample project.
 This is a sample change.
 
 This is a sample change for user 2.
+
+This is another sample change for user 2.

[root@centos0002 project]# git merge origin
Updating 6f03839..48b04dc
Fast-forward
 README |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

[root@centos0002 project]# cat README
This is a sample project.

This is a sample change.

This is a sample change for user 2.

This is another sample change for user 2.

Rebase

With a git rebase, you may see similar end results as a git pull, but I recommend reading further on it before performing this operation.

Push

Now assume user 2 has made some changes. These can be pushed to the remote branch easily.

[root@centos0002 project]# vi README

[root@centos0002 project]# git add README

[root@centos0002 project]# git commit

[root@centos0002 project]# git push
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 356 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To root@centos0001:/root/project
   48b04dc..7c3bb1e  master -> master

Other Notes

For further reading and an better understanding of the underlying mechanics of Git, the Git Community Book is a great place to start.

Getting Start With mdadm in Linux

I recently set up a server at home to use for backing up my data, and I wanted to keep my data on a RAID array. Just a note for anyone else who is thinking of doing the same, a RAID array will give you continuity, meaning your system will be available in the case of a drive failure, however your data could still be lost in the case of a more severe system failure, so don’t think a RAID system is the answer to all problems.

Install Necessary Software

There is only one package required to get started.

[root@centos0001 ~]# yum install mdadm

Creating a New Raid Array

Here, a new RAID 5 array is being created as /dev/md0 from 3 disks: /dev/sdb, /dev/sdc, and /dev/sdd. This can be done with partitions as well. Afterward, the array is being saved so it will persist across reboots, otherwise results across reboots may be undesired or unexpected.

[root@centos0001 ~]# mdadm --create --verbose --raid-devices=3 --level=5 /dev/md0 /dev/sdb /dev/sdc /dev/sdd

[root@centos0001 ~]# mdadm --detail --scan > /etc/mdadm.conf

Assembling an Array From Existing Devices

There may be a few cases where a new RAID array has to be assembled from existing devices, one of which might be if the mdadm.conf was not created after an array was created. In this particular case, the system may still detect the device from the metadata, but results may be undesired or unexpected depending on how the system is configured. Luckily mdadm is pretty smart. First, the system has to be checked to see if the device was assembled automatically. If so, it must be stopped, reassembled with the desired configuration, then saved.

[root@centos0001 ~]# mdadm --detail --scan

[root@centos0001 ~]# mdadm --stop /dev/md/centos0001\:0 

[root@centos0001 ~]# mdadm --assemble --scan

[root@centos0001 ~]# mdadm --detail --scan > /etc/mdadm.conf

Replace a failed disk

In the case of hard drive failure, a disk must be failed, removed, and re-added once the physical drive has been replaced. If the disk being added was previously part of an mdadm RAID array, the superblock may have to be cleaned.

[root@centos0001 ~]# mdadm --fail /dev/md0 /dev/sdb

[root@centos0001 ~]# mdadm --remove /dev/md0 /dev/sdb

[root@centos0001 ~]# mdadm --zero-superblock /dev/sdb

[root@centos0001 ~]# mdadm --add /dev/md0 /dev/sdb

Check the Status of An Array

[root@centos0001 ~]# mdadm --detail /dev/md0

[root@centos0001 ~]# cat /proc/mdstat