aptitude: Packages code keys

Hello everyone,

Before I install packages, I’d like to check their status using aptitude,

$ aptitude search gimp
p   extremetuxracer-gimp-dev        - plugins for GIMP for easy development of e
i   gimp                            - The GNU Image Manipulation Program        
p   gimp-cbmplugs                   - plugins for The GIMP to import/export Comm
i A gimp-data                       - Data files for GIMP                       
i   gimp-data-extras                - An extra set of brushes, palettes, and gra
p   gimp-dbg                        - Debugging symbols for GIMP                
p   gimp-dcraw                      - GIMP plug-in for loading RAW digital photo
p   gimp-dds                        - DDS (DirectDraw Surface) plugin for GIMP  
p   gimp-dimage-color               - GIMP plugin to convert Minolta DiMAGE pict
p   gimp-flegita                    - Scanner plugin for the GNU image manipulat
p   gimp-gap                        - animation package for the GIMP            
p   gimp-gluas                      - Lua environment plug-in for GIMP          
i A gimp-gmic                       - GREYC's Magic for Image Computing - GIMP P
p   gimp-gutenprint                 - print plugin for the GIMP                 
v   gimp-help                       -                                           
p   gimp-help-common                - Data files for the GIMP documentation     
p   gimp-help-de                    - Documentation for the GIMP (German)       
p   gimp-help-en                    - Documentation for the GIMP (English)      
p   gimp-help-es                    - Documentation for the GIMP (Spanish)      
p   gimp-help-fr                    - Documentation for the GIMP (French)       
p   gimp-help-it                    - Documentation for the GIMP (Italian)      
p   gimp-help-ko                    - Documentation for the GIMP (Korean)       
p   gimp-help-nl                    - Documentation for the GIMP (Dutch)        
p   gimp-help-nn                    - Documentation for the GIMP (Norwegian)    
p   gimp-help-pl                    - Documentation for the GIMP (Polish)       
p   gimp-help-ru                    - Documentation for the GIMP (Russian)      
p   gimp-help-sv                    - Documentation for the GIMP (Swedish)      
v   gimp-helpbrowser                -                                           
p   gimp-lensfun                    - Gimp plugin to correct lens distortion usi
i   gimp-plugin-registry            - repository of optional extensions for GIMP
v   gimp-python                     -                                           
p   gimp-resynthesizer              - Transitional package for gimp-plugin-regis
v   gimp-save-for-web               -                                           
p   gimp-texturize                  - generates large textures from a small samp
p   gimp-ufraw                      - gimp importer for raw camera images       
p   gtkam-gimp                      - gtkam gimp plugin to open digital camera p
i A libgimp2.0                      - Libraries for the GNU Image Manipulation P
p   libgimp2.0-dev                  - Headers and other files for compiling plug
p   libgimp2.0-doc                  - Developers' Documentation for the GIMP lib
p   libgimpactutils2.81             - professional 3D Game Multiphysics Library 
p   planetpenguin-racer-gimp-dev    - Dummy transition package for extremetuxrac

I won’t lie to you… from the very beginning I knew that the i at the first column meant installed… but What about the other keys?

I found the answer by looking at the documentation, using

$ man aptitude

Here’s is the thing:

Each search result is listed on a separate line. The first character of each line indicates the current state of the package: the most common states are p, meaning that no trace of the package exists on the system, c, meaning that the package was deleted but its configuration files remain on the system, i, meaning that the package is installed, and v, meaning that the package is virtual. The second character indicates the stored action (if any; otherwise a blank space is displayed) to be performed on the package, with the most common actions being i, meaning that the package will be installed, d, meaning that the package will be deleted, and p, meaning that the package and its configuration files will be removed. If the third character is A, the package was automatically installed.

Great!!! Isn’t it?


Hello there!

Yesterday I installed Linux Mint DEbian (or LMDE) on one of my machines. If you check the Blog Website, the last released version was the 201303. From last March until now, a lot of packages have been updated, therefore it is customary to update (and upgrade) the system right after the installation.

Nonetheless, if you do that… things will go completely wrong.

Fortunately, I found this post on the official Linux Mint forum. Thus I post the steps I follow 1

# apt-get update
# apt-cache policy debian-system-adjustments

if the Installed and Candidate packages are not the same, then install the new one… and then proceed to the upgrade of the system,

# apt-get install debian-system-adjustments  
# apt-get dist-upgrade


1You will need root power, or using the sudo command at the beginning of each line

Global Indentation

In order to get what people like to call smart indentation on Emacs, the easiest way is to add a couple of lines to the .emacs configuration to declare that every newline should be indented.

(define-key global-map (kbd "RET") 'newline-and-indent)
(setq-default indent-tabs-mode t)

The first line defines a global1 shortcut 2 for the command newline-and-indent assigned to the RET key (known Enter).

The second line turns-on (the t at the end means true) the TAB indentation… if it’s not turned-on by default!


1global means that it is valid for any emacs mode
2In emacs-lisp it is called define-key

Author: Oscar Castillo-Felisola

Created: 2013-11-07 Thu 15:08

Emacs 23.4.1 (Org mode 8.2.1)

According to this post, the instructions to install the latest Skype on Debian are

$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo dpkg -i skype-debian_4.1.0.20-1_i386.deb
$ sudo apt-get install -f
$ sudo dpkg -i skype-debian_4.1.0.20-1_i386.deb

I followed these instructions and it worked alright on my second try!… Don’t know why the first time my Skype account was not recognised.

Ok, if it work… just remember that credit is not mine!


Author: Oscar Castillo-Felisola

Created: 2013-10-14 Mon 11:25

Emacs 23.4.1 (Org mode 8.2.1)


Hello again! If you are looking for a Differential Geometry tool, a Sage package which is under development is SageManifold. Let’s see how to install it.

  1. Download the package using the link (currently v.0.2). I’d assume it is saved on your Downloads folder.
  2. Assuming you have SAGE installed, and you have created an alias to call it (see my previous post), run the following command
    $ sage -f ~/Downloads/manifolds-0.2.spkg
  3. To generate the documentation (in case you don’t want to or cannot download it), use either of the commands
    $ sage -docbuild sagemanifolds pdf
    $ sage -docbuild sagemanifolds html
  4. In order for using the package, start your WorkSheet with the command line
    from manifolds.all import *
Have a nice calculation!

I’m installing SAGE1 v.5.12 on my laptop which runs Debian. Here I describe the procedure.

  1. Since there is no Debian binary package, you should download the source code. Here the link.
  2. When it finishes, open a terminal C-M-t (sorry for the emacs notation, it means Ctrl+Alt+t)
    • Go to the Downloads folder (or the right place where the tar file was saved)
    $ cd ~/Downloads
    • Untar the file
    $ tar xvf sage-5.12.tar
    • Move to the sage-5.12 folder just created
    cd sage-5.12/
  3. Install the dependencies of the first line. Optionally install LaTeX and ImageMagick using the second line. (NOTE: superuser power is needed to run the below code)
    $ sudo apt-get install -y gcc perl m4 dpkg-dev 
    $ sudo apt-get install -y texlive imagemagick
  4. In machines with more than one core, the instruction to perform parallel compilation is (yo should change the “4” by the amount of cores in your machine)
    $ export MAKE="make -j4"
  5. Now is time to compile the code.For a local compilation, run

    For a
    You can relax, go and have a coffee, because the compilation may longs one hour (or more depending of the machine specifications).

  6. For running the software after the installation is complete, run (on the SAGE directory) the command
    $ ./sage
    • I don’t like to move to the SAGE directory every time and then run the ./sage command, therefore, I tend to create an alias on my ~/.bash_aliases file,
      $ echo "alias sage="sh ~/Downloads/sage-5.12/sage" >> ~/.bash_aliases

      This command adds the line alias sage="sh ~/Downloads/sage-5.12/sage at the end of the file ~/.bash_aliases, you can do it by hand with your favourite editor (gedit, emacs, nano, vim, …)

    • If you refresh your terminal (or open a new one) you just have to run the command sage to start SAGE. Additionally, the notebook environment can be started directly from the terminal by using the flag -n,
      $ sage -n

Hope you find this post useful! Remember to leave your comments or suggestions.



1SAGE is an open source mathematical software which allows numerical and symbolic manipulations

  • Create a folder called Mathematica on the /opt/ directory
    $ sudo mkdir -p /opt/Mathematica
  • Move the installed file to the created folder
    $ sudo mv MathemacicaInstaller.sh /opt/Mathematica
  • Run the Installer
    $ sudo sh MathemacicaInstaller.sh
  • After the installation you just have to register your Mathematica software.

Author: Oscar Castillo-Felisola

Created: 2013-09-16 Mon 13:32

Emacs 23.4.1 (Org mode 8.0.7)

Validate XHTML 1.0