diff --git a/modules/util/Util/Filesystems.pm b/modules/util/Util/Filesystems.pm
index 644173065b2fd983d778f592d67db2cb1f16f316..8f3a9948ccd3801982c6209b250c0ce4dd413019 100644
--- a/modules/util/Util/Filesystems.pm
+++ b/modules/util/Util/Filesystems.pm
@@ -5,7 +5,8 @@
 
 =head1 DESCRIPTION
 
-Wrapper for Linux::Proc::Filesystems and possibly other modules to obtain a full picture about an OS
+Wrapper for Linux::Proc::Filesystems and possibly other modules to obtain
+a full picture about available filesystems
 
 Wanted information
 * mount point info (Sys::Filesystem)
@@ -26,26 +27,44 @@ my $initialzed= 0;
 my $have_LPM= 0;
 
 BEGIN {
-eval {
-require Linux::Proc::Mounts;
-};
+  eval {
+    require Linux::Proc::Mounts;
+  };
 
-if ($@)
-{
-  print "consider to install Linux::Proc::Mounts\n";
-}
-else
-{
-  $have_LPM= 1;
-}
+  if ($@)
+  {
+    # print "consider to install Linux::Proc::Mounts\n";
+  }
+  else
+  {
+    $have_LPM= 1;
+  }
 }
 
 my %setable= map { $_ => 1 } qw();
 
-my %ignore_fs_type= map { $_ => 1 } qw(none rootfs tmpfs proc devpts devtmpfs usbfs sysfs binfmt_misc fusectl debugfs);
+my %ignore_fs_type= map { $_ => 1 } qw(none rootfs tmpfs proc devpts
+  devtmpfs usbfs sysfs binfmt_misc fusectl debugfs securityfs pstore
+  cgroup autofs hugetlbfs mqueue tracefs overlayfs fuse.gvfsd-fuse fuseblk
+  fuse.sshfs cifs squashfs nsfs
+);
+
 my %ignore_fs_path= map { $_ => 1 } qw(tmpfs);
 # print "ignore_fs_type: ", Dumper (\%ignore_fs_type);
 
+__PACKAGE__->main() unless caller();
+
+sub main
+{
+
+  # print join (' ', __FILE__, __LINE__, 'main: caller=['. caller(). ']'), "\n";
+
+  my $fs= new Util::Filesystems;
+  $fs->_init();
+  # print __LINE__, ' fs: ', Dumper($fs);
+  print "regular filesystems: ", join(' ', $fs->regular_filesystems()), "\n";
+}
+
 sub new
 {
   my $class= shift;
@@ -86,7 +105,7 @@ sub _init
   if ($have_LPM)
   {
     $m= Linux::Proc::Mounts->read;
-    # print "m: ", main::Dumper ($m);
+    # print "m: ", Dumper ($m);
   }
 
   my %fs;    $self->{'fs'}=     \%fs;
@@ -96,79 +115,87 @@ sub _init
 
   if (defined ($m))
   {
-   FS: foreach my $mp (@$m)
-   {
-    my ($fs_spec, $fs_type)= ($mp->spec(), $mp->fstype());
-    # print "fs_spec=[$fs_spec] fs_type=[$fs_type] mp: ", main::Dumper ($mp);
-
-    if (exists($ignore_fs_type{$fs_type}))
-    {
-      # print "ignoring [$fs_type] ", Dumper ($mp);
-      next FS;
-    }
-    else
+    FS: foreach my $mp (@$m)
     {
-      my ($fs_file, $opts)= ($mp->file(), $mp->opts_hash());
-      # print __LINE__, " XXX: fs_file=[$fs_file] fs_spec=[$fs_spec] fs_type=$fs_type\n";
-      my $x= $fs{$fs_file}=
-      $dev{$fs_spec}= 
+      my ($fs_spec, $fs_type)= ($mp->spec(), $mp->fstype());
+      # print "fs_spec=[$fs_spec] fs_type=[$fs_type] mp: ", Dumper ($mp);
+
+      if (exists($ignore_fs_type{$fs_type}))
       {
-        'mp'   => $fs_file,
-        'spec' => $fs_spec,
-        'type' => $fs_type,
-        'opts' => $opts,
-      };
-      $x->{'_mp'}= $mp if ($keep_mp_obj);
-      # $dev{$fs_spec}= $fs_file;
-      $c_fst{$fs_type}++;
-      $count++;
+        # print __LINE__, " ignoring [$fs_type] ", Dumper ($mp);
+        next FS;
+      }
+      else
+      {
+        my ($fs_file, $opts)= ($mp->file(), $mp->opts_hash());
+        # print __LINE__, " XXX: fs_file=[$fs_file] fs_spec=[$fs_spec] fs_type=$fs_type\n";
+        my $x= $fs{$fs_file}=
+        $dev{$fs_spec}= 
+        {
+          'mp'   => $fs_file,
+          'spec' => $fs_spec,
+          'type' => $fs_type,
+          'opts' => $opts,
+        };
+        $x->{'_mp'}= $mp if ($keep_mp_obj);
+        # $dev{$fs_spec}= $fs_file;
+        $c_fst{$fs_type}++;
+        $count++;
+      }
     }
-   }
   }
   else
   {
-   if (open (PM, '/proc/mounts'))
-   {
-    # print "reading /proc/mounts\n";
-    FS2: while (<PM>)
-    {
-      chop;
-      # print ">>> [$_]\n";
-      my ($fs_spec, $fs_file, $fs_type, $fs_opts, $l1, $l2)= split (' ', $_, 6);
-
-    if (exists($ignore_fs_type{$fs_type}))
-    {
-      # print "ignoring [$fs_type] ", Dumper ($mp);
-      next FS2;
-    }
-    else
+    if (open (PM, '/proc/mounts'))
     {
-      my @opts= split (',', $fs_opts);
-      # print "opts: [", join (';', @opts), "]\n";
-      my %opts;
-      foreach my $opt (@opts)
+      # print "reading /proc/mounts\n";
+      FS2: while (<PM>)
       {
-        # print "opt=[$opt]\n";
-        my ($an, $av)= split ('=', $opt, 2);
-        $av= 1 unless (defined ($av));
-        $opts{$an}= $av;
+        chop;
+        # print ">>> [$_]\n";
+        my ($fs_spec, $fs_file, $fs_type, $fs_opts, $l1, $l2)= split (' ', $_, 6);
+
+        if (exists($ignore_fs_type{$fs_type})
+            || $fs_type =~ m#fuse\..*\.AppImage$#      # NOTE: is this pattern defined somewhere?
+           )
+        {
+          # print __LINE__, " ignoring [$fs_type] [$_]\n";
+          next FS2;
+        }
+        elsif ($fs_file =~ m#^/var/lib/schroot/#)
+        {
+          # print __LINE__, " ignoring schroot [$_]\n";
+          next FS2;
+        }
+        else
+        {
+          # print __LINE__, " using [$fs_type] [$_]\n";
+          my @opts= split (',', $fs_opts);
+          # print "opts: [", join (';', @opts), "]\n";
+          my %opts;
+          foreach my $opt (@opts)
+          {
+            # print "opt=[$opt]\n";
+            my ($an, $av)= split ('=', $opt, 2);
+            $av= 1 unless (defined ($av));
+            $opts{$an}= $av;
+          }
+          # print "opts: ", Dumper (\%opts);
+
+          my $x= $fs{$fs_file}=
+          $dev{$fs_spec}= 
+          {
+            'mp'   => $fs_file,
+            'spec' => $fs_spec,
+            'type' => $fs_type,
+            'opts' => \%opts,
+          };
+          $c_fst{$fs_type}++;
+          $count++;
+        }
       }
-      # print "opts: ", main::Dumper (\%opts);
-
-      my $x= $fs{$fs_file}=
-      $dev{$fs_spec}= 
-      {
-        'mp'   => $fs_file,
-        'spec' => $fs_spec,
-        'type' => $fs_type,
-        'opts' => \%opts,
-      };
-      $c_fst{$fs_type}++;
-      $count++;
-    }
+      close (PM);
     }
-    close (PM);
-   }
   }
 
   $self->{'_init'}= 1;
@@ -177,6 +204,17 @@ sub _init
   $count;
 }
 
+sub regular_filesystems
+{
+  my $self= shift;
+
+  $self->_init(0) unless ($self->{_init});
+
+  my @regular_filesystems= sort keys %{$self->{fs}};
+
+  (wantarray) ? @regular_filesystems : \@regular_filesystems;
+}
+
 sub df
 {
   my $self= shift;
@@ -226,7 +264,12 @@ sub df
 
 }
 
-
 1;
+
 __END__
 
+
+=head1 OPTIONAL MODULES
+
+=head2 Linux::Proc::Mounts
+