openSUSE – Adobe Flash Player 11.2 Beta 5 installieren

Am 31.01.2012 hat Adobe im Adobe-Labs die 5. Beta-Version (11.2.202.197) des Flash Players für 32-bit wie auch 64-bit Systeme veröffentlicht.

Laut der Release Notes wurden nur Fehler behoben und schließt auch einige Sicherheitslücken, die derzeit ausgenutzt werden. Sofern man eine frühere Beta-Version installiert hat, so wird empfohlen, diese Beta-Version zügig einzuspielen. Außerdem hat Adobe angekündigt, dass dies die letzte Beta vor dem Release ist.

Wer noch einen Fehler oder Ungereimtheiten in der aktuellen Beta des Flash Player gefunden hat, so möchte ich den Bugtracker von Adobe empfehlen.

Die Installation des neuesten Flash Player auf openSUSE:

Hinweis: Die Installation wird in der Konsole mit root-Rechten durchgeführt. Hierzu wird der Flash Player und das zugehörige Packaging Skript heruntergeladen. Daraus wird ein RPM-Paket gebaut und auf Wunsch installiert. Es ist wichtig, dass entweder die Installations-DVD oder das OSS-Repo von openSUSE verfügbar ist, weil ggfs. noch benötigte Pakete (update-desktop-files, fdupes, patch und ggfs. kde4-filesystems) installiert werden.

Downloads:

  1. Das Skript makerpm-flash-11.2-beta5.sh wie auch die Prüfsummendatei herunterladen:
    wget http://www.sebastian-siebert.de/downloads/makerpm-flash-11.2-beta5.sh
    wget http://www.sebastian-siebert.de/downloads/makerpm-flash-11.2-beta5.sh.sha1
  2. Die Prüfsumme vom heruntergeladenen Skript prüfen:
    sha1sum -c makerpm-flash-11.2-beta5.sh.sha1

    Idealerweise sollte folgende Ausgabe erscheinen, andernfalls ist das Skript defekt und sollte ersetzt werden:

    makerpm-flash-11.2-beta5.sh: OK
  3. Das Skript ausführbar machen:
    chmod 755 makerpm-flash-11.2-beta5.sh
  4. Nun gibt es 3 Möglichkeiten die Pakete zu erstellen und zu installieren:
    1. Auf einem reinen KDE-System:
      ./makerpm-flash-11.2-beta5.sh -i kde
    2. Auf einem reinen GNOME- bzw. GTK-System:
      ./makerpm-flash-11.2-beta5.sh -i gnome
    3. Sowohl auf einem KDE-System wie auch auf einem GNOME-System:
      ./makerpm-flash-11.2-beta5.sh -i all

      oder einfach nur

      ./makerpm-flash-11.2-beta5.sh -i

    Dann entspannt zurück lehnen und warten bis die Installation abgeschlossen ist. Das Skript ist wie gewohnt gesprächig und die jeweilige Aktion kann verfolgt werden. ;-)

  5. Rechner neustarten und Flash Player 11.2 Beta 5 testen.

Feedbacks sind immer willkommen.

Have a lot of fun! ;-)

openSUSE Projekt – Alle binären Dateien nach /usr verschieben

Der Plan: Alle binären Dateien in /bin, /sbin /lib und /lib64 nach /usr verschieben. Aus Gründen der Kompatiblität werden noch symbolische Links zu den binären Dateien angelegt. Angeschoben wurde diese Idee vom Fedora-Projekt. Bei Fedora ist bereits der Umzug voll im Gange. Greg Kroah-Hartman (greg k-h) hat diesen Vorschlag einfach mal in die Mailingliste openSUSE Factory gestellt und wird zur Zeit heiß diskutiert.

Warum macht man das? Die Verzeichnisse /bin, /sbin, /lib und /lib64 waren damals wichtig, wo noch Festplattenspeicher sehr knapp waren. Die Tools und die Bibliotheken standen auf dem System immer zur Verfügung, während man das Verzeichnis /usr aus Platzgründen auf einer anderen Festplatte ausgelagert hatte. Falls das System die Festplatte/Partition für /usr nicht mounten konnte, so hat man noch ein funktionsfähiges System. Außerdem hat man immer noch die Werkzeuge zur Verfügung, um das System zu reparieren.

Würden wir die Trennung weiterhin beibehalten, so muss ich sagen, dass das heutige Linux-System (aus der Sicht von damals) mehr kaputt als ganz ist. Eine Shellanweisung macht es sogar deutlich, wie abhängig wir heute schon vom /usr Verzeichnis sind.

for i in `find /bin /sbin /lib* -type f -executable`; do ldd ${i} 2>/dev/null | grep usr > /dev/null && echo ${i}; done

Auf einem openSUSE 12.1 (64-bit) sieht so aus:

/bin/systemd-notify
/bin/systemctl
/bin/rpm
/sbin/install-info
/lib/systemd/systemd-stdout-syslog-bridge
/lib/systemd/systemd-uaccess
/lib/systemd/systemd-shutdownd
/lib/systemd/systemd-readahead-collect
/lib/systemd/systemd-initctl
/lib/systemd/systemd-readahead-replay
/lib/systemd/systemd-kmsg-syslogd
/lib/udev/iphone-set-info
/lib/udev/udisks-part-id
/lib/udev/ipod-set-info
/lib/udev/mtp-probe
/lib/udev/udisks-probe-sas-expander
/lib/udev/udisks-dm-export
/lib/udev/udev-acl
/lib/udev/udev-configure-printer
/lib/udev/udisks-probe-ata-smart
/lib/libnss_wins.so.2
/lib64/libgudev-1.0.so.0.1.0
/lib64/security/pam_systemd.so
/lib64/security/pam_pwcheck.so
/lib64/security/pam_smbpass.so
/lib64/security/pam_userdb.so
/lib64/security/pam_cracklib.so
/lib64/security/pam_ck_connector.so
/lib64/libnss_wins.so.2

Auch auf einer älteren openSUSE 11.4 (64-bit) sieht es nicht besser aus:

/bin/rpm
/sbin/install-info
/lib/udev/udisks-probe-ata-smart
/lib/udev/mobile-action-modeswitch
/lib/udev/hid2hci
/lib/udev/udisks-part-id
/lib/udev/udev-configure-printer
/lib/libnss_wins.so.2
/lib64/libnss_wins.so.2
/lib64/security/pam_cracklib.so
/lib64/security/pam_ck_connector.so
/lib64/security/pam_pwcheck.so
/lib64/security/pam_userdb.so

Sogar andere Distributionen sind betroffen: I’m interesting in, how much different Linux distributions are broken.

Das würde bedeuten, dass diese Tools bzw. Bibliotheken bei einem fehlenden /usr Verzeichnis nicht mehr funktionieren.

Wie ist es heute? Mittlerweile haben wir mehr als ausreichende Festplattenkapazität und können gleich ein komplettes Linux-System auf die Platte ziehen oder sogar mehrere Linux-Systeme. Sollte das Linux-System einmal ausfallen, haben wir immer noch unsere Rettungs-CDs, Sicherheitskopien oder sogar ein zweites Linux-System auf der Festplatte, um das System wiederherzustellen. Daher wird dieses Argument als Rettungssystem nicht mehr ziehen.

Was sind eigentlich die Vorteile? Theoretisch können mehrere Linux-System das Verzeichnis /usr teilen, so hat man 2 Fliegen mit einer Klappe geschlagen. Man senkt nicht nur den Wartungsaufwand, sondern auch den benötigten Speicherplatz. Man kann so auch viel leichter einen Snapshot vom /usr Verzeichnis erstellen.

Gibt es irgendwelche Nachteile? Bisher sind keine gravierenden Nachteile bekannt. Es gibt aber einige kleinere Nachteile. Beim Bau der Pakete sind noch die alten Installationspfade /bin, /sbin, /lib und /lib64 enthalten und müssen entsprechend gepatcht werden. Sobald die Verzeichnisse /bin, /sbin, /lib und /lib64 in naher Zukunft endgültig entfernt werden, kann es passieren das einige schlampig geschriebenen Skripten oder proprietäre Programme nicht mehr funktionieren. Die andere Seite der Medaille ist, dass es evtl. zu einem Bruch bei der FHS (Filesystem Hierarchy Standard) und bei der LSB (Linux Standard Base) kommt, die den Standard der Dateisystemordnung sowie den Ort für die binären Dateien vorschreibt. Hier müsste die Linux Foundation die FHS/LSB-Spezifikation abändern, sonst ist die Zertifizierung in Gefahr, was für die kommerziellen Linux-Systeme wie z.B. die „SUSE Linux Enterprise“ Produkte und auch „Red Hat Enterprise Linux“ Produkte hart treffen könnte.

Fazit: Meiner Meinung nach ist der Umzug der binären Dateien längst überfällig. Somit schneiden wir endlich alte Zöpfe ab, die in heutiger Zeit mehr störend als nützlich empfunden wird. Man kann sich viel mehr darauf verlassen, dass die binären Dateien genau da sind, wo sie eigentlich hingehören. Auch die einfachere Wartung über mehrere Linux-Systeme hinweg, sollte man berücksichtigen.

Weitere Informationen und Diskussionen zu diesem Thema:
http://en.opensuse.org/UsrMerge
http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge
http://0pointer.de/blog/projects/the-usr-merge.html
https://fedoraproject.org/wiki/Features/UsrMove
http://thread.gmane.org/gmane.linux.redhat.fedora.devel/155511/focus=155547
http://thread.gmane.org/gmane.linux.debian.devel.general/165785
http://thread.gmane.org/gmane.linux.gentoo.devel/72128
http://harald.fedorapeople.org/downloads/usrmove/

openSUSE 12.1 – Kernel 3.1.9-1.4 im Update-Repo verfügbar

Das erste Kernel-Update für openSUSE 12.1 ist draußen und behebt unzählige Fehler und schließt einige Sicherheitslecks. Es beinhaltet zugleich alle 9 Patchlevel-Versionen vom Upstream, dass noch viele weitere Fehler behebt. Besonders fällt im nachfolgenden ChangeLog aus der RPM auf, dass eine ganze Reihe von Patches zum Dateisystem btrfs enthalten sind.

Das Kernel-Update kann über YaST2 oder per zypper eingespielt werden:

zypper up

Die offizielle Ankündigung zum Kernel-Update werde ich an dieser Stelle nachreichen.

Ein Auszug der Changelog aus der RPM:

  • patches.fixes/drm-radeon-kms-fix-i2c-masks.patch: Add git commit ID.
  • ALSA: hda/realtek – Skip invalid digital out pins (bnc#727348)
  • ALSA: hda – Add missing static ADC tables for ALC269 quirks.
  • patches.fixes/hfs-fix-hfs_find_init-sb-ext_tree-null-ptr-oops.patch: hfs: fix hfs_find_init() sb->ext_tree NULL ptr oops (CVE-2011-2203 bnc#699709)
  • X86: Solve Dell Latitudes do not reboot on x86_64 more generally.
  • sunrpc: wake up SOFTCONN tasks when a connection error happens (bnc#679059)
  • Linux 3.1.1.
  • Update config files.
  • Refresh patches.fixes/scsi-dh-queuedata-accessors.
  • Refresh patches.suse/staging-hv-staging-next-20110829-0327-Staging-hv-storvsc-Add-the-contents-of-hyperv_sto.patch.
  • Delete patches.drivers/alsa-hda-0002-Keep-EAPD-turned-on-for-old-Conexant-chips.
  • Delete patches.drivers/alsa-hda-0003-Fix-ADC-input-amp-handling-for-Cx20549.
  • Delete patches.drivers/alsa-hda-0004-Add-missing-static-ADC-tables-for-ALC269-qu.
  • Delete patches.drivers/alsa-hda-0005-realtek-Skip-invalid-digital-out-pins.
  • Delete patches.fixes/drm-radeon-kms-fix-i2c-masks.patch.
  • Delete patches.suse/staging-hv-staging-next-20111001-0058-staging-hv-fix-a-kernel-warning-in-netvsc_linkstat.patch.
  • Delete patches.suse/staging-hv-staging-next-20111001-0129-Staging-hv-Add-support-for-2-TB-LUN-in-storage-dr.patch.
  • Add package descriptions for ARM kernels
  • Update Patch-mainline headers.
  • ARM: Dont generalize the target. On ARM we can not build generic kernels that work through different generations, such as armv5 and armv7. So we better list them explicitly and not export an rpm that wouldn’t even work on the respective architecture :).
  • ARM: Use zImage, not vmlinux. On ARM we use the arch/arm/boot/zImage file similar to x86 to boot systems. Put that into the rpm as vmlinuz instead of the vmlinux ELF binary.
  • Linux 3.1.2.
  • drm/radeon/kms: fix up gpio i2c mask bits for r4xx (bnc#691052).
  • ARM: create uImage, not zImage, so we can boot with u-boot
  • patches.fixes/drm-radeon-kms-fix-up-gpio-i2c-mask-bits-for-r4xx.patch: Add missing git-commit.
  • rpm/kernel-binary.spec.in: Do not have a separate make invocation for s390 and the rest.
  • rpm/try-disable-staging-driver: Script to disable failing staging driver and restart make.
  • Linux 3.1.3.
  • intel_idle: Fix kvm -cpu host Null pointer enter function issue (bnc#726296)
  • Build the kotd against 12.1, not Factory.
  • rpm/kernel-binary.spec.in: Ignore staging failures only in vanilla only branches.
  • Fix kernel-source spec to give ownership of the /usr/src/linux link to kernel-devel. kernel-source depends on kernel-devel, so this is correct.
  • Linux 3.1.4.
  • rpm/kernel-binary.spec.in: Make the -base package conflict with the main one.
  • mm: Ensure that pfn_valid is called once per pageblock when reserving pageblocks (bnc#731261, bnc#730731)
  • Import 12.1 GA kabi files.
  • kabi/severities: Ignore changes to usb, nfs and some drivers for now.
  • kabi: fix jiffies_to_clock_t breakage.
  • Fix typo: Base package should not conflict with itself but with main package.
  • Use GPL-2.0 as license tag (from http://spdx.org/licenses/) Only have one licenses line per file, the rest was just duplicated.
  • rpm/kernel-binary.spec.in: Do not package the vmlinux image in the devel package.
  • Adjust kernel-source.rpmlintrc for Linux 3.x
  • Use versioned provides/obsoletes.
  • Do not show rpmlint warnings.
  • No self-obsoletions.
  • Linux 3.1.5.
  • Delete patches.fixes/drm-radeon-kms-fix-up-gpio-i2c-mask-bits-for-r4xx.patch.
  • x86, x2apic: Enable the bios request for x2apic optout.
  • Revert „USB: fix ehci alignment error“.
  • kabi/severities: Check drivers/usb again
  • Silence warning about dangling symlink and vdsos
  • Silence missing defattr warning.
  • batman-adv: Only write requested number of byte to user buffer (bnc#736149 CVE-2011-4604)
  • batman-adv: bat_socket_read missing checks (bnc#736149 CVE-2011-4604)
  • rpm/kernel-source.spec.in, rpm/mkspec: Fix linux tarball URL
  • rpm/kernel-source.spec.in, rpm/mkspec: Fix tarball URL for -rcX and do not generate any URL for linux-next and vanilla snapshots.
  • btrfs: Introduce btrfs_get_maps_dev() (bnc#672923)
  • vfs: allow /proc/pid/maps to return a custom device (bnc#672923)
  • Btrfs: make lzo the default compression scheme (FATE#306586)
  • btrfs: add new ioctl to determine size of compressed file (FATE#306586).
  • Sector Size check during Mount (bnc#724620)
  • Btrfs: rewrite btrfs_trim_block_group() (FATE#306586).
  • btrfs: allow cross-subvolume file clone (bnc#698540)
  • Btrfs: fix leaked space in truncate (FATE#306586).
  • Btrfs: fix how we do delalloc reservations and how we free reservations on error (FATE#306586).
  • Btrfs: deal with enospc from dirtying inodes properly (FATE#306586).
  • Btrfs: fix num_workers_starting bug and other bugs in async thread (FATE#306586).
  • Btrfs: add allocator tracepoints (FATE#306586).
  • Btrfs: fix btrfs_end_bio to deal with write errors to a single mirror (FATE#306586).
  • Btrfs: drop spin lock when memory alloc fails (FATE#306586).
  • Btrfs: check if the to-be-added device is writable (FATE#306586).
  • Btrfs: try cluster but don’t advance in search list (FATE#306586).
  • Btrfs: try to allocate from cluster even at LOOP_NO_EMPTY_SIZE (FATE#306586).
  • Btrfs: fix meta data raid-repair merge problem (FATE#306586).
  • Btrfs: skip allocation attempt from empty cluster (FATE#306586).
  • Btrfs: skip block groups without enough space for a cluster (FATE#306586).
  • Btrfs: start search for new cluster at the beginning (FATE#306586).
  • Btrfs: reset cluster’s max_size when creating bitmap (FATE#306586).
  • Btrfs: initialize new bitmaps‘ list (FATE#306586).
  • Btrfs: fix oops when calling statfs on readonly device (FATE#306586).
  • Btrfs: Don’t error on resizing FS to same size (FATE#306586).
  • Btrfs: fix deadlock on metadata reservation when evicting a inode (FATE#306586).
  • btrfs scrub: handle -ENOMEM from init_ipath() (FATE#306586).
  • Btrfs: remove free-space-cache.c WARN during log replay (FATE#306586).
  • Btrfs: sectorsize align offsets in fiemap (FATE#306586).
  • Btrfs: clear pages dirty for io and set them extent mapped (FATE#306586).
  • Btrfs: wait on caching if we’re loading the free space cache (FATE#306586).
  • Btrfs: prefix resize related printks with btrfs: (FATE#306586).
  • btrfs: fix stat blocks accounting (FATE#306586).
  • Btrfs: avoid unnecessary bitmap search for cluster setup (FATE#306586).
  • Btrfs: fix to search one more bitmap for cluster setup (FATE#306586).
  • btrfs: mirror_num should be int, not u64 (FATE#306586).
  • btrfs: Fix up 32/64-bit compatibility for new ioctls (FATE#306586).
  • Btrfs: fix barrier flushes (FATE#306586).
  • Btrfs: fix tree corruption after multi-thread snapshots and inode_cache flush (FATE#306586).
  • btrfs: rename the option to nospace_cache (FATE#306586).
  • Btrfs: handle bio_add_page failure gracefully in scrub (FATE#306586).
  • Btrfs: fix deadlock caused by the race between relocation (FATE#306586).
  • Btrfs: only map pages if we know we need them when reading the space cache (FATE#306586).
  • Btrfs: fix orphan backref nodes (FATE#306586).
  • Btrfs: Abstract similar code for btrfs_block_rsv_add{, _noflush} (FATE#306586).
  • Btrfs: fix unreleased path in btrfs_orphan_cleanup() (FATE#306586).
  • Btrfs: fix no reserved space for writing out inode cache (FATE#306586).
  • Btrfs: fix nocow when deleting the item (FATE#306586).
  • Btrfs: tweak the delayed inode reservations again (FATE#306586).
  • Btrfs: rework error handling in btrfs_mount() (FATE#306586).
  • Btrfs: close devices on all error paths in open_ctree() (FATE#306586).
  • Btrfs: avoid null dereference and leaks when bailing from open_ctree() (FATE#306586).
  • Btrfs: fix subvol_name leak on error in btrfs_mount() (FATE#306586)
  • Btrfs: fix memory leak in btrfs_parse_early_options() (FATE#306586).
  • Btrfs: fix our reservations for updating an inode when completing io (FATE#306586).
  • Btrfs: fix oops on NULL trans handle in btrfs_truncate (FATE#306586).
  • btrfs: fix double-free ‚tree_root‘ in ‚btrfs_mount()‘ (FATE#306586).
  • Btrfs: check for a null fs root when writing to the backup root log (FATE#306586).
  • Btrfs: fix race during transaction joins (FATE#306586).
  • Btrfs: fix a potential btrfs_bio leak on scrub fixups (FATE#306586).
  • Btrfs: stop leaking btrfs_bios on readahead (FATE#306586).
  • Btrfs: stop the readahead threads on failed mount (FATE#306586).
  • Btrfs: fix extent_buffer leak in the metadata IO error handling (FATE#306586).
  • Btrfs: fix the new inspection ioctls for 32 bit compat (FATE#306586).
  • btrfs: integrating raid-repair and scrub-fixup-nodatasum (FATE#306586).
  • btrfs: Moved repair code from inode.c to extent_io.c (FATE#306586).
  • btrfs: Put mirror_num in bi_bdev (FATE#306586).
  • btrfs: Do not use bio->bi_bdev after submission (FATE#306586).
  • btrfs: btrfs_multi_bio replaced with btrfs_bio (FATE#306586).
  • btrfs: new ioctls to do logical->inode and inode->path resolving (FATE#306586).
  • btrfs scrub: add fixup code for errors on nodatasum files (FATE#306586).
  • btrfs scrub: use int for mirror_num, not u64 (FATE#306586).
  • btrfs: add mirror_num to extent_read_full_page (FATE#306586).
  • btrfs scrub: bugfix: mirror_num off by one (FATE#306586).
  • btrfs scrub: print paths of corrupted files (FATE#306586).
  • btrfs scrub: added unverified_errors (FATE#306586).
  • btrfs: added helper functions to iterate backrefs (FATE#306586).
  • btrfs: use readahead API for scrub (FATE#306586).
  • btrfs: hooks for readahead (FATE#306586).
  • btrfs: initial readahead code and prototypes (FATE#306586).
  • btrfs: state information for readahead (FATE#306586).
  • btrfs: add READAHEAD extent buffer flag (FATE#306586).
  • btrfs: add an extra wait mode to read_extent_buffer_pages (FATE#306586).
  • Btrfs: fix delayed insertion reservation (FATE#306586).
  • Btrfs: ClearPageError during writepage and clean_tree_block (FATE#306586).
  • Btrfs: be smarter about committing the transaction in reserve_metadata_bytes (FATE#306586).
  • Btrfs: make a delayed_block_rsv for the delayed item insertion (FATE#306586).
  • Btrfs: add a log of past tree roots (FATE#306586).
  • btrfs: separate superblock items out of fs_info (FATE#306586).
  • Btrfs: use the global reserve when truncating the free space cache inode (FATE#306586).
  • Btrfs: release metadata from global reserve if we have to fallback for unlink (FATE#306586).
  • Btrfs: make sure to flush queued bios if write_cache_pages waits (FATE#306586).
  • Btrfs: fix extent pinning bugs in the tree log (FATE#306586).
  • Btrfs: make sure btrfs_remove_free_space doesn’t leak EAGAIN (FATE#306586).
  • Btrfs: don’t wait as long for more batches during SSD log commit (FATE#306586).
  • btrfs: ratelimit WARN_ON in use_block_rsv (FATE#306586).
  • btrfs: do not allow mounting non-subvolumes via subvol option (FATE#306586).
  • Btrfs: close all bdevs on mount failure (FATE#306586).
  • Btrfs: fix a bug when opening seed devices (FATE#306586).
  • btrfs: fix oops on failure path (FATE#306586).
  • Btrfs: fix race between multi-task space allocation and caching space (FATE#306586).
  • Btrfs: fix return value of btrfs_get_acl() (FATE#306586).
  • Btrfs: pass the correct root to lookup_free_space_inode() (FATE#306586).
  • Btrfs: do not set EXTENT_DIRTY along with EXTENT_DELALLOC (FATE#306586).
  • Btrfs: fix direct-io vs nodatacow (FATE#306586).
  • Btrfs: remove BUG_ON() in compress_file_range() (FATE#306586).
  • Btrfs: fix array bound checking (FATE#306586).
  • btrfs: return EINVAL if start > total_bytes in fitrim ioctl (FATE#306586).
  • Btrfs: honor extent thresh during defragmentation (FATE#306586).
  • btrfs: trivial fix, a potential memory leak in btrfs_parse_early_options() (FATE#306586).
  • Btrfs: fix wrong max_to_defrag in btrfs_defrag_file() (FATE#306586).
  • Btrfs: use i_size_read() in btrfs_defrag_file() (FATE#306586).
  • Btrfs: fix defragmentation regression (FATE#306586).
  • btrfs: fix memory leak in btrfs_defrag_file (FATE#306586).
  • btrfs: check file extent backref offset underflow (FATE#306586).
  • Btrfs: don’t flush the cache inode before writing it (FATE#306586).
  • Btrfs: if we have a lot of pinned space, commit the transaction (FATE#306586).
  • Btrfs: seperate out btrfs_block_rsv_check out into 2 different functions (FATE#306586).
  • Btrfs: reserve some space for an orphan item when unlinking (FATE#306586).
  • Btrfs: release trans metadata bytes before flushing delayed refs (FATE#306586).
  • Btrfs: allow shrink_delalloc flush the needed reclaimed pages (FATE#306586).
  • Btrfs: wait for ordered extents if we’re in trouble when shrinking delalloc (FATE#306586).
  • Btrfs: don’t check bytes_pinned to determine if we should commit the transaction (FATE#306586).
  • Btrfs: fix regression in re-setting a large xattr (FATE#306586).
  • Btrfs: fix the amount of space reserved for unlink (FATE#306586).
  • Btrfs: wait for ordered extents if we didn’t reclaim enough (FATE#306586).
  • Btrfs: inline checksums into the disk free space cache (FATE#306586).
  • Btrfs: take overflow into account in reserving space (FATE#306586).
  • Btrfs: check the return value of filemap_write_and_wait in the space cache (FATE#306586).
  • Btrfs: add a io_ctl struct and helpers for dealing with the space cache (FATE#306586).
  • Btrfs: don’t skip writing out a empty block groups cache (FATE#306586).
  • Btrfs: introduce mount option no_space_cache (FATE#306586).
  • Btrfs: only inherit btrfs specific flags when creating files (FATE#306586).
  • Btrfs: allow us to overcommit our enospc reservations (FATE#306586).
  • Btrfs: break out of orphan cleanup if we can’t make progress (FATE#306586).
  • Btrfs: use the global reserve as a backup for deleting inodes (FATE#306586).
  • Btrfs: stop using write_one_page (FATE#306586).
  • Btrfs: introduce convert_extent_bit (FATE#306586).
  • Btrfs: check unused against how much space we actually want (FATE#306586).
  • Btrfs: fix orphan cleanup regression (FATE#306586).
  • Btrfs: use the inode’s mapping mask for allocating pages (FATE#306586).
  • Btrfs: delay iput when deleting a block group (FATE#306586).
  • Btrfs: make sure to unset trans->block_rsv before running delayed refs (FATE#306586).
  • Btrfs: stop passing a trans handle all around the reservation code (FATE#306586).
  • Btrfs: don’t get the block_rsv in btrfs_free_tree_block (FATE#306586).
  • Btrfs: use the transactions block_rsv for the csum root (FATE#306586).
  • Btrfs: handle enospc accounting for free space inodes (FATE#306586).
  • Btrfs: put the block group cache after we commit the super (FATE#306586).
  • Btrfs: set truncate block rsv’s size (FATE#306586).
  • Btrfs: don’t increase the block_rsv’s size when emergency allocating space (FATE#306586).
  • Btrfs: fix space leak when we fail to make an allocation (FATE#306586).
  • Btrfs: fix call to btrfs_search_slot in free space cache (FATE#306586).
  • Btrfs: allow callers to specify if flushing can occur for btrfs_block_rsv_check (FATE#306586).
  • Btrfs: reduce the amount of space needed for truncates (FATE#306586).
  • Btrfs: only reserve space in fallocate if we have to do a preallocate (FATE#306586).
  • Btrfs: kill btrfs_truncate_reserve_metadata (FATE#306586).
  • Btrfs: optimize how we account for space in truncate (FATE#306586).
  • Btrfs: don’t try to commit in btrfs_block_rsv_check (FATE#306586).
  • Btrfs: kill unused parts of block_rsv (FATE#306586).
  • Btrfs: ratelimit the generation printk for the free space cache (FATE#306586).
  • Btrfs: fix how we reserve space for deleting inodes (FATE#306586).
  • Btrfs: use d_obtain_alias when mounting subvol/subvolid (FATE#306586).
  • Btrfs: kill reserved_bytes in inode (FATE#306586).
  • Btrfs: move stuff around in btrfs_inode to get better packing (FATE#306586).
  • Linux 3.1.6.
  • Revert „clocksource: Avoid selecting mult values that might overflow when adjusted“.
  • Revert „inet: add a redirect generation id in inetpeer“.
  • Delete patches.fixes/hfs-fix-hfs_find_init-sb-ext_tree-null-ptr-oops.patch.
  • Delete patches.fixes/mm-Ensure-that-pfn_valid-is-called-once-per-pagebloc.patch.
  • net: Add a flow_cache_flush_deferred function (bnc#737624)
  • btrfs: use correct device for maps (bnc#672923).
  • Delete patches.suse/0001-vfs-allow-proc-pid-maps-to-return-a-custom-device.patch.
  • Delete patches.suse/0002-btrfs-Introduce-btrfs_get_maps_dev.patch.
  • Linux 3.1.7.
  • Update Xen patches to 3.1.7.
  • patches.xen/1124-x86-undo-limit-pages.patch: x86: undo_limit_pages() must reset page count.
  • patches.xen/1126-netback-invalidation-index.patch: netback: use correct index for invalidation in netbk_tx_check_mop().
  • patches.xen/1134-blktap-locking.patch: blktap: fix locking (again) (bnc#724734)
  • patches.xen/1135-blktap-map-once.patch: blktap: ensure mmap() is called only once per region.
  • Delete patches.xen/xencons-tty_mutex.patch.
  • staging: hv: hv_mouse: use KBUILD_MODNAME as drivername.
  • Staging: hv: storvsc: Cleanup error handling in the probe function.
  • Staging: hv: storvsc: Fix a bug in create_bounce_buffer() (bnc#724616)
  • Staging: hv: storvsc: Fix checkpatch warnings.
  • Staging: hv: storvsc: Fix error handling storvsc_host_reset().
  • Staging: hv: storvsc: Fixup the error when processing SET_WINDOW command.
  • Staging: hv: storvsc: Get rid of an unnecessary forward declaration.
  • Staging: hv: storvsc: Implement per device memory pools.
  • Staging: hv: storvsc: remove last usage of DPRINT_WARN.
  • Staging: hv: storvsc: Support hot add of scsi disks.
  • Staging: hv: storvsc: Support hot-removing of scsi devices.
  • Staging: hv: storvsc: Upgrade the vmstor protocol version.
  • Staging: hv: storvsc: Use mempools to allocate struct storvsc_cmd_request.
  • Staging: hv: storvsc: Use the accessor function shost_priv().
  • Staging: hv: storvsc: use the macro KBUILD_MODNAME.
  • Staging: hv: storvsc: Use the unlocked version queuecommand.
  • Staging: hv: storvsc: Cleanup storvsc_device_alloc() (bnc#724616)
  • Staging: hv: storvsc: Disable clustering (bnc#724616)
  • Staging: hv: storvsc: Fix a bug in copy_from_bounce_buffer() (bnc#724616)
  • Staging: hv: storvsc: Fix a bug in storvsc_command_completion() (bnc#724616)
  • Refresh patches.suse/staging-hv-storvsc-module-name.patch.
  • Linux 3.1.8.
  • Refresh patches.kabi/revert-inet-add-a-redirect-generation-id-in-inetpeer.patch.
  • Delete patches.fixes/net-Add-a-flow_cache_flush_deferred-function.patch.
  • Reintroduce removed blk_init_allocated_queue_node.
  • ALSA: hda – Return the error from get_wcaps_type() for invalid NIDs (bnc#740118)
  • Linux 3.1.9.
  • kABI: struct urb fixup.
  • Delete patches.fixes/reiserfs-force-inode-evictions-before-umount-to-avoid-crash.
  • kABI: struct inet_peer fixup.
  • Refresh patches.kabi/revert-clocksource-Avoid-selecting-mult-values-that-.patch.
  • Delete patches.kabi/revert-inet-add-a-redirect-generation-id-in-inetpeer.patch.
  • fsnotify: don’t BUG in fsnotify_destroy_mark() (bnc#689860)
  • patches.fixes/proc-enable-writing-to-proc-pid-mem-revert.patch: proc: enable writing to /proc/pid/mem (bnc#742279 CVE-2012-0056)
  • Fix auto-mic of ALC268 static quirks (bnc#742322)
  • rpm/kernel-binary.spec.in: Remove the conflict between the main and base package again (bnc#743608)

Die folgenden Kernel-Changelogs sind die offiziellen Berichte zu den Änderungen von 3.1.1 bis einschließlich 3.1.9 vom Upstream kernel.org:
ChangeLog-3.1.1
ChangeLog-3.1.2
ChangeLog-3.1.3
ChangeLog-3.1.4
ChangeLog-3.1.5
ChangeLog-3.1.6
ChangeLog-3.1.7
ChangeLog-3.1.8
ChangeLog-3.1.9

Hinweis für Besitzer einer AMD-Grafikkarte, die AMD Catalyst auf ihrem openSUSE-System installiert haben:
Das fglrx-Kernelmodul muss nicht manuell gebaut werden. Dies geschieht nach einem Neustart vollautomatisch. ;-)

Weitere Informationen: openSUSE – proprietären Grafik-Treiber AMD Catalyst 12.1 als RPM installieren

openSUSE – Adobe Flash Player 11.2 Beta 4 installieren

Am 19.01.2012 hat Adobe im Adobe-Labs die 4. Beta-Version (11.2.202.183) des Flash Players für 32-bit wie auch 64-bit Systeme veröffentlicht.

Laut der Release Notes sind folgende Feature enthalten:

  • Throttling event (new ThrottleEvent)
  • Einige Bugfixes (laut dem Bugtracker von Adobe)

Wer noch einen Fehler oder Ungereimtheiten in der aktuellen Beta des Flash Player gefunden hat, so möchte ich den Bugtracker von Adobe empfehlen.

Die Installation des neuesten Flash Player auf openSUSE:

Hinweis: Die Installation wird in der Konsole mit root-Rechten durchgeführt. Hierzu wird der Flash Player und das zugehörige Packaging Skript heruntergeladen. Daraus wird ein RPM-Paket gebaut und auf Wunsch installiert.

Downloads:

  1. Das Skript makerpm-flash-11.2-beta4.sh wie auch die Prüfsummendatei herunterladen:
    wget http://www.sebastian-siebert.de/downloads/makerpm-flash-11.2-beta4.sh
    wget http://www.sebastian-siebert.de/downloads/makerpm-flash-11.2-beta4.sh.sha1
  2. Die Prüfsumme vom heruntergeladenen Skript prüfen:
    sha1sum -c makerpm-flash-11.2-beta4.sh.sha1

    Idealerweise sollte folgende Ausgabe erscheinen, andernfalls ist das Skript defekt und sollte ersetzt werden:

    makerpm-flash-11.2-beta4.sh: OK
  3. Das Skript ausführbar machen:
    chmod 755 makerpm-flash-11.2-beta4.sh
  4. Nun gibt es 3 Möglichkeiten die Pakete zu erstellen und zu installieren:
    1. Auf einem reinen KDE-System:
      ./makerpm-flash-11.2-beta4.sh -i kde
    2. Auf einem reinen GNOME- bzw. GTK-System:
      ./makerpm-flash-11.2-beta4.sh -i gnome
    3. Sowohl auf einem KDE-System wie auch auf einem GNOME-System:
      ./makerpm-flash-11.2-beta4.sh -i all

      oder einfach nur

      ./makerpm-flash-11.2-beta4.sh -i

    Dann entspannt zurück lehnen und warten bis die Installation abgeschlossen ist. Das Skript ist wie gewohnt gesprächig und die jeweilige Aktion kann verfolgt werden. ;-)

  5. Rechner neustarten und Flash Player 11.2 Beta 4 testen.

Feedbacks sind immer willkommen.

Have a lot of fun! ;-)

openSUSE – proprietären Grafik-Treiber AMD Catalyst 12.1 als RPM installieren

AMD Catalyst 12.1 (fglrx 8.930) wurde veröffentlicht. Das Skript makerpm-amd-12.1.sh steht ab sofort zum Download zur Verfügung und unterstützt openSUSE 11.3, 11.4 und 12.1. Hinweis: AMD hat den Installer von ati-driver-installer… in amd-driver-installer… umbenannt. Im Zuge dessen habe ich ebenfalls das Skript von makerpm-ati… in makerpm-amd… umbenannt.

Nach einem Test dieser AMD Catalyst Version ist die GNOME 3.2-Problematik (Flackern und Bildschirmrisse) endlich behoben worden. Laut AMD sollten die Notebooks mit der PowerXpress-Technologie (Intel-/AMD-Grafikkarte – discrete GPU) wieder funktionieren. Ich wäre sehr verbunden, wenn jemand diese Funktionalität für mich testen könnte und bitte um entsprechende Rückmeldung. Vielen Dank.

Zudem habe ich die Generierung des Systemreport vom Skript überarbeitet, um weitere Systeminformationen abzufragen. Ein aktualisiertes Packaging Skript habe ich beigefügt und wird separat heruntergeladen. Ab sofort können die User von Balsam Professional (ein Ableger von openSUSE) das Skript verwenden. Das makerpm-Skript hat nun die Version 5.0 erreicht und bin ziemlich stolz darauf, dass die makerpm-Skript-Reihe sich seit 2 Jahren erfolgreich bewährt hat. Vielen Dank für eure Unterstützung und mit eurer Hilfe (Feedbacks und eingereichte Systemreports) habe ich mich für euch mit AMD auseinander gesetzt, um die Fehler im Treiber beheben zu lassen. Ich bitte euch nicht aufzuhören, sondern fleißig weiterhin Fehler zu melden. Vielen Dank. ;-)

Downloads:

Installationsanleitung:
http://de.opensuse.org/SDB:AMD/ATI-Grafiktreiber#Installation_via_makerpm-ati-Skript

Über das makerpm-amd-Skript

Das Skript makerpm-amd-12.1.sh ist sehr mächtig, robust und läuft vollautomatisch. Der AMD-Installer wird automatisch heruntergeladen, falls er nicht schon im Verzeichnis liegt. Zudem wird geprüft, ob die Grafikkarte vom Treiber unterstützt wird. Auf Wunsch wird nach dem Bau des RPM-Packages der fglrx-Treiber installiert.

Folgende Argumente können dem Skript übergeben werden:

-b Nur das RPM-Package bauen (Standard)
-c <type> Nur X-Server konfigurieren. Monitor-Typ: single = 1 Monitor, dual = 2 Monitore (Wichtig: Nur ausführen, wenn es Probleme mit der Standardkonfiguration des X-Servers auftreten)
-d Nur den ATI-Installer downloaden
-i Das RPM-Package bauen und installieren bzw. updaten
-kms <yes|no> Kernel-Mode-Setting (KMS) aktivieren oder deaktivieren
-nohw Hardware-Erkennung explizit ausschalten. (z.B. beim Bau in einer VM)
-old2ddriver <yes|no> den alten 2D-Treiber aktivieren oder deaktivieren
-r|–report erstellt ein Report und speichert diese in eine Datei namens ati-report.txt
-u|–uninstall entfernt AMD Catalyst restlos vom System. Zuerst wird das fglrx-Package (falls vorhanden) vom System deinstalliert. Danach werden vorhandene ATI-Dateien und -Verzeichnisse entfernt. Hinweis: Falls das Rebuild-Skript installiert wurde, wird es ebenfalls entfernt und das Initskript /etc/init.d/xdm wiederhergestellt.
-ur|–uploadreport wie Option –report nur zusätzlich wird der Report auf einem NoPaste-Service sprunge.us hochgeladen und gibt bei Erfolg den Link zurück.
-h Die Hilfe anzeigen lassen
-V Version des Skript anzeigen

Hilfe, es funktioniert nicht!

Bitte haltet folgende Regel ein:

  1. Bei der Eingabe der Befehle auf mögliche Tippfehler überprüfen.
  2. Möglicherweise ist die Lösung für das Problem im Wiki vorhanden.
  3. In Kommentaren lesen, ob eine Lösung zu einem Problem bereits existiert.

Wenn keines der o.g. Regel greift, dann könnt ihr mit eurem Anliegen an mich wenden. Damit ich euch helfen kann, müsst ihr erst vorarbeiten. Bitte ladet euch das Skript makerpm-amd-12.1.sh herunter und erstellt einen Report von eurem System in der Konsole:

su -c 'sh makerpm-amd-12.1.sh -ur'

Das Skript lädt das Report auf sprunge.us hoch und gibt anschließend einen Link aus. Diesen Link postet ihr in eurem Kommentar zusammen mit einer Beschreibung zu eurem Problem an mich. Ich werde mir euren Report anschauen und Hilfestellung geben, wo evtl. das Problem liegen könnte.

Feedbacks sind wie immer willkommen. :-)