Home Home > 2013 > 11 > 13 > Sneak Peek openSUSE 13.1: Geeko Tips
Sign up | Login

Sneak Peek openSUSE 13.1: Geeko Tips

November 13th, 2013 by

WinterIsComingFinalWelcome to our fourth Sneak Peek for openSUSE 13.1! The release is getting very close and you’ve already learned about all the awesome new Cloud features, the new YaST and what our new GNOME and KDE fans will get. Today, we feature a much requested article: some in-depth Geeko Tips!

Tips?

Last release, we featured a set of geeko tips for new users. If you come from Fedora, Gentoo or Ubuntu, that’s the article to read. It not only explains what all that green is about but also gives openSUSE equivalents of your familiar terminal commands and introduces you to YaST, getting software on openSUSE and more. Talking about software, we featured some interesting tips in that area with in this article about getting the latest fresh software from the Open Build Service. Finally, find some more tips and information on using the repositories on OBS and One-Click-Install in this blog post.
OWN-oxygen-Tips-and-Tricks

Going advanced

In this article, we’re going a step deeper, bringing you some more tips and tricks we got from the openSUSE community.

zypper

We got many zypper tips. Lots is already in the article for new geekos but we have some ‘deeper’ tips here.
Some useful commands:

  • rpmqpack – lists currently installed packages (without version)
  • rpm -qa –qf ‘%{name}-%{version}-%{release}.%{arch}\n’ – lists currently installed packages (with full version and architecture)
  • rpm -q –qf “%{DISTURL}\n” PACKAGE – gives you an OBS URL to the exact sources for the package PACKAGE. You can, for instance, check them out with osc co DISTURL
  • awk -F\| ‘$6 && $2 == “install” {print $3}’ /var/log/zypp/history – list all packages explicitly installed
  • zypper sh – runs zypper shell, no need to type zypper for each command
  • zypper -v dup -D – simulate(Dry run) an upgrade on all active repositories
  • zypper moo – makes debian users feel at home
The Geekos in Greece!

The Geekos in Greece!

journald

journald is replacing the old logging technologies in openSUSE (at least for most common cases). The two most important commands you need to know:

  • journalctl – the old “cat /var/log/messages”
  • journalctl -f – the old “tail -f /var/log/messages”

Network installation

Network install is native to openSUSE. Just use the dvd as source to install from network. This tool can help a lot for network deployments (or VMs): openSUSE-ipxe on github.

etc-update

New in this release is a Gentoo tool ported to openSUSE: etc-update. This tool goes through your configuration in /etc and merges new configuration files with your own modifications automatically or presents you the differences and lets you merge the changes.
etc-update is used to merge config files in non-intrusive cli way. It goes file by file in etc, where you can show unified diff and merge the changes as whole or interactively. It can merge trivial changes by itself “-p” preen option, or you can also set the default action to take on all files “automerge, discard, …”. Basically you just run “etc-update” and then press numbers on what action you want to take :)

Easy OBS

A major technology in openSUSE is the Open Build Service or OBS. We’ve got it running on build.opensuse.org where it servers tens of thousands of packagers building hundreds of thousands of packages for one or more of the 15+ different distributions on 8+ architectures. And this can be massively useful – to you! Information on using the repositories on OBS and One-Click-Install in this blog post, but here we’ll focus on how to use OBS to BUILD packages. A simple and graphical tutorial for re-building a package for a different openSUSE version can be found here.

For you command line aficionados interested in more deep changes, here’s the nitty gritty way of customizing/updating or rebuilding packages (we call this process BURPing). If you haven’t set the OBS tool up yet, find a how-to of your first steps with osc here.

geekos!Branch
osc bco /
Update
cd home::branches:/
Change it, fix it, break it
Test your changes with

osc build
Commit your changes to OBS with
osc ci
Request a submit of your changes
osc sr
to the Package

Fixing a package in a released openSUSE distribution and releasing it as maintenance update is as easy as that.
Branch
osc branch -M -c openSUSE:12.3
Update
cd home::branches:openSUSE:12.3:Update/
Change it, fix it, break it
Test your changes with

osc build
Commit your changes to OBS with
osc ci
Request a submit of your changes
osc mr
to the Package

And done! Yes, it really is that easy to contribute to openSUSE and make the distro better for yourself <em>and</em> everybody else.

That’s it for now

We’re out of tips for now, but if you’ve got any – please share them below! We can use them in the next article with Geeko Tips…

Have a lot of fun!

Both comments and pings are currently closed.

6 Responses to “Sneak Peek openSUSE 13.1: Geeko Tips”

  1. shishir

    kdm tip: fontconfig-infinality is a good package to install if one wants nice and smooth fonts on kdm login screen.

  2. Samuel Orr

    I will have to test etc-update for sure. Thanks for the great post!

  3. BG

    I test this version. Very good and it is better than others TOP operating system

  4. Carl Mannino

    I want a stuffed Gecko !!

  5. Geoff Cutter

    List all packages explicitly installed

    Exactly what I wanted so I tried it. Copy didn’t quite work so I made the quotes straight.

    geoff@linux-j6yn:~> awk -F\| ‘$6 && $2 == “install” {print $3}’ /var/log/zypp/history
    awk: cmd. line:1: ‘
    awk: cmd. line:1: ^ invalid char ‘�’ in expression
    geoff@linux-j6yn:~> awk -F\| ‘$6 && $2 == “install” {print $3}’ /var/log/zypp/history |grep start
    awk: cmd. line:1: $6 && $2 == “install” {print $3}
    awk: cmd. line:1: ^ invalid char ‘�’ in expression
    awk: cmd. line:1: $6 && $2 == “install” {print $3}
    awk: cmd. line:1: ^ syntax error
    geoff@linux-j6yn:~> awk -F\| ‘$6 && $2 == “install” {print $3}’ /var/log/zypp/history |grep start
    rstart
    libstartup-notification-1-0
    opensuse-startup_en-pdf
    opensuse-startup_en
    opensuse-startup_en-pdf
    opensuse-startup_en
    opensuse-startup_en-pdf

  6. great article !