The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,860 other subscribers

Archive for the ‘Tumbleweed’ Category

OpenSuSE Tumbleweed ntp problem after snapshot 20160905 will be fixed in snapshot 20160908

Posted by jpluimers on 2016/09/09

On some systems, after upgrading OpenSuSE Tumbleweed to 20160905 ntp stops working.

TL;DR

Pending the verification of snapshot 20160908 (not finished yet), if if you have updated to 20160905 or 20160907,, the bogus ntp version is, so you have to downgrade:

zypper in --oldpackage  http://download.opensuse.org/tumbleweed/repo/oss/suse/x86_64/ntp-4.2.8p8-1.3.x86_64.rpm
systemctl restart ntpd.service

Or wait a few hours and install snapshot 20160908.

Read the rest of this entry »

Posted in *nix, Linux, openSuSE, Power User, SuSE Linux, Tumbleweed | Leave a Comment »

TUMBLEWEED Poor performance in VMware Fusion can be a `search localdomain` issue

Posted by jpluimers on 2016/09/07

I figured this out, it turned out to be a DNS resolution issue. For some reason leaving ‘search localdomain’ in resolv.conf generates some slowness. I’m not sure if it’s because 127.0.0.1 isn’t mapped to ‘localhost.localdomain’ in /etc/hosts by default, or whatever, but taking it out fixes the performance issue.

Source: TUMBLEWEED Poor performance in VMware Fusion

–jeroen

Posted in *nix, Linux, openSuSE, Power User, SuSE Linux, Tumbleweed | Leave a Comment »

Need help with OpenSuSE Tumbleweed `cd:/content: Invalid signature. Installation aborted.`

Posted by jpluimers on 2016/09/07

This succeeded: https://openqa.opensuse.org/tests/overview?distri=opensuse&version=Tumbleweed&build=20160901&groupid=1 installing the image from http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.mirrorlist (for which the md5 and sha signatures match).

But I got this cd:/content: Invalid signature. Installation aborted. message:

After a few statements [WayBack] in the install shell:

mkdir /mnt/cd
mount /dev/cdrom /mnt/cd
cd /mnt/cd
gpg --import content.key
gpt --verify content.asc

Indeed the cd:/content didn’t verify as content.key wasn’t a trusted signature:

How to proceed?

–jeroen

Posted in *nix, Linux, openSuSE, Power User, SuSE Linux, Tumbleweed | Leave a Comment »

Oddest OpenSuSE Tumbleweed installation screen colours ever…

Posted by jpluimers on 2016/09/07

Oddest OpenSuSE Tumbleweed installation screen colours ever…

Source: Screenshot 2016-09-07 15.51.08.png

Posted in Linux, openSuSE, Power User, SuSE Linux, Tumbleweed | Leave a Comment »

A bash script to btrfs snapshot details like disk sizes (requires btrfs quota to be enabled)

Posted by jpluimers on 2016/09/06

One thing I’ve not figured out yet is this: How does enabling btrfs quotas impact the system? – Unix & Linux Stack Exchange

My gut feeling says it’s not much. But if someone knows: please chime in.

Anyway: btrfs quota support helps you to see how big snapshots (and other subvolumes) are.

Enabling and disabling is easy (the slash is the path from where to enable quota):

btrfs quota enable /

btrfs quota disable /

The bad thing is that there is no command that gives just the quota status. You have to revert to btrfs qgroup show /

This will show you quota groups when quota are enabled:

qgroupid         rfer         excl 
--------         ----         ---- 
0/5          16.00KiB     16.00KiB 

or errors when quota are disabled either of these two errors:

# btrfs qgroup show /
ERROR: can't perform the search - No such file or directory
ERROR: can't list qgroups: No such file or directory

# btrfs qgroup show /
ERROR: can't list qgroups: quotas not enabled

You might also want to check the syslogs as there was a [PATCH 1/2] btrfs: syslog when quota is enabled.

The btrfs qgroup output is the base for agronick/btrfs-size: A script that will print out a list of BTRFS subvolumes along with their size in megabytes and their name.

It actually shows it in human readable form (kilo/mega/giga/… bytes) and is documented at Get the size of your BTRFS Snapshots | PoisonPacket. It gives me a nice overview that corresponds to the snapper list output (see below).

The script has two drawbacks:

./btrfs-size/btrfs-size.sh: line 55: can't + 0: syntax error: invalid arithmetic operator (error token is "'t + 0")

  • it can take a while for btrfs quota enable / to actually deliver the quota for all the qgroupid values snapper uses. Until that time, the columns ID/Total/Exclusive Data are empty.
  • it won’t warn you if the quota data is out of data; to check that, run the below script

# btrfs qgroup show / > /dev/null
WARNING: Qgroup data inconsistent, rescan recommended

In that case, run btrfs quota rescan / and wait for it to complete by running this command until the warning is gone:

# btrfs qgroup show / > /dev/null
WARNING: Rescan is running, qgroup data may be incorrect

If the warning reverts to WARNING: Qgroup data inconsistent, rescan recommended then you might see the effects from this bug and should not worry about it: Bug 933428 – btrfs qgroup – allways shows WARNING: Qgroup data inconsistent.

For more btrfs quota background information, see: UseCases – btrfs Wiki.

–jeroen

Read the rest of this entry »

Posted in *nix, *nix-tools, bash, Development, Linux, openSuSE, Power User, Scripting, Software Development, SuSE Linux, Tumbleweed | 1 Comment »

OpenSuSE Tumbleweed `zypper dist-upgrade`: `mt-st` versus `mt_st`

Posted by jpluimers on 2016/08/08

TL;DR: I’m not the only one being partially word-blind.

I had the below while performing a zypper distribution upgrade on "openSUSE Tumbleweed (20160726) (x86_64)".

revue:/etc # zypper dist-upgrade
...
Detected 2 file conflicts:

File /usr/bin/mt
  from install of
     mt-st-1.3-1.1.x86_64 (Main Repository (OSS))
  conflicts with file from package
     mt_st-1.3-1.2.x86_64 (@System)

File /usr/sbin/stinit
  from install of
     mt-st-1.3-1.1.x86_64 (Main Repository (OSS))
  conflicts with file from package
     mt_st-1.3-1.2.x86_64 (@System)

File conflicts happen when two packages attempt to install files with the same name but different contents. If you continue, conflicting files will be replaced losing the previous content.
Continue? [yes/no] (no): no

Problem occured during or after installation or removal of packages:
Installation aborted by user

Please see the above error message for a hint.

Did you see the cause of the error in the above message?

Neither did I.

So I went to the #opensuse-factory IRC channel on freenode with this information:

revue:/etc # zypper repos --details 
# | Alias                               | Name                       | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                    | Service
--+-------------------------------------+----------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------------------+--------
1 | download.opensuse.org-non-oss       | Main Repository (NON-OSS)  | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/tumbleweed/repo/non-oss/                                  |        
2 | download.opensuse.org-oss           | Main Repository (OSS)      | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/tumbleweed/repo/oss/                                      |        
3 | download.opensuse.org-tumbleweed    | Main Update Repository     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/tumbleweed/                                        |        
4 | http-download.opensuse.org-f3ba78e8 | server:monitoring          | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/server:/monitoring/openSUSE_Tumbleweed/      |        
5 | openSUSE-20150508-0                 | openSUSE-20150508-0        | No      | ----      | No      |   99     | yast2  | cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001 |        
6 | repo-debug                          | openSUSE-Tumbleweed-Debug  | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/tumbleweed/repo/oss/                                |        
7 | repo-source                         | openSUSE-Tumbleweed-Source | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/source/tumbleweed/repo/oss/                               |        
revue:/etc # cat /etc/os-release 
NAME=openSUSE
VERSION="Tumbleweed"
VERSION_ID="20160726"
PRETTY_NAME="openSUSE Tumbleweed (20160726) (x86_64)"
ID=opensuse
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:opensuse:20160726"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
ID_LIKE="suse"

There cooloo pointed out both the cause and solution were deceptively simple:

coolo: wiert: zypper remove mt_st ; zypper dup; zypper in mt-st
coolo: the package was incorrectly renamed

My partial word-blindness didn’t spot the difference between mt_st and mt-st, but it was indeed renamed.

So here I went:

zypper remove mt_st ; zypper dist-upgrade; zypper install mt-st

Note that strictly zypper install mt-st isn’t needed on my system as it is part of  Base:System. which means that zypper dist-upgrade automatically re-installed it.

–jeroen

Posted in *nix, Linux, openSuSE, Power User, SuSE Linux, Tumbleweed | Leave a Comment »

Latest Tumbleweed distribution update likely kills sshd

Posted by jpluimers on 2016/05/03

After a recent big update to OpenSuSE Tumbleweed, I could not ssh into my system any more.

Symptoms

The ssh client side would report a Read from socket failed: Connection reset by peer which I misinterpreted as the sshd not running at all.

Luckily the server is a VM, so I could reach the console. There I saw this:

sshd trying to load files it shouldn't

sshd trying to load files it shouldn’t

The files should not be loaded as they are not specified in the sshd_config file:

dsa and ecdsa not specified in the config file

dsa and ecdsa not specified in the config file

So I knew something was broken. After reading some messages in the forums.opensuse.org I got at Bug 977812 – sshd killed by SIGSYS on client connection

The cause

As usual with such issues the cause seems a combination of factors:

And we have the culprit, I believe: together with the glibc upgrade, openssl
was updated from 1.0.2g-1.1 to 1.0.2-2.12 which brought, among others, patch
openssl-urandom-reseeding.patch.

Temporary fix

A temporary fix is to comment out a line in /etc/sshd_config so you get this diff:

-UsePrivilegeSeparation sandbox # Default for new installations.
+# UsePrivilegeSeparation sandbox # Default for new installations.

Be sure to undo this as soon as you’ve received a final fix.

Final fix

A final fix is being fast-tracked so it appears in Tumbleweed soon.

I will report after deployment of [opensuse-factory] New Tumbleweed snapshot 20160502 released! as I think it contains the fix.

Aftermath

I already knew about openQA: Test summary which lists the builds, but not the changes in the builds.

Reading through Information Board or the like for Tumbleweed I found the openSUSE Mailinglist Archive: opensuse-factory which does the announcements and release notes for Tumbleweed.

It had both the announcement of the “big patch”, ssh bug report and temporary fix:

–jeroen

 

 

Posted in *nix, Communications Development, Development, Internet protocol suite, Linux, openSuSE, Power User, SSH, SuSE Linux, TCP, Tumbleweed | 2 Comments »

Mosh: the mobile shell

Posted by jpluimers on 2016/03/07

Reminder: install mosh and get it working when it runs behind a firewall.

Mobile shell that supports roaming and intelligent local echo. Like SSH secure shell, but allows mobility and more responsive and robust.

Links:

Then see how well it stacks up against or complements with the ssh/tmux combo.

–jeroen

Read the rest of this entry »

Posted in *nix, Linux, openSuSE, Power User, SuSE Linux, Tumbleweed | Leave a Comment »

The Power of Open Source… Microsoft .NET and OpenShift: .Net on Linux

Posted by jpluimers on 2015/11/11

Really exiting times ahead: Microsoft .Net on Linux.

It’s not fully ready yet, but to get an idea to learn more about running OpenShift Enterprise 3 and a .NET application based on a Red Hat Enterprise Linux container, here are a few links to get started:

I wish that the demo repository at https://github.com/munchee13/snoopalicious.git and the rhosepaas.com domain were accessible (:

There are other alternatives too, but OpenShift (RedHat) and Microsoft working together is really exiting news to me.

If you’re on other distros, here are some more links:

And of course there has been Mono for a while, which is a different implementation of .NET:

Hopefully this will have search results soon: dnvm opensuse tumbleweed.

–jeroen

Posted in *nix, .NET, Development, Linux, OpenShift, openSuSE, Power User, RedHat, Software Development, SuSE Linux, Tumbleweed | Leave a Comment »

Generate HTML Tables Clean and Fast

Posted by jpluimers on 2014/01/23

I wish I had found about Generate HTML Tables Clean and Fast years ago.

Every once in a while I want to generate the source code for an HTML table with some content easily.

I’ve found no tool doing this in an easy manner and starts in a split second.

But the web page Generate HTML Tables Clean and Fast does.

Correction: did. It is now off-line, but the Blended Technologies » Blog Archive  blog posts about it are still online: Introducing TableGen – The HTML Table Generator and Tablegen Goes Open Source, as is the WayBack machine archive for it.

So I installed Python on my openSUSE server according to Embedding Python In Apache2 With mod_python (… OpenSUSE) | HowtoForge, (could as well have configured in httpd.conf in stead of python.conf: no difference between installing mod_python via httpd.conf and conf.d in apache) then installed the TableGen source there.

(Note: more python.conf examples)

That would still have Python generate a 404 error (uncool: a python generated 404 error does not leave a log of the cause anywhere), not because the index.py was absent, but because it was written in old style “print” statements, not using the new style def index(req); way (thanks Senthil Kumaran, and AJ. for your answer).

So I did some research (this was my first encounter with Python) at for instance Paul Osman : Introduction to mod_python, then rewrote the print parts of the script into string concatenations, then return the full HTML.

(Note: if there is a print "Content-Type: text/html" (for instance demonstrated in Hello World | Web Python), you can omit it, or set the req.content_type like req.content_type = 'text/html' which usually is determined automatically by Python).

That caused quite a few IndentationError: expected an indented block quote errors: python is indentation sensitive (I hadn’t used a language depending on that for ages), and gives a confusing error when you have a colon (:) followed by an unindented docstringPython: I’m getting an ‘indented block’ error on the last 3 quotes (“””).

Then it still didn’t completely work: the form parameters would not be obtained correctly, so I read further, found 3.1 A Quick Start with the Publisher Handler and started to fix that too. That took way too long, so I found out that “mod_python” is not very much maintained any more and “mod_wsgi” is the way to go.

So I disabled the “python” module in YaST2, removed “/etc/apache2/conf.d/python.conf”, then installed the “apache2-mod_wsgi” software package in YaST2, then added the “wsgi” module to HTTP Server Configuration list of Server Modules (it automatically gets enabled) and saved the configuration.

These steps modified the APACHE_MODULES in /etc/sysconfig/apache2, restarted apache with “rcapache2 restart”. You can verify with “httpd2 -M” which modules are loaded. The list should exclude “python_module (shared)” and includes “wsgi_module (shared)”.

Most of this is described in has anyone gotten mod_wsgi working.

Python is whitespace sensitive, but you can have multiple statements on one line. That’s why Python allows semicolons after each statement.

Read Setting up Python with WSGI on Apache for a directory – Stack Overflow.

Read PyCon Conference Slides – Sydney 2010 – Python WSGI adapter module for Apache.

Read Graham Dumpleton: Why are you using embedded mode of mod_wsgi?.

Read Serving Python scripts with Apache mod_wsgi, part I | Leave No Bit Unturned.

Read Parsing the Request – Get | Web Python.

Watch WSGI Tutorial. It explains a lot, including Accessing POST Data from WSGI.

Error “Attempt to invoke directory as WSGI application” -> you cannot do that, there is no way to map a directory to an “index.py” in that directory.

For importing .py files from the same directory as your main .py file:

    import os
    import sys

    directory = os.path.dirname(__file__)
    sys.path.insert(0, directory)

    from webutils import *

Start using The Web framework for perfectionists with deadlines | Django.

A few really cool things about this page:

  • It is a web page, so easy to reach
  • It starts fast
  • You can increase the column/row count without loosing the entered data
    (as it stores the contents as a URL)
  • It can generate a thead for you
    (but not a tfoot)

Generating something like this was a breeze: Read the rest of this entry »

Posted in *nix, Apache2, Development, HTML, Linux, openSuSE, Power User, Software Development, SuSE Linux, Tumbleweed, Web Development | Leave a Comment »