Menu

#5017 Perl module installed via dpkg on openSUSE system

1.850
open
nobody
None
5
2017-09-25
2017-09-18
No

Hi Jamie, I did a fresh install of webmin on my vServer which is running openSUSE Leap 42.3. To get IPv6 connectivity, I want to install the Socket6 Perl module. I get

Installing package(s) with command apt-get -y -f install perl(Socket6) ..

sh: dpkg: command not found

.. install failed!

Of course it fails, there is neither apt-get nor dpkg on an openSUSE system. The correct call would be "zypper -n install 'perl(Socket6)'", which runs fine when installed manually.
BTW, the operating system's name is spelled "SuSE Linux 42.3" in Webmin, but it should be "openSUSE Leap 42.3". The spelling "SuSE" is invalid for 10+ years now ;)
The recommended modules aren't installable via Webmin as well, because of just the same error. Where can I configure thes software to be used on installing? I guess the self-update of Webmin will fail for the same reason, too.

Discussion

  • Jamie Cameron

    Jamie Cameron - 2017-09-19

    So has SUSE implemented it's own package installer separate from YUM and APT? I didn't know about that..

     
  • Werner Flamme

    Werner Flamme - 2017-09-19

    LOL webmin running on SUSE Linux Enterprise Server uses rpm when updating. There is no problem installing additional perl modules on SLES (apart from the usual errors like missing header files). As I startet using S.u.S.E., they already had rpm, not dpkg, and the first version zypper has been introduced with SLES 10, some years ago. I do not understand at all why this installation tries to run apt-get and dpkg on a SUSE host.
    My other hosts running openSUSE have no problems as well, so there must be something wrong with just this single installation (from the yum repo as described on http://www.webmin.com/rpm.html), just using "zypper install webmin" instead of the last "yum install webmin". The SUSE part on https://doxfer.webmin.com/Webmin/Installation was written by me (topmost entry in the history).

     
  • Werner Flamme

    Werner Flamme - 2017-09-22

    So, where can I set rpm as package installer now?

    # grep -rin rpm /etc/webmin/*
    /etc/webmin/pam/config:4:ignore=README .*\.rpmsave
    /etc/webmin/software/config:1:package_system=rpm
    /etc/webmin/uninstall.sh:6:     echo "Removing webmin RPM .."
    /etc/webmin/uninstall.sh:7:     rpm -e --nodeps webmin
    # grep -rin apt /etc/webmin/*
    /etc/webmin/software/config:2:apt_mode=0
    # grep -rin yum /etc/webmin/*
    /etc/webmin/cpan/config:1:incyum=1
    
     
  • Jamie Cameron

    Jamie Cameron - 2017-09-23

    So the problem here is that becuase yum is not installed but apt-get is, Webmin assumes that you're using the APT packaging system.

    Is zapper compatible with yum in terms of the command-line flags and syntax? If so, it should be easy to support.

     
  • Werner Flamme

    Werner Flamme - 2017-09-25

    For some reason, the package zypper-aptitude has been installed as a dependency, and this package provides /usr/bin/apt-get. I removed this packed now.
    I do not know yum too well, but I think that zypper does a lot more ;) Do you recognize the respective yum commands from the following overview?

    # LANG=C zypper help
      Usage:
            zypper [--global-options] <command> [--command-options] [arguments]
            zypper <subcommand> [--command-options] [arguments]
    
      Global Options:
            --help, -h              Help.
            --version, -V           Output the version number.
            --promptids             Output a list of zypper's user prompts.
            --config, -c <file>     Use specified config file instead of the default.
            --userdata <string>     User defined transaction id used in history and plugins.
            --quiet, -q             Suppress normal output, print only error
                                    messages.
            --verbose, -v           Increase verbosity.
            --color
            --no-color              Whether to use colors in output if tty supports it.
            --no-abbrev, -A         Do not abbreviate text in tables.
            --table-style, -s       Table style (integer).
            --non-interactive, -n   Do not ask anything, use default answers
                                    automatically.
            --non-interactive-include-reboot-patches
                                    Do not treat patches as interactive, which have
                                    the rebootSuggested-flag set.
            --xmlout, -x            Switch to XML output.
            --ignore-unknown, -i    Ignore unknown packages.
    
            --reposd-dir, -D <dir>  Use alternative repository definition file
                                    directory.
            --cache-dir, -C <dir>   Use alternative directory for all caches.
            --raw-cache-dir <dir>   Use alternative raw meta-data cache directory.
            --solv-cache-dir <dir>  Use alternative solv file cache directory.
            --pkg-cache-dir <dir>   Use alternative package cache directory.
    
         Repository Options:
            --no-gpg-checks         Ignore GPG check failures and continue.
            --gpg-auto-import-keys  Automatically trust and import new repository
                                    signing keys.
            --plus-repo, -p <URI>   Use an additional repository.
            --plus-content <tag>    Additionally use disabled repositories providing a specific keyword.
                                    Try '--plus-content debug' to enable repos indicating to provide debug packages.
            --disable-repositories  Do not read meta-data from repositories.
            --no-refresh            Do not refresh the repositories.
            --no-cd                 Ignore CD/DVD repositories.
            --no-remote             Ignore remote repositories.
            --releasever            Set the value of $releasever in all .repo files (default: distribution version)
    
         Target Options:
            --root, -R <dir>        Operate on a different root directory.
            --disable-system-resolvables
                                    Do not read installed packages.
    
      Commands:
            help, ?                 Print help.
            shell, sh               Accept multiple commands at once.
    
         Repository Management:
            repos, lr               List all defined repositories.
            addrepo, ar             Add a new repository.
            removerepo, rr          Remove specified repository.
            renamerepo, nr          Rename specified repository.
            modifyrepo, mr          Modify specified repository.
            refresh, ref            Refresh all repositories.
            clean                   Clean local caches.
    
         Service Management:
            services, ls            List all defined services.
            addservice, as          Add a new service.
            modifyservice, ms       Modify specified service.
            removeservice, rs       Remove specified service.
            refresh-services, refs  Refresh all services.
    
         Software Management:
            install, in             Install packages.
            remove, rm              Remove packages.
            verify, ve              Verify integrity of package dependencies.
            source-install, si      Install source packages and their build
                                    dependencies.
            install-new-recommends, inr
                                    Install newly added packages recommended
                                    by installed packages.
    
         Update Management:
            update, up              Update installed packages with newer versions.
            list-updates, lu        List available updates.
            patch                   Install needed patches.
            list-patches, lp        List needed patches.
            dist-upgrade, dup       Perform a distribution upgrade.
            patch-check, pchk       Check for patches.
    
         Querying:
            search, se              Search for packages matching a pattern.
            info, if                Show full information for specified packages.
            patch-info              Show full information for specified patches.
            pattern-info            Show full information for specified patterns.
            product-info            Show full information for specified products.
            patches, pch            List all available patches.
            packages, pa            List all available packages.
            patterns, pt            List all available patterns.
            products, pd            List all available products.
            what-provides, wp       List packages providing specified capability.
    
         Package Locks:
            addlock, al             Add a package lock.
            removelock, rl          Remove a package lock.
            locks, ll               List current package locks.
            cleanlocks, cl          Remove unused locks.
    
         Other Commands:
            versioncmp, vcmp        Compare two version strings.
            targetos, tos           Print the target operating system ID string.
            licenses                Print report about licenses and EULAs of
                                    installed packages.
            download                Download rpms specified on the commandline to a local directory.
            source-download         Download source rpms for all installed packages
                                    to a local directory.
    
         Subcommands:
            subcommand              Lists available subcommands.
    
    Type 'zypper help <command>' to get command-specific help.
    

    Well, for example "yum install" and "zypper install" (or "zypper in") should do the same thing. I don't know what other options you use inside webmin. A "yum check-update" may be the same as "zypper lu", "yum makecache" may be the same as "zypper ref". "zypper update" updates all available packages (like "yum update"), while "zypper patch" only pulls in the security patches from the official update repo.

     
  • Jamie Cameron

    Jamie Cameron - 2017-09-25

    As a hack, to test if it's compatible, you could run ln -s /usr/bin/zypper /usr/bin/yum

     

Log in to post a comment.