My Ubuntu 10.04.02 installs starting losing /var/lib/dpkg/status, and you can't update without it... Thanks to capink, but I ended up re-installing anyway so unfortunately losing this file you are near the end of the line. http://ubuntuforums.org/archive/index.php/t-474587.html Using the script below will generate a new status file in your current directory (usually your home dir). Use this file in place of your status file after backing it up:
#!/bin/bash
get_control_info () { for i in /var/lib/apt/lists/*_Packages do sed '/Package: '"$1"'$/,/^$/!d' $i done } for i in /var/lib/dpkg/info/*.list do package_name=`basename $i | sed 's/.list$//'` get_control_info $package_name >> status-new done sed -i -e '/^Filename: .*/d' -e '/^MD5sum:/d' -e '/^SHA1:/d' -e '/^SHA256:/d' status-new sed -i '/^Package: /a\Status: install ok installed' status-new The new status file will not be prefect but it is a place to start from. Two problems I am aware of are: 1. The new status file will have all the packages marked as installed including those you uninstalled. This can be corrected later using your original status file. 2. The new status file will miss the field of Confiles. While not absolutely essential, it is very important field. Again this can be corrected using your old status file. But this will need some manual editing. Note: The script will take long time to complete. On my machine it took about one hour. |
SolengTech > Open Source >