I typed:
zypper --root /PATH/TO/ROOTFS in -t pattern --help
…hoping to get the other options beside minimal_base, where can I find the doc’s listing the other options available?
I typed:
zypper --root /PATH/TO/ROOTFS in -t pattern --help
…hoping to get the other options beside minimal_base, where can I find the doc’s listing the other options available?
It is a pity you do only show the command and not what was the result. Please always copy/paste complete starting with the line that has the prompt and the command, all output and ending with the line with the new prompt. This to help people that can not read minds to get the full insight in what you did as whom, where and what you got.
In any case, when I read
man zypper
I see that --help is a global option. Thus, like the --root, that is also a global option, it should be before the zypper command itself (which is “in” in your case). So IMHO this is a syntax error.
That would help, I keep thinking what I want to type, more than actually typing what I’m thinking. :shame:
Here we go:
susewslap:/srv/opensuse15.2 # zypper --root /srv/opensuse15.2 in -t pattern --help
install (in) [OPTIONS] <CAPABILITY|RPM_FILE_URI> ...
Install packages with specified capabilities or RPM files with specified location. A capability is
NAME.ARCH][OP<VERSION>], where OP is one of <, <=, =, >=, >.
Command options:
-t, --type <TYPE> Type of package (package, patch, pattern, product).
-n, --name Select packages by plain name, not by capability. Default: false
-C, --capability Select packages solely by capability. Default: false
--details Show the detailed installation summary. Default: false
--from <ALIAS|#|URI> Select packages from the specified repository.
--oldpackage Allow to replace a newer item with an older one. Handy if you are doing
a rollback. Unlike --force it will not enforce a reinstall. Default:
false
--allow-unsigned-rpm Silently install unsigned rpm packages given as commandline parameters.
Default: false
-f, --force Install even if the item is already installed (reinstall), downgraded or
changes vendor or architecture. Default: false
-r, --repo <ALIAS|#|URI> Work only with the specified repository.
-y, --no-confirm Don't require user interaction. Alias for the --non-interactive global
option. Default: false
-D, --dry-run Don't change anything, just report what would be done. A meaningful file
conflict check can only be performed if used together with
'--download-only'. Default: false
--replacefiles Install the packages even if they replace files from other, already
installed, packages. Default is to treat file conflicts as an error.
--download-as-needed disables the fileconflict check. Default: false
-l, --auto-agree-with-licenses
Automatically say 'yes' to third party license confirmation prompt. See
'man zypper' for more details. Default: false
--download <MODE> Set the download-install mode. Available modes: only, in-advance,
in-heaps, as-needed Default: DownloadDefault
-d, --download-only Only download the packages, do not install.
Solver options
--debug-solver Create a solver test case for debugging.
--force-resolution Force the solver to find a solution (even an aggressive one) rather than
asking.
-R, --no-force-resolution Do not force the solver to find a solution, let it ask.
--solver-focus <MODE> Set the solvers general attitude when resolving a job.
--recommends Install also recommended packages in addition to the required ones.
--no-recommends Do not install recommended packages, only required ones.
Expert options
--allow-downgrade
--no-allow-downgrade Whether to allow downgrading installed resolvables.
--allow-name-change
--no-allow-name-change Whether to allow changing the names of installed resolvables.
--allow-arch-change
--no-allow-arch-change Whether to allow changing the architecture of installed resolvables.
--allow-vendor-change
--no-allow-vendor-change
Whether to allow changing the vendor of installed resolvables.
Thanks for showing the complete action. It still wonder what you are trying to get. When you only want documentation (what --help gives) then why are you adding the --root option. The documentation will be the same regardless what zypper sees as it’s file tree root. When you just want the help about the zypper instal/in command, why not simply
boven:~ # zypper --help in
install (in) [OPTIONS] <CAPABILITY|RPM_FILE_URI> ...
Install packages with specified capabilities or RPM files with specified location. A capability is
NAME.ARCH][OP<VERSION>], where OP is one of <, <=, =, >=, >.
Command options:
-t, --type <TYPE> Type of package (package, patch, pattern, product).
-n, --name Select packages by plain name, not by capability. Default: false
-C, --capability Select packages solely by capability. Default: false
--details Show the detailed installation summary. Default: false
--from <ALIAS|#|URI> Select packages from the specified repository.
--oldpackage Allow to replace a newer item with an older one. Handy if you are doing
a rollback. Unlike --force it will not enforce a reinstall. Default:
false
--allow-unsigned-rpm Silently install unsigned rpm packages given as commandline parameters.
Default: false
-f, --force Install even if the item is already installed (reinstall), downgraded or
changes vendor or architecture. Default: false
-r, --repo <ALIAS|#|URI> Work only with the specified repository.
-y, --no-confirm Don't require user interaction. Alias for the --non-interactive global
option. Default: false
-D, --dry-run Don't change anything, just report what would be done. A meaningful file
conflict check can only be performed if used together with
'--download-only'. Default: false
--replacefiles Install the packages even if they replace files from other, already
installed, packages. Default is to treat file conflicts as an error.
--download-as-needed disables the fileconflict check. Default: false
-l, --auto-agree-with-licenses
Automatically say 'yes' to third party license confirmation prompt. See
'man zypper' for more details. Default: false
--download <MODE> Set the download-install mode. Available modes: only, in-advance,
in-heaps, as-needed Default: DownloadDefault
-d, --download-only Only download the packages, do not install.
Solver options
--debug-solver Create a solver test case for debugging.
--force-resolution Force the solver to find a solution (even an aggressive one) rather than
asking.
-R, --no-force-resolution Do not force the solver to find a solution, let it ask.
--solver-focus <MODE> Set the solvers general attitude when resolving a job.
--recommends Install also recommended packages in addition to the required ones.
--no-recommends Do not install recommended packages, only required ones.
Expert options
--allow-downgrade
--no-allow-downgrade Whether to allow downgrading installed resolvables.
--allow-name-change
--no-allow-name-change Whether to allow changing the names of installed resolvables.
--allow-arch-change
--no-allow-arch-change Whether to allow changing the architecture of installed resolvables.
--allow-vendor-change
--no-allow-vendor-change
Whether to allow changing the vendor of installed resolvables.
boven:~ #
Or using the zypper help command, with gives the same
boven:~ # zypper help in
install (in) [OPTIONS] <CAPABILITY|RPM_FILE_URI> ...
Install packages with specified capabilities or RPM files with specified location. A capability is
NAME.ARCH][OP<VERSION>], where OP is one of <, <=, =, >=, >.
Command options:
-t, --type <TYPE> Type of package (package, patch, pattern, product).
-n, --name Select packages by plain name, not by capability. Default: false
-C, --capability Select packages solely by capability. Default: false
--details Show the detailed installation summary. Default: false
--from <ALIAS|#|URI> Select packages from the specified repository.
--oldpackage Allow to replace a newer item with an older one. Handy if you are doing
a rollback. Unlike --force it will not enforce a reinstall. Default:
false
--allow-unsigned-rpm Silently install unsigned rpm packages given as commandline parameters.
Default: false
-f, --force Install even if the item is already installed (reinstall), downgraded or
changes vendor or architecture. Default: false
-r, --repo <ALIAS|#|URI> Work only with the specified repository.
-y, --no-confirm Don't require user interaction. Alias for the --non-interactive global
option. Default: false
-D, --dry-run Don't change anything, just report what would be done. A meaningful file
conflict check can only be performed if used together with
'--download-only'. Default: false
--replacefiles Install the packages even if they replace files from other, already
installed, packages. Default is to treat file conflicts as an error.
--download-as-needed disables the fileconflict check. Default: false
-l, --auto-agree-with-licenses
Automatically say 'yes' to third party license confirmation prompt. See
'man zypper' for more details. Default: false
--download <MODE> Set the download-install mode. Available modes: only, in-advance,
in-heaps, as-needed Default: DownloadDefault
-d, --download-only Only download the packages, do not install.
Solver options
--debug-solver Create a solver test case for debugging.
--force-resolution Force the solver to find a solution (even an aggressive one) rather than
asking.
-R, --no-force-resolution Do not force the solver to find a solution, let it ask.
--solver-focus <MODE> Set the solvers general attitude when resolving a job.
--recommends Install also recommended packages in addition to the required ones.
--no-recommends Do not install recommended packages, only required ones.
Expert options
--allow-downgrade
--no-allow-downgrade Whether to allow downgrading installed resolvables.
--allow-name-change
--no-allow-name-change Whether to allow changing the names of installed resolvables.
--allow-arch-change
--no-allow-arch-change Whether to allow changing the architecture of installed resolvables.
--allow-vendor-change
--no-allow-vendor-change
Whether to allow changing the vendor of installed resolvables.
boven:~ #
Then you say you want to find out about “other options then minimal_base”, but minimal_base is not in the help output above, nor can I find it in the man page. Thus please explain where you found that option.
Then as last I wonder about your thread title. I do not think that zypper ever creates a root file system. But maybe your definition of “root file system” differs from mine.
I also find this thread a little confusing, because the OP has not been clear on what he is trying to do.
Yes, zypper does have a “–root” option. I used that once for a rescue. I had a system with a broken “zypper” after a bad update. So I booted from rescue media, then mounted the broken system. I ran “zypper” from the rescue system, because that was not broken. I used the “–root” option, where “–root” pointed to the broken system. That way I was using the good zypper from the rescue system to update the broken system. And I then proceeded to reinstall “zypper” on that broken system. It worked well.
I presume that the installer does something similar for an initial install. The installer creates the file system, mounts it, and then presumably run “zypper --root” on the installer system to create the newly installed system. And I think that’s what the OP is trying to do. I have never actually tried that. Presumably he has to list some pattern files to install, and have those patterns pull in everything else.
Maybe the OP is just asking for the names of starter patterns. If that’s what he wants we could look up at our own installed system and try to guess. I think there’s a pattern with “dvd” as part of the name, but which only exists on the DVD. And then there’s a pattern with “ftp” as part of the name that is in the repos (but I would have to check for the full name).
In any case, we need more clarity from the OP.
In following, 32.1 Setting Up LXC Distribution Containers | PROCEDURE 32.1: CREATING A ROOT FILE SYSTEM, its using zypper to create the file system for the container(s). The 3rd step say:
I wanted to see if their are other options available other than this one, because I want to experiment with a full install of a Server or Desktop OS. Beside the minimal_base doesn’t install Yast so I can build what I want:
container1:~ # zypper info yast2
Loading repository data...
Reading installed packages...
Information for package yast2:
------------------------------
Repository : Update-OSS
Name : yast2
Version : 4.2.92-lp152.2.22.1
Arch : x86_64
Vendor : openSUSE
Installed Size : 2.4 MiB
Installed : No
Status : not installed
Source package : yast2-4.2.92-lp152.2.22.1.src
Summary : YaST2 Main Package
Description :
This package contains scripts and data needed for SUSE Linux
installation with YaST2
…and when I try to install Yast2:
container1:~ # zypper in yast2
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 60 NEW packages are going to be installed:
augeas expat hwinfo libjemalloc2 libx86emu3 libyui-ncurses11 libyui11
perl-CPAN-Changes perl-Devel-Symdump perl-Encode-Locale perl-File-Listing
perl-HTML-Parser perl-HTML-Tagset perl-HTTP-Cookies perl-HTTP-Daemon
perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-IO-HTML
perl-IO-Socket-SSL perl-LWP-MediaTypes perl-LWP-Protocol-https perl-Net-DBus
perl-Net-HTTP perl-Net-SSLeay perl-Pod-Coverage perl-Test-Pod
perl-Test-Pod-Coverage perl-TimeDate perl-Try-Tiny perl-URI
perl-WWW-RobotRules perl-X11-Protocol perl-XML-NamespaceSupport
perl-XML-Parser perl-XML-SAX perl-XML-SAX-Base perl-XML-SAX-Expat
perl-XML-Simple perl-XML-Twig perl-libwww-perl ruby
ruby2.5-rubygem-abstract_method ruby2.5-rubygem-cfa ruby2.5-rubygem-cheetah
ruby2.5-rubygem-fast_gettext ruby2.5-rubygem-ruby-augeas
ruby2.5-rubygem-ruby-dbus ruby2.5-rubygem-simpleidn xdg-utils yast2 yast2-core
yast2-hardware-detection yast2-logs yast2-perl-bindings yast2-pkg-bindings
yast2-ruby-bindings yast2-snapper yast2-xml yast2-ycp-ui-bindings
The following 5 recommended packages were automatically selected:
perl-HTTP-Message perl-LWP-Protocol-https perl-TimeDate perl-libwww-perl
xdg-utils
60 new packages to install.
Overall download size: 7.4 MiB. Already cached: 0 B. After the operation,
additional 24.7 MiB will be used.
Continue? [y/n/v/...? shows all options] (y):
Retrieving package augeas-1.10.1-lp152.3.7.x86_64
(1/60), 94.6 KiB (205.1 KiB unpacked)
Media source 'http://download.opensuse.org/distribution/leap/15.2/repo/oss/' does not contain the desired medium
History:
- Download (curl) error for 'http://download.opensuse.org/distribution/leap/15.2/repo/oss/media.1/media':
Error code: Connection failed
Error message: Could not resolve host: download.opensuse.org
Abort, retry, ignore? [a/r/i/...? shows all options] (a):
I don’t know where to go from here.
My QEMU/KVM NIC:
<interface type=“network”>
<mac address=“00:16:3e:ec:c2:ce”/>
<source network=“default” portid=“abb1d4f8-73d9-40f2-b728-95d9bbe28d71” bridge=“virbr0”/>
<target dev=“vnet1”/>
<guest dev=“eth0”/>
</interface>
This tells me the default NIC is not working, so does this mean I have to do this step “PROCEDURE 32.3: CONFIGURING IP ADDRESSES FOR NETWORK INTERFACES” in order to get this working? I’m guessing yes.
OK, thus minimal_base is not what is called an option (for the command), it is a name for a Pattern that can be installed. And your question is if there are other Patterns (yes there are) that may be of interest to you for this case (that I do not know). In any case,* minimal_base* is the name of a Pattern and thus will not show as an option to any zypper command in the documentation/help of that command.
Like when you want to install a Package (default type for install), you will not find a list of all packages that may be available for installation in a --help list.
I gathered some information about the pattern minimal_base and available patterns. All on my Leap 15.2
boven:~ # zypper if -t pattern minimal_base
Retrieving repository 'Update (OSS)' metadata ................................................................[done]
Building repository 'Update (OSS)' cache .....................................................................[done]
Loading repository data...
Reading installed packages...
Information for pattern minimal_base:
-------------------------------------
Repository : Main (OSS)
Name : minimal_base
Version : 20171206-lp152.34.2
Arch : x86_64
Vendor : openSUSE
Installed : Yes (automatically)
Visible to User : No
Summary : Minimal Appliance Base
Description :
This is the minimal openSUSE runtime system. It is really a minimal system, you can login and a shell will be
started, that's all. It is intended as base for Appliances.
Contents :
S | Name | Type | Dependency
---+----------------------------+---------+------------
i | aaa_base | package | Required
i | bash | package | Required
i | coreutils | package | Required
i | device-mapper | package | Required
....................
....................
(I skipped the rest of the packages list)
So yes, that is indeed minimal. Even so minimal that it is not “Visbile to User”.
Then I asked zypper for a list of patterns
boven:~ # zypper se -t pattern
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
---+------------------------------+----------------------------------------------------+--------
| 32bit | 32-Bit Runtime Environment | pattern
i | apparmor | AppArmor | pattern
i+ | base | Minimal Base System | pattern
| books | Documentation | pattern
| ceph_base | Ceph base | pattern
| console | Console Tools | pattern
| container_runtime | Container Runtime for non-clustered systems | pattern
| container_runtime_kubernetes | Container Runtime for kubernetes clustered systems | pattern
| devel_C_C++ | C/C++ Development | pattern
| devel_basis | Base Development | pattern
| devel_gnome | GNOME Development | pattern
| devel_java | Java Development | pattern
| devel_kde_frameworks | KDE Frameworks and Plasma Development | pattern
| devel_kernel | Linux Kernel Development | pattern
| devel_mono | .NET Development | pattern
| devel_osc_build | Tools for Packaging with Open Build Service | pattern
| devel_perl | Perl Development | pattern
| devel_python3 | Python 3 Developement | pattern
| devel_qt5 | Qt 5 Development | pattern
| devel_rpm_build | RPM Build Environment | pattern
| devel_ruby | Ruby Development | pattern
| devel_tcl | Tcl/Tk Development | pattern
| devel_web | Web Development | pattern
| devel_yast | YaST Development | pattern
| dhcp_dns_server | DHCP and DNS Server | pattern
| directory_server | Directory Server (LDAP) | pattern
| documentation | Help and Support Documentation | pattern
i | enhanced_base | Enhanced Base System | pattern
| enlightenment | Enlightenment | pattern
| file_server | File Server | pattern
i | fonts | Fonts | pattern
| games | Games | pattern
| gateway_server | Internet Gateway | pattern
| gnome | GNOME Desktop Environment (Wayland) | pattern
| gnome_basic | GNOME Desktop Environment (Basic) | pattern
| gnome_x11 | GNOME Desktop Environment (X11) | pattern
| hpc_compute_node | HPC Basic Compute Node | pattern
| hpc_development_node | HPC Development Packages | pattern
| hpc_libraries | HPC Modularized Libraries | pattern
| hpc_workload_server | HPC Workload Manager | pattern
| imaging | Graphics | pattern
| kde | KDE Applications and Plasma 5 Desktop | pattern
| kde_pim | KDE PIM Suite | pattern
| kde_plasma | KDE Plasma 5 Desktop Base | pattern
| kubeadm | kubeadm Stack | pattern
| kubernetes_utilities | Utilities to manage kubernetes | pattern
| kvm_server | KVM Host Server | pattern
| kvm_tools | KVM Virtualization Host and tools | pattern
i+ | lamp_server | Web and LAMP Server | pattern
| laptop | Laptop | pattern
| lxde | LXDE Desktop Environment | pattern
| lxqt | LXQt Desktop Environment | pattern
| mail_server | Mail and News Server | pattern
| mate | MATE Desktop Environment | pattern
| multimedia | Multimedia | pattern
| network_admin | Network Administration | pattern
| non_oss | Misc. Proprietary Packages | pattern
| office | Office Software | pattern
| print_server | Print Server | pattern
i | sw_management | Software Management | pattern
| technical_writing | Technical Writing | pattern
| update_test | Tests for the Update Stack | pattern
i+ | x11 | X Window System | pattern
| xen_server | Xen Virtual Machine Host Server | pattern
| xen_tools | XEN Virtualization Host and tools | pattern
| xfce | XFCE Desktop Environment | pattern
i | yast2_basis | YaST System Administration | pattern
For an extended search including not yet activated remote resources you may run 'zypper
search-packages' at any time.
Do you want to run 'zypper search-packages' now? [yes/no/always/never] (no):
boven:~ #
Indeed, minimal-base is not shown (not Visible to User). But there is pattern base:
boven:~ # zypper if -t pattern base
Loading repository data...
Reading installed packages...
Information for pattern base:
-----------------------------
Repository : Main (OSS)
Name : base
Version : 20171206-lp152.34.2
Arch : x86_64
Vendor : openSUSE
Installed : Yes
Visible to User : Yes
Summary : Minimal Base System
Description :
This is the base runtime system. It contains only a minimal multiuser booting system. For running on real
hardware, you need to add additional packages and pattern to make this pattern useful on its own.
Contents :
S | Name | Type | Dependency
---+----------------------------+---------+------------
i | kbd | package | Required
i | openssh | package | Required
i+ | patterns-base-base | package | Required
i | patterns-base-minimal_base | package | Required
i | polkit | package | Required
i | polkit-default-privs | package | Required
i | shadow | package | Required
i | util-linux | package | Required
i | which | package | Required
i | branding-openSUSE | package | Recommended
i | ca-certificates-mozilla | package | Recommended
i | chrony | package | Recommended
i | cron | package | Recommended
i | cronie | package | Recommended
i | grub2 | package | Recommended
i+ | shim | package | Recommended
i | systemd-sysvinit | package | Recommended
boven:~ #
which seems to include the pattern minimal-base.
Then for your error during installation of yast2.
I am not sure there, because first zypper seems to be able to find the package and also to find out what dependencies to add. Bit then it can not find
http://download.opensuse.org/distribution/leap/15.2/repo/oss/media.1/media. It exists, I can go there with Firefox.
Maybe show your repo list
zypper lr -d
You now unveiled a tiny bit of what you are trying to achieve. But It is general a bad idea to leave your potential helpers at a guess at what you are trying to do. I assume that what you are trying is not everybody’s hobby, even here. And I must confess that your explanation “32.1 Setting Up LXC Distribution Containers …” does not help me very much. You seem to expect that everybody here understand from this that the subject is very much clear and where to find the documentation you try to follow. I doubt.
Basically learning containers and how they will work in my environment, so walking through the guide I’m running into Pits Stop, which of course is normal, so for now I would like to just get a Web Server running inside a container and be able to access it normally as I would my main Web Server. So that’s my goal.
I notice:
container1:~ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
15: eth0@if16: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:16:3e:ec:c2:ce brd ff:ff:ff:ff:ff:ff link-netnsid 0
So I’m assuming this is the reason why I’m not able to connect to the download site.
Here we go:
ontainer1:~ # zypper lr -d
# | Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI | Service
--+------------+------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------+--------
1 | OSS | OSS | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/oss/ |
2 | Update-OSS | Update-OSS | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/update/leap/15.2/oss/ |
container1:~ #
I do not know much about containers (see how I am lured into your thread by not understanding whatthe subject is?).
Thus I will leave it to others who have more understanding about the mysterious Guide you seem to assume we have all before us.
One thing though. I am not sure, but shouldn’t the zypper lr -d not also have to be enriched with a --root … global option?
It’s the Virtualization Guide from openSUSE Documentation I’m using to walk me through this.
I’m just begging to learn this, so that would be a question I would like to know myself.
I found better documentation here “SUSE Linux Enterprise Server 15 SP2 / Container Guide” so if I run into any Pit Stops, is it okay to come here for question?
Not many people here have experience with SLES/SLED, but you can always try. It guess it is about the same problem as with what you are trying to achieve, not many people here are probably doing that. Thus in general, people will try to ask with the general knowledge they have in the hope that it helps.
Although I had an idea what you’re trying trying to do from your first post, my advice is that unless someone had experience setting up chroots and LXC, I don’t think they’d recognize the syntax of your command… So I recommend being more descriptive with what you’re setting up and your objective (what you expected vs what you experienced) to bring viewers up to date as quickly as possible from the beginning.
It appears to me that you seem to be creating a bare container of a very minimal base (possibly a JeOS) and now are attempting to install some of the most basic subsystems that are by default part of a standard openSUSE… like networking support and YaST.
My question is why you aren’t simply starting with a standard openSUSE container image which would be pretty close to a normal openSUSE install and already include networking support and YaST.
In fact, I’d ask why you’re not installing LXC containers using the YaST virtualization install module… That’s the fastest and best way to get set up using libvirt to manage your LXC containers.
And note that if you set up LXC without libvirt, that’s a very different animal and is no longer officially supported as the main, recommended way to set up LXC on openSUSE. You can do it, but then you shouldn’t be following SUSE/openSUSE documentation, maybe you can follow documentation at the LXC project. If you’re just experimenting and maybe not successful yet, I’d recommend you just remove everything you’ve done and start over by installing with the YaST module… Things will then pretty much run very intuitiveely (particularly if you’ve used vm manager before). If you have non-libvirt LXC installed and want to convert to the recommended setup, there is a conversion process… Looks like openSUSE removed or moved the original SDB but it can be found. Ask if you need it and can’t find it.
TSU