I have switched my main system from Ubuntu Gutsy to openSUSE 10.3 recently. A very smooth transition, I must say. I can mostly run the same software and the same up to date versions. Notable exceptions: bzr support (python-paramiko, python-celementtree), etherwake, kvm, run-parts, sawfish, upstart. I still switch between both systems a bit, using a mix of $HOME in GIT (git-swap) and altenatives-like symlink setup (alt), and running the other chrooted in /other.
SUSE does not use the Application/Places/System menus on the
top panel, but it sports a `Computer' button (right where
Windows has its start button) on the bottem panel that opens a
smorgasbord panel of choices.
My first impression was that it's awkward but after using it for a while it turns out to be real nifty. Now that the system is configured and I have sawfish compiled for SUSE I hardly ever use the GUI menus, though.
Zypper is SUSE's command line apt/yum replacement.
One word of caution if you're on x86_64: do not use yum unless you really know what you're doing and not before having addedto your /etc/yum.conf. If you don't, yum will easily break your system. There is little chance of this getting fixed, because yum breaking you system is a design choice #347624).exclude=*i586*
The biggest thing is SUSE's rpm+zypper+Yast2 based package management and configuration tools versus Ubuntu/Debian's dpkg+apt+debconf (Red Hat et al.'s rpm+yum+???, rpm+apt-rpm+???). After apt and yum, zypper seems to be yet another effort exploring the possibilities of this realm. I wonder when the era of unification can start, it seems this is still in the early stages and there is still much need to explore and diversify. rPath anyone?
Another thing is that SUSE 10.3 is not using upstart yet so digg up my inittab entries.
Below is a list of the most different/missing things that I had to look for. N/A means: haven't figured out yet how to do this yet. script means: I'm using this addon script.
| Ubuntu/Debian | openSUSE | |
|---|---|---|
| list packages | dpkg -l | rpm -qa |
| list packages contents | dpkg -L | rpm -ql |
| configure network interfaces | /etc/network/interfaces [man interfaces] | /etc/sysconfig/network/ifcfg-eth0 [man ifcfg] |
| concise list of installable packages | apt-cache search . | zypper search [script: zypper-list #348676)] |
| get info on package | apt-cache show | zypper info#348683)/rpm -qi |
| install or update package | apt-get install | zypper install |
| install updates | apt-get upgrade | zypper update |
| refresh package cache | apt-get update | zypper refresh |
| install build dependencies of a package | apt-get build-dep | zypper build-deps-install [script: zypper-build-dep] #348685) |
| packages in historic order of installing | script: dpkg-history | rpm -qa |
| prevent package from being updated | script: dpkg-hold | /etc/zypp/locks(man zypper) |
| find package for uninstalled file | [apt-file update;] apt-file search | webpin |
| online search packages by file | packages.ubuntu.com packages.debian.org | packages.opensuse-community.org |
| favourite mirror | <CC>.archive.ubuntu.com ftp.<CC>.debian.org | download.opensuse.org |
| full list of files by package | Contents-<arch>.gz Contents-<arch>.gz | ARCHIVES.gz (all archs) |
| search installable packages by name | apt-cache search | zypper search |
| search installable package descriptions | apt-cache search | zypper search -d#309714) |
| strip version from package | sed -e s/_.*// | sed -e 's/-[^-]\+-[^-]\+$//' |
| peek into log files | sudo usermod -a -G adm janneke | sudo usermod -G root janneke |
| [re]start gdm | /etc/init.d/gdm | /etc/init.d/xmd |
| Configure gmd (listen to 6000) | edit: /etc/gdm/custom.conf | edit: /etc/sysconfig/displaymanager, /etc/gdm/gdm_sysconfig.conf and /etc/gdm/custom.conf (all three?) |
| gnome settings | ~/.gnomerc | ~/.xinitrc (xmodmap settings have no effect?) |
| apache root | /var/www | /srv/www/htdocs |
| package download cache | /var/cache/apt/archives | /var/cache/zypper/RPMS [script:zypper-download]#348733) |
#348683 - Zypper [info] is amazingly slow ::FIXED in trunk
#309714 - zypper search -d partially working ::FIXED in trunk
#348676 - zypper should list package descriptions/summaries ::FIXED in trunk
#348685 - zypper should list or install build dependencies for package ::FIXED in trunk
#348733 - zypper should have --download-only and --cache options ::FIXED in trunk
#347624 - yum installs i586 packages on x86_64 which easily results in serious breakage