# openSUSE

# OpenSUSE specific

- [kde over ssh](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/kde-over-ssh)
- [Snapper](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/snapper)
- [Snapper PvdM](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/snapper-pvdm)
- [How to start qbittorrent](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/how-to-start-qbittorrent)
- [How to make the screen brightness keys work again in KDE](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/how-to-make-the-screen-brightness-keys-work-again-in-kde)
- [bluetooth](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/bluetooth)
- [journald](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/journald)
- [systemd journal log file setting](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/systemd-journal-log-file-setting)
- [KDE apps look ugly and missing icons over ssh](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/kde-apps-look-ugly-and-missing-icons-over-ssh)
- [KDE font settings](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/kde-font-settings)
- [things to clean up before doing large copy of entire system](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/things-to-clean-up-before-doing-large-copy-of-entire-system)
- [installing spotify on openSUSE 12.3](https://www.reeltoreel.nl/knowledgebase/books/archief/page/installing-spotify-on-opensuse-123)
- [fixing desktop freezes on large copies](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/fixing-desktop-freezes-on-large-copies)
- [A guide to using systemd](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/a-guide-to-using-systemd)
- [Things to do after a fresh installation of openSUSE 12.1](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/things-to-do-after-a-fresh-installation-of-opensuse-121)
- [Things to do after a fresh installation of openSUSE 11.4](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/things-to-do-after-a-fresh-installation-of-opensuse-114)
- [improve the font rendering - using subpixel hinting](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/improve-the-font-rendering-using-subpixel-hinting)
- [How to have the latest kernel in openSUSE](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/how-to-have-the-latest-kernel-in-opensuse)
- [Install openSUSE via SSH](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/install-opensuse-via-ssh)
- [Upgrading to KDE 4.5.0 on OS11.3](https://www.reeltoreel.nl/knowledgebase/books/archief/page/upgrading-to-kde-450-on-os113)
- [Upgrading the system to a newer version using zypper dup](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/upgrading-the-system-to-a-newer-version-using-zypper-dup)
- [Things to do after a fresh installation of OpenSUSE](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/things-to-do-after-a-fresh-installation-of-opensuse)
- [Repositories in openSUSE - The current state](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/repositories-in-opensuse-the-current-state)
- [Fixing CUPS login problems on SUSE](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/fixing-cups-login-problems-on-suse)
- [Speed up tips for (suse) linux installation](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/speed-up-tips-for-suse-linux-installation)
- [Problem w/ ZEN/rug/rpm database](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/problem-w-zenrugrpm-database)
- [installatie openftd in OpenSUSE 10.3](https://www.reeltoreel.nl/knowledgebase/books/archief/page/installatie-openftd-in-opensuse-103)
- [Speedup Package Management](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/speedup-package-management) &lt;- on opensuse 10.x
- [Install a PXE boot server on 11.1](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/install-a-pxe-boot-server-on-111)
- [monitor an OpenSUSE system](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/monitor-an-opensuse-system)
- [Install all updates using zypper](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/install-all-updates-using-zypper)
- [Install ATI/NVIDIA drivers in Opensuse 11](https://www.reeltoreel.nl/knowledgebase/books/archief/page/install-atinvidia-drivers-in-opensuse-11)
- [How to locally cache zypper update files](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/how-to-locally-cache-zypper-update-files)
- [Check and install media formats](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/check-and-install-media-formats)
- [boot options in suse grub](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/boot-options-in-suse-grub)
- [openSUSE 11.1: enable the KDE4.2 repos](openSUSE_11.1:_enable_the_KDE4.2_repos "wikilink")
- [Stop SSH brute force attacks](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/stop-ssh-brute-force-attacks)
- [codecs issues 11.1](https://www.reeltoreel.nl/knowledgebase/books/archief/page/codecs-issues-111)
- [Upgrade openSUSE 10.3 to 11.1 while the system is running using zypper dup](https://www.reeltoreel.nl/knowledgebase/books/archief/page/upgrade-opensuse-103-to-111-while-the-system-is-running-using-zypper-dup)
- [Best way to use GRUB in a multiboot system](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/best-way-to-use-grub-in-a-multiboot-system)
- [How to resue your system when the kernel won't boot](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/how-to-resue-your-system-when-the-kernel-wont-boot)
- [Fix suspend to RAM on a HP8530p EliteBook on OpenSUSE 11.2](https://www.reeltoreel.nl/knowledgebase/books/archief/page/fix-suspend-to-ram-on-a-hp8530p-elitebook-on-opensuse-112)
- [OpenSUSE 11.2 MP3 playback in Amarok](https://www.reeltoreel.nl/knowledgebase/books/archief/page/opensuse-112-mp3-playback-in-amarok)
- [Updating OpenSUSE in-place using zypper dup](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/updating-opensuse-in-place-using-zypper-dup)
- [KDE openSUSE repositories explained](https://www.reeltoreel.nl/knowledgebase/books/archief/page/kde-opensuse-repositories-explained)
- [Installation of openfire jabber xmpp server on openSUSE server](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/installation-of-openfire-jabber-xmpp-server-on-opensuse-server)
- [How to toggle compositing in KDE on the CLI command line](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/how-to-toggle-compositing-in-kde-on-the-cli-command-line)
- [KDE4.4 issues openSUSE 11.2](https://www.reeltoreel.nl/knowledgebase/books/archief/page/kde44-issues-opensuse-112)
- [Starting chromium as default browser in thunderbird](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/starting-chromium-as-default-browser-in-thunderbird)
- [IRC channel commands](https://www.reeltoreel.nl/knowledgebase/books/archief/page/irc-channel-commands)
- [icedtea error on starting java in browser](https://www.reeltoreel.nl/knowledgebase/books/archief/page/icedtea-error-on-starting-java-in-browser)
- [vlc crashes when switching interface to qt4](https://www.reeltoreel.nl/knowledgebase/books/archief/page/vlc-crashes-when-switching-interface-to-qt4)
- [smt](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/smt)

# Speed up tips for (suse) linux installation

Speed up Linux installation

Tip: Speeding up the install time on SUSE Linux Applies to:

`   * Novell Linux Desktop 9`  
`   * Open Enterprise Server`  
`   * SUSE Linux Professional 9.3`  
`   * SUSE Linux 10`  
`   * SUSE Linux Enterprise Server`

SYNOPSIS: hdparm - get/set hard disk parameters

DESCRIPTION:

This cool solution will show you how it is possible to speed up the install time of your CD-ROM installation of SUSE Linux by using Linux shell command hdparm. hdparm is an a command line interface to various ATA/IDE hard disk device drivers.1 Warning, 'hdparm' may force your system to use higher values without regards to your hardware's limitations. It is a risk to use this program improperly and may cause damage to your systems. Please use extreme caution and do not exceed your hardwares limitations. Additionally WE TAKE NO RESPONSIBILITY FOR DAMAGED HARDWARE OR CORRUPTED DATA.

Know bugs are listed on Source Forge's website see notes for information

The following steps are needed to use hdparm in the installation of your SuSE LINUX system. Please note that this command only works with IDE devices, CDROMS and Hard-drives.

- Place the SUSE Linux disk 1; the install cd in the CD-ROM and boot to that drive.
- On the first screen enter desired parameters you need to perform your specific SuSE LINUX installation.
- The next screen is the Licensing Screen; on this screen select the "I Agree" button.
- Next is the Language screen; on this screen choose your language and click "Accept".
- This is the bit we have been waiting for: This next screen is Installation Setting screen.
- Here we will drop into a shell prompt by using Ctrl+Alt+F2. This key combination will normally take you out of your Xwindow session and drop you into a terminal (tty2). Since we are in the process of installing SUSE LINUX, this key combination will take us away from the installation screen and drop you in to a terminal (tty2), or command prompt. Don't worry. Your installation is still there. You can return by using the Alt+F7.
- Once on the command line type:

`hdparm /dev/hda thenENTER`

You will see something similar to this.

`/dev/hda:`  
`multcount = 16 (on)`  
`IO_support = 0 (default 16-bit)`  
`unmaskirq = 0 (off)`  
`using_dma = 0 (off)`  
`keepsettings = 0 (off)`  
`readonly = 0 (off)`  
`readahead = 8 (on)`  
`geometry = 9726/255/63, sectors = 156250000, start =34523 `

- Notice the multcount is set to 16, using\_dma is set to off, and that the IO Support is set to 16 bit.
- Re-type the command:

`hdparm -c1 -d1 -m1 /dev/hda ENTER`

Comparing the differences from the last time, you should now see that mulcount is set to 1, or on, IO support is now 32 bit and.using\_dma is turned on.

`/dev/hda:`  
`multcount = 1 (on)`  
`IO_support = 1 (32-bit)`  
`unmaskirq = 0 (off)`  
`using_dma = 1 (on)`  
`keepsettings = 0 (off)`  
`readonly = 0 (off)`  
`readahead = 8 (on)`  
`geometry = 9726/255/63, sectors = 156250000, start = 0`

When you complete your desired changes to your devices, you can return to the installation screen by using the Alt+F7.

muticount -m is used to get or set the sector count for a device that supports multiple sector IO.

IO support -s is used to set the IO setting on a device. Most devices are set to use 16bit. By setting this to 1 it turns on 32bit IO for faster transfers of information.

Using\_dma -a by default this is turned off. DMA or Direct Memory Access is way to control system memory without using the CPU.

If you would like more information about hdparm; browse the official hdparm website at [http://sourceforge.net/projects/hdparm/](http://sourceforge.net/projects/hdparm/)or additional options may be found in the man pages. You now have the knowledge to decrease your installation times by exerting control over your IDE devices with the hdparm Linux shell command. If you have any questions about this Cool Solution, feel free to drop me an email anytime at tvickers@idltechnology.comDit e-mailadres wordt beschermd tegen spam bots, u heeft Javascript nodig om het te bekijken .

ABOUT THE AUTHOR:

Tony Vickers is the CTO and founder of IDL technology Group, Inc. IDL has been helping companies implement Enterprise Open Source Technologies since 1994. For more information, please visit us on the web located at www.idltechnology.com

Notes

1\. Lord, Mark and Leppikangas, Tomi. "hdparm(8)." (Linux man page, 2005), 1.

Barr, Joe. "Hdparm and the Zen of data transfer Monday December," Enterprise Linux on the web, 07 October 2005.

&lt;[http://enterprise.linux.com/article.pl?sid=04/12/14/166253&amp;tid=89](http://enterprise.linux.com/article.pl?sid=04/12/14/166253&tid=89)&gt; (December 20, 2004).

Flickenger, Rob. "Speeding up Linux Using hdparm." Linux Dev Center on the web, 07 October 2005.

&lt;[http://www.linuxdevcenter.com/pub/a/linux/2000/06/29/hdparm.html](http://www.linuxdevcenter.com/pub/a/linux/2000/06/29/hdparm.html)&gt; (June 29, 2000).

Lord, Mark. "hdparm(8)." &lt;[http://sourceforge.net/projects/hdparm/](http://sourceforge.net/projects/hdparm/)hdparm&gt; (April, 2005).

KNOWN BUGS:

`  1.`

`     ATA security options does not always work, error message: Problem issuing security command: Cannot allocate memory (http://sourceforge.net/tracker/?atid=736682&group_id=136732&func=browse).`  
`  2.`

`     hdparm -t with 2 disks: WD (hdb) and Seagate(hda). hdparm -t /dev/hda -Timing buffered disk reads: -1504 MB in xxx seconds = MB/sec an infinite value (http://sourceforge.net/tracker/?atid=736682&group_id=136732&func=browse).`

`  1.`

`     When making 6.0 or 6.1 an "987: IDE_DRIVE_TASK_OUT undeclared" error occur(http://sourceforge.net/tracker/?atid=736682&group_id=136732&func=browse).`  
`  2.`

`     Acoustic management for SAMSUNG SP1614N disk the -M option to control the acoustic level, but it seems non-functional (http://sourceforge.net/tracker/?atid=736682&group_id=136732&func=browse).`

# Problem w/ ZEN/rug/rpm database

'''Problem w/ ZEN/rug/rpm database

*this problem is obsolete, it happened with OpenSUSE 10.2 and is no longer an issue in 10.3*

Things to try when your openSUSE gets errors with the package database:

`rm -rf /var/tmp/* && rczmd restart && rug refresh `

works around the problem. I'm not sure how to reproduce it though. It seems to happen randomly.

# Speedup Package Management

# Speeding up the package manager

Package Management is one part of the system where massive databases are thrown around, changed incrementally and is generally used heavily. Due to incremental nature of modifications it will cause the databases used to fragment, both internally (in the database blob) and externally (on the disk).

In openSUSE 10.3 we have two kinds of databases for package management.

- The zypp cache SQLITE database in `/var/cache/zypp/zypp.db`.
- The RPM database in `/var/lib/rpm/`.

## Defragment internally

- Cleaning up sqlite databases can be done using the `VACUUM` command.

<dl id="bkmrk-for-the-zypp-cache-d"><dt></dt><dd>For the ZYPP cache database: </dd><dd>`sqlite3 /var/cache/zypp/zypp.db vacuum`</dd><dd>Or alternatively regenerate it from scratch: </dd><dd>`rm /var/cache/zypp/zypp.db ; zypper refresh`</dd></dl>- Defragmenting the RPM database

<dl id="bkmrk-after-largish-update"><dt></dt><dd>After largish update it is helpful to run `rpm --rebuilddb`once. </dd></dl><dl id="bkmrk-this-is-just-necessa"><dt></dt><dd>This is just necessary after lots of packages changed/updated/installed and takes some time (10 minutes on a Laptop). </dd></dl>## Defragment externally

While Linux filesystems try to not create heavily fragmented files, the slow increasing nature of the databases used in packagemanagement has fragmentation patterns.

So to best way to get rid of it, is to recreate the files using the pattern:

```
cp file file.new  # check for errors!
rm file
mv file.new file
```

- zypp database

<dl id="bkmrk-either-remove-it-and"><dt></dt><dd>Either remove it and regenerate it using `zypper refresh` or just apply </dd><dd>the cp/rm/mv on `/var/cache/zypp/zypp.db`. </dd></dl>- RPM database

<dl id="bkmrk-use-the-cp%2Frm%2Fmv-tri"><dt></dt><dd>Use the cp/rm/mv trick on `/var/lib/rpm/Packages, Basenames, Filemd5s, Dirnames`</dd></dl>## Sample script

```
#!/bin/sh
sqlite3 /var/cache/zypp/zypp.db vacuum
rpm --rebuilddb         # takes long
for fn in       /var/cache/zypp/zypp.db \
                /var/lib/rpm/Packages   \
                /var/lib/rpm/Filemd5s   \
                /var/lib/rpm/Dirnames   \
                /var/lib/rpm/Basenames
do
        cp $fn $fn.new || exit 1
        rm $fn
        mv $fn.new $fn
done
```

<keyword>zypp,rpm,speed,package management</keyword>

[C](Category:SDB:10.3 "wikilink") [C](Category:SDB:Installation "wikilink") [C](Category:SDB:YOU "wikilink")

# Keyboard setting for diacritical characters

## In KDE:

Regional settings

keyboard layout

xkb options | enable

compose key position | menu is compose

# Monitor an OpenSUSE system

- use iostat (package sysstat)
- siga (outputs in HTML)
- sitar (SLES)

# Disable hardware polling for CD-drives

hal cdrom polling hal is a core component of the various desktop environments and deals with all sorts of hardware interaction. One component of the hal daemon is the part where it polls the cdrom drive regularly (as often as once every two seconds!) to see if the user has inserted a CD. This is used, for example, to automatically open a new window with a file browser for the CD.

Such regular polling will keep the hardware awake somewhat; the amount of power consumed depends on the exact type of CDROM drive. It also depends on the presence of the ALPM feature.

If you rarely or never insert CDs (for example because the machine in question is a server located 3000 miles away), you can save some power by stopping this polling.

Current versions of hal have a special command for this:

`hal-disable-polling --device /dev/scd0`

Note that this means that you will not get a pop-up window if you insert a CD. To enable this polling again, use the this command:

`hal-disable-polling --device /dev/scd0 --enable-polling`

Newer SATA-based CDROM drives have the capability to notify the machine when a CD gets inserted, making polling unnecessary. Both the kernel and hal are currently undergoing development to detect and support this capability, so that polling is not needed at any time for these devices.

# Install all updates using zypper

## Install all updates using Zypper

The following command gives you ALL updates:

`zypper up -t package`

# How to locally cache zypper update files

## How to locally cache zypper update files

Maybe someday you try zypper dup to actualize your distribution and in middle of process it fail, because you are disconnected or some packages is actualized before you download it (especially on factory this can happen). It is more safety download packages at first and then install from this local files.

How todo this is little tricky, at first you must enable caching downloaded files (I do it only for remote connection):

`   zypper mr –keep-packages –remote`

So now you cache all downloaded files and now try testing run of dup. Trick is that all packages download for that test is cached.

`   zypper dup –dry-run`

Now if you have slow connection I reccomend also disable autorefresh for all repositories, because if repository is refreshed before dup, you can easily find that some packages is newer than package in cache and you must download it.

`   zypper mr –all –no-refresh`

Now is everything prepared for zypper dup, which use files from cache. Cache can take quite lot of disk space, so after dup you can clean it.

`   zypper clean`

And thats all. This features work from OpenSuse 11 and you can also use this trick for zypper update or zypper install.

# Check and install media formats

1\. Check if there are missing dependencies

Code:

`     # LC_ALL=C zypper ve`  
`     Reading installed packages...`  
`     Dependencies of all installed packages are satisfied.`

2\. Check if there are packages installed from the VideoLAN repository

Code:

`     $ rpm -qa --queryformat '%{NAME} -> %{VENDOR}\n' | grep -i VideoLAN`  
`     libdvdcss -> VideoLAN Project (http://www.videolan.org)`

Only libdvdcss should be installed from the VideoLAN repository.

3\. Check your basic multimedia packages

Code:

`     $ rpm --verify --query --all 'libav*' 'libpostproc*' 'libswscale*'`

If it return anything there is a problem, check man rpm for details. No need to reinstall to be sure, this check is 100% sure.

4\. Verify you have xine installed and installed from Packman

Code:

`     $ rpm --query --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}\n' libxine1 libxine1-codecs`  
`     libxine1-1.1.15-44.pm.0-x86_64 -> packman.links2linux.de`  
`     libxine1-codecs-1.1.15-44.pm.0-x86_64 -> packman.links2linux.de`

5\. Check your xine packages

Code:

`     $ rpm --verify --query --all '*xine*'`

6\. Verify you have all the gstreamer plugins (codecs) installed and installed from Packman

Code:

`     $ rpm --query --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}\n' gstreamer-0_10-ffmpeg gstreamer-0_10-fluendo-mp3 gstreamer-0_10-fluendo-mpegdemux gstreamer-0_10-fluendo-mpegmux gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-base gstreamer-0_10-plugins-good gstreamer-0_10-plugins-good-extra gstreamer-0_10-plugins-ugly`  
`     gstreamer-0_10-ffmpeg-0.10.5-42.pm.1-x86_64 -> packman.links2linux.de`  
`     gstreamer-0_10-fluendo-mp3-0.10.7-42.pm.2-x86_64 -> packman.links2linux.de`  
`     gstreamer-0_10-fluendo-mpegdemux-0.10.15-42.pm.1-x86_64 -> `[`http://packman.links2linux.de`](http://packman.links2linux.de)  
`     gstreamer-0_10-fluendo-mpegmux-0.10.4-42.pm.1-x86_64 -> packman.links2linux.de`  
`     gstreamer-0_10-plugins-bad-0.10.8-42.pm.1-x86_64 -> packman.links2linux.de`  
`     gstreamer-0_10-plugins-base-0.10.21-42.pm.1-x86_64 -> packman.links2linux.de`  
`     gstreamer-0_10-plugins-good-0.10.10-42.pm.3-x86_64 -> packman.links2linux.de`  
`     gstreamer-0_10-plugins-good-extra-0.10.10-42.pm.3-x86_64 -> packman.links2linux.de`  
`     gstreamer-0_10-plugins-ugly-0.10.10-42.pm.1-x86_64 -> packman.links2linux.de`

7\. Check your gstreamer packages

Code:

`     $ rpm --verify --query --all '*gst*'`

8\. Check your MPlayer package

Code:

`     $ rpm --verify MPlayer`

9\. Check your VLC packages

Code:

`     $ rpm --verify --query --all '*vlc*'`  
`     .....UG.    /usr/bin/qvlc`  
`     .....UG.    /usr/bin/svlc`  
`     .....UG.    /usr/lib64/vlc/gui/libqt4_plugin.so`

Like you see in this case there is a problem, but it's just a permissions problem. Anyway it's a packaging problem I'm going to report to Packman so they can fix it.

10\. Check your w32codec package

Code:

`     $ rpm --verify w32codec-all`  
`     package w32codec-all is not installed`

Note that this package only adds support for some rare formats, and only works on 32bits systems. On a x86-64 system it will not make any difference.

If after checking all this you are unable to fix your problem open a thread in this forum. But copy &amp; paste (yes, c&amp;p no just "everything seems ok") the commands from this post and your results, so we know you followed them correctly. And also give us a copy of your installed packages... don't say "I have xine from Packman", prove it!!! Code:

`$ rpm --query --all 'libav*' 'libpostproc*' 'libswscale*' '*xine*' '*gst*' MPlayer '*vlc*' | grep -v avahi | sort                                                                                      `  
`amarok-xine-1.4.10-100.pm.1                                                                                    `  
`gstreamer-0_10-0.10.21-42.pm.3                                                                                 `  
`gstreamer-0_10-ffmpeg-0.10.5-42.pm.1                                                                           `  
`gstreamer-0_10-fluendo-mp3-0.10.7-42.pm.2                                                                      `  
`gstreamer-0_10-fluendo-mpegdemux-0.10.15-42.pm.1                                                               `  
`gstreamer-0_10-fluendo-mpegmux-0.10.4-42.pm.1`  
`gstreamer-0_10-lang-0.10.21-42.pm.3`  
`gstreamer-0_10-plugins-bad-0.10.8-42.pm.1`  
`gstreamer-0_10-plugins-bad-lang-0.10.8-42.pm.1`  
`gstreamer-0_10-plugins-base-0.10.21-42.pm.1`  
`gstreamer-0_10-plugins-base-lang-0.10.21-42.pm.1`  
`gstreamer-0_10-plugins-farsight-0.12.9-0.pm.3`  
`gstreamer-0_10-plugins-good-0.10.10-42.pm.3`  
`gstreamer-0_10-plugins-good-extra-0.10.10-42.pm.3`  
`gstreamer-0_10-plugins-ugly-0.10.10-42.pm.1`  
`gstreamer-0_10-plugins-ugly-lang-0.10.10-42.pm.1`  
`gstreamer-0_10-utils-0.10.21-42.pm.3`  
`gstreamer-utils-0.10.21-42.pm.3`  
`kdemultimedia3-video-xine-3.5.10-5.21`  
`libavc1394-0-0.5.3-104.1`  
`libavcodec52-0.4.9.15866svn-20081117.pm.2304`  
`libavdevice52-0.4.9.15866svn-20081117.pm.2304`  
`libavformat52-0.4.9.15866svn-20081117.pm.2304`  
`libavogadro0-0.8.1-18.1`  
`libavutil49-0.4.9.15866svn-20081117.pm.2304`  
`libgstapp-0_10-0-0.10.8-42.pm.1`  
`libgstinterfaces-0_10-0-0.10.21-42.pm.1`  
`libgstreamer-0_10-0-0.10.21-42.pm.3`  
`libpostproc51-0.4.9.15866svn-20081117.pm.2304`  
`libswscale0-0.4.9.15866svn-20081117.pm.2304`  
`libvlc2-0.9.6-0.pm.1`  
`libvlccore0-0.9.6-0.pm.1`  
`libxine1-1.1.15-44.pm.0`  
`libxine1-aa-1.1.15-44.pm.0`  
`libxine1-codecs-1.1.15-44.pm.0`  
`MPlayer-1.0rc2_r27637-3.pm.3`  
`phonon-backend-gstreamer-0_10-4.2.0-53.3`  
`phonon-backend-xine-4.1.3-59.11`  
`vlc-0.9.6-0.pm.1`  
`vlc-noX-0.9.6-0.pm.1`  
`vlc-qt-0.9.6-0.pm.1`  
`xinetd-2.3.14-115.1`  
`xine-ui-0.99.5-161.1  `

And to avoid problems... the most important thing I can say you: even if YaST/zypper/updater gives you such an option... \*\*NEVER\*\* ignore a dependency. Change vendor is ok, ignore dependencies never is a good idea.

# Boot options in suse grub

`install=`[`http://provisioning/`](http://provisioning/)`.......... --> where to boot OS from`  
`autoyast=`[`http://provisioning/`](http://provisioning/)`......... --> where to get autoyast file from`

# Zypper tips

# To check from which repo package came from

`# rpm -qa --qf '%-20{NAME} %-20{VENDOR}\n' 'libav*5[678]'`

# To install only packages from one repo

`#zypper in -r pvdm-kde43 amarok`

# Change the behaviour of download-install-download-install-download to download all-install all

modify /etc/zypp/zypp.conf and find and change:

`commit.downloadMode = DownloadInAdvance`

- [How to locally cache zypper update files](https://www.reeltoreel.nl/knowledgebase/books/mediawiki-import/page/how-to-locally-cache-zypper-update-files)

# upgrading your system using 'zypper dup'

- When you want to do an upgrade, "zypper dup" actually brings your system to the version of the available packages. This may mean downgrading and removing of installed packages.
- The recommended way of doing this is to perform it against a specific repo: use

`zypper dup -from repo -r, --repo <alias|#|URI>    Load only the specified repository.`  
`zypper dup -r 5 -r 6 -r 7`

- If you intend to use "zypper dup" without any specific repostitory, you need to define repo priorities if you don't want to encounter surprises.

- For the full story read [http://duncan.mac-vicar.com/blog/archives/619 here](http://duncan.mac-vicar.com/blog/archives/619_here "wikilink").

=if you want to find a certain [file:=](file:=)

`zypper in 'libqtiff.so()(64bit)'`  
`Reading installed packages...`  
`'libqt4-x11' providing 'libqtiff.so()(64bit)' is already installed.`  
`Nothing to do.`

# if you want to install a certain version:

`zypper in MozillaFirefox \>= 3`

Other examples:

`zypper in yast*                     # install all yast modules`  
`zypper in -t pattern lamp_server    # install lamp_server pattern (packages  needed for a LAMP server) `  
`zypper in vim -emacs                # install vim and remove emacs in one go`  
`zypper in amarok packman:libxine1   # install libxine1 from packman and  amarok from any repo`  
`zypper in bitchx-1.1-81.x86_64.rpm  # install bitchx rpm from local directory`  
`zypper in -f subversion             # force reinstallation of subversion`

# search packages

`zypper search -s --match-exact virtualbox-ose`  
`Reading installed packages...`  
`S | Name           | Type    | Version    | Arch   | Repository`  
`--+----------------+---------+------------+--------+------------------------------------`  
`v | virtualbox-ose | package | 1.6.2-2.1  | x86_64 | VirtualBox OSE`  
`i | virtualbox-ose | package | 1.5.6-33.1 | x86_64 | openSUSE-11.1-Oss`  
`v | virtualbox-ose | package | 1.5.6-20.5 | x86_64 | VirtualBox OSE (`  
`v | virtualbox-ose | package | 1.6.2-2.1  | i586   | VirtualBox OSE`  
`v | virtualbox-ose | package | 1.5.6-33.1 | i586   | openSUSE-11.1-Oss`  
`v | virtualbox-ose | package | 1.5.6-20.3 | i586   | VirtualBox OSE`

# patterns

list patterns:

`zypper patterns`

# information on packages

`zypper if amarok`

`Information for package amarok:`  
`Repository: @System`  
`Name: amarok`  
`Version: 2.2.0-38.1`  
`Arch: x86_64`  
`Vendor: obs://build.opensuse.org/KDE`  
`Installed: Yes`  
`Status: up-to-date`  
`Installed Size: 24.2 MiB`  
`Summary: Media Player for KDE`  
`Description:`  
`Amarok is a media player for all kinds of media. This includes MP3, Ogg`  
`Vorbis, audio CDs, podcasts and streams. Play lists can be stored in`  
`.m3u or .pls files.`

Other examples:

`zypper info -t patch MozillaFirefox    # show information about 'MozillaFirefox' patch`  
`zypper patch-info MozillaFirefox       # the same as above`  
`zypper info -t pattern lamp_server     # show info about 'lamp_server' pattern`  
`zypper info -t product openSUSE-FTP    # show info about specified product`

# dependencies

what-provides or wp

To list all providers of specified capability, do:

```
 zypper wp firefox
 Reading installed packages...
 S | Name           | Type    | Version     | Arch   | Repository
 --+----------------+---------+-------------+--------+------------------
 i | MozillaFirefox | package | 3.0-0.1     | x86_64 | Updates for 11.1
 v | MozillaFirefox | package | 2.9.95-25.1 | x86_64 | openSUSE-11.1-Oss
 v | MozillaFirefox | package | 3.0-0.1     | i586   | Updates for 11.1
 v | MozillaFirefox | package | 2.9.95-25.1 | i586   | openSUSE-11.1-Oss
```

Regarding optional dependencies, we do have them, and use them. They're enabled by default. To avoid the several hundred unexpected packages like in the example in the article you can use zypper with --no-recommends or turn them off in the zypper.conf config file.

The zypper summary before an installation distinguishes between hard dependencies and recommends, so you can see what turning recommends off would have saved you even if you didn't.

# package locks

To lock all packages starting with 'yast2', do:

`zypper al 'yast2*'`  
`Reading installed packages...`  
`Specified lock has been successfully added`

To list currently active locks:

`zypper ll`  
`# | Name             | Type    | Repository`  
`--+------------------+---------+-----------`  
`1 | libpoppler3      | package | (any)`  
`2 | libpoppler-glib3 | package | (any)`  
`3 | yast*            | package | (any)`

To remove a lock, do:

`zypper rl yast2-packager`

Other examples:

`zypper al zypper                   # lock package 'zypper' (exact match)`  
`zypper al -r repo-oss virtualbox*  # restrict the lock to 'repo-oss'  repository (allowing installation from others)`  
`zypper rl 3                        # remove lock by number`

# rpm examples

`# rpm -qi  amarok                 Show details of package`  
`# rpm -qf  /usr/sbin/sshd         Shows where file came from`  
`# rpm -qR openssh-server          Show dependencies - What do I need for this package to work?`  
`# rpm --whatrequires initscripts  Find reverse dependencies - What will break if I remove this package`  
`# rpm -qip                        Show details of not yet installed package`  
`# rpm --verify openssh-server     Find out if any files in the package have been modified since install.`  
`# rpm -qlv postfix                list all files in a rpm`

# Improve the font rendering - using subpixel hinting

`zypper ar -f  `[`http://download.opensuse.org/repositories/home:/muzlocker/openSUSE_11.4/`](http://download.opensuse.org/repositories/home:/muzlocker/openSUSE_11.4/)` smoothfonts`  
`zypper dup -r smoothfonts`

# Things to do after a fresh installation of openSUSE 11.4

This guide is a summary of the steps I take to customize a default installation of openSUSE.

This particular guide was rewritten for openSUSE 11.2, but most stuff should be applicable to other versions as well.

## first: repos

first, type

`# zypper lr -d`  
`# | Alias        | Name                  | Enabled | Refresh | Priority | Type | URI                                                             |  Service`  
` -+--------------+-----------------------+---------+---------+----------+------+-----------------------------------------------------------------+--------`  
`1 | repo-debug   | openSUSE-11.3-Debug   | No      | Yes     |   99     | NONE | `[`http://download.opensuse.org/debug/distribution/11.3/repo/oss/`](http://download.opensuse.org/debug/distribution/11.3/repo/oss/)`  |`  
`2 | repo-non-oss | openSUSE-11.3-Non-Oss | Yes     | Yes     |   99     | NONE | `[`http://download.opensuse.org/distribution/11.3/repo/non-oss/`](http://download.opensuse.org/distribution/11.3/repo/non-oss/)`    |`  
`3 | repo-oss     | openSUSE-11.3-Oss     | Yes     | Yes     |   99     | NONE | `[`http://download.opensuse.org/distribution/11.3/repo/oss/`](http://download.opensuse.org/distribution/11.3/repo/oss/)`        |`  
`4 | repo-source  | openSUSE-11.3-Source  | No      | Yes     |   99     | NONE | `[`http://download.opensuse.org/source/distribution/11.3/repo/oss/`](http://download.opensuse.org/source/distribution/11.3/repo/oss/)` |`  
`5 | repo-update  | openSUSE-11.3-Update  | Yes     | Yes     |   99     | NONE | `[`http://download.opensuse.org/update/11.3/`](http://download.opensuse.org/update/11.3/)`                       |`

- delete **source** and **debug** repos and **installation dvd** repo

`zypper rr < number of repo | name of repo | alias of repo>`

- add community repos: Packman, VLC etc.

`zypper ar -f `[`http://download.videolan.org/pub/videolan/vlc/SuSE/11.2/`](http://download.videolan.org/pub/videolan/vlc/SuSE/11.2/)` vlc`  
`zypper ar -f `[`http://ftp.skynet.be/pub/packman/suse/11.2/`](http://ftp.skynet.be/pub/packman/suse/11.2/)` packman`

- add KDE 4.3 repos (for updates KDE)

`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/43/openSUSE_11.2/`](http://download.opensuse.org/repositories/KDE:/43/openSUSE_11.2/)` kde43`  
`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/KDE4:/Community/openSUSE_11.2_KDE_43/`](http://download.opensuse.org/repositories/KDE:/KDE4:/Community/openSUSE_11.2_KDE_43/)` kde43community`

- or better still, the updated KDE4.4 repos:

`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/KDE4:/Factory:/Desktop/openSUSE_11.2/`](http://download.opensuse.org/repositories/KDE:/KDE4:/Factory:/Desktop/openSUSE_11.2/)` kde44`  
`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/KDE4:/Community/openSUSE_11.2/`](http://download.opensuse.org/repositories/KDE:/KDE4:/Community/openSUSE_11.2/)` kde44comm`  
`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/KDE4:/Playground/openSUSE_11.2/`](http://download.opensuse.org/repositories/KDE:/KDE4:/Playground/openSUSE_11.2/)` kde44play`

In the end you should have the following repos:

1. oss
2. non-oss
3. update
4. kde43 or kde44
5. kde43community or kde44comm
6. packman
7. vlc
8. nvidia/ATI

## Kernel stuff

Install this stuff now, because sooner or later you will need them. And sometimes the install/compile of a kernel module will fail without these

`zypper in -y kernel-source linux-kernel-headers kernel-syms make gcc`

## utils

`zypper in -y mc findutils-locate nmap`

## For multimedia stuff:

`# zypper in -y flash-player mplayer ffmpeg a52dec mencoder x264 faac w32codec-all vlc`

optional:

`# zypper in -y gstreamer-0_10-plugins-good xine-browser-plugin swfdec-browser-plugin gxine-browser-plugin gstreamer-0_10-plugins-bad mplayerplug-in libxine1-codecs`

## Language:

`zypper in -y ispell-dutch myspell-dutch`

If you have installed from liveCD, localization may be missing:

`zypper in -y kde4-l10n-nl kde4-l10n-nl-data kde4-l10n-nl-doc`

## firefox:

- install add-ons: adblock, xmarks
- add 'new tab' button in buttonbar
- configuration: 
    - download location always ask, close when ready etc
    - start with blank page
    - do not remember history, suggest from bookmarks
    - search for text when I start typing
    - no check my spelling as I type
    - no check to see if FF is default browser
- install silverlight plugin [http://go-mono.com/moonlight-beta/](http://go-mono.com/moonlight-beta/)
- type [about:config](about:config) in addressbar and change: 
    - network.dns.disableIPv6 -&gt; true
    - create this one: content.notify.backoffcount -&gt; 5
    - also create nglayout.initialpaint.delay -&gt; 0
    - network.http.pipelining true
    - network.http.proxy.pipelining true
    - network.http.pipelining.maxrequests 8

## KDE:

- edit /etc/sysconfig/windowmanager and change this option to 'no'

`KDE_USE_IPV6="no"`

- taskbar: 
    - add system monitor CPU usage widget
    - digital clock: add day of week
- add yast2 and configure desktop to quick start area (next to suse-icon)
- configure desktop - personal settings: 
    - region and language: region: dutch. add dutch to languages
    - advanced -&gt; session manager: start KDE with empty session
    - autostart: yakuake
    - desktop screensaver: random
- desktop: add analogue clock widget
- for extra KWIN themes:

`# zypper in kde4-windeco-aurorae kde4-windeco-chromi kde4-windeco-crystal kde4-windeco-dekorator kde4-windeco-nitrogen`

<dl id="bkmrk-and-go-to-system-set"><dt></dt><dd>and go to System Settings / Appearance / Windows / choose for example the **aurorae** theme engine with the **example** theme </dd></dl>## Yast2:

- configure NTP settings 194.109.22.18 (XS4All time server) or choose from pool.ntp.org

## OOo

- User details
- quickstarter

## Printer configuration

- cups printer 192.168.1.1 ++ALWAYS USE IP++

## Power settings

## network mounts

# Repos

```
lap088:/home/pvdm # cat /etc/zypp/repos.d/*
[packman]
name=Packman
enabled=1
autorefresh=1
baseurl=http://packman.inode.at/suse/openSUSE_12.1
type=rpm-md
gpgcheck=1
gpgkey=http://packman.inode.at/suse/openSUSE_12.1/repodata/repomd.xml.key
keeppackages=0
[pvdm-garmin]
name=pvdm-garmin
enabled=1
autorefresh=1
baseurl=http://download.opensuse.org/repositories/Application:/Geo/openSUSE_12.1/
type=rpm-md
[pvdm-kde48-extra]
name=pvdm-kde48-extra
enabled=1
autorefresh=1
baseurl=http://pvdm.xs4all.nl/kde48extra/
type=rpm-md
keeppackages=0
[pvdm-kde48]
name=pvdm-kde48
enabled=1
autorefresh=1
baseurl=http://pvdm.xs4all.nl/kde48/
type=rpm-md
keeppackages=0
[pvdm-kernel]
name=pvdm-kernel
enabled=1
autorefresh=1
baseurl=http://pvdm.xs4all.nl/kernel/
type=rpm-md
keeppackages=0
[pvdm-nntpgrab]
name=pvdm-nntpgrab
enabled=0
autorefresh=1
baseurl=http://www.openftd.org/releases/openSUSE_12.1
type=rpm-md
keeppackages=0
[pvdm-smoothfonts]
name=pvdm-smoothfonts
enabled=1
autorefresh=1
baseurl=http://download.opensuse.org/repositories/home:/muzlocker/openSUSE_12.1/
type=rpm-md
keeppackages=0
[repo-non-oss]
name=Non-Oss
enabled=1
autorefresh=1
baseurl=http://download.opensuse.org/distribution/12.1/repo/non-oss/
path=/
type=yast2
keeppackages=0
[repo-oss]
name=Oss
enabled=1
autorefresh=1
baseurl=http://download.opensuse.org/distribution/12.1/repo/oss/
path=/
type=yast2
keeppackages=0
[Updates]
name=PvdM Updates
enabled=1
autorefresh=1
baseurl=http://pvdm.xs4all.nl/update/12.1/
path=/
type=rpm-md
keeppackages=0
```

# Touchpad

hp.com tydelijk1 uitgebruide ww met CAPS johan(2) en cijfers

borderlinx pvdmjoomla uit cijf

# Things to do after a fresh installation of openSUSE 12.1

This guide is a summary of the steps I take to customize a default installation of openSUSE.

This particular guide was rewritten for openSUSE 11.2, but most stuff should be applicable to other versions as well.

## first: repos

first, type

`# zypper lr -d`

- delete **source** and **debug** repos and **installation dvd** repo

`zypper rr < `**`number of repo`**` `*`or`*` `**`name of repo`**` `*`or`*` `**`alias of repo`**`>`

- add community repo: Packman

`zypper ar -f `[`http://packman.inode.at/suse/openSUSE_12.1`](http://packman.inode.at/suse/openSUSE_12.1)` packman`

In the end you should have the following repos:

```
# zypper lr --uri
# | Alias                              | Name                               | Enabled | Refresh | URI                                                         
--+------------------------------------+------------------------------------+---------+---------+-------------------------------------------------------------
1 | Updates-for-openSUSE-12.1-12.1-1.4 | Updates for openSUSE 12.1 12.1-1.4 | Yes     | Yes     | http://download.opensuse.org/update/12.1/                   
2 | packman                            | Packman repository (openSUSE_12.1) | Yes     | No      | http://packman.inode.at/suse/openSUSE_12.1                  
3 | repo-non-oss                       | openSUSE-12.1-Non-Oss              | Yes     | Yes     | http://download.opensuse.org/distribution/12.1/repo/non-oss/
4 | repo-oss                           | openSUSE-12.1-Oss                  | Yes     | Yes     | http://download.opensuse.org/distribution/12.1/repo/oss/    
```

## Kernel stuff

Install this stuff now, because sooner or later you will need them. And sometimes the install/compile of a kernel module will fail without these

`zypper in -y kernel-source linux-kernel-headers kernel-syms make gcc`

## utils

`zypper in -y mc findutils-locate nmap yakuake krusader chromium clementine vlc unetbootin p7zip krename`

## For multimedia stuff &amp; codecs:

`# zypper in -y flash-player flashplayer-kde4 mplayer ffmpeg a52dec mencoder x264 faac w32codec-all lame kdemultimedia4-thumbnailers`

optional:

`# zypper in -y gstreamer-0_10-plugins-good xine-browser-plugin swfdec-browser-plugin gxine-browser-plugin gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-ugly mplayerplug-in libxine1-codecs k3b-codecs gstreamer-0_10-ffmpeg`

for windows movies in webbrowser:

`# zypper in gnome-mplayer gecko-mediaplayer`

# fonts

To install MS fonts so that LibreOffice documents looks closer to those on my colleagues' screen, execute the following (as root):

`zypper in fetchmsttfonts`

## Language:

`zypper in -y ispell-dutch myspell-dutch`

If you have installed from liveCD, localization may be missing:

`zypper in -y kde4-l10n-nl kde4-l10n-nl-data kde4-l10n-nl-doc`

## firefox:

- install add-ons: adblock, xmarks
- add 'new tab' button in buttonbar
- configuration: 
    - download location always ask, close when ready etc
    - start with blank page
    - do not remember history, suggest from bookmarks
    - search for text when I start typing
    - no check my spelling as I type
    - no check to see if FF is default browser
- ==&gt;install silverlight plugin [http://go-mono.com/moonlight-beta/](http://go-mono.com/moonlight-beta/)&lt;== maybe not
- type [about:config](about:config) in addressbar and change: 
    - network.dns.disableIPv6 -&gt; true
    - create this one: content.notify.backoffcount -&gt; 5
    - also create nglayout.initialpaint.delay -&gt; 0
    - network.http.pipelining true
    - network.http.proxy.pipelining true
    - network.http.pipelining.maxrequests 8

## KDE:

- edit /etc/sysconfig/windowmanager and change this option to 'no'

`KDE_USE_IPV6="no"`

(probably already is)

- taskbar: 
    - add system monitor CPU usage widget
    - digital clock: add day of week
- add yast2 and configure desktop to quick start area (next to suse-icon)
- configure desktop - personal settings: 
    - region and language: region: dutch. add dutch to languages
    - advanced -&gt; session manager: start KDE with empty session
    - autostart: yakuake konversation pidgin
    - desktop screensaver: random
- desktop: add analogue clock widget
- configure powermanagement
- configure kwin
- configure fonts

## Yast2:

- configure NTP settings 194.109.22.18 (XS4All time server) or choose from pool.ntp.org

## OOo

- User details
- quickstarter

## Printer configuration

- cups printer 192.168.1.1 ++ALWAYS USE IP++

## Power settings

## network mounts

# Radeon

\- The Radeon hardware was tested with the following non-stock options:

- disabling swap buffers wait from the xorg.conf (SwapbuffersWait),
- enabling 2D color tiling (ColorTiling and ColorTiling2D in xorg.conf),
- and enabling PCI Express 2.0 support (radeon.pcie\_gen2=1 as a kernel command-line parameter).

It is silly that these non-default options are still needed for the open-source driver that AMD officially supports, but that is how it stands right now.

\- With the Nouveau driver the main performance-boosting item at this point is forcing the graphics card manually into its highest performance level / clock state. The Nouveau driver continues to leave the graphics core / memory / shader clocks at whatever the video BIOS to sets them at when initializing, unlike the NVIDIA binary driver that dynamically changes the performance levels based upon GPU load and other factors. Therefore, with most modern NVIDIA hardware having multiple performance levels, to get the GPU at the correct frequencies for 3D use you need to manually force them to the higher state. Meanwhile you need to hope that the NVIDIA driver properly supports re-clocking for your GPU and that once re-clocked you don't experience any rendering corruption or stability problems. Re-clocking involves loading the Nouveau DRM driver with a special command-line parameter and writing the desired performance level to a sysfs node. This information is covered in detail in Nouveau Reclocking: Buggy, But Can Boost Performance. I long for the day when the Nouveau driver properly supports re-clocking across all modern NVIDIA GPUs and can be enabled by default to be done automatically.

# How to have the latest kernel in openSUSE

It is possible to have the latest kernel in openSUSE. However, there are a few thing you must consider. These will be discussed below.

We will be using the command line tool **zypper** to update to the latest kernel, because it is easier than YaST :D

# stock kernels

OpenSUSE is installed (from DVD or wherever from) with a kernel called the 'stock' kernel. Sometimes this kernel is also referred to the **GA kernel**. This kernel remains the same for the whole time that that specific openSUSE version is supported, and is only updated with security issues and occasional bug fixes. This is called backporting. These updated stock-kernels appear in the *update*channel just as normal updates, so you should install them, just as other updates.

This is a list of the latest openSUSE versions and their stock kernels:

```
openSUSE version:    stock-kernel
12.2                 3.4.6-2.10
12.1                 3.1.9 upgraded to 3.1.10 for security/bugfixes
11.4                 2.6.37
```

# kernel versions

openSUSE has the option to run other 'flavours' of the kernel. These include:

- **kernel-default** -&gt; The standard kernel for both uniprocessor and multiprocessor systems.
- **kernel-desktop** -&gt; This kernel is optimized for the desktop. It is configured for lower latency and has many of the features that aren't usually used on desktop machines disabled.
- **kernel-pae** -&gt; this is a 32-bit only special kernel with support for 64GB memory. 64 bit kernels support this by default
- **kernel-vanilla** -&gt; The standard kernel - without any SUSE patches
- **kernel-xen** -&gt; The Linux kernel for Xen paravirtualization. This kernel can be used both as the domain0 ("xen0") and as an unprivileged ("xenU") kernel.

Usually, for a desktop/laptop system, you run the *default* or the *desktop* flavour.

# keeping older kernel versions as fallback

It is good practice, when you enable the *kernel-head* repo and thus recieve the latest and greatest kernel, to keep some previous kernel(s) at hand to use as a fallback scenario. These kernels will appear in your grub menu so you will be able to choose them when booting up your machine.

Fortunately, **zypper** supports this with a few configuration options. It is possible for instance to instruct zypper to keep the stock kernel, the latest kernel, and the latest but one and to remove all others. That is cool, right?

The magic is in the file `/etc/zypp/zypp.conf`. There are two options there:

`multiversion = provides:multiversion(kernel)`  
`multiversion.kernels = latest,oldest`

The first line enables the mutiple installation of kernels simultaniously. This is not possible by default, so this option is necessary.

The second has several options:

```
## Comma separated list of kernel packages to keep installed in parallel, if the
## above multiversion variable is set. Packages can be specified as
## 2.6.32.12-0.7 - Exact version to keep
## latest        - Keep kernel with the highest version number
## latest-N      - Keep kernel with the Nth highest version number
## running       - Keep the running kernel
## oldest        - Keep kernel with the lowest version number (the GA kernel)
## oldest+N      - Keep kernel with the Nth lowest version number
##
## Default: Do not delete any kernels if multiversion = provides:multiversion(kernel) is set
#multiversion.kernels = latest,oldest
```

So, if you want to keep the stock kernel and the latest kernel, use:

`multiversion.kernels = latest,oldest`

If you want to keep the stock kernel, the latest and the kernel before that, use:

`multiversion.kernels = latest,oldest,latest-1`

# enabling the kernel head repository

To receive the latest kernel, you must create an additional repo to download from.

`zypper ar -f `[`http://download.opensuse.org/repositories/Kernel:/HEAD/standard/`](http://download.opensuse.org/repositories/Kernel:/HEAD/standard/)` kernel-repo`

This command add a new repository (ar), enables refresh (-f), provides the URL, and a name (kernel-repo).

This repository always contains the lastest development kernel, i.e. 3.4.0-rc6-1-desktop. Do not expect to find older versions there, it is always the latest and only the latest build!

This repo is the same for **all** openSUSE version,

# updating from the new repo

To actually download and install the new kernel, you must do a special update. This is called a distribution-upgrade. Don't worry, this won't update your entire installation! We will instruct zypper to only use updated packages from the kernel-repo we just created. A normal 'zypper up' won't replace packages from a different repo then the one it was originally installed from.

Issue the command:

`zypper dup -r kernel-repo`

This tells zypper to do a dist-upgrade from the kernel-repo, so only your new kernel files will be installed alongside the old ones, if you have properly configured the zypp.conf file.

# check check double check

After you have completed these instructions, you can check which kernels you have installed:

`rpm -qa | grep kernel`

The output of that command on my system at time of this writing:

```
#rpm -qa | grep kernel | sort
kernel-default-devel-3.4.rc3-3.1.x86_64
kernel-default-devel-3.4.rc6-1.1.x86_64
kernel-desktop-3.4.rc3-3.1.x86_64
kernel-desktop-3.4.rc6-1.1.x86_64
kernel-desktop-devel-3.4.rc3-3.1.x86_64
kernel-desktop-devel-3.4.rc6-1.1.x86_64
kernel-devel-3.4.rc3-3.1.noarch
kernel-devel-3.4.rc6-1.1.noarch
kernel-source-3.4.rc3-3.1.noarch
kernel-source-3.4.rc6-1.1.noarch
kernel-syms-3.4.rc3-3.1.x86_64
kernel-syms-3.4.rc6-1.1.x86_64
kernel-xen-devel-3.4.rc3-3.1.x86_64
kernel-xen-devel-3.4.rc6-1.1.x86_64
```

As you can see, I have 2 kernels installed at the moment: **3.4.rc3** and **3.4.rc6**. (The rest of the packages are necessary for other purposes, like Virtualbox.)

# Fixing desktop freezes on large copies

Now this may or may not be specific to openSUSE, but here it is anyway:

I suffered from desktop lockups when copying large files, for instance from the wireless network to usb. THis was especially noticable in dolphin.

Even though I suspected it at first, now it appears that it is not dolphin that is acting up, it is the 'hugepage' option in the kernel.

So, how do we tweak it? Simpel. The following lines will do the trick as root:

`echo never >/sys/kernel/mm/transparent_hugepage/defrag`  
`echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag`

-edit-

`echo never > /sys/kernel/mm/transparent_hugepage/enabled`  
`echo madvise > /sys/kernel/mm/transparent_hugepage/enabled`

# KDE font settings

Fonts:

1. 9
2. 9
3. 8
4. 8
5. 9
6. 8
7. 9
8. 9

3,4 &amp; 6

# How to make the screen brightness keys work again in KDE

# How to make button for screen brightness work on your laptop in KDE

When I started using a newer kernel in openSUSE 13.2, I noticed the buttons for screen brightness were no longer functioning on my laptop. This is verry annoying, so I decided to do something about it. I am using KDE. I will try to write the instructions as generic as possible, so that it will hopefully work in your situation too. This is a HP ELitebook 8570p.

## find the right entry

First, we have to find the screen device, which is located somewhere in the /sys/devices/pci0000:00 directory.

Somewhere in this directory is a file located with the name 'brightness'. Let's find it. So, as root:

`# find /sys/devices/pci0000:00 -name "brightness"`  
`/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon_bl0/brightness`  
`/sys/devices/pci0000:00/0000:00:1c.2/0000:24:00.1/leds/mmc0::/brightness`  
`/sys/devices/pci0000:00/0000:00:1c.3/0000:25:00.0/leds/phy0-led/brightness`

Remember, your output is probably different from what I got here.

I have a radeon card, so the first line contains the device we will be working with.

When you read the content of the 'file', you get the current brightness level:

`# cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon_bl0/brightness`  
`235`

The value lies somewhere between 0 and 255, it's a one byte value.

You can test if this work for you by writing (still as root) a different value to that file: (remember to substitute the file for your graphics card)

`# echo 200 > /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon_bl0/brightness`

If this works, you should see the brightness change, and you can go to the next step.

edit: for samsung rv720: "echo 8 &gt; /sys/class/backlight/samsung/brightness" to restore the brightness. edit2: newer kernel uses this: echo 100 &gt; /sys/class/backlight/nv\_backlight/brightness

## create the scripts

I created a simple QAD(quick and Dirty) 3 line script to read that value and increase it.

I put the script in my home user's bin directory:

`user> vi ~/bin/brp`

```
br=$(cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon_bl0/brightness)
br=$((br+10))
echo $br > /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon_bl0/brightness
```

I called it 'brp' which is nice and short and stands for **'br**ightness **p**lus' Note that I increase the value by 10 otherwise it would not change enough. You can vary that value of course to get finer control or get faster adjustment.

I created a similar script called brm which decreases the value:

`user> vi ~/bin/brm`

And paste the content

```
br=$(cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon_bl0/brightness)
br=$((br-10))
echo $br > /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon_bl0/brightness
```

`# chmod +x brm brp`

Now, the problem is that this file **/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon\_bl0/brightness**may only be written by root. Notice that all commands manipulating the file so far have been executed as root. But you should have created the 2 script files brp and brm as your normal user account.

To make the file world writeable:

`# chmod 777 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon_bl0/brightness`

This will make the 2 scripts which are executed as your useraccount able to write to this file.

## configure KDE

Then, lastly, redefine the keys on your laptop for screen brightness to point to your script:

- go to KDE - configure desktop
- shortcuts and gestures
- custom shortcuts
- edit - new - global shortcut - command/URL
- name: br-down
- tab trigger: Shortcut - click on 'None'
- press the brightness down key on your keyboard. It should appear in the button.
- tab action: browse and point to your brm file (/home/$user/bin/brm)
- click apply

Repeat this for the brightness up script file, so you end up with 2 shortcuts.

And that's it. This should work. Happy screening!

## configure crontab

Oh, and after a reboot, the chmod 777 of the brightness file is needed again. So I did a dirty hack and added this to my crontab:

```
*/3 * * * *     root    chmod 777 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1/radeon_bl0/brightness
```

# Snapper

## Introduction

This article assumes you will be using Snapper with the Btrfs filesystem.

During a fresh install of openSUSE, the default is to use Btrfs on root, meaning / and the filesystem XFS on /home. If you select the option to not seperate /home during openSUSE install, the default is for everything, including /home, to be under Btrfs.

If you decide to use Btrfs &amp; Snapper (default) during a fresh openSUSE install, it will automatically configure Snapper for you. This automatic configuration of Snapper means that snapshots will be made automatically when you use YaST2 and/or zypper. Please read section *Software Requirements* below for caveat.

You may convert EXT3 &amp; EXT4 filesystems to Btrfs to take advantage of Snapper. Using Snapper on EXT4 filesystem is *highly* discouraged.

## Important Details

The default behaviour when Snapper is configured to run on root, meaning /, is to ***exclude*** every Btrfs subvolume. This the same behaviour as on SUSE Enterprise. This means that if you have the subvolume /srv Snapper will not snapshot anything in /srv unless told specifically by you to do so. This also means that if you add a subvolume to / at any point in time, it will be excluded from Snapper's default snapshot behaviour.

Always be root when using Snapper or YaST2, unless otherwise specified.

YaST2 comes with a Snapper module called yast2-snapper and may be used to check and manipulate snapshots. It does not, however, have the ability to change Snapper configurations. That must be done in the terminal.

Taking snapshots is automatically enabled if the root partition (/) is big enough (approximately more than 8GB). Please remember: taking snapshots on partitions other than / is not enabled by default.

To see what subvolumes are created under / and therefore see which directories (subvolumes) are excluded from the default snapshots behaviour:

`# btrfs subvolume list /`

To have Snapper create a snapshot of a subvolume, you can either do it manually one-time via the snapper program, or create a new snapper config file. More information in the tutorial.

## Software Requirements

You always need this package:

` snapper`

If you use YaST2 to install, update or remove packages and want to have snapper automatically create snapshots when you use this tool:

` yast2-snapper`

If you use zypper to install, update or remove packages and want to have snapper automatically create snapshots when you use this tool:

` snapper-zypp-plugin`

If you want to have the ability for advanced btfs snapshot boot menu management:

` grub2-snapper-plugin`

**WARNING**: the above packages are not always installed by default. What gets installed depends on what choices you make during the openSUSE installation process. Make sure you have the appropriate (usually that means all) packages listed above installed before making changes to your system, otherwise you may be in for a surprise when snapper does not automatically create snapshots you thought it would.

## Snapper Basic Usage

Snapper is not restricted to creating and managing snapshots automatically by configuration; you can also create snapshot pairs ("before and after") or single snapshots manually using either the command line tool or the YaST module.

All Snapper operations are carried out for an existing configuration. You can only take snapshots of partitions or volumes for which a configuration exists. By default the system configuration (root) is used. If you want to create or manage snapshots for your own configuration you need to explicitly choose it. Use the Current Configuration drop-down box in YaST or specify the -c on the command line (snapper -c *MYCONFIG* *COMMAND*).

### List all snapshots for the default configuration (root)

` snapper list`

or

` snapper ls`

### Show which files and directories have been changed between snapshots

For files/directories changed between snapshot 21 and 22:

` snapper status 21..22`

You can also show what files and directories have been changed from snapshot 41 going back to 39:

` snapper status 41..39`

The output consists of a string encoding the status followed by the filename. The characters of the status string are:

1. "+" means the file was created
2. "-" means the file was deleted
3. "c" means the content of the file has changed
4. "t" means the type of the file has changed (e.g. from regular file to directory)
5. "p" means the permissions are have changed
6. "u" means the user ownership has changed
7. "g" means the group ownership has changed
8. "x" means the extended attribute information has changed
9. "a" means the ACL information has changed
10. "." means no change

### Show the diff (difference in actual files) between snapshots

For diff between snapshot 71 and 72:

` snapper diff 71..72`

You can also use this command to show the difference between a specific file. For example to show the diff from snapshot 71 to 72 only for file /etc/zypp/zypp.conf you would do the following:

` snapper diff 71..72 /etc/zypp/zypp.conf`

### Cleanup Algorithms

Unless you have a good reason to do otherwise, you should always specify the cleanup algorithm when creating a snapshot, otherwise the snapshot will never be deleted unless you do it manually. You do this by adding the following to your snapper commands:

` --cleanup-algorithm <number|timeline|empty-pre-post>`

The following commands assume you will be creating snapshots on the default system configuration (root). As mentioned above, if you want to use the non-default configuration, add the following the the snapshot commands:

` -c `*`MYCONFIG`*

Create a snapshot of the type *pre* and prints the snapshot number. First command needed to create a pair of snapshots used to save a "before" and "after" state.

` snapper create --type pre --print-number --description "Before the Apache config cleanup" --cleanup-algorithm number`

Create a snapshot of the type *post* paired with the pre snapshot number 30. Second command needed to create a pair of snapshots used to save a "before" and "after" state.

` snapper create --type post--pre-number 30 --description "After the Apache config cleanup" --cleanup-algorithm number`

Creates a stand-alone snapshot (type single) for the default (root) configuration with a description. Because no cleanup-algorithm is specified, the snapshot will never be deleted automatically.

` snapper create --description "Snapshot for week 2 2014"`

### Deleting Snapshots

Delete snapshot 65 for the default (root) configuration:

` snapper delete 65`

## Snapper Tutorial

First let us check how YaST has configured snapper:

`# snapper list-configs`  
`Config | Subvolume`  
`-------+----------`  
`root   | /  `

As you can see YaST has created a snapper config called "root" for your root file system. You can see what snapshots exist:

`# snapper list`  
`Type   | # | Pre # | Date                         | Cleanup  | Description |  Userdata`  
`-------+---+-------+------------------------------+----------+-------------+---------`  
`single | 0 |       |                              |          | current     |         `  
`single | 1 |       | Tue 22 Nov 2011 10:30:02 CET | timeline | timeline    |`

Snapshot #0 always refers to the current system. There might already be several other snapshots depending on the uptime of your system and on whether you already used YaST or zypper.

Now we want to try snapper as a undo tool for YaST. First we run YaST:

`# yast2 system_settings`

Within YaST enable the SysReq. After you have finished YaST you see two new snapshots:

`# snapper list`  
`Type   | # | Pre # | Date                         | Cleanup  | Description          | Userdata`  
`-------+---+-------+------------------------------+----------+----------------------+---------`  
`single | 0 |       |                              |          | current              |         `  
`single | 1 |       | Tue 22 Nov 2011 10:30:02 CET | timeline | timeline             |         `  
`pre    | 2 |       | Tue 22 Nov 2011 10:41:28 CET | number   | yast system_settings |         `  
`post   | 3 | 2     | Tue 22 Nov 2011 10:41:49 CET | number   |                      |`

### Types of Snapshots

It's time to explain the type of snapshots. Snapper creates a snapshot before and after YaST runs, these snapshots are called pre and post respectively. The post snapshots knows which pre snapshots belongs to it. By having a pre and post snapshot we can see what changes happened to the file system while YaST was running. Single snapshots have no special relationship to other snapshots.

### Seeing What Has Changed (YaST)

Using snapper, it is easy to see what has changed while YaST was running. To do so you have to pass the number of the pre and post snapshot:

`# snapper status 2..3`  
`c... /etc/sysctl.conf`

The 'c' means that the content of the file has changed.

We can also see the diff of the file:

`# snapper diff 2..3`  
`--- /.snapshots/2/snapshot/etc/sysctl.conf      2011-11-22 10:35:43.355493753 +0100`  
`+++ /.snapshots/3/snapshot/etc/sysctl.conf      2011-11-22 10:41:47.019512185 +0100`  
`@@ -17,7 +17,7 @@`  
` # See sysctl.conf(5) and sysctl(8) for more information`  
` #`  
` ####`  
`-kernel.sysrq = 0`  
`+kernel.sysrq = 1`  
` net.ipv4.ip_forward = 0`  
` net.ipv4.tcp_syncookies = 1`  
` net.ipv6.conf.all.forwarding = 0`

So, if you don't like the change done by YaST and want to revert it call:

`# snapper undochange 2..3`  
`create:0 modify:1 delete:0`  
`undoing change...`  
`undoing change done`

But note that snapper does not tell the kernel about the change like YaST did so you must either do so yourself or reboot.

### Adding /home To Snapper

During installation YaST does not setup a snapper config for /home. We can do so manually:

`# snapper -c home create-config /home`

Whenever you want to use snapper for /home you must provide the option -c home.

Now you can see what files have changed since the last hourly snapshot:

`# snapper -c home list`  
`Type   | # | Pre # | Date                         | Cleanup  | Description | Userdata`  
`-------+---+-------+------------------------------+----------+-------------+---------`  
`single | 0 |       |                              |          | current     |         `  
`single | 1 |       | Tue 22 Nov 2011 11:30:01 CET | timeline | timeline    |         `

`# snapper -c home status 1..0`  
`comparing snapshots... done`  
`+... /home/tux/just-married.jpg`

The '+' sign means that the file is new.

### Manually Creating A Snapshot

If you manually want to create a snapshot use:

`# snapper -c home create --description "before the big cleanup"`

## YaST Snapper GUI

Finally yast2-snapper provides a YaST UI for snapper.

## Troubleshooting

### Logs

Snapper logs can be found in /var/log/snapper.log, check this file if you are having issues as it may contain useful troubleshooting information.

## Snapper Videos

[Snapper Quick Overview (4min)](https://www.youtube.com/watch?v=GJgWvTLo07k)

[Greg Kroah-Hartman &amp; SUSE Linux Enterprise Product Manager Demo Snapper (~7min)](https://www.youtube.com/v/9H7e6BcI5Fo?start=209)

[Snapper, Btrfs &amp; LVM Presentation (22min)](https://www.youtube.com/watch?v=86soSAZlYo8)

# Ansible

- [.vimrc](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/vimrc)
- [tips and tricks](https://www.reeltoreel.nl/knowledgebase/books/homelab/page/tips-and-tricks)

# Snapper PvdM

Show configs:

`# snapper list-configs`

Create snapshot:

`# snapper -c home create --description "/home snapshot"`

View snapshots:

`# snapper -c home ls`

# delete snapper config

`# snapper -c home delete-config `

If that does not work:

- remove /home from fstab
- reboot and log in as root
- ```
    cd {vol}/.snapshots (b.v. /home/.snapshots)
    ```
- ```
    # for i in $(ls -1); do btrfs property set -ts $i/snapshot/ ro false; done
    ```
- ```
    # rm -rf *
    ```
- ```
    # ..
    ```
- ```
    # rmdir .snapshots
    ```

# Kde over ssh

`$ export XDG_CURRENT_DESKTOP=kde`  
`$ dolphin`

# Change root's theme

`$ pkexec env "DISPLAY=$DISPLAY" "XAUTHORITY=$XAUTHORITY" "QT_QPA_PLATFORMTHEME=kde" systemsettings`

then change theme as normal.

# Upgrade using patch

### Using patch

A small patch file is usually made available for a minor version upgrade. You'll need to download [patch](w:patch_(Unix) "wikilink") to use this Manually download and extract the patch file from [the dumps site](https://releases.wikimedia.org/mediawiki/) or follow the directions with wget below. Patches are incremental, you can **not** skip a version.

1. <kbd>cd</kbd> to your main MediaWiki directory (the one with LocalSettings.php)

1. Download the patch file and <kbd>unzip</kbd> it.

1. Use `patch -p1 --dry-run` to check what will be changed (*e.g.*, `patch -p1 --dry-run -i `*`mediawiki-x.xx.x.patch`*)

1. If all is well, run <kbd>patch</kbd> again without `--dry-run`

1. Check your Special:Version and you should see the new version number in place.

# KDE apps look ugly and missing icons over ssh

```
 Re: Qt5 apps look ugly over SSH X forwarding
Sat May 06, 2017 8:10 am
In the remote SSH session:

Code: Select all
    export XDG_CURRENT_DESKTOP=kde
```

# Things to do after a fresh installation of OpenSUSE

This guide is a summary of the steps I take to customize a default installation of openSUSE.

This particular guide was rewritten for openSUSE 11.2, but most stuff should be applicable to other versions as well.

## first: repos

first, type

`# zypper lr -d`  
`# | Alias        | Name                  | Enabled | Refresh | Priority | Type | URI                                                             |  Service`  
` -+--------------+-----------------------+---------+---------+----------+------+-----------------------------------------------------------------+--------`  
`1 | repo-debug   | openSUSE-11.3-Debug   | No      | Yes     |   99     | NONE | `[`http://download.opensuse.org/debug/distribution/11.3/repo/oss/`](http://download.opensuse.org/debug/distribution/11.3/repo/oss/)`  |`  
`2 | repo-non-oss | openSUSE-11.3-Non-Oss | Yes     | Yes     |   99     | NONE | `[`http://download.opensuse.org/distribution/11.3/repo/non-oss/`](http://download.opensuse.org/distribution/11.3/repo/non-oss/)`    |`  
`3 | repo-oss     | openSUSE-11.3-Oss     | Yes     | Yes     |   99     | NONE | `[`http://download.opensuse.org/distribution/11.3/repo/oss/`](http://download.opensuse.org/distribution/11.3/repo/oss/)`        |`  
`4 | repo-source  | openSUSE-11.3-Source  | No      | Yes     |   99     | NONE | `[`http://download.opensuse.org/source/distribution/11.3/repo/oss/`](http://download.opensuse.org/source/distribution/11.3/repo/oss/)` |`  
`5 | repo-update  | openSUSE-11.3-Update  | Yes     | Yes     |   99     | NONE | `[`http://download.opensuse.org/update/11.3/`](http://download.opensuse.org/update/11.3/)`                       |`

- delete **source** and **debug** repos and **installation dvd** repo

`zypper rr < number of repo | name of repo | alias of repo>`

- add community repos: Packman, VLC etc.

`zypper ar -f `[`http://download.videolan.org/pub/videolan/vlc/SuSE/11.2/`](http://download.videolan.org/pub/videolan/vlc/SuSE/11.2/)` vlc`  
`zypper ar -f `[`http://ftp.skynet.be/pub/packman/suse/11.2/`](http://ftp.skynet.be/pub/packman/suse/11.2/)` packman`

- add KDE 4.3 repos (for updates KDE)

`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/43/openSUSE_11.2/`](http://download.opensuse.org/repositories/KDE:/43/openSUSE_11.2/)` kde43`  
`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/KDE4:/Community/openSUSE_11.2_KDE_43/`](http://download.opensuse.org/repositories/KDE:/KDE4:/Community/openSUSE_11.2_KDE_43/)` kde43community`

- or better still, the updated KDE4.4 repos:

`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/KDE4:/Factory:/Desktop/openSUSE_11.2/`](http://download.opensuse.org/repositories/KDE:/KDE4:/Factory:/Desktop/openSUSE_11.2/)` kde44`  
`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/KDE4:/Community/openSUSE_11.2/`](http://download.opensuse.org/repositories/KDE:/KDE4:/Community/openSUSE_11.2/)` kde44comm`  
`zypper ar -f `[`http://download.opensuse.org/repositories/KDE:/KDE4:/Playground/openSUSE_11.2/`](http://download.opensuse.org/repositories/KDE:/KDE4:/Playground/openSUSE_11.2/)` kde44play`

In the end you should have the following repos:

1. oss
2. non-oss
3. update
4. kde43 or kde44
5. kde43community or kde44comm
6. packman
7. vlc
8. nvidia/ATI

## Kernel stuff

Install this stuff now, because sooner or later you will need them. And sometimes the install/compile of a kernel module will fail without these

`zypper in -y kernel-source linux-kernel-headers kernel-syms make gcc`

## utils

`zypper in -y mc findutils-locate nmap`

## For multimedia stuff:

`# zypper in -y flash-player mplayer ffmpeg a52dec mencoder x264 faac w32codec-all vlc`

optional:

`# zypper in -y gstreamer-0_10-plugins-good xine-browser-plugin swfdec-browser-plugin gxine-browser-plugin gstreamer-0_10-plugins-bad mplayerplug-in libxine1-codecs`

## Language:

`zypper in -y ispell-dutch myspell-dutch`

If you have installed from liveCD, localization may be missing:

`zypper in -y kde4-l10n-nl kde4-l10n-nl-data kde4-l10n-nl-doc`

## firefox:

- install add-ons: adblock, xmarks
- add 'new tab' button in buttonbar
- configuration: 
    - download location always ask, close when ready etc
    - start with blank page
    - do not remember history, suggest from bookmarks
    - search for text when I start typing
    - no check my spelling as I type
    - no check to see if FF is default browser
- install silverlight plugin [http://go-mono.com/moonlight-beta/](http://go-mono.com/moonlight-beta/)
- type [about:config](about:config) in addressbar and change: 
    - network.dns.disableIPv6 -&gt; true
    - create this one: content.notify.backoffcount -&gt; 5
    - also create nglayout.initialpaint.delay -&gt; 0
    - network.http.pipelining true
    - network.http.proxy.pipelining true
    - network.http.pipelining.maxrequests 8

## KDE:

- edit /etc/sysconfig/windowmanager and change this option to 'no'

`KDE_USE_IPV6="no"`

- taskbar: 
    - add system monitor CPU usage widget
    - digital clock: add day of week
- add yast2 and configure desktop to quick start area (next to suse-icon)
- configure desktop - personal settings: 
    - region and language: region: dutch. add dutch to languages
    - advanced -&gt; session manager: start KDE with empty session
    - autostart: yakuake
    - desktop screensaver: random
- desktop: add analogue clock widget
- for extra KWIN themes:

`# zypper in kde4-windeco-aurorae kde4-windeco-chromi kde4-windeco-crystal kde4-windeco-dekorator kde4-windeco-nitrogen`

<dl id="bkmrk-and-go-to-system-set"><dt></dt><dd>and go to System Settings / Appearance / Windows / choose for example the **aurorae** theme engine with the **example** theme </dd></dl>## Yast2:

- configure NTP settings 194.109.22.18 (XS4All time server) or choose from pool.ntp.org

## OOo

- User details
- quickstarter

## Printer configuration

- cups printer 192.168.1.1 ++ALWAYS USE IP++

## Power settings

## network mounts

# Updating OpenSUSE in-place using zypper dup

# What Why When How

- If you want to upgrade your OpenSUSE while the system is running, you can use 'zypper dup' with these simple 5 steps.
- After the reboot, the system will be upgraded to the next version.
- We will be using the command line tool, because it is cool.
- This guide can be used with all versions from 11.1 and newer.
- The examples given here are from the upgrade of 11.1 to 11.2
- A drawback of this method is that your disk will not be converted to use the new ext4 filesystem. For this, do a fresh/clean install

# 1. Update the system first

Update your current running system with the latest patches. This will ensure that the update process will function correctly and no bugs exist in the rpm/zypper stack. If your system is already patched, continue with the next step If you haven't done so, enable an update repository and bring your system up-2-date.

`# zypper addrepo --check --name 'openSUSE-11.1-Update' `[`http://download.opensuse.org/update/11.1/`](http://download.opensuse.org/update/11.1/)` repo-update`  
`# zypper ref -f && zypper up`

After the update a reboot may be required. Make sure this step is successful before proceeding!

# 2. Delete non standard repos

In this step we need to **disable** all non-standard OpenSUSE repositories, leaving only the **OSS** and **NON-OSS** and an **update** channel.

`# zypper lr -d`

Here you will see the repos and their URLs. remove \*ALL\* the URLS that are not the stanard repos, so remove PackMan, VLC, buildservice repos, google repos, KDE repos, etc etc....

`# zypper rr `<number></number>

replace the number with the number displayed in the first column of the 'zypper lr -d' command In the end you will have just 3 repos: update, OSS and NONOSS.

# 3. Edit the repos with the new location

Now we will bring the 3 repo's URLs to the desired new version.

`# cd /etc/zypp/repos.d/`

use vi or your favourite editor to edit the 3 files there.

Modify the line with 'baseurl' to use the new location, so change the 11.1 into 11.2. While you're there, you can also modify the line with 'name' and maybe the first line between the brackets.

When you're done, you should have 3 files representing the 3 new repos.

# 4. Update the zypper program itself first

Enter the following commands:

`# zypper ref -f`  
`# zypper in zypper`

# 5. Do the actual upgrade

We will download all packages locally first, to make sure the upgrade goes smoothly and uninterrupted.

**Make sure you have enough space in /var !!** Check with

`# df -h`

and see if the free space on / (or /var) is more then the next command states at the bottom summary, before you give the final go:

`# zypper dup -d`

Then start the upgrade:

`# zypper dup`

After this, you can add the repos you had before, like Packman etc. Make sure you add the repos for the **new** version. Then, do another 'zypper dup', use dup because packages may require a vendor change.

# Repositories in openSUSE - The current state

```
#  | Alias     | Name      | Enabled | Refresh | Priority | Type   | URI                                                                               
---+-----------+-----------+---------+---------+----------+--------+-----------------------------------------------------------------------------------
1  | OSS       | OSS       | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.2/repo/oss/                          
2  | VLC       | VLC       | Yes     | Yes     |   99     | rpm-md | http://download.videolan.org/pub/videolan/vlc/SuSE/11.2/                                  
3  | Wine      | Wine      | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_11.2/                  
4  | ati       | ati       | Yes     | Yes     |   99     | rpm-md | http://www2.ati.com/suse/11.2/                                                            
5  | faccont   | FacCont   | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/openSUSE:Factory:Contrib/standard               
6  | moz       | moz       | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/mozilla/openSUSE_11.2/                          
7  | nonoss    | NonOSS    | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.2/repo/non-oss/                              
8  | ooounst   | ooounst   | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/OpenOffice.org:/UNSTABLE/openSUSE_11.2/         
9  | openftd   | openftd   | Yes     | Yes     |   99     | rpm-md | http://www.openftd.org/releases/testing/openSUSE_11.2                                     
10 | p-kde44   | p-kde44   | Yes     | Yes     |   98     | rpm-md | http://pvdm.xs4all.nl/kde44/                                                              
11 | p-kdecomm | p-kdecomm | Yes     | Yes     |   99     | rpm-md | http://pvdm.xs4all.nl/kde44community                                                      
12 | p-kdeplay | p-kdeplay | Yes     | Yes     |   99     | rpm-md | http://pvdm.xs4all.nl/kde44playground                                                     
13 | p-oss     | p-oss     | Yes     | Yes     |   99     | yast2  | http://pvdm.xs4all.nl/opensuse112_64/                                                     
14 | p-up      | p-up      | Yes     | Yes     |   99     | rpm-md | http://pvdm.xs4all.nl/update/11.2/                                                        
15 | packman   | Packman   | Yes     | Yes     |   99     | rpm-md | http://ftp.skynet.be/pub/packman/suse/11.2/                                               
```

# Software regelmatig te checken

- ampache
- gallery
- mediawiki

# Upgrading the system to a newer version using zypper dup

`Warning: this procedure only works on openSUSE 11.1+`

This procedure I have written is based on the official openSUSE wiki. I have made it more compact and readable.

As root:

1\. check that you have an update repo, that is is enabled, and update the system using

`#zypper up`

2\. disable all current repos using

`#zypper mr --all --disable`

3\. add the new repos, for 11.3 the commands are:

` zypper addrepo --name "openSUSE-11.3 OSS" `[`http://download.opensuse.org/distribution/11.3/repo/oss/`](http://download.opensuse.org/distribution/11.3/repo/oss/)` repo-11.3-oss`  
` zypper addrepo --name "openSUSE-11.3 Non-OSS" `[`http://download.opensuse.org/distribution/11.3/repo/non-oss/`](http://download.opensuse.org/distribution/11.3/repo/non-oss/)` repo-11.3-non-oss`  
` zypper addrepo --name "openSUSE-11.3 Updates" `[`http://download.opensuse.org/update/11.3/`](http://download.opensuse.org/update/11.3/)` repo-11.3-update`

4\. add 3rd party repos you had before, like packman, but be careful not to add conflicting repos. Check they are the 11.3 version!

5\. perform a repo refresh using:

`# zypper ref -f`

6\. do the actual upgrade, by downloading all the packages first and then installing (this is safer):

`# zypper dup --download "in-advance"`

<dl id="bkmrk-be-sure-to-check-the"><dt></dt><dd>Be sure to check the 'packages to downgrade' and 'packages to remove' part of the list. </dd></dl>6a. I noticed, and this is not in the official wiki, that the last commandline did not do the actual install, it did only the download. So you have to run

`# zypper dup `

7\. afterwards you can review all the repos (using # yast2 repositories) and remove the ones from the old version we disabled in step 2.

8\. add any repo you miss here and you're done!