grycap / minicon

Minimization of the filesystem for containers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

When entering into minimized docker image container.i tried to give "yum repolist all" then it is throwing following error.

srisakthigajapathy opened this issue · comments

Traceback (most recent call last):
File "/usr/bin/yum", line 29, in
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 375, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 184, in main
result, resultmsgs = base.doCommands()
File "/usr/share/yum-cli/cli.py", line 585, in doCommands
return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
File "/usr/share/yum-cli/yumcommands.py", line 446, in doCommand
return base.installPkgs(extcmds, basecmd=basecmd)
File "/usr/share/yum-cli/cli.py", line 1017, in installPkgs
txmbrs = self.install(pattern=arg)
File "/usr/lib/python2.7/site-packages/yum/init.py", line 4851, in install
mypkgs = self.pkgSack.returnPackages(patterns=pats,
File "/usr/lib/python2.7/site-packages/yum/init.py", line 1075, in
pkgSack = property(fget=lambda self: self._getSacks(),
File "/usr/lib/python2.7/site-packages/yum/init.py", line 778, in _getSacks
self.repos.populateSack(which=repos)
File "/usr/lib/python2.7/site-packages/yum/repos.py", line 381, in populateSack
urlgrabber.grabber.parallel_wait()
File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2392, in parallel_wait
start(opts, 1)
File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2233, in start
dl.start(opts)
File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2170, in start
dl = _ExternalDownloader()
File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2089, in init
stdout = subprocess.PIPE,
File "/usr/lib64/python2.7/subprocess.py", line 711, in init
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1326, in _execute_child
child_exception = pickle.loads(data)
File "/usr/lib64/python2.7/pickle.py", line 1382, in loads
return Unpickler(file).load()
File "/usr/lib64/python2.7/pickle.py", line 858, in load
dispatchkey
File "/usr/lib64/python2.7/pickle.py", line 971, in load_string
self.append(rep.decode("string-escape"))
LookupError: unknown encoding: string-escape

Hi,
I don't know what are you doing exactly, but it seems to me that minicon has stripped too many files. Have you tried to include your yum call when using minicon, as an example run?

Otherwise, you need to identify where is the definition of string-scape enconding and force minicon to include it. A starting point will be to include the whole /usr/lib64/python2.7 folder and try again.

Base Docker file
FROM centos:latest
RUN yum -y update && yum install -y iproute iputils openssh-clients wget

Image size : 434 MB

I have applied minicon command for the above image. PFB for my minicon command i have used, I have included yum repository in that command

minidock --yum -i centosbase:latest -t centosbaseslim:latest --verbose -E rm -E ping -E bash -E ip -E id -E cat -E ls -E mkdir -E grep -E yum -E i -E vi -E sh -E yum-config-manager -E 'ping -c 1 www.google.es'

Now image size is 60 MB

When i am using that minimized centos image in my another docker file

yum install is not working. It is throwing below error

Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile

  • base: mirror.jaleco.com
  • extras: mirror.cc.columbia.edu
  • updates: mirror.cs.pitt.edu
    Traceback (most recent call last):
    File "/usr/bin/yum", line 29, in
    yummain.user_main(sys.argv[1:], exit_code=True)
    File "/usr/share/yum-cli/yummain.py", line 375, in user_main
    errcode = main(args)
    File "/usr/share/yum-cli/yummain.py", line 184, in main
    result, resultmsgs = base.doCommands()
    File "/usr/share/yum-cli/cli.py", line 585, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
    File "/usr/share/yum-cli/yumcommands.py", line 660, in doCommand
    repoid=repoid)
    File "/usr/share/yum-cli/cli.py", line 1444, in returnPkgLists
    ignore_case=True, repoid=repoid)
    File "/usr/lib/python2.7/site-packages/yum/init.py", line 2984, in doPackageLists
    avail = self.pkgSack.returnNewestByNameArch(patterns=patterns,
    File "/usr/lib/python2.7/site-packages/yum/init.py", line 1075, in
    pkgSack = property(fget=lambda self: self._getSacks(),
    File "/usr/lib/python2.7/site-packages/yum/init.py", line 778, in _getSacks
    self.repos.populateSack(which=repos)
    File "/usr/lib/python2.7/site-packages/yum/repos.py", line 381, in populateSack
    urlgrabber.grabber.parallel_wait()
    File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2392, in parallel_wait
    start(opts, 1)
    File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2233, in start
    dl.start(opts)
    File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2170, in start
    dl = _ExternalDownloader()
    File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2089, in init
    stdout = subprocess.PIPE,
    File "/usr/lib64/python2.7/subprocess.py", line 711, in init
    errread, errwrite)
    File "/usr/lib64/python2.7/subprocess.py", line 1326, in _execute_child
    child_exception = pickle.loads(data)
    File "/usr/lib64/python2.7/pickle.py", line 1382, in loads
    return Unpickler(file).load()
    File "/usr/lib64/python2.7/pickle.py", line 858, in load
    dispatchkey
    File "/usr/lib64/python2.7/pickle.py", line 971, in load_string
    self.append(rep.decode("string-escape"))
    LookupError: unknown encoding: string-escape

I tried with giving whole folder also like follow
-I /usr/lib64/python2.7
but still same error.

Can you please check this

-bash-4.2$ minidock --yum -i centosbase:latest -t test:latest -E rm -E ping -E bash -E ip -E id -E cat -E ls -E mkdir -E grep -E yum -E vi -E sh -E yum-config-manager -E subscription-manager -E 'ping -c 1 www.google.es'

/etc/ld.so.cache
/etc/nsswitch.conf
/etc/passwd
/usr/bin/bash
/usr/bin/rm
/usr/bin/ping
/usr/sbin/ip
/etc/group
/usr/bin/id
/usr/bin/cat
/usr/bin/ls
/usr/bin/mkdir
/usr/bin/grep
///var/lib/yum/uuid
//etc/yum/vars/
//etc/yum/vars/contentdir
//etc/yum/vars/infra
/etc/host.conf
/etc/hosts
/usr/share/zoneinfo/UTC
/etc/pki/nss-legacy/nss-rhel7.config
/etc/python/cert-verification.cfg
/etc/resolv.conf
/etc/rpm
/etc/rpm/macros.dist
/etc/yum.conf
/etc/yum/fssnap.d
/etc/yum/pluginconf.d/fastestmirror.conf
/etc/yum/pluginconf.d/ovl.conf
/etc/yum/protected.d
/etc/yum/protected.d/systemd.conf
/usr
/usr/bin
/usr/bin/base64
/usr/bin/gzip
/usr/bin/locale
/usr/bin/python2.7
/usr/bin/rpm
/usr/bin/sqlite3
/usr/bin/urlgrabber
/usr/bin/yum
/usr/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages/iniparse
/usr/lib/python2.7/site-packages/iniparse/init.py
/usr/lib/python2.7/site-packages/iniparse/init.pyc
/usr/lib/python2.7/site-packages/iniparse/compat.py
/usr/lib/python2.7/site-packages/iniparse/compat.pyc
/usr/lib/python2.7/site-packages/iniparse/config.py
/usr/lib/python2.7/site-packages/iniparse/config.pyc
/usr/lib/python2.7/site-packages/iniparse/ini.py
/usr/lib/python2.7/site-packages/iniparse/ini.pyc
/usr/lib/python2.7/site-packages/iniparse/utils.py
/usr/lib/python2.7/site-packages/iniparse/utils.pyc
/usr/lib/python2.7/site-packages/rpmUtils
/usr/lib/python2.7/site-packages/rpmUtils/init.py
/usr/lib/python2.7/site-packages/rpmUtils/init.pyc
/usr/lib/python2.7/site-packages/rpmUtils/arch.py
/usr/lib/python2.7/site-packages/rpmUtils/arch.pyc
/usr/lib/python2.7/site-packages/rpmUtils/miscutils.py
/usr/lib/python2.7/site-packages/rpmUtils/miscutils.pyc
/usr/lib/python2.7/site-packages/rpmUtils/transaction.py
/usr/lib/python2.7/site-packages/rpmUtils/transaction.pyc
/usr/lib/python2.7/site-packages/rpmUtils/updates.py
/usr/lib/python2.7/site-packages/rpmUtils/updates.pyc
/usr/lib/python2.7/site-packages/urlgrabber
/usr/lib/python2.7/site-packages/urlgrabber/init.py
/usr/lib/python2.7/site-packages/urlgrabber/init.pyc
/usr/lib/python2.7/site-packages/urlgrabber/byterange.py
/usr/lib/python2.7/site-packages/urlgrabber/byterange.pyc
/usr/lib/python2.7/site-packages/urlgrabber/grabber.py
/usr/lib/python2.7/site-packages/urlgrabber/grabber.pyc
/usr/lib/python2.7/site-packages/urlgrabber/mirror.py
/usr/lib/python2.7/site-packages/urlgrabber/mirror.pyc
/usr/lib/python2.7/site-packages/urlgrabber/progress.py
/usr/lib/python2.7/site-packages/urlgrabber/progress.pyc
/usr/lib/python2.7/site-packages/yum
/usr/lib/python2.7/site-packages/yum/Errors.py
/usr/lib/python2.7/site-packages/yum/Errors.pyc
/usr/lib/python2.7/site-packages/yum/init.py
/usr/lib/python2.7/site-packages/yum/init.pyc
/usr/lib/python2.7/site-packages/yum/callbacks.py
/usr/lib/python2.7/site-packages/yum/callbacks.pyc
/usr/lib/python2.7/site-packages/yum/comps.py
/usr/lib/python2.7/site-packages/yum/comps.pyc
/usr/lib/python2.7/site-packages/yum/config.py
/usr/lib/python2.7/site-packages/yum/config.pyc
/usr/lib/python2.7/site-packages/yum/constants.py
/usr/lib/python2.7/site-packages/yum/constants.pyc
/usr/lib/python2.7/site-packages/yum/depsolve.py
/usr/lib/python2.7/site-packages/yum/depsolve.pyc
/usr/lib/python2.7/site-packages/yum/drpm.py
/usr/lib/python2.7/site-packages/yum/drpm.pyc
/usr/lib/python2.7/site-packages/yum/fssnapshots.py
/usr/lib/python2.7/site-packages/yum/fssnapshots.pyc
/usr/lib/python2.7/site-packages/yum/history.py
/usr/lib/python2.7/site-packages/yum/history.pyc
/usr/lib/python2.7/site-packages/yum/i18n.py
/usr/lib/python2.7/site-packages/yum/i18n.pyc
/usr/lib/python2.7/site-packages/yum/igroups.py
/usr/lib/python2.7/site-packages/yum/igroups.pyc
/usr/lib/python2.7/site-packages/yum/logginglevels.py
/usr/lib/python2.7/site-packages/yum/logginglevels.pyc
/usr/lib/python2.7/site-packages/yum/metalink.py
/usr/lib/python2.7/site-packages/yum/metalink.pyc
/usr/lib/python2.7/site-packages/yum/misc.py
/usr/lib/python2.7/site-packages/yum/misc.pyc
/usr/lib/python2.7/site-packages/yum/packageSack.py
/usr/lib/python2.7/site-packages/yum/packageSack.pyc
/usr/lib/python2.7/site-packages/yum/packages.py
/usr/lib/python2.7/site-packages/yum/packages.pyc
/usr/lib/python2.7/site-packages/yum/parser.py
/usr/lib/python2.7/site-packages/yum/parser.pyc
/usr/lib/python2.7/site-packages/yum/pgpmsg.py
/usr/lib/python2.7/site-packages/yum/pgpmsg.pyc
/usr/lib/python2.7/site-packages/yum/pkgtag_db.py
/usr/lib/python2.7/site-packages/yum/pkgtag_db.pyc
/usr/lib/python2.7/site-packages/yum/plugins.py
/usr/lib/python2.7/site-packages/yum/plugins.pyc
/usr/lib/python2.7/site-packages/yum/repoMDObject.py
/usr/lib/python2.7/site-packages/yum/repoMDObject.pyc
/usr/lib/python2.7/site-packages/yum/repos.py
/usr/lib/python2.7/site-packages/yum/repos.pyc
/usr/lib/python2.7/site-packages/yum/rpmsack.py
/usr/lib/python2.7/site-packages/yum/rpmsack.pyc
/usr/lib/python2.7/site-packages/yum/rpmtrans.py
/usr/lib/python2.7/site-packages/yum/rpmtrans.pyc
/usr/lib/python2.7/site-packages/yum/sqlitesack.py
/usr/lib/python2.7/site-packages/yum/sqlitesack.pyc
/usr/lib/python2.7/site-packages/yum/sqlutils.py
/usr/lib/python2.7/site-packages/yum/sqlutils.pyc
/usr/lib/python2.7/site-packages/yum/transactioninfo.py
/usr/lib/python2.7/site-packages/yum/transactioninfo.pyc
/usr/lib/python2.7/site-packages/yum/update_md.py
/usr/lib/python2.7/site-packages/yum/update_md.pyc
/usr/lib/python2.7/site-packages/yum/updateinfo.py
/usr/lib/python2.7/site-packages/yum/updateinfo.pyc
/usr/lib/python2.7/site-packages/yum/yumRepo.py
/usr/lib/python2.7/site-packages/yum/yumRepo.pyc
/usr/lib/rpm/macros
/usr/lib/rpm/macros.d
/usr/lib/rpm/macros.d/macros.systemd
/usr/lib/rpm/platform/x86_64-linux/macros
/usr/lib/rpm/rpmrc
/usr/lib/yum-plugins
/usr/lib/yum-plugins/fastestmirror.py
/usr/lib/yum-plugins/fastestmirror.pyc
/usr/lib/yum-plugins/ovl.py
/usr/lib/yum-plugins/ovl.pyc
/usr/lib64
/usr/lib64/python2.7
/usr/lib64/python2.7/
/usr/lib64/python2.7/ConfigParser.py
/usr/lib64/python2.7/ConfigParser.pyc
/usr/lib64/python2.7/SocketServer.py
/usr/lib64/python2.7/SocketServer.pyc
/usr/lib64/python2.7/StringIO.py
/usr/lib64/python2.7/StringIO.pyc
/usr/lib64/python2.7/UserDict.py
/usr/lib64/python2.7/UserDict.pyc
/usr/lib64/python2.7/future.py
/usr/lib64/python2.7/future.pyc
/usr/lib64/python2.7/_abcoll.py
/usr/lib64/python2.7/_abcoll.pyc
/usr/lib64/python2.7/_sysconfigdata.py
/usr/lib64/python2.7/_sysconfigdata.pyc
/usr/lib64/python2.7/_weakrefset.py
/usr/lib64/python2.7/_weakrefset.pyc
/usr/lib64/python2.7/abc.py
/usr/lib64/python2.7/abc.pyc
/usr/lib64/python2.7/atexit.py
/usr/lib64/python2.7/atexit.pyc
/usr/lib64/python2.7/base64.py
/usr/lib64/python2.7/base64.pyc
/usr/lib64/python2.7/bisect.py
/usr/lib64/python2.7/bisect.pyc
/usr/lib64/python2.7/cmd.py
/usr/lib64/python2.7/cmd.pyc
/usr/lib64/python2.7/codecs.py
/usr/lib64/python2.7/codecs.pyc
/usr/lib64/python2.7/collections.py
/usr/lib64/python2.7/collections.pyc
/usr/lib64/python2.7/contextlib.py
/usr/lib64/python2.7/contextlib.pyc
/usr/lib64/python2.7/copy.py
/usr/lib64/python2.7/copy.pyc
/usr/lib64/python2.7/copy_reg.py
/usr/lib64/python2.7/copy_reg.pyc
/usr/lib64/python2.7/ctypes
/usr/lib64/python2.7/ctypes/init.py
/usr/lib64/python2.7/ctypes/init.pyc
/usr/lib64/python2.7/ctypes/_endian.py
/usr/lib64/python2.7/ctypes/_endian.pyc
/usr/lib64/python2.7/curses
/usr/lib64/python2.7/curses/init.py
/usr/lib64/python2.7/curses/init.pyc
/usr/lib64/python2.7/curses/wrapper.py
/usr/lib64/python2.7/curses/wrapper.pyc
/usr/lib64/python2.7/distutils
/usr/lib64/python2.7/distutils/init.py
/usr/lib64/python2.7/distutils/init.pyc
/usr/lib64/python2.7/distutils/errors.py
/usr/lib64/python2.7/distutils/errors.pyc
/usr/lib64/python2.7/distutils/log.py
/usr/lib64/python2.7/distutils/log.pyc
/usr/lib64/python2.7/distutils/spawn.py
/usr/lib64/python2.7/distutils/spawn.pyc
/usr/lib64/python2.7/encodings
/usr/lib64/python2.7/encodings/init.py
/usr/lib64/python2.7/encodings/init.pyc
/usr/lib64/python2.7/encodings/aliases.py
/usr/lib64/python2.7/encodings/aliases.pyc
/usr/lib64/python2.7/encodings/ascii.py
/usr/lib64/python2.7/encodings/ascii.pyc
/usr/lib64/python2.7/encodings/utf_8.py
/usr/lib64/python2.7/encodings/utf_8.pyc
/usr/lib64/python2.7/fnmatch.py
/usr/lib64/python2.7/fnmatch.pyc
/usr/lib64/python2.7/ftplib.py
/usr/lib64/python2.7/ftplib.pyc
/usr/lib64/python2.7/functools.py
/usr/lib64/python2.7/functools.pyc
/usr/lib64/python2.7/genericpath.py
/usr/lib64/python2.7/genericpath.pyc
/usr/lib64/python2.7/gettext.py
/usr/lib64/python2.7/gettext.pyc
/usr/lib64/python2.7/glob.py
/usr/lib64/python2.7/glob.pyc
/usr/lib64/python2.7/gzip.py
/usr/lib64/python2.7/gzip.pyc
/usr/lib64/python2.7/hashlib.py
/usr/lib64/python2.7/hashlib.pyc
/usr/lib64/python2.7/heapq.py
/usr/lib64/python2.7/heapq.pyc
/usr/lib64/python2.7/httplib.py
/usr/lib64/python2.7/httplib.pyc
/usr/lib64/python2.7/io.py
/usr/lib64/python2.7/io.pyc
/usr/lib64/python2.7/keyword.py
/usr/lib64/python2.7/keyword.pyc
/usr/lib64/python2.7/lib-dynload
/usr/lib64/python2.7/linecache.py
/usr/lib64/python2.7/linecache.pyc
/usr/lib64/python2.7/locale.py
/usr/lib64/python2.7/locale.pyc
/usr/lib64/python2.7/logging
/usr/lib64/python2.7/logging/init.py
/usr/lib64/python2.7/logging/init.pyc
/usr/lib64/python2.7/logging/config.py
/usr/lib64/python2.7/logging/config.pyc
/usr/lib64/python2.7/logging/handlers.py
/usr/lib64/python2.7/logging/handlers.pyc
/usr/lib64/python2.7/mimetools.py
/usr/lib64/python2.7/mimetools.pyc
/usr/lib64/python2.7/mimetypes.py
/usr/lib64/python2.7/mimetypes.pyc
/usr/lib64/python2.7/optparse.py
/usr/lib64/python2.7/optparse.pyc
/usr/lib64/python2.7/os.py
/usr/lib64/python2.7/os.pyc
/usr/lib64/python2.7/pickle.py
/usr/lib64/python2.7/pickle.pyc
/usr/lib64/python2.7/plat-linux2
/usr/lib64/python2.7/posixpath.py
/usr/lib64/python2.7/posixpath.pyc
/usr/lib64/python2.7/random.py
/usr/lib64/python2.7/random.pyc
/usr/lib64/python2.7/re.py
/usr/lib64/python2.7/re.pyc
/usr/lib64/python2.7/rfc822.py
/usr/lib64/python2.7/rfc822.pyc
/usr/lib64/python2.7/shlex.py
/usr/lib64/python2.7/shlex.pyc
/usr/lib64/python2.7/shutil.py
/usr/lib64/python2.7/shutil.pyc
/usr/lib64/python2.7/site-packages
/usr/lib64/python2.7/site-packages/gpgme
/usr/lib64/python2.7/site-packages/gpgme/init.py
/usr/lib64/python2.7/site-packages/gpgme/init.pyc
/usr/lib64/python2.7/site-packages/gpgme/editutil.py
/usr/lib64/python2.7/site-packages/gpgme/editutil.pyc
/usr/lib64/python2.7/site-packages/rpm
/usr/lib64/python2.7/site-packages/rpm/init.py
/usr/lib64/python2.7/site-packages/rpm/init.pyc
/usr/lib64/python2.7/site-packages/rpm/transaction.py
/usr/lib64/python2.7/site-packages/rpm/transaction.pyc
/usr/lib64/python2.7/site-packages/sqlitecachec.py
/usr/lib64/python2.7/site-packages/sqlitecachec.pyc
/usr/lib64/python2.7/site.py
/usr/lib64/python2.7/site.pyc
/usr/lib64/python2.7/socket.py
/usr/lib64/python2.7/socket.pyc
/usr/lib64/python2.7/sqlite3
/usr/lib64/python2.7/sqlite3/init.py
/usr/lib64/python2.7/sqlite3/init.pyc
/usr/lib64/python2.7/sqlite3/dbapi2.py
/usr/lib64/python2.7/sqlite3/dbapi2.pyc
/usr/lib64/python2.7/sre_compile.py
/usr/lib64/python2.7/sre_compile.pyc
/usr/lib64/python2.7/sre_constants.py
/usr/lib64/python2.7/sre_constants.pyc
/usr/lib64/python2.7/sre_parse.py
/usr/lib64/python2.7/sre_parse.pyc
/usr/lib64/python2.7/ssl.py
/usr/lib64/python2.7/ssl.pyc
/usr/lib64/python2.7/stat.py
/usr/lib64/python2.7/stat.pyc
/usr/lib64/python2.7/string.py
/usr/lib64/python2.7/string.pyc
/usr/lib64/python2.7/struct.py
/usr/lib64/python2.7/struct.pyc
/usr/lib64/python2.7/subprocess.py
/usr/lib64/python2.7/subprocess.pyc
/usr/lib64/python2.7/sysconfig.py
/usr/lib64/python2.7/sysconfig.pyc
/usr/lib64/python2.7/tempfile.py
/usr/lib64/python2.7/tempfile.pyc
/usr/lib64/python2.7/textwrap.py
/usr/lib64/python2.7/textwrap.pyc
/usr/lib64/python2.7/threading.py
/usr/lib64/python2.7/threading.pyc
/usr/lib64/python2.7/traceback.py
/usr/lib64/python2.7/traceback.pyc
/usr/lib64/python2.7/types.py
/usr/lib64/python2.7/types.pyc
/usr/lib64/python2.7/urllib.py
/usr/lib64/python2.7/urllib.pyc
/usr/lib64/python2.7/urllib2.py
/usr/lib64/python2.7/urllib2.pyc
/usr/lib64/python2.7/urlparse.py
/usr/lib64/python2.7/urlparse.pyc
/usr/lib64/python2.7/warnings.py
/usr/lib64/python2.7/warnings.pyc
/usr/lib64/python2.7/weakref.py
/usr/lib64/python2.7/weakref.pyc
/usr/lib64/python2.7/xml
/usr/lib64/python2.7/xml/init.py
/usr/lib64/python2.7/xml/init.pyc
/usr/lib64/python2.7/xml/etree
/usr/lib64/python2.7/xml/etree/ElementPath.py
/usr/lib64/python2.7/xml/etree/ElementPath.pyc
/usr/lib64/python2.7/xml/etree/ElementTree.py
/usr/lib64/python2.7/xml/etree/ElementTree.pyc
/usr/lib64/python2.7/xml/etree/init.py
/usr/lib64/python2.7/xml/etree/init.pyc
/usr/lib64/python2.7/xml/etree/cElementTree.py
/usr/lib64/python2.7/xml/etree/cElementTree.pyc
/usr/lib64/tls
/usr/share/yum-cli
/usr/share/yum-cli/cli.py
/usr/share/yum-cli/cli.pyc
/usr/share/yum-cli/output.py
/usr/share/yum-cli/output.pyc
/usr/share/yum-cli/shell.py
/usr/share/yum-cli/shell.pyc
/usr/share/yum-cli/utils.py
/usr/share/yum-cli/utils.pyc
/usr/share/yum-cli/yumcommands.py
/usr/share/yum-cli/yumcommands.pyc
/usr/share/yum-cli/yummain.py
/usr/share/yum-cli/yummain.pyc
/usr/share/yum-plugins
/var/tmp
/var
/var/lib
/var/lib/rpm
/var/lib/rpm/.dbenv.lock
/var/lib/rpm/.rpm.lock
/var/lib/rpm/Basenames
/var/lib/rpm/Conflictname
/var/lib/rpm/Dirnames
/var/lib/rpm/Group
/var/lib/rpm/Installtid
/var/lib/rpm/Name
/var/lib/rpm/Obsoletename
/var/lib/rpm/Packages
/var/lib/rpm/Providename
/var/lib/rpm/Requirename
/var/lib/rpm/Sha1header
/var/lib/rpm/Sigmd5
/var/lib/rpm/Triggername
/var/lib/rpm/__db.001
/var/lib/rpm/__db.002
/var/lib/rpm/__db.003
/var/lib/yum/yumdb
/var/log
/var/log/yum.log
/etc
/etc/terminfo
/etc/virc
/root
/usr/share/terminfo
/usr/share/terminfo/x/xterm
/usr/bin/vi
///etc/yum.repos.d
/etc/yum.repos.d
/etc/yum.repos.d/CentOS-Base.repo
/etc/yum.repos.d/CentOS-CR.repo
/etc/yum.repos.d/CentOS-Debuginfo.repo
/etc/yum.repos.d/CentOS-Media.repo
/etc/yum.repos.d/CentOS-Sources.repo
/etc/yum.repos.d/CentOS-Vault.repo
/etc/yum.repos.d/CentOS-fasttrack.repo
/usr/bin/yum-config-manager
/var/cache/yum/x86_64/7/base
/var/cache/yum/x86_64/7/base/gen
/var/cache/yum/x86_64/7/base/packages
/var/cache/yum/x86_64/7/extras
/var/cache/yum/x86_64/7/extras/gen
/var/cache/yum/x86_64/7/extras/packages
/var/cache/yum/x86_64/7/updates
/var/cache/yum/x86_64/7/updates/gen
/var/cache/yum/x86_64/7/updates/packages
/var/lib/yum/repos/x86_64/7/base
/var/lib/yum/repos/x86_64/7/extras
/var/lib/yum/repos/x86_64/7/updates
which: no subscription-manager in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
which: no subscription-manager in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
which: no subscription-manager in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
which: no subscription-manager in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
which: no subscription-manager in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
/usr/lib64/python2.7/lib-dynload/_bisectmodule.so
/usr/lib64/python2.7/lib-dynload/_collectionsmodule.so
/usr/lib64/python2.7/lib-dynload/_ctypes.so
/usr/lib64/python2.7/lib-dynload/_curses.so
/usr/lib64/python2.7/lib-dynload/_elementtree.so
/usr/lib64/python2.7/lib-dynload/_functoolsmodule.so
/usr/lib64/python2.7/lib-dynload/_hashlib.so
/usr/lib64/python2.7/lib-dynload/_heapq.so
/usr/lib64/python2.7/lib-dynload/_io.so
/usr/lib64/python2.7/lib-dynload/_localemodule.so
/usr/lib64/python2.7/lib-dynload/_randommodule.so
/usr/lib64/python2.7/lib-dynload/_socketmodule.so
/usr/lib64/python2.7/lib-dynload/_sqlite3.so
/usr/lib64/python2.7/lib-dynload/_ssl.so
/usr/lib64/python2.7/lib-dynload/_struct.so
/usr/lib64/python2.7/lib-dynload/arraymodule.so
/usr/lib64/python2.7/lib-dynload/binascii.so
/usr/lib64/python2.7/lib-dynload/bz2.so
/usr/lib64/python2.7/lib-dynload/cPickle.so
/usr/lib64/python2.7/lib-dynload/cStringIO.so
/usr/lib64/python2.7/lib-dynload/datetime.so
/usr/lib64/python2.7/lib-dynload/fcntlmodule.so
/usr/lib64/python2.7/lib-dynload/grpmodule.so
/usr/lib64/python2.7/lib-dynload/itertoolsmodule.so
/usr/lib64/python2.7/lib-dynload/math.so
/usr/lib64/python2.7/lib-dynload/operator.so
/usr/lib64/python2.7/lib-dynload/pyexpat.so
/usr/lib64/python2.7/lib-dynload/selectmodule.so
/usr/lib64/python2.7/lib-dynload/stropmodule.so
/usr/lib64/python2.7/lib-dynload/termios.so
/usr/lib64/python2.7/lib-dynload/timemodule.so
/usr/lib64/python2.7/lib-dynload/zlibmodule.so
/usr/lib64/python2.7/site-packages/_sqlitecache.so
/usr/lib64/python2.7/site-packages/gpgme/_gpgme.so
/usr/lib64/python2.7/site-packages/lzma.so
/usr/lib64/python2.7/site-packages/pycurl.so
/usr/lib64/python2.7/site-packages/rpm/_rpm.so
/usr/lib64/python2.7/site-packages/rpm/_rpmb.so
/usr/lib64/python2.7/site-packages/rpm/_rpms.so
which: no xattr.so in (/usr/lib64/python2.7/site-packages)
which: no xattr.so in (/usr/lib64/python2.7/site-packages)
ldd: warning: you do not have execution permission for `/usr/lib64/python2.7/site-packages/xattr.so'
/usr/lib64/python2.7/site-packages/xattr.so
which: no xattr.so in (/usr/lib64/python2.7/site-packages)
which: no xattr.so in (/usr/lib64/python2.7/site-packages)
/usr/lib64/libc-2.17.so
/usr/lib64/libdl-2.17.so
/usr/lib64/libnss_files-2.17.so
/usr/lib64/libtinfo.so.5.9
/usr/lib64/libattr.so.1.1.0
/usr/lib64/libcap.so.2.22
/usr/lib64/libcrypto.so.1.0.2k
/usr/lib64/libidn.so.11.6.11
/usr/lib64/libm-2.17.so
/usr/lib64/libresolv-2.17.so
/usr/lib64/libz.so.1.2.7
/usr/lib64/libpcre.so.1.2.0
/usr/lib64/libpthread-2.17.so
/usr/lib64/libselinux.so.1
/usr/lib64/libacl.so.1.1.0
/usr/lib64/libassuan.so.0.4.0
/usr/lib64/libaudit.so.1.0.0
/usr/lib64/libbz2.so.1.0.6
/usr/lib64/libcap-ng.so.0.0.0
/usr/lib64/libcom_err.so.2.1
/usr/lib64/libcrypt-2.17.so
/usr/lib64/libcurl.so.4.3.0
/usr/lib64/libdb-5.3.so
/usr/lib64/libelf-0.172.so
/usr/lib64/libffi.so.6.0.1
/usr/lib64/libfreebl3.so
which: no libfreeblpriv3.chk in (/usr/lib64)
which: no libfreeblpriv3.chk in (/usr/lib64)
/usr/lib64/libfreeblpriv3.chk
which: no libfreeblpriv3.chk in (/usr/lib64)
which: no libfreeblpriv3.chk in (/usr/lib64)
/usr/lib64/libfreeblpriv3.so
/usr/lib64/libglib-2.0.so.0.5600.1
/usr/lib64/libgpg-error.so.0.10.0
/usr/lib64/libgpgme.so.11.8.1
/usr/lib64/libgssapi_krb5.so.2.2
/usr/lib64/libk5crypto.so.3.1
/usr/lib64/libkeyutils.so.1.5
/usr/lib64/libkrb5.so.3.3
/usr/lib64/libkrb5support.so.0.1
/usr/lib64/liblber-2.4.so.2.10.7
/usr/lib64/libldap-2.4.so.2.10.7
/usr/lib64/liblua-5.1.so
/usr/lib64/liblzma.so.5.2.2
/usr/lib64/libmagic.so.1.0.0
/usr/lib64/libncursesw.so.5.9
/usr/lib64/libnspr4.so
/usr/lib64/libnss3.so
/usr/lib64/libnssutil3.so
/usr/lib64/libplc4.so
/usr/lib64/libplds4.so
/usr/lib64/libpopt.so.0.0.0
/usr/lib64/libpython2.7.so.1.0
/usr/lib64/librpm.so.3.2.2
/usr/lib64/librpmbuild.so.3.2.2
/usr/lib64/librpmio.so.3.2.2
/usr/lib64/librpmsign.so.1.2.2
/usr/lib64/librt-2.17.so
/usr/lib64/libsasl2.so.3.0.0
/usr/lib64/libsmime3.so
which: no libsoftokn3.chk in (/usr/lib64)
which: no libsoftokn3.chk in (/usr/lib64)
/usr/lib64/libsoftokn3.chk
which: no libsoftokn3.chk in (/usr/lib64)
which: no libsoftokn3.chk in (/usr/lib64)
/usr/lib64/libsoftokn3.so
/usr/lib64/libsqlite3.so.0.8.6
/usr/lib64/libssh2.so.1.0.1
/usr/lib64/libssl.so.1.0.2k
/usr/lib64/libssl3.so
/usr/lib64/libutil-2.17.so
/usr/lib64/libxml2.so.2.9.1
/usr/lib64/libexpat.so.1.6.0
which: no lib-dynload in (/usr/lib64/python2.7)
/usr/lib64/python2.7/lib-dynload
/usr/lib64/libnss_dns-2.17.so
/usr/lib64/ld-2.17.so
/etc/inputrc
/usr/lib64/python2.7/lib-dynload
/usr/lib64/python2.7/lib-dynload/readline.so
/usr/lib64/libreadline.so.6.2
ldconfig recreated
test:latest
-bash-4.2$ docker run -it test:latest bash
bash-4.2# yum repolist all
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors

  • base: ewr.edge.kernel.org
  • extras: mirror.cc.columbia.edu
  • updates: mirror.atlanticmetro.net
    base | 3.6 kB 00:00:00
    extras | 3.4 kB 00:00:00
    updates | 3.4 kB 00:00:00
    Traceback (most recent call last):
    File "/usr/bin/yum", line 29, in
    yummain.user_main(sys.argv[1:], exit_code=True)
    File "/usr/share/yum-cli/yummain.py", line 375, in user_main
    errcode = main(args)
    File "/usr/share/yum-cli/yummain.py", line 184, in main
    result, resultmsgs = base.doCommands()
    File "/usr/share/yum-cli/cli.py", line 585, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
    File "/usr/share/yum-cli/yumcommands.py", line 2154, in doCommand
    base.repos.populateSack()
    File "/usr/lib/python2.7/site-packages/yum/repos.py", line 347, in populateSack
    self.doSetup()
    File "/usr/lib/python2.7/site-packages/yum/repos.py", line 157, in doSetup
    self.retrieveAllMD()
    File "/usr/lib/python2.7/site-packages/yum/repos.py", line 107, in retrieveAllMD
    urlgrabber.grabber.parallel_wait()
    File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2392, in parallel_wait
    start(opts, 1)
    File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2233, in start
    dl.start(opts)
    File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2170, in start
    dl = _ExternalDownloader()
    File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 2089, in init
    stdout = subprocess.PIPE,
    File "/usr/lib64/python2.7/subprocess.py", line 711, in init
    errread, errwrite)
    File "/usr/lib64/python2.7/subprocess.py", line 1326, in _execute_child
    child_exception = pickle.loads(data)
    File "/usr/lib64/python2.7/pickle.py", line 1382, in loads
    return Unpickler(file).load()
    File "/usr/lib64/python2.7/pickle.py", line 858, in load
    dispatchkey
    File "/usr/lib64/python2.7/pickle.py", line 971, in load_string
    self.append(rep.decode("string-escape"))
    LookupError: unknown encoding: string-escape

Hi,

sorry for the delay...

as a general rule, if an execution is not working as expected, it is better to try to include it for analysis in minicon. In your case, you can add -E 'yum repolist all' to the commandline.

Also, when having errors (but also to minimize the filesystem), it is better to know how the needed apps work. In this case, you need to know a bit about yum.

I have tried your particular case several times and it seems that there are some times that yum needs to change the string encoding because it tries to guess the fastest repository and the names vary. So you need to include the folder in which the several encodings are included (/usr/lib64/python2.7/encondings).

Moreover, if you simply add the commandline, it will also keep in the resulting filesystem the cache information generated by yum. So it is better to get rid of the folder /var/cache/yum/

Your final commandline will be:

$ minidock --yum -i centosbase:latest -t test:latest -E rm -E ping -E bash -E ip -E id -E cat -E ls -E mkdir -E grep -E yum -E vi -E sh -E yum-config-manager -E subscription-manager -E 'ping -c 1 www.google.es' -E 'yum repolist all' -e /var/cache/yum/ -I /usr/lib64/python2.7/encodings

Any of the tests using the resulting images are working and the size of the resulting image is 62.7MB

NOTE: My tests have been made using the new release of minicon: 1.4-2

@srisakthigajapathy can you please try it?

Hi,

sorry for the delay...

as a general rule, if an execution is not working as expected, it is better to try to include it for analysis in minicon. In your case, you can add -E 'yum repolist all' to the commandline.

Also, when having errors (but also to minimize the filesystem), it is better to know how the needed apps work. In this case, you need to know a bit about yum.

I have tried your particular case several times and it seems that there are some times that yum needs to change the string encoding because it tries to guess the fastest repository and the names vary. So you need to include the folder in which the several encodings are included (/usr/lib64/python2.7/encondings).

Moreover, if you simply add the commandline, it will also keep in the resulting filesystem the cache information generated by yum. So it is better to get rid of the folder /var/cache/yum/

Your final commandline will be:

$ minidock --yum -i centosbase:latest -t test:latest -E rm -E ping -E bash -E ip -E id -E cat -E ls -E mkdir -E grep -E yum -E vi -E sh -E yum-config-manager -E subscription-manager -E 'ping -c 1 www.google.es' -E 'yum repolist all' -e /var/cache/yum/ -I /usr/lib64/python2.7/encodings

Any of the tests using the resulting images are working and the size of the resulting image is 62.7MB

NOTE: My tests have been made using the new release of minicon: 1.4-2

@srisakthigajapathy can you please try it?

Yes it is working perfectly. Thanks for that.