Patterns: A Quick Introduction

Patterns are files which contain a set of packages together with a description of what they are useful for. It can be used for a typical task or need in SUSE/openSUSE platforms. Patterns contains group of softwares to install. Pattern is something similar to “yum groupinstall” command that saves your time by installing group of software packages easily without having to install them manually one by one.

For example, you want to install LAMP (Apache, MySQL, PHP) Server. What will you do? First you have to install apache, then MySQL and finally PHP. This is such a time consuming process. Wouldn’t be nice if you did all the above tasks with one command? This is where Pattern comes in handy.

To install LAMP server in openSUSE, just enter the following single command:

 zypper -t pattern lamp_server

Cool, isn’t it? Just like this, you can install LDAP server, fileserver, dhcp server, dns server, mail server, internet gateway server, voip server, kvm server, development tools and much more in one command.

Search Patterns

To search list of available Patterns in openSUSE, enter the following command:

zypper se -t pattern

or

zypper search -t pattern

Sample output:

S | Name              | Summary                             | Type   
--+-------------------+-------------------------------------+--------
i | apparmor          | AppArmor                            | pattern
i | base              | Base System                         | pattern
  | books             | Documentation                       | pattern
  | console           | Console Tools                       | pattern
i | devel_C_C++       | C/C++ Development                   | pattern
i | devel_basis       | Base Development                    | pattern
  | devel_gnome       | GNOME Development                   | pattern
  | devel_ide         | Integrated Development Environments | pattern
  | devel_java        | Java Development                    | pattern
  | devel_kde         | KDE Development                     | pattern
  | devel_kernel      | Linux Kernel Development            | pattern
  | devel_mono        | .NET Development                    | pattern
i | devel_perl        | Perl Development                    | pattern
  | devel_python      | Python Development                  | pattern
  | devel_qt4         | Qt 4 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
  | e17               | Enlightment                         | pattern
i | enhanced_base     | Enhanced Base System                | pattern
  | file_server       | File Server                         | pattern
i | fonts             | Fonts                               | pattern
  | games             | Games                               | pattern
  | gateway_server    | Internet Gateway                    | pattern
  | gnome             | GNOME Desktop Environment           | pattern
  | gnome_basis       | GNOME Base System                   | pattern
i | imaging           | Graphics                            | pattern
  | kde4              | KDE4 Desktop Environment            | pattern
  | kde4_basis        | KDE4 Base System                    | pattern
  | kvm_server        | KVM Host Server                     | pattern
  | lamp_server       | Web and LAMP Server                 | pattern
i | laptop            | Laptop                              | pattern
i | lxde              | LXDE Desktop Environment            | pattern
  | mail_server       | Mail and News Server                | pattern
  | misc_server       | Miscellaneous Server                | pattern
i | multimedia        | Multimedia                          | pattern
  | network_admin     | Network Administration              | pattern
  | non_oss           | Misc. Proprietary Packages          | pattern
  | office            | Office Software                     | pattern
  | print_server      | Print Server                        | pattern
i | remote_desktop    | Remote Desktop                      | pattern
i | sw_management     | Software Management                 | pattern
  | tabletpc          | TabletPC                            | pattern
  | technical_writing | Technical Writing                   | pattern
  | voip              | Voice Over IP Clients               | pattern
  | webyast           | WebYaST                             | pattern
i | x11               | X Window System                     | pattern
  | xen_server        | Xen Virtual Machine Host Server     | pattern
  | xfce              | XFCE Desktop Environment            | pattern
  | xfce_basis        | XFCE Base System                    | pattern
  | yast2_basis       | YaST System Administration          | pattern
  | yast2_install_wf  | YaST Installation Packages          | pattern

Patterns Usage

Installing Pattern is easy as the way we install a single package.

Syntax:

zypper in -t pattern <pattern_name>

or

zypper install -t pattern <pattern_name>

Pattern Examples

To install DNCP and DNS Server:

zypper in -t pattern dhcp_dns_server

To install LDAP server:

zypper in -t pattern directory_server

To install build essentials (Development Tools):

zypper in -t pattern devel_C_C++

As see above, you don’t have to install all packages one by one. Pattern will do this for you. Just sit back and relax!

Cheers!