Friday, February 17, 2012
Python Imaging Library Compiled
The compiled Python Imaging Library (version 1.1.7 for python 2.4-2.7 i386 and python 2.7 x86_64) can be found here. See the other post how to get it compiled in Debian.
Thursday, February 16, 2012
How to Install Python Imaging Library in Debian
If you need install Python Imaging Library into virtual environment under Debian you will need set location of several libraries (libfreetype, libjpeg). First of all let setup pre-requirements so we can compile PIL.
You can download pre-compiled version of PIL per this post.
apt-get -y install build-essential python-dev \ python-virtualenv libbz2-dev zlib1g-dev \ libfreetype6-dev libjpeg8-devThe script below simplify PIL configuration/setup procedure.
# Download PIL and uzip it wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz tar xzf Imaging-1.1.7.tar.gz # create virtual environment virtualenv env ARCH=i386 #ARCH=x86_64 cd Imaging-1.1.7 # Set location of libjpeg8-dev sed -e "s,JPEG_ROOT = None,JPEG_ROOT = '/usr/lib/$ARCH-linux-gnu',g" \ setup.py > /tmp/x && mv /tmp/x setup.py # Set location of zlib1g-dev sed -e "s,ZLIB_ROOT = None,ZLIB_ROOT = '/usr/lib/$ARCH-linux-gnu',g" \ setup.py > /tmp/x && mv /tmp/x setup.py # Set location of libfreetype6-dev sed -e "s,FREETYPE_ROOT = None,FREETYPE_ROOT = '/usr/lib/$ARCH-linux-gnu',g" \ setup.py > /tmp/x && mv /tmp/x setup.py # Proceed with installation into virtual environment ../env/bin/python setup.py installThe virtual environment is ready to be used with projects dependent on PIL, e.g. captcha, etc.
You can download pre-compiled version of PIL per this post.
Wednesday, February 15, 2012
How to Revert Broken Package in Debian
You just made upgrade of your Debian testing box and noticed something went wrong, some daemon not starting and you have no idea what to do until the bug will be fixed. Fortunately, you are able to revert broken package in Debian. Here we are going revert broken bind9 package version 1:9.8.1.dfsg.P1-2 and replace it with last known to work.
- We need to find last known to work version of the broken package. Take a look at
/var/log/apt/history.log. You should be able to find information about the package failed to install/configure:
Upgrade: ..., bind9:i386 (9.7.3.dfsg-1+b1, 9.8.1.dfsg.P1-2)...
So here version 9.7.3.dfsg-1+b1 is replaced by 9.8.1.dfsg.P1-2. Thus we found last working version. - Since we know version (9.7.3.dfsg-1+b1) of the bind9 package we can install it from snapshot.debian.org. Go to that site and search for your package. You will get a list of various versions available.
Follow link for with version that you found previously. You will get a list of various options, including source, architecture specific files, etc.
bind9_9.7.3.dfsg-1+b1_i386.deb Seen in debian on 2011-04-20 22:16:02 in /pool/main/b/bind9.
Follow link /pool/main/b/bind9. In my case it was:http://snapshot.debian.org/archive/debian/20110420T221602Z/pool/main/b/bind9/
- Add snapshot url to file /etc/apt/sources.list:
deb http://snapshot.debian.org/archive/debian/20110420T221602Z testing main
- Update your apt repository with the following command:
apt-get -o Acquire::Check-Valid-Until=false update
- Have a look at updated package information:
apt-cache showpkg bind9
You should be able to see something like this:Versions: 1:9.8.1.dfsg.P1-2 ... 1:9.7.3.dfsg-1 ...
1:9.7.3.dfsg-1 is the version we need. - Remove broken package and related dependencies:
apt-get remove bind9 apt-get autoremove
- Install version we need:
apt-get install bind9=1:9.7.3.dfsg-1
Since it complains:The following packages have unmet dependencies: bind9 : Depends: bind9utils (= 1:9.7.3.dfsg-1) but 1:9.8.1.dfsg.P1-2 is to be installed
... let add that one dependency for bind9utils as well.apt-get install bind9=1:9.7.3.dfsg-1 bind9utils=1:9.7.3.dfsg-1
Package pinning
We will use apt pinning feature to prevent packages from being upgraded. Just create a file /etc/apt/preferences.d/bind9 and add the following:Package: bind9 Pin: version 1:9.7.3* Pin-Priority: 1001 Package: bind9utils Pin: version 1:9.7.3* Pin-Priority: 1001The next time you run upgrade these two packages remain untouched.
Labels:
apt
,
debian
,
troubleshooting
Subscribe to:
Posts
(
Atom
)