Bug 637026 - lorax: bloated images/install.img
Summary: lorax: bloated images/install.img
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: lorax
Version: 14
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Martin Gracik
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-24 04:02 UTC by John Reiser
Modified: 2013-07-04 12:52 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-03-14 08:45:00 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description John Reiser 2010-09-24 04:02:57 UTC
Description of problem: An install DVD composed via pungi+lorax has an images/install.img that is 37MB larger than the same file composed via pungi+buildinstall.  The differences I found are (when restricted to shallow depth, more or less):

extra directory bin/, containing only lowntfs-3g
Missing file  etc/joe
missing file  etc/pcmcia
extra in etc/:
  adjtime aliases alternatives avahi bash_completion.d bashrc blkid chkconfig.d
  ConsoleKit cron.d cron.daily cron.hourly cron.monthly cron.weekly csh.cshrc
  csh.login default depmod.d dhcp DIR_COLORS DIR_COLORS.256color
  DIR_COLORS.lightbgcolor dnsmasq.conf dnsmasq.d dracut.conf.d environment
  ethers exports favicon.png filesystems firmware gai.conf gcrypt gnupg
  GREP_COLORS group- gshadow- gssapi_mech.conf gtk-3.0 hal host.conf
  hosts.allow hosts.deny init inittab inputrc iproute2 iscsi krb5.conf
  ld.so.conf.d libaudit.conf libsmbios localtime logrotate.d lvm motd
  mtools.conf multipath networks nfsmount.conf ntp openldap opt passwd-
  plymouth pm popt.d ppp printcap profile profile.d pulse rc rc.local
  rc.sysinit rpc rpm rsyslog.conf rwtab rwtab.d samba sasl2 securetty
  sestatus.conf setuptool.d sgml shadow shadow- ssh ssl statetab statetab.d
  sysctl.conf systemd terminfo virc wgetrc X11 xdg xinetd.d xml yum.conf
extra in lib/:
  kbd security systemd terminfo upstart
missing from lib64/:
  libbz2.so.1.0.4  libpci.so.3.1.6  libsysfs.so.2  libsysfs.so.2.0.1
extra in lib64/:
  device-mapper libanl-2.12.90.so libanl.so.1 libauparse.so.0
  libauparse.so.0.0.0   libBrokenLocale-2.12.90.so libBrokenLocale.so.1
  libbz2.so.1.0.6 libcidn-2.12.90.so libcidn.so.1 libdmraid-events-isw.so
  libdmraid-events-isw.so.1 libdmraid-events-isw.so.1.0.0.rc16 libdmraid.so
  libgssrpc.so.4 libgssrpc.so.4.1 libhandle.so.1 libhandle.so.1.0.3
  libnss_compat-2.12.90.so libnss_compat.so.2 libnss_hesiod-2.12.90.so
  libnss_hesiod.so.2 libnss_nis-2.12.90.so libnss_nisplus-2.12.90.so
  libnss_nisplus.so.2 libnss_nis.so.2 libpamc.so.0 libpamc.so.0.82.1
  libpci.so.3.1.7 libSegFault.so libthread_db-1.0.so libthread_db.so.1
  rtkaio tls xtables
missing from usr/bin/:
  emacs firstaidkit firstaidkit-qs ftp gtk-query-immodules-3.0-64
  gtk-update-icon-cache-3.0 jmacs joe jpico list-harddrives losetup
  mt nano nslookup ntfscat ntfscluster ntfscmp ntfsdecrypt ntfsdump_logfile
  ntfsfix ntfsinfo ntfsls ntfsmftalloc ntfsmove ntfstruncate ntfswipe pico
  raidstart raidstop rcp restart-anaconda rlogin rsh rsync termidx volume_key
extra in usr/bin/:
  [ addftinfo amuFormat.sh apropos awk base64 bashbug-64 bugzilla bzcmp bzdiff
  bzgrep bzip2recover bzless bzmore cal canberra-gtk-play captoinfo catchsegv
  catman chcon chfn chrt chsh ck-history ck-launch-session ck-list-sessions
  cksum col colcrt colrm column comm createrepo csplit cvt dbus-binding-tool
  dbus-cleanup-sockets dbus-monitor dbus-send ddate deallocvt dir dircolors
  dirname dnsdomainname domainname dumpkeys eqn eqn2graph ex expand factor
  fallocate fc-cache fc-cat fc-list fc-match fc-query fc-scan fgconsole findmnt
  flock floppy fmt fold free gconf-merge-tree gconftool-2 gdbus gdiffmk gencat
  getconf getent gethostip getkeycodes getopt gindxbib gio-querymodules-64
  glib-compile-schemas glookbib gneqn gnome-keyring gnome-keyring-daemon gnroff
  gpg-error grap2graph grn grodvi grolbp grolj4 grops grotty groups gsettings
  gsettings-data-convert gsoelim gtar gtf gtroff gzexe hexdump hostid hpftodit
  i386 iceauth id idn igawk indxbib infocmp infotocap install ionice ipcmk ipcrm
  ipcs isohybrid isosize join kbd_mode kbdrate ksflatten ksvalidator ksverdiff
  last lastb lchfn lchsh ldd lessecho lesskey lesspipe.sh lexgrog link linux32
  linux64 liveinst lkbib loadunimap locale localedef logname look lookbib
  lowntfs-3g lscpu lua luac lz man mandb manpath mapscrn mcat mcheck mclasserase
  mcomp mcookie memdiskfind mergerepo mesg metacity-message mkfifo mkhybrid
  mkisofs mkmanifest modifyrepo mountpoint mtoolstest mxtar namei neqn netstat
  nice nisdomainname nl nm-applet nmcli nm-online nm-tool nohup notify-send
  nproc ntfs-3g.probe ntfs-3g.secaudit ntfs-3g.usermap ntfsmount od oldfind
  openssl paste pathchk pcregrep pcretest pdfroff peekfd pfbtops pgawk pgrep
  pic pic2graph ping6 pinky pkaction pkcheck pkexec pkill pmap post-grohtml
  pr preconv pre-grohtml printenv printf prtstat psfaddtable psfgettable
  psfstriptable psfxtable pstree pstree.x11 ptx pwdx pydoc pygtk-demo python2
  refer rename renice report reset resizecons rev rpcgen rpm2cpio rpmdb
  rpmquery rpmsign rpmverify runcon rvi rview script scriptreplay secon
  semodule_deps semodule_expand semodule_link semodule_package seq sessreg
  setarch setfont setkeycodes setleds setmetamode setsid setterm sha224sum
  sha256sum sha384sum sha512sum showconsolefont showkey showrgb shuf skill
  slabtop slogin snice soelim sprof sqlite3 ssh-add ssh-agent ssh-copy-id
  ssh-keyscan stat stdbuf stty su sum synclient syndaemon system-config-date
  system-config-keyboard tabs tailf taskset tbl test tfmtodit tgz tic timeout
  tload toe tput tr tracepath tracepath6 troff truncate tset tsort tty tzselect
  ul unexpand unicode_start unicode_stop unlink unshare update-gio-modules
  update-gtk-immodules uptime urlgrabber users usleep utmpdump uuidgen uz vdir
  view vmmouse_detect vmstat vncserver w wall watch whatis whereis who whoami
  write X x0vncserver x86_64 xgamma xhost xmlcatalog xmllint xmlwf xmodmap
  xrdb xrefresh xset xsetmode xsetpointer xsetroot xsetwacom xstdcmap yes
  ypdomainname yum zcmp zdiff zegrep zfgrep zforce zgrep zless zmore znew

and after that I got tired.  There are also major differences in
  usr/lib/python2.7/site-packages/
  usr/lib64/
  usr/sbin/
  usr/share/{fonts,icons,locale,terminfo,themes}/
  usr/share/X11/fonts

Version-Release number of selected component (if applicable):
anaconda-14.17.4
lorax tip as of 2010-08-12

How reproducible: every time


Steps to Reproduce:
1. compose install DVD of Fedora 14 Beta using pungi+lorax versus pungi+buildinstall
2.
3.
  
Actual results:
# ls -l /mnt/beta/images/install.img /mnt/lorax/images/install.img
  -rw-r--r--. 1 root root   157347840 Sep 20 21:44 /mnt/beta/images/install.img
  -rw-r--r--. 1 root root   194723840 Sep 23 17:16 /mnt/lorax/images/install.img
which is a 24% increase for lorax.

Expected results: At most a few percent increase in size.


Additional info:

Comment 1 Chris Lumens 2010-09-24 15:24:24 UTC
lorax inverts our current logic by blacklisting things instead of whitelisting things.  This is due to our years of experience at getting burned by not including required things no one told us about, files changing names or locations, and the like.  It's more worth focusing on what large things we can block entirely than on what the specific file-by-file differences are.

Comment 2 Martin Gracik 2011-03-14 08:45:00 UTC
We use a blacklist when creating images. So there may be some unnecessary files left in the images, but they are mostly small, and do not increase the image size so much, as opposed to us having to maintain a very long list of files to remove from the install tree.


Note You need to log in before you can comment on or make changes to this bug.