How to Open .URL files in Ubuntu Linux

If you're using Ubuntu and want to open .URL links (from windows),
they won't open by default.

You need to do some steps to get them working.

I'm using chrome so I first had to link chrome into bin
firefox was already linked

ln -s /opt/google/chrome/chrome /usr/bin/chrome

You need to install the Thunar file manager

sudo apt-get install thunar


Here are the further steps:

  1. Right-click a .URL file
    -> Select: "Open With"
    -> "Open With Other Application"
    -> Select on "Use a custom command"
  2. Copy the following command to the text-field:
    bash -c "cat %f | grep URL | cut -d'=' -f2 | xargs chrome &"
  3. Click the default checkbox, then press Open.
    Your URL-Links will now open in Chrome.

cryptojacked apache server: high load in /tmp

coin mining abuse software is all around...
you hear it nowadays in the media

and I found an apache server who got cryptojacked ..
webserver code placed in / tmp and executed is mining

How does it look like if you find it? Lots of load

lets find where it is located by simply

ps aux | grep php

and maybe you want to stop it

kill -9 <process_ids>

looking in the (config) file

cat /tmp/phpKRGiDE.c

you can see it's a monero mining pool
which it contributes the server cpu power to

How to clean up the mess?

mount -o remount,noexec /tmp

and to make the server safe for future edit

vi /etc/fstab

change the mounting of tmp to noexec and remount it

/dev/sda3       /tmp              ext3  noexec,nosuid           0       2
mount -o remount /tmp

Digital Ocean Tutorials, Thomas-Krenn Wiki

When installing a server or an application onto a server, good Tutorials help progressing fast to get to the point.

The best Tutorials related to Server/-Software installation I know are:

freebsd pkg_add failed: no solution yet

I was trying to install sqlite3 on a really old freebsd 🙁
I'm got the following error

[root@fbd01 ]# pkg_add -r -v databases/sqlite3

scheme:   [ftp]
user:     []
password: []
host:     [ftp.freebsd.org]
port:     [0]
document: [/pub/FreeBSD/ports/i386/packages-6.3-release/Latest/databases/sqlite3.tbz]
---> ftp.freebsd.org:21
looking up ftp.freebsd.org
connecting to ftp.freebsd.org:21
<<< 220 This is ftp0.bme.freebsd.org - hosted at Bytemark.co.uk
>>> USER anonymous
<<< 331 Please specify the password.
>>> PASS degnetnoc@mail05.viruscheckservice.de
<<< 230-
<<< 230-This is ftp0.bme.FreeBSD.org, graciously hosted by Bytemark.
<<< 230-
<<< 230-FreeBSD files can be found in the /pub/FreeBSD directory.
<<< 230-
<<< 230 Login successful.
>>> PWD
<<< 257 "/" is the current directory
>>> CWD pub
<<< 250 Directory successfully changed.
>>> CWD FreeBSD
<<< 250-ISO images of FreeBSD releases may be found in the releases/ISO-IMAGES
<<< 250-directory.  For independent files and tarballs, see individual
<<< 250-releases/${machine}/${machine_arch} directories.  For example,
<<< 250-releases/amd64/amd64 and releases/powerpc/powerpc64.
<<< 250 Directory successfully changed.
>>> CWD ports
<<< 250 Directory successfully changed.
>>> CWD i386
<<< 550 Failed to change directory.
Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.3-release/Latest/databases/sqlite3.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.3-release/Latest/databases/sqlite3.tbz' by URL
pkg_add: 1 package addition(s) failed

Changing to a working repo

export PACKAGESITE="ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/"

make error

okay.. it had different errors.. thats another one .. the make is too old

[root@fbd01 /usr/ports/devel/bmake]# make

"/usr/ports/Mk/bsd.port.mk", line 1038: Need an operator
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'

18 open conditionals:
                           at line 20 (skipped)
                          at line 20 (skipped)
                         at line 20 (skipped)
                        at line 20 (skipped)
                       at line 20 (skipped)
                      at line 20 (skipped)
                     at line 20 (skipped)
                    at line 20 (skipped)
                   at line 20 (skipped)
                  at line 20 (skipped)
                 at line 20 (skipped)
                at line 20 (skipped)
               at line 20 (skipped)
              at line 20 (skipped)
                          at line 20 (evaluated to false)
                         at line 13 (evaluated to true)
                        at line 1110 (evaluated to true)
                       at line 1094 (evaluated to true)
make: fatal errors encountered -- cannot continue

but the make was broken

So I tried to install a newer make

pkg_add -r bmake 

the harder way:

pkg_add -r http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-9.0-release/devel/bmake-20111111.tbz
cp /usr/bin/make /usr/bin/make.old
rm /usr/bin/make
ln -sv /usr/local/bin/bmake /usr/bin/make

In case nothing worked like for me .. going the whole long way
I tried getting the lastest old ports

wget http://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz

Search inside a tar.gz for a file/folder

tar -tvf ports.tar.gz '*bmake*'

-rw-r--r--  0 archive archive   499 Jul 14  2016 ports/cad/linuxcnc-devel/files/patch-src_hal_components_Submakefile
drwxr-xr-x  0 archive archive     0 Dec  1 02:04 ports/devel/bmake/
-rw-r--r--  0 archive archive   140 Jan 23  2014 ports/devel/bmake/pkg-plist
-rw-r--r--  0 archive archive  1520 Dec  1 02:04 ports/devel/bmake/Makefile
-rw-r--r--  0 archive archive   288 Dec  1 02:04 ports/devel/bmake/distinfo
-rw-r--r--  0 archive archive   241 Jan 23  2014 ports/devel/bmake/pkg-descr
-rw-r--r--  0 archive archive   596 Jul 30  2014 ports/math/blocksolve95/files/patch-bmake__common
-rw-r--r--  0 archive archive  1209 Aug 24  2014 ports/math/blocksolve95/files/patch-bmake__freebsd__freebsd.site
-rw-r--r--  0 archive archive  1028 Aug 24  2014 ports/math/blocksolve95/files/patch-bmake__freebsd__freebsd
-rw-r--r--  0 archive archive   349 Jul 30  2014 ports/math/blocksolve95/files/patch-bmake__freebsd__freebsd.O

unpack only one folder/file from tar.gz

tar -xvf ports.tar.gz ports/devel/bmake/

unpack .txz files

xz -d < file.tar.xz | tar xvf -

No solution found yet.
If you have another idea that might work,
write in the comments or send me an email


If you want more FreeBSD info on Ports
I found a nice "Porter's Handbook"

https://www.freebsd.org/doc/en/books/porters-handbook/

Here are some links that helped me out:

https://rtfm.co.ua/usrportsmkbsd-sites-mk-line-958-malformed-conditional/
https://rtfm.co.ua/error-unable-to-get-ftpftp-freebsd-orgpubfreebsdportsi386packages-9-0-release/

Multi-threaded 7-Zip with Zstandard, Brotli, Lz4, Lz5 and Lizard Compression support

Great compression performance now available for use in windows and more
https://github.com/mcmilk/7-Zip-zstd

You can also get there the multithreading c library for Brotli, Lizard, LZ4, LZ5 and ZStandard used in it
https://github.com/mcmilk/zstdmt


Python LZ4 lib

I've also found a good python multi-threaded lib for LZ4
https://github.com/Iotic-Labs/py-lz4framed

Easy to use

import lz4framed

compressed = lz4framed.compress(b'my normal text')

uncompressed = lz4framed.decompress(compressed)

file compression

with open('somefile.csv', 'wb') as f:
    # Context automatically finalises frame on completion, unless an exception occurs
    with Compressor(f) as c:
        try:
            while (...):
               c.update(moreData)
        except Lz4FramedNoDataError:
            pass

file decompression

with open('somefile.csv.lz4', 'rb') as f:
    try:
        for chunk in Decompressor(f):
           decoded.append(chunk)
    except Lz4FramedNoDataError:
        # Compress frame data incomplete - error case

command line utility

python3 -mlz4framed
USAGE: lz4framed (compress|decompress) (INFILE|-) [OUTFILE]

(De)compresses an lz4 frame. Input is read from INFILE unless set to '-', in
which case stdin is used. If OUTFILE is not specified, output goes to stdout.

Some benchmarks

Quick Benchmark: Gzip vs Bzip2 vs LZMA vs XZ vs LZ4 vs LZO

Tested were: Compression ratio, Compression time, Decompression time, Memory requirements on compression, Memory requirements on decompression, Time to compress, Time to decompress, Memory used, Compression ratio

https://catchchallenger.first-world.info/wiki/QuickBenchmark:GzipvsBzip2vsLZMAvsXZvsLZ4vsLZO

lxc launch error

if you happen to get the following error while starting lxc

root:/var/lib/lxd# lxc launch ubuntu:16.04 first
Creating first
Starting first
error: Error calling 'lxd forkstart first /var/lib/lxd/containers /var/log/lxd/first/lxc.conf': err='Failed to run: /usr/bin/lxd forkstart first /var/lib/lxd/containers /var/log/lxd/first/lxc.conf: '
  lxc 20171124185309.591 ERROR lxc_conf - conf.c:setup_netdev:2389 - failed to rename vethMY6FSD->default : Invalid argument
  lxc 20171124185309.592 ERROR lxc_conf - conf.c:setup_network:2534 - failed to setup netdev
  lxc 20171124185309.592 ERROR lxc_conf - conf.c:lxc_setup:3993 - failed to setup the network for 'first'
  lxc 20171124185309.592 ERROR lxc_start - start.c:do_start:811 - Failed to setup container "first".
  lxc 20171124185309.592 ERROR lxc_sync - sync.c:__sync_wait:57 - An error occurred in another process (expected sequence number 3)
  lxc 20171124185309.640 ERROR lxc_start - start.c:__lxc_start:1358 - Failed to spawn container "first".
  lxc 20171124185310.216 ERROR lxc_conf - conf.c:run_buffer:416 - Script exited with status 1.
  lxc 20171124185310.216 ERROR lxc_start - start.c:lxc_fini:546 - Failed to run lxc.hook.post-stop for container "first".

the solution to this is creating a new default profile

lxc profile delete default
lxc profile create default

setup and use syslog-ng for remote logging

centralizing syslogs in one place is usefull!
my goal was to set up a central server for remote logging of managed switches
There is a usefull tool: syslog-ng
you install it with

apt-get install syslog-ng

or directly

apt-get install syslog-ng-core

if you use

apt-cache search syslog-ng

you can see what plugins exist, like a SQL version

syslog-ng - Enhanced system logging daemon (metapackage)
lwatch - Simple log colorizer
syslog-ng-core - Enhanced system logging daemon (core)
syslog-ng-dbg - Enhanced system logging daemon (debug symbols)
syslog-ng-dev - Enhanced system logging daemon (development files)
syslog-ng-mod-amqp - Enhanced system logging daemon (AMQP plugin)
syslog-ng-mod-basicfuncs-plus - Enhanced system logging daemon (extra template functions)
syslog-ng-mod-geoip - Enhanced system logging daemon (GeoIP plugin)
syslog-ng-mod-json - Enhanced system logging daemon (JSON plugin)
syslog-ng-mod-mongodb - Enhanced system logging daemon (MongoDB plugin)
syslog-ng-mod-redis - Enhanced system logging daemon (Redis plugin)
syslog-ng-mod-riemann - Enhanced system logging daemon (Riemann destination)
syslog-ng-mod-rss - Enhanced system logging daemon (RSS destination)
syslog-ng-mod-smtp - Enhanced system logging daemon (SMTP plugin)
syslog-ng-mod-sql - Enhanced system logging daemon (SQL plugin)
syslog-ng-mod-stomp - Enhanced system logging daemon (STOMP plugin)
syslog-ng-mod-trigger - Enhanced system logging daemon (trigger source)

using it is quite simple
you need to set it up in the config file.My goal was to get external syslogs from the default syslog Port 514 [See Port List]

Further Information on setting up other portshttps://www.balabit.com/sites/default/files/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/sources.html

 The config file is usually located at:

/etc/syslog-ng/syslog-ng.conf

I added the following lines:
to get the data from the port you want to useuse here your external host ip instead of the 127.0.0.1

source s_extsyslog { network(ip(127.0.0.1) port(514) transport("udp")); };

the logfile is defined here

destination d_extsyslog { file("/var/log/extsyslog.log"); };

here is defined what shall happen – s_extlog > d_extlog

log { source(s_extsyslog); destination(d_extsyslog); };