LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Debian
User Name
Password
Debian This forum is for the discussion of Debian Linux.

Notices

Reply
 
Search this Thread
Old 04-27-2006, 05:50 PM   #1
kushalkoolwal
Senior Member
 
Registered: Feb 2004
Location: Middle of nowhere
Distribution: Debian Squeeze
Posts: 1,249

Rep: Reputation: 48
Listing of packages installed on system


Hi,

I know that the command to get the list of all the packages installed on your system is
#dpkg -l

But the thing is when it shows me the list of packages it marks soem of them 'rc' or 'pi' i.e. means those packages are not there on my system..right? So if those packages are not there why does it still shows them in the list.

Is there any command by which I can get only the packages that are installed on my system?

Here is the output of the dpkg -l command:
Code:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  adduser        3.63           Add and remove users and groups
ii  apt            0.5.28.6       Advanced front-end for dpkg
ii  apt-utils      0.5.28.6       APT utility programs
ii  aptitude       0.2.15.9-2     terminal-based apt frontend
ii  at             3.1.8-11       Delayed job execution and batch processing
ii  base-config    2.53.10        Debian base system configurator
ii  base-files     3.1.2          Debian base system miscellaneous files
ii  base-passwd    3.5.9          Debian base system master password and group
ii  bash           2.05b-26       The GNU Bourne Again SHell
ii  bc             1.06-15        The GNU bc arbitrary precision calculator la
ii  bin86          0.16.14-1.2    16-bit x86 assembler and loader
ii  bind9-host     9.2.4-1        Version of 'host' bundled with BIND 9.X
ii  binutils       2.15-6         The GNU assembler, linker and binary utiliti
ii  bison          1.875d-1       A parser generator that is compatible with Y
ii  bsdmainutils   6.0.17         collection of more utilities from FreeBSD
ii  bsdutils       2.12p-4sarge1  Basic utilities from 4.4BSD-Lite
ii  bzip2          1.0.2-7        high-quality block-sorting file compressor -
ii  console-common 0.7.49         Basic infrastructure for text console config
ii  console-data   2002.12.04dbs- Keymaps, fonts, charset maps, fallback table
ii  console-tools  0.2.3dbs-56    Linux console and font utilities
ii  coreutils      5.2.1-2        The GNU core utilities
ii  cpio           2.5-1.3        GNU cpio -- a program to manage archives of 
ii  cpp            3.3.5-3        The GNU C preprocessor (cpp)
ii  cpp-3.3        3.3.5-13       The GNU C preprocessor
ii  cramfsprogs    1.1-6          Tools for CramFs (Compressed ROM File System
ii  cron           3.0pl1-86      management of regular background processing
ii  dash           0.5.2-5        The Debian Almquist Shell
ii  dc             1.06-15        The GNU dc arbitrary precision reverse-polis
ii  debconf        1.4.30.13      Debian configuration management system
ii  debconf-i18n   1.4.30.13      full internationalization support for debcon
ii  debianutils    2.8.4          Miscellaneous utilities specific to Debian
ii  dhcp-client    2.0pl5-19.1    DHCP Client
ii  dictionaries-c 0.25.12        Common utilities for spelling dictionary too
ii  diff           2.8.1-11       File comparison utilities
rc  discover1      1.7.7          hardware identification system
ii  dnsutils       9.2.4-1        Clients provided with BIND
ii  doc-debian     3.1            Debian Project documentation, Debian FAQ and
ii  doc-linux-text 2005.04-1      Linux HOWTOs and FAQs in ASCII format
ii  dpkg           1.10.28        Package maintenance system for Debian
ii  dpkg-dev       1.10.28        Package building tools for Debian
ii  dselect        1.10.28        a user tool to manage Debian packages
ii  e2fslibs       1.37-2sarge1   ext2 filesystem libraries
ii  e2fsprogs      1.37-2sarge1   ext2 file system utilities and libraries
ii  ed             0.2-20         The classic unix line editor
ii  eject          2.0.13deb-8sar ejects CDs and operates CD-Changers under Li
ii  exim4-base     4.50-8sarge2   support files for all exim MTA (v4) packages
ii  exim4-config   4.50-8sarge2   configuration for the exim MTA (v4)
ii  exim4-daemon-l 4.50-8sarge2   lightweight exim MTA (v4) daemon
ii  fdutils        5.4-20040228-1 Linux floppy utilities
ii  file           4.12-1         Determines file type using "magic" numbers
ii  findutils      4.1.20-6       utilities for finding files--find, xargs, an
ii  finger         0.17-7         user information lookup program
ii  flex           2.5.31-31sarge A fast lexical analyzer generator.
ii  ftp            0.17-12        The FTP client.
ii  g++            3.3.5-3        The GNU C++ compiler
ii  g++-3.3        3.3.5-13       The GNU C++ compiler
ii  gcc            3.3.5-3        The GNU C compiler
ii  gcc-3.3        3.3.5-13       The GNU C compiler
ii  gcc-3.3-base   3.3.5-13       The GNU Compiler Collection (base package)
ii  gdb            6.3-6          The GNU Debugger
ii  gettext-base   0.14.4-2       GNU Internationalization utilities for the b
ii  gnu-efi        3.0a-4         Library for developing EFI applications
ii  gnupg          1.4.1-1.sarge3 GNU privacy guard - a free PGP replacement
ii  grep           2.5.1.ds1-4    GNU grep, egrep and fgrep
ii  groff-base     1.18.1.1-7     GNU troff text-formatting system (base syste
ii  grub           0.95+cvs200406 GRand Unified Bootloader
ii  gzip           1.3.5-10sarge1 The GNU compression utility
ii  hdparm         6.1-2          tune hard disk parameters for high performan
ii  hostname       2.13           A utility to set/show the host name or domai
ii  hotplug        0.0.20040329-2 Linux Hotplug Scripts
ii  hwinfo         8.38-3         Hardware identification system
ii  iamerican      3.1.20.0-4     An American English dictionary for ispell
ii  ibritish       3.1.20.0-4     A British English dictionary for ispell
ii  ifupdown       0.6.7          high level tools to configure network interf
ii  info           4.7-2.2        Standalone GNU Info documentation browser
ii  initrd-tools   0.1.81.1       tools to create initrd image for prepackaged
ii  initscripts    2.86.ds1-1     Standard scripts needed for booting and shut
ii  ipchains       1.3.10-15      Network firewalling for Linux 2.2.x
ii  iptables       1.2.11-10      Linux kernel 2.4+ iptables administration to
ii  iputils-ping   20020927-2     Tools to test the reachability of network ho
ii  ispell         3.1.20.0-4     International Ispell (an interactive spellin
pi  kernel-image-2 2.6.8-16       Linux kernel image for version 2.6.8 on 386.
ii  klogd          1.4.1-17       Kernel Logging Daemon
ii  less           382-1          Pager program similar to more
ii  libacl1        2.2.23-1       Access control list shared library
ii  libattr1       2.4.16-1       Extended attribute shared library
ii  libblkid1      1.37-2sarge1   block device id library
ii  libbz2-1.0     1.0.2-7        high-quality block-sorting file compressor l
ii  libc6          2.3.2.ds1-22sa GNU C Library: Shared libraries and Timezone
ii  libc6-dev      2.3.2.ds1-22sa GNU C Library: Development Libraries and Hea
ii  libcap1        1.10-14        support for getting/setting POSIX.1e capabil
ii  libcomerr2     1.37-2sarge1   common error description library
ii  libconsole     0.2.3dbs-56    Shared libraries for Linux console and font 
ii  libdb1-compat  2.1.3-7        The Berkeley database routines [glibc 2.0/2.
ii  libdb3         3.2.9-22       Berkeley v3 Database Libraries [runtime]
ii  libdb4.2       4.2.52-18      Berkeley v4.2 Database Libraries [runtime]
ii  libdb4.3       4.3.27-2       Berkeley v4.3 Database Libraries [runtime]
rc  libdiscover1   1.7.7          hardware identification library
ii  libdns16       9.2.4-1        DNS Shared Library used by BIND
ii  libevent1      1.0b-1.1       An asynchronous event notification library
ii  libgc1         6.4-1          conservative garbage collector for C and C++
ii  libgcc1        3.4.3-13       GCC support library
ii  libgcrypt11    1.2.0-11.1     LGPL Crypto library - runtime library
ii  libgdbm3       1.8.3-2        GNU dbm database routines (runtime version)
ii  libgnutls11    1.0.16-13.2    GNU TLS library - runtime library
ii  libgpg-error0  1.0-1          library for common error values and messages
ii  libgpmg1       1.19.6-19sarge General Purpose Mouse - shared library
ii  libident       0.22-3         simple RFC1413 client library - runtime
ii  libidn11       0.5.13-1.0     GNU libidn library, implementation of IETF I
ii  libisc7        9.2.4-1        ISC Shared Library used by BIND
ii  libiw27        27-2           Wireless tools - library
ii  libkrb53       1.3.6-2sarge2  MIT Kerberos runtime libraries
ii  libldap-2.2-7  2.2.23-8       OpenLDAP libraries
ii  libldap2       2.1.30-8       OpenLDAP libraries
ii  liblocale-gett 1.01-17        Using libc functions for internationalizatio
ii  liblockfile1   1.06           NFS-safe locking library, includes dotlockfi
ii  liblwres1      9.2.4-1        Lightweight Resolver Library used by BIND
ii  liblzo1        1.08-1.2       A real-time data compression library
ii  libmagic1      4.12-1         File type determination library using "magic
ii  libncurses5    5.4-4          Shared libraries for terminal handling
ii  libncursesw5   5.4-4          Shared libraries for terminal handling (wide
ii  libnewt0.51    0.51.6-20      Not Erik's Windowing Toolkit - text mode win
ii  libnfsidmap1   0.8-1          An nfs idmapping library
ii  libnss-db      2.2-6.3        DB Name Service Module
ii  libopencdk8    0.5.5-10       Open Crypto Development Kit (OpenCDK) (runti
ii  libpam-modules 0.76-22        Pluggable Authentication Modules for PAM
ii  libpam-runtime 0.76-22        Runtime support for the PAM library
ii  libpam0g       0.76-22        Pluggable Authentication Modules library
ii  libpcre3       4.5-1.2sarge1  Perl 5 Compatible Regular Expression Library
ii  libpopt0       1.7-5          lib for parsing cmdline parameters
ii  libreadline4   4.3-11         GNU readline and history libraries, run-time
ii  libreadline5   5.0-10         GNU readline and history libraries, run-time
ii  libsasl2       2.1.19-1.5sarg Authentication abstraction library
ii  libsigc++-1.2- 1.2.5-4        type-safe Signal Framework for C++ - runtime
ii  libss2         1.37-2sarge1   command-line interface parsing library
ii  libssl0.9.7    0.9.7e-3sarge1 SSL shared libraries
ii  libstdc++5     3.3.5-13       The GNU Standard C++ Library v3
ii  libstdc++5-3.3 3.3.5-13       The GNU Standard C++ Library v3 (development
ii  libsysfs1      1.2.0-5        interface library to sysfs
ii  libtasn1-0     0.1.2-5        Manage ASN.1 structures (runtime)
ii  libtasn1-2     0.2.10-3sarge1 Manage ASN.1 structures (runtime)
ii  libtext-charwi 0.04-1         get display widths of characters on the term
ii  libtext-iconv- 1.2-3          Convert between character sets in Perl
ii  libtext-wrapi1 0.06-1         internationalized substitute of Text::Wrap
ii  libtextwrap1   0.1-1          text-wrapping library with i18n - runtime
ii  libusb-0.1-4   0.1.10a-9.sarg userspace USB programming library
ii  libuuid1       1.37-2sarge1   universally unique id library
ii  libwrap0       7.6.dbs-8      Wietse Venema's TCP wrappers library
ii  links          0.99+1.00pre12 Character mode WWW browser
ii  linux-kernel-h 2.5.999-test7- Linux Kernel Headers for development
ri  locales        2.3.2.ds1-22sa GNU C Library: National Language (locale) da
ii  lockfile-progs 0.1.10         Programs for locking and unlocking files and
ii  login          4.0.3-31sarge5 system login tools
ii  logrotate      3.7-5          Log rotation utility
ii  lpr            2003.09.23-7   BSD lpr/lpd line printer spooling system
ii  lsof           4.74.dfsg.3-2  List open files.
ii  m4             1.4.2-1        a macro processing language
ii  mailx          8.1.2-0.200405 A simple mail user agent
ii  make           3.80-9         The GNU version of the "make" utility.
ii  makedev        2.3.1-77       creates device files in /dev
ii  man-db         2.4.2-21       The on-line manual pager
ii  manpages       1.70-1         Manual pages about using a GNU/Linux system
ii  manpages-dev   1.70-1         Manual pages about using GNU/Linux for devel
ii  mawk           1.3.3-11       a pattern scanning and text processing langu
ii  mime-support   3.28-1         MIME files 'mime.types' & 'mailcap', and sup
ii  module-init-to 3.2-pre1-2     tools for managing Linux kernel modules
ii  modutils       2.4.26-1.2     Linux module utilities
ii  mount          2.12p-4sarge1  Tools for mounting and manipulating filesyst
ii  mpack          1.6-1          tools for encoding/decoding MIME messages
ii  mtools         3.9.9-2.1      Tools for manipulating MSDOS files
ii  mtr-tiny       0.67-1         Full screen ncurses traceroute tool
ii  mutt           1.5.9-2sarge1  Text-based mailreader supporting MIME, GPG, 
ii  nano           1.2.4-5        free Pico clone with some new features
ii  ncurses-base   5.4-4          Descriptions of common terminal types
ii  ncurses-bin    5.4-4          Terminal-related programs and man pages
ii  ncurses-term   5.4-4          Additional terminal type definitions
ii  net-tools      1.60-10        The NET-3 networking toolkit
ii  netbase        4.21           Basic TCP/IP networking system
ii  netkit-inetd   0.10-10        The Internet Superserver
ii  nfs-common     1.0.6-3.1      NFS support files common to client and serve
ii  nvi            1.79-22        4.4BSD re-implementation of vi
ii  passwd         4.0.3-31sarge5 change and administer password and group dat
ii  patch          2.5.9-2        Apply a diff file to an original
ii  pciutils       2.1.11-15      Linux PCI Utilities
ii  perl           5.8.4-8sarge4  Larry Wall's Practical Extraction and Report
ii  perl-base      5.8.4-8sarge4  The Pathologically Eclectic Rubbish Lister
ii  perl-modules   5.8.4-8sarge4  Core Perl modules
ii  pidentd        3.0.18-2       TCP/IP IDENT protocol server with DES suppor
ii  portmap        5-9            The RPC portmapper
ii  procmail       3.22-11        Versatile e-mail processor
ii  procps         3.2.1-2        The /proc file system utilities
ii  psmisc         21.5-1         Utilities that use the proc filesystem
ii  python         2.3.5-2        An interactive high-level object-oriented la
ii  python-newt    0.51.6-20      A NEWT module for Python
ii  python2.3      2.3.5-3sarge1  An interactive high-level object-oriented la
ii  rcs            5.7-15         The GNU Revision Control System
ii  reportbug      3.8            reports bugs in the Debian distribution
ii  sed            4.1.2-8        The GNU sed stream editor
ii  sharutils      4.2.1-13       shar, unshar, uuencode, uudecode
ii  slang1         1.4.9dbs-8     The S-Lang programming library - runtime ver
ii  slang1a-utf8   1.4.9dbs-8     The S-Lang programming library with utf8 sup
ii  ssh            3.8.1p1-8.sarg Secure rlogin/rsh/rcp replacement (OpenSSH)
ii  strace         4.5.8-1.2      A system call tracer
ii  sysklogd       1.4.1-17       System Logging Daemon
ii  sysv-rc        2.86.ds1-1     Standard boot mechanism using symlinks in /e
ii  sysvinit       2.86.ds1-1     System-V like init
ii  tar            1.14-2.2       GNU tar
ii  tasksel        2.24           Tool for selecting tasks for installation on
ii  tcpd           7.6.dbs-8      Wietse Venema's TCP wrapper utilities
ii  tcsh           6.13.00-1      TENEX C Shell, an enhanced version of Berkel
ii  telnet         0.17-29        The telnet client
ii  texinfo        4.7-2.2        Documentation system for on-line information
ii  time           1.7-21         The GNU time program for measuring cpu resou
pi  traceroute     1.4a12-18      traces the route taken by packets over a TCP
ii  udev           0.056-3        /dev/ management daemon
ii  usbmount       0.0.10         automatically mount and unmount USB mass sto
ii  usbutils       0.70-8         USB console utilities
ii  util-linux     2.12p-4sarge1  Miscellaneous system utilities
ii  w3m            0.5.1-3        WWW browsable pager with excellent tables/fr
ii  wamerican      5-4            American English dictionary words for /usr/s
ii  wget           1.9.1-12       retrieves files from the web
ii  whiptail       0.51.6-20      Displays user-friendly dialog boxes from she
ii  whois          4.7.5          the GNU whois client
ii  wireless-tools 27-2           Tools for manipulating Linux Wireless Extens
ii  zlib1g         1.2.2-4.sarge. compression library - runtime
 
Old 04-27-2006, 05:56 PM   #2
pljvaldez
Guru
 
Registered: Dec 2005
Location: Somewhere on the String
Distribution: Debian Squeeze (x86)
Posts: 6,092

Rep: Reputation: 269Reputation: 269Reputation: 269
I've used dpkg --get-selections > selections.txt to output everything installed on my system to a text file.

The thing I like about this command is that I can output it to a text file and then install all the same programs on a different machine with
Code:
apt-get update
dselect update
dpkg --set-selections < selections.txt
apt-get dselect-upgrade
Then I just have to copy over the appropriate config files from /etc and I'm all set with a cloned system, even if the hardware is different.
 
Old 04-27-2006, 06:07 PM   #3
kushalkoolwal
Senior Member
 
Registered: Feb 2004
Location: Middle of nowhere
Distribution: Debian Squeeze
Posts: 1,249

Original Poster
Rep: Reputation: 48
Quote:
Originally Posted by pljvaldez
I've used dpkg --get-selections > selections.txt to output everything installed on my system to a text file.

The thing I like about this command is that I can output it to a text file and then install all the same programs on a different machine with
Code:
apt-get update
dselect update
dpkg --set-selections < selections.txt
apt-get dselect-upgrade
Then I just have to copy over the appropriate config files from /etc and I'm all set with a cloned system, even if the hardware is different.

You gussed it right. I am also trying to do the same i.e. clone the system(atleast the packages).

I tried the --get-selections and even in that it showed that some packages have purge/deinstall status. Now why is that? I am really confused here as to what is happening? Why does these command gives list of packages which are purged/uninstalled.

Here if the output of my get-selections command:
Code:
adduser						install
apt						install
apt-utils					install
aptitude					install
at						install
base-config					install
base-files					install
base-passwd					install
bash						install
bc						install
belocs-locales-bin				install
belocs-locales-data				install
bin86						install
bind9-host					install
binutils					install
bison						install
bsdmainutils					install
bsdutils					install
bzip2						install
console-common					install
console-data					install
console-tools					install
coreutils					install
cpio						install
cpp						install
cpp-3.3						install
cramfsprogs					install
cron						install
dash						install
dbus-1						install
dbus-glib-1					install
dc						install
debconf						install
debconf-i18n					install
debfoster					install
debianutils					install
deborphan					install
dhcp-client					install
dialog						install
dictionaries-common				install
diff						install
discover					install
discover-data					install
discover1					deinstall
discover1-data					purge
dnsutils					install
doc-debian					install
doc-linux-text					install
dpkg						install
dpkg-dev					install
dselect						install
e2fslibs					install
e2fsprogs					install
ed						install
eject						install
exim4						purge
exim4-base					install
exim4-config					install
exim4-daemon-light				install
fdutils						install
file						install
findutils					install
finger						install
flex						install
ftp						install
g++						install
g++-3.3						install
gcc						install
gcc-3.3						install
gcc-3.3-base					install
gdb						install
gettext-base					install
gnu-efi						install
gnupg						install
grep						install
groff-base					install
grub						install
gzip						install
hal						install
hdparm						install
hostname					install
hotplug						install
hwinfo						install
iamerican					install
ibritish					install
ifupdown					install
info						install
initrd-tools					install
initscripts					install
ipchains					install
iptables					install
iputils-ping					install
ispell						install
kernel-image-2.6.13-3dsupportxorg		install
kernel-image-2.6.8-2-386			purge
klogd						install
less						install
libacl1						install
libattr1					install
libblkid1					install
libbz2-1.0					install
libc6						install
libc6-dev					install
libcap1						install
libcomerr2					install
libconsole					install
libdb1-compat					install
libdb3						install
libdb4.2					install
libdb4.3					install
libdiscover1					deinstall
libdiscover2					install
libdns16					install
libevent1					install
libexpat1					install
libgc1						install
libgcc1						install
libgcrypt11					install
libgdbm3					install
libglib2.0-0					install
libgnutls11					install
libgpg-error0					install
libgpmg1					install
libhal-storage0					install
libhal0						install
libident					install
libidn11					install
libisc7						install
libiw27						install
libkrb53					install
libldap-2.2-7					install
libldap2					install
liblocale-gettext-perl				install
liblockfile1					install
liblwres1					install
liblzo1						install
libmagic1					install
libncurses5					install
libncursesw5					install
libnewt0.51					install
libnfsidmap1					install
libnss-db					install
libopencdk8					install
libpam-modules					install
libpam-runtime					install
libpam0g					install
libpcap0.7					purge
libpcre3					install
libpopt0					install
libreadline4					install
libreadline5					install
libsasl2					install
libsigc++-1.2-5c102				install
libss2						install
libssl0.9.7					install
libstdc++5					install
libstdc++5-3.3-dev				install
libsysfs1					install
libtasn1-0					install
libtasn1-2					install
libtext-charwidth-perl				install
libtext-iconv-perl				install
libtext-wrapi18n-perl				install
libtextwrap1					install
libusb-0.1-4					install
libuuid1					install
libwrap0					install
links						install
linux-kernel-headers				install
localeconf					install
localepurge					install
locales						deinstall
lockfile-progs					install
login						install
logrotate					install
lpr						install
lsb-base					install
lsof						install
m4						install
mailx						install
make						install
makedev						install
man-db						install
manpages					install
manpages-dev					install
mawk						install
mdetect						purge
mime-support					install
module-init-tools				install
modutils					install
mount						install
mpack						install
mtools						install
mtr-tiny					install
mutt						install
nano						install
ncurses-base					install
ncurses-bin					install
ncurses-term					install
net-tools					install
netbase						install
netkit-inetd					install
nfs-common					install
nvi						install
passwd						install
patch						install
pciutils					install
pcmcia-cs					install
perl						install
perl-base					install
perl-modules					install
pidentd						install
pmount						install
portmap						install
ppp						purge
pppconfig					purge
pppoe						purge
pppoeconf					purge
procmail					install
procps						install
psmisc						install
python						install
python-newt					install
python2.3					install
rcs						install
read-edid					purge
reportbug					install
sed						install
sharutils					install
slang1						install
slang1a-utf8					install
ssh						install
strace						install
sysklogd					install
sysv-rc						install
sysvinit					install
tar						install
tasksel						install
tcpd						install
tcsh						install
telnet						install
texinfo						install
time						install
traceroute					purge
udev						install
usbmount					install
usbutils					install
util-linux					install
w3m						install
wamerican					install
wget						install
whiptail					install
whois						install
wireless-tools					install
zlib1g						install
Thanks once again.

Last edited by kushalkoolwal; 04-28-2006 at 02:52 PM.
 
Old 04-27-2006, 06:15 PM   #4
pljvaldez
Guru
 
Registered: Dec 2005
Location: Somewhere on the String
Distribution: Debian Squeeze (x86)
Posts: 6,092

Rep: Reputation: 269Reputation: 269Reputation: 269
You know, I think I asked that same question once on the Debian forum here at LQ and didn't get any response. I tried googling the net a bit, but in the end, it was all working right so I didn't bother asking it again.

Maybe it has something to do with how the system has changed from the base install. i.e. if you purged exim from the base system, you want to mark it as purged on the new system also. That was my guess as to what was happening.

I bet only packages from a bare bones install are marked that way. Anything else would probably be left off (for example if you installed Battle for Wesnoth, and then purged it, I bet it wouldn't show up on your list at all). Note, I haven't tried this, but it would be pretty easy to install something like that and then --get-selections to one file. Then purge it and --get-selections to another file. Then diff the two files...

Last edited by pljvaldez; 04-27-2006 at 06:16 PM.
 
Old 04-27-2006, 06:25 PM   #5
jlinkels
Senior Member
 
Registered: Oct 2003
Location: Bonaire
Distribution: Debian Lenny/Squeeze/Wheezy/Sid
Posts: 4,052

Rep: Reputation: 484Reputation: 484Reputation: 484Reputation: 484Reputation: 484
A quick answer to why some packages show "deinstall" or "purge" (I haven't double checked it, it is from memory)

It doesn't matter what it says. If you get-selections on one machine, and you do set-selctions on the other one you'll end up with the same dpkg status. I did this a few times, and nothing to worry about.

However, WHEN you do this, make sure you have the same /etc/apt/sources.list on both machines. When you have different versions pointing at in sources.list, you'll end up in chaos. (Not unrecoverable though)

jlinkels
 
Old 04-27-2006, 06:29 PM   #6
kushalkoolwal
Senior Member
 
Registered: Feb 2004
Location: Middle of nowhere
Distribution: Debian Squeeze
Posts: 1,249

Original Poster
Rep: Reputation: 48
Quote:
Originally Posted by pljvaldez
You know, I think I asked that same question once on the Debian forum here at LQ and didn't get any response. I tried googling the net a bit, but in the end, it was all working right so I didn't bother asking it again.

Maybe it has something to do with how the system has changed from the base install. i.e. if you purged exim from the base system, you want to mark it as purged on the new system also. That was my guess as to what was happening.

I bet only packages from a bare bones install are marked that way. Anything else would probably be left off (for example if you installed Battle for Wesnoth, and then purged it, I bet it wouldn't show up on your list at all). Note, I haven't tried this, but it would be pretty easy to install something like that and then --get-selections to one file. Then purge it and --get-selections to another file. Then diff the two files...

Thanks buddy. I second you on that. Thanks for all the help. Atleast I am not the only one who thought like that.
 
Old 04-27-2006, 06:55 PM   #7
kushalkoolwal
Senior Member
 
Registered: Feb 2004
Location: Middle of nowhere
Distribution: Debian Squeeze
Posts: 1,249

Original Poster
Rep: Reputation: 48
Quote:
Originally Posted by jlinkels
A quick answer to why some packages show "deinstall" or "purge" (I haven't double checked it, it is from memory)

It doesn't matter what it says. If you get-selections on one machine, and you do set-selctions on the other one you'll end up with the same dpkg status. I did this a few times, and nothing to worry about.

However, WHEN you do this, make sure you have the same /etc/apt/sources.list on both machines. When you have different versions pointing at in sources.list, you'll end up in chaos. (Not unrecoverable though)

jlinkels
Ok, so I got another question which is a logical extension of this one.

Suppose I have a MAchine A on which I do base installation and add some additonal packages.

Now I have a machine B on which I would like to install packages of A i.e. Machine B is a clone of MAchine A. But Machine B already has a base-install + it has some other packages like alsa-utils xmms which Machine A does not have. So now I want that all the packages of A are installed on MAchine B and whatever Extra packages machine B has I want to purge/remove them. Will the method that you suggested will work? i.e. If I run the following commands will I be able to achieve what I want i.e. Machine B is a clone of Machine A.
Code:
On Machine A
dpkg --get-selections > selections.txt

Then transfer the file selections.txt from A to B

On Machine B
apt-get update
dselect update
dpkg --set-selections < selections.txt
apt-get dselect-upgrade
Any ideas? this will really clear loads of doubt from my mind that I have for this method.

thanks in advance.
 
Old 04-27-2006, 07:28 PM   #8
pljvaldez
Guru
 
Registered: Dec 2005
Location: Somewhere on the String
Distribution: Debian Squeeze (x86)
Posts: 6,092

Rep: Reputation: 269Reputation: 269Reputation: 269
My gut feeling is that it will remove all packages that are not set as install (not sure it will purge though). But I guess the only way to find out is to try it (i.e. intentionally install something extra that you know is extra like wesnoth). Then get-selections again to a different file and compare the two files. You should be able to compare relatively quickly.

If I was a scripter, I could probably even figure out an awk string to mark all the packages that don't match as purge. Then you could set-selections with the new file and purge all the extraneous packages...
 
Old 04-27-2006, 07:50 PM   #9
kushalkoolwal
Senior Member
 
Registered: Feb 2004
Location: Middle of nowhere
Distribution: Debian Squeeze
Posts: 1,249

Original Poster
Rep: Reputation: 48
Thanks for reply buddy. You seem to know quite a lot of packaging system. Well on some researhing I found out an interesting thing.

If we do
#dpkg --get-selections > packages.txt

we get list of packages with status install/deinstall

but if we do
#dpkg --get-selections \* > packages.txt

we get list of packages with status install/deinstall/purge


How does anyone explain that? What is the difference? What does it signifies?

Thanks
 
Old 04-27-2006, 09:24 PM   #10
jlinkels
Senior Member
 
Registered: Oct 2003
Location: Bonaire
Distribution: Debian Lenny/Squeeze/Wheezy/Sid
Posts: 4,052

Rep: Reputation: 484Reputation: 484Reputation: 484Reputation: 484Reputation: 484
Uhm.. not that I don't want to help anyone, but this comes into an area where thorough reading of the man pages will give you more reliable information that I can give you.

Anyway, your question:

Quote:
So now I want that all the packages of A are installed on MAchine B and whatever Extra packages machine B has I want to purge/remove them.
The answer is most likely "no"

If you have a list of packages, then
Code:
package1 install
will install the package
Code:
package2 deinstall
will deinstall the package

Packages which are not being mentioned in your file will be left alone by dpkg.

If you want to deinstall/purge files on machine B in an automated way, you could run --get-selections on both machines and do a diff of the two files. For the files which are present on B and not on A, you could change "install" to "de-install" and run dpkg on B.

jlinkels
 
Old 06-21-2006, 12:44 PM   #11
DodoTux
LQ Newbie
 
Registered: Mar 2006
Location: Nairobi, Kenya
Distribution: Zenwalk4.0
Posts: 27

Rep: Reputation: 15
OK, i've been trying to follow this up. What i want to do, is a small diskquett which in cludes 2 Sh-Scripts. One to set up APT (its sources) and a second one to insall my personal softwre "minimum". Can you guys help me out? I thought i could just install all the "minimum" stuff i want, and then use the dpkg --get-selections-technique to make a list of the stuff. Whill this work? Thanks
 
Old 06-21-2006, 07:17 PM   #12
jlinkels
Senior Member
 
Registered: Oct 2003
Location: Bonaire
Distribution: Debian Lenny/Squeeze/Wheezy/Sid
Posts: 4,052

Rep: Reputation: 484Reputation: 484Reputation: 484Reputation: 484Reputation: 484
In principle, yes. (that is what the thread is about) Your minimum set of packages will be installed.

However, you might need to copy some more files, like /etc/apt/sources.list to make sure you use the same version. Maybe apt-conf as well if you modified it.

The same goes for any personal stuff you want to have installed on the other machine, like adapted bashrc or so.

jlinkels
 
Old 06-22-2006, 02:59 AM   #13
nx5000
Senior Member
 
Registered: Sep 2005
Location: Out
Posts: 3,307

Rep: Reputation: 52
Clean your debian system:
Code:
aptitude purge $(dpkg --get-selections | grep deinstall | awk '{print $1}')
It will remove configuration files associated to non-existant packages, thus useless.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Sort installed packages by # of dependant packages installed brianez21 Debian 1 01-18-2006 05:06 PM
What are the packages required to installed for Linux Printing System? Akhran Debian 1 10-18-2005 01:58 PM
Listing installed packages in Gentoo ? Builder Linux - Distributions 1 07-08-2004 05:09 PM
Listing my installed Kernel Modules. mudelf Linux - General 1 11-06-2003 06:58 AM
How do I get a current list of RPM packages installed on my system? needamiracle Linux - General 1 12-06-2002 05:38 PM


All times are GMT -5. The time now is 12:29 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration