Tag Archives: linux

Fix Broken Dependency on FreeBSD

Dunno about you but I update my packages often … and I have lots of them, more then 1000 actually.

% pkg info | wc -l
    1051

… but its not much, they are mostly dependencies to to software that I use.

For example I need Openbox and X11 but to use them I need 300+ dependencies in libraries and protocols, and its OK, that’s how it works … but sometimes after the upgrade one or two applications forbid to start because of missing dependency. I would sa that it happens one in twenty to thirty updates (1/20 – 1/30) which is very rare and even if it happens its very easy to solve. I also happened to me on Linux systems many times so its not FreeBSD only related, its just how open source desktop/laptop market works πŸ™‚

Today’s victim will be Chromium. I generally use Firefox but sometimes when a page behaves strangely in Firefox I verify this behavior in Chromium. I also use Chromium as file opener (or file browser should I say) for the *.htm/*.html/*.chm local files. But this time it forbid to start, so I went to the command line to check what went wrong.

% chrome
Shared object "libx264.so.155" not found, required by "libavcodec.so.58"

… a missing dependency in the form of libx264.so.155 library.

Lets verify it something else is not missing for Chromium then.

% which chrome
/usr/local/bin/chrome

% ldd /usr/local/bin/chrome
ldd: /usr/local/bin/chrome: not a dynamic executable

So /usr/local/bin/chrome is just a wrapper, let’s see what it contains.

% cat /usr/local/bin/chrome
#!/bin/sh

SYSCTL=kern.ipc.shm_allow_removed
if [ "`/sbin/sysctl -n $SYSCTL`" = 0 ] ; then
        cat << EOMSG
For correct operation, shared memory support has to be enabled
in Chromium by performing the following command as root :

sysctl $SYSCTL=1

To preserve this setting across reboots, append the following
to /etc/sysctl.conf :

$SYSCTL=1
EOMSG
        exit 1
fi
ulimit -c 0
exec /usr/local/share/chromium/chrome ${1+"$@"}

So our binary actually is /usr/local/share/chromium/chrome file, lets check it with ldd(8) then.

% ldd /usr/local/share/chromium/chrome
/usr/local/share/chromium/chrome:
        libthr.so.3 => /lib/libthr.so.3 (0x809b78000)
        libX11.so.6 => /usr/local/lib/libX11.so.6 (0x809da0000)
        libX11-xcb.so.1 => /usr/local/lib/libX11-xcb.so.1 (0x80a0df000)
        libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0x80a2e0000)
        libXcomposite.so.1 => /usr/local/lib/libXcomposite.so.1 (0x80a506000)
        libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 (0x80a708000)
        libXdamage.so.1 => /usr/local/lib/libXdamage.so.1 (0x80a913000)
        libXext.so.6 => /usr/local/lib/libXext.so.6 (0x80ab15000)
        libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x80ad26000)
        libXi.so.6 => /usr/local/lib/libXi.so.6 (0x80af2b000)
        libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x80b139000)
        libXtst.so.6 => /usr/local/lib/libXtst.so.6 (0x80b342000)
        libgmodule-2.0.so.0 => /usr/local/lib/libgmodule-2.0.so.0 (0x80b547000)
        libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0x80b74a000)
        libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0 (0x80ba61000)
        libgthread-2.0.so.0 => /usr/local/lib/libgthread-2.0.so.0 (0x80bcab000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x80beac000)
        libnss3.so => /usr/local/lib/nss/libnss3.so (0x80c0b7000)
        libsmime3.so => /usr/local/lib/nss/libsmime3.so (0x80c3e3000)
        libnssutil3.so => /usr/local/lib/nss/libnssutil3.so (0x80c60d000)
        libplds4.so => /usr/local/lib/libplds4.so (0x80c83d000)
        libplc4.so => /usr/local/lib/libplc4.so (0x80ca40000)
        libnspr4.so => /usr/local/lib/libnspr4.so (0x80cc44000)
        libdl.so.1 => /usr/lib/libdl.so.1 (0x80ce83000)
        libcups.so.2 => /usr/local/lib/libcups.so.2 (0x80d084000)
        libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x80d315000)
        libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 (0x80d6a8000)
        libdbus-1.so.3 => /usr/local/lib/libdbus-1.so.3 (0x80d8ef000)
        libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x80db40000)
        libkvm.so.7 => /lib/libkvm.so.7 (0x80dd43000)
        libutil.so.9 => /lib/libutil.so.9 (0x80df51000)
        libXss.so.1 => /usr/local/lib/libXss.so.1 (0x80e165000)
        libwebpdemux.so.2 => /usr/local/lib/libwebpdemux.so.2 (0x80e367000)
        libwebpmux.so.3 => /usr/local/lib/libwebpmux.so.3 (0x80e56b000)
        libwebp.so.7 => /usr/local/lib/libwebp.so.7 (0x80e775000)
        libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x80ea05000)
        libjpeg.so.8 => /usr/local/lib/libjpeg.so.8 (0x80ecbb000)
        libexpat.so.1 => /usr/local/lib/libexpat.so.1 (0x80ef4e000)
        libharfbuzz.so.0 => /usr/local/lib/libharfbuzz.so.0 (0x80f179000)
        libdrm.so.2 => /usr/local/lib/libdrm.so.2 (0x80f458000)
        libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x80f66b000)
        libgio-2.0.so.0 => /usr/local/lib/libgio-2.0.so.0 (0x80f875000)
        libavcodec.so.58 => /usr/local/lib/libavcodec.so.58 (0x80fe00000)
        libavformat.so.58 => /usr/local/lib/libavformat.so.58 (0x811800000)
        libavutil.so.56 => /usr/local/lib/libavutil.so.56 (0x811c52000)
        libopenh264.so.4 => /usr/local/lib/libopenh264.so.4 (0x811eca000)
        libasound.so.2 => /usr/local/lib/libasound.so.2 (0x8121da000)
        libsnappy.so.1 => /usr/local/lib/libsnappy.so.1 (0x8124de000)
        libopus.so.0 => /usr/local/lib/libopus.so.0 (0x8126e6000)
        libpangocairo-1.0.so.0 => /usr/local/lib/libpangocairo-1.0.so.0 (0x812956000)
        libpango-1.0.so.0 => /usr/local/lib/libpango-1.0.so.0 (0x812b63000)
        libcairo.so.2 => /usr/local/lib/libcairo.so.2 (0x812db1000)
        libGL.so.1 => /usr/local/lib/libGL.so.1 (0x8130d8000)
        libpci.so.3 => /usr/local/lib/libpci.so.3 (0x813366000)
        libatk-1.0.so.0 => /usr/local/lib/libatk-1.0.so.0 (0x813571000)
        libatk-bridge-2.0.so.0 => /usr/local/lib/libatk-bridge-2.0.so.0 (0x81379c000)
        libatspi.so.0 => /usr/local/lib/libatspi.so.0 (0x8139cc000)
        libFLAC.so.8 => /usr/local/lib/libFLAC.so.8 (0x813bfd000)
        libgtk-3.so.0 => /usr/local/lib/libgtk-3.so.0 (0x814000000)
        libgdk-3.so.0 => /usr/local/lib/libgdk-3.so.0 (0x8148b9000)
        libcairo-gobject.so.2 => /usr/local/lib/libcairo-gobject.so.2 (0x814bb0000)
        libgdk_pixbuf-2.0.so.0 => /usr/local/lib/libgdk_pixbuf-2.0.so.0 (0x814db8000)
        libxslt.so.1 => /usr/local/lib/libxslt.so.1 (0x814fdb000)
        libz.so.6 => /lib/libz.so.6 (0x815218000)
        liblzma.so.5 => /usr/lib/liblzma.so.5 (0x815430000)
        libm.so.5 => /lib/libm.so.5 (0x815659000)
        librt.so.1 => /usr/lib/librt.so.1 (0x815886000)
        libc++.so.1 => /usr/lib/libc++.so.1 (0x815a8c000)
        libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x815d5a000)
        libc.so.7 => /lib/libc.so.7 (0x800823000)
        libXau.so.6 => /usr/local/lib/libXau.so.6 (0x815f79000)
        libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x81617c000)
        libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x816381000)
        libpcre.so.1 => /usr/local/lib/libpcre.so.1 (0x81667c000)
        libffi.so.6 => /usr/local/lib/libffi.so.6 (0x81691a000)
        libgnutls.so.30 => /usr/local/lib/libgnutls.so.30 (0x816b21000)
        libavahi-common.so.3 => /usr/local/lib/libavahi-common.so.3 (0x816ed4000)
        libavahi-client.so.3 => /usr/local/lib/libavahi-client.so.3 (0x8170e0000)
        libcrypt.so.5 => /lib/libcrypt.so.5 (0x8172ef000)
        libelf.so.2 => /lib/libelf.so.2 (0x81750e000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x817725000)
        libbz2.so.4 => /usr/lib/libbz2.so.4 (0x817934000)
        libgraphite2.so.3 => /usr/local/lib/libgraphite2.so.3 (0x817b48000)
        libswresample.so.3 => /usr/local/lib/libswresample.so.3 (0x817d71000)
        libvpx.so.6 => /usr/local/lib/libvpx.so.6 (0x818000000)
        libdav1d.so.1 => /usr/local/lib/libdav1d.so.1 (0x818411000)
        libmp3lame.so.0 => /usr/local/lib/libmp3lame.so.0 (0x818732000)
        libtheoraenc.so.1 => /usr/local/lib/libtheoraenc.so.1 (0x8189b3000)
        libtheoradec.so.1 => /usr/local/lib/libtheoradec.so.1 (0x818be2000)
        libvorbis.so.0 => /usr/local/lib/libvorbis.so.0 (0x818df3000)
        libvorbisenc.so.2 => /usr/local/lib/libvorbisenc.so.2 (0x819024000)
        libx264.so.155 => not found (0)
        libx265.so.170 => /usr/local/lib/libx265.so.170 (0x819400000)
        libxvidcore.so.4 => /usr/local/lib/libxvidcore.so.4 (0x819b4b000)
        libva.so.2 => /usr/local/lib/libva.so.2 (0x819e70000)
        libgmp.so.10 => /usr/local/lib/libgmp.so.10 (0x81a096000)
        libva-drm.so.2 => /usr/local/lib/libva-drm.so.2 (0x81a316000)
        libva-x11.so.2 => /usr/local/lib/libva-x11.so.2 (0x81a518000)
        libvdpau.so.1 => /usr/local/lib/libvdpau.so.1 (0x81a71d000)
        libpangoft2-1.0.so.0 => /usr/local/lib/libpangoft2-1.0.so.0 (0x81a920000)
        libfribidi.so.0 => /usr/local/lib/libfribidi.so.0 (0x81ab36000)
        libpixman-1.so.0 => /usr/local/lib/libpixman-1.so.0 (0x81ad4c000)
        libEGL.so.1 => /usr/local/lib/libEGL.so.1 (0x81b016000)
        libpng16.so.16 => /usr/local/lib/libpng16.so.16 (0x81b24e000)
        libxcb-shm.so.0 => /usr/local/lib/libxcb-shm.so.0 (0x81b489000)
        libxcb-render.so.0 => /usr/local/lib/libxcb-render.so.0 (0x81b68b000)
        libxcb-dri3.so.0 => /usr/local/lib/libxcb-dri3.so.0 (0x81b898000)
        libxcb-xfixes.so.0 => /usr/local/lib/libxcb-xfixes.so.0 (0x81ba9b000)
        libxcb-present.so.0 => /usr/local/lib/libxcb-present.so.0 (0x81bca2000)
        libxcb-sync.so.1 => /usr/local/lib/libxcb-sync.so.1 (0x81bea4000)
        libxshmfence.so.1 => /usr/local/lib/libxshmfence.so.1 (0x81c0aa000)
        libglapi.so.0 => /usr/local/lib/libglapi.so.0 (0x81c2ab000)
        libxcb-glx.so.0 => /usr/local/lib/libxcb-glx.so.0 (0x81c505000)
        libxcb-dri2.so.0 => /usr/local/lib/libxcb-dri2.so.0 (0x81c71e000)
        libXxf86vm.so.1 => /usr/local/lib/libXxf86vm.so.1 (0x81c922000)
        libogg.so.0 => /usr/local/lib/libogg.so.0 (0x81cb26000)
        libXinerama.so.1 => /usr/local/lib/libXinerama.so.1 (0x81cd2c000)
        libxkbcommon.so.0 => /usr/local/lib/libxkbcommon.so.0 (0x81cf2e000)
        libwayland-cursor.so.0 => /usr/local/lib/libwayland-cursor.so.0 (0x81d16b000)
        libwayland-egl.so.1 => /usr/local/lib/libwayland-egl.so.1 (0x81d372000)
        libwayland-client.so.0 => /usr/local/lib/libwayland-client.so.0 (0x81d573000)
        libepoxy.so.0 => /usr/local/lib/libepoxy.so.0 (0x81d782000)
        libp11-kit.so.0 => /usr/local/lib/libp11-kit.so.0 (0x81da91000)
        libtasn1.so.6 => /usr/local/lib/libtasn1.so.6 (0x81ddb2000)
        libnettle.so.6 => /usr/local/lib/libnettle.so.6 (0x81dfc7000)
        libhogweed.so.4 => /usr/local/lib/libhogweed.so.4 (0x81e1ff000)
        libidn2.so.0 => /usr/local/lib/libidn2.so.0 (0x81e435000)
        libunistring.so.2 => /usr/local/lib/libunistring.so.2 (0x81e653000)
        libgbm.so.1 => /usr/local/lib/libgbm.so.1 (0x81ea07000)
        libwayland-server.so.0 => /usr/local/lib/libwayland-server.so.0 (0x81ec15000)
        libepoll-shim.so.0 => /usr/local/lib/libepoll-shim.so.0 (0x81ee28000)

Lots of deps here, lets cut to the point with grep(1) as shown below.

% ldd /usr/local/share/chromium/chrome | grep found
        libx264.so.155 => not found (0)

Only one – libx264.so.155 – dependency is missing. Let’s fix it then.

% cd /usr/local/lib
% ls -l libx264.so*
lrwxr-xr-x  1 root  wheel       14 2019.03.19 02:11 libx264.so -> libx264.so.157
-rwxr-xr-x  1 root  wheel  2090944 2019.03.19 02:11 libx264.so.157

There is little newer version available libx264.so.157 so we will link to it with our ‘missing’ libx264.so.155 name.

# pwd
/usr/local/lib
# ln -s libx264.so libx264.so.155
# ls -l libx264.so*
lrwxr-xr-x  1 root  wheel       14 2019.03.19 02:11 libx264.so -> libx264.so.157
lrwxr-xr-x  1 root  wheel       10 2019.03.21 15:26 libx264.so.155 -> libx264.so
-rwxr-xr-x  1 root  wheel  2090944 2019.03.19 02:11 libx264.so.157

Chromium should be happy now.

% ldd /usr/local/share/chromium/chrome | grep found
% 

Zero not found results.

Let’s start Chromium then with chrome command.

% chrome

Starts as usual and everything works πŸ™‚

This whole process can be visualized with this simple screenshots below.

vermaden_2019-03-21_15-47-40.png

EOF
Advertisements

Ghost in the Shell – Part 4

Long time no see. Its been a while since last post in the Ghost in the Shell series. Its also exactly one full year since I started this blog – from the first Ghost in the Shell series article – the Part 1 – that was published on 2018/03/15 day.

Today I would like to show you new pack of useful tricks and features for productive terminal/shell use. Lets start with something simple yet useful.

You may want to check other articles in the Ghost in the Shell series on the Ghost in the Shell – Global Page where you will find links to all episodes of the series along with table of contents for each episode’s contents.

Named Pipes

We all (or at least most :>) know and love pipes in UNIX. For the record – ls | grep match | awk '{print $3}' | sed 's/.jpg//g' – command ‘chains’ like that one πŸ™‚

What is a named pipe then? A manually defined pipe for special purposes. For example some applications – especially the so called Enterprise ones – often do not support UNIX pipes mechanisms – they only can dump something to a file. A great example of such Enterprise software is Oracle database whose dump command can only make dump to a file. With tool that supports UNIX pipes you would probably want to pipe that data to gzip(1)/xz(1) to compress it on the fly or even pipe it directly to ssh(1) to the Backup server for example, but not with Oracle.

This is where named pipes feature helps. We will create named pipe called /tmp/PIPE so Oracle’s dump command will be able to use it and on the other side of this pipe we will attach a pipe to gzip -9 command to compress that data on the fly.

Below example is from Linux system so mknod(1) command will be used. For example on FreeBSD you would use mkfifo(1) command for named pipe. Complete example of such named pipe is presented below.

root # cd /tmp
root # mknod /tmp/PIPE p
root # chown oracle:oinstall /tmp/PIPE
root # dd if=/tmp/PIPE bs=1M | gzip -9 > /mnt/oracle/oracle-database-backup.dmp.gz &

Now the /tmp/PIPE named pipe is ready to be used. When any process will start to write something to the /tmp/PIPE named pipe it will be automatically grabbed by dd(8) command and piped to the gzip(1) command that will compress that input and write it into the /mnt/oracle/oracle-database-backup.dmp.gz file.

Now we can start the Oracle dumping process with dump command.

root # su - oracle
oracle % dump file=/tmp/PIPE

When the dump command finishes its work you will find all your dumped data compressed in the /mnt/oracle/oracle-database-backup.dmp.gz file.

Other example of named pipes usage is my desktop dzen2 setup with unusual update schedule – described in detail in the FreeBSD Desktop – Part 13 – Configuration – Dzen2 article.

Modify Command Environment on the Fly

For most of the time we use export(1) builtin to export needed environment values that our command needs. You can then check what environment exported values are with the env(1) command of course … but you can use the same env(1) command to run any command with modified environment without exporting variables using export(1).

Here is brief example of this feature.

For the record – the gls(1) command is a GNU/Linux ls(1) command from sysutils/coreutils package/port but to make it work without name conflicts on FreeBSD where BSD ls(1) is also present it had to be renamed to gls(1).

% gls -l | head -1
total 8609K

% env LC_ALL=pl_PL.UTF-8 gls -l | head -1
razem 8609K

In the example above we run gls(1) command with default environment – I use en_US.UTF-8 locale daily. The second invocation with LC_ALL=pl_PL.UTF-8 modified environment made gls(1) command display its output in Polish (pl_PL.UTF-8) language. The word ‘razem‘ means ‘total‘ in Polish.

Other useful example may be using make(1) to build FreeBSD port with known vulnerabilities. By default FreeBSD’s build(7) system will not allow us to build such port (and that is good defaults) but if we know what we are doing we will use following spell.

# env DISABLE_VULNERABILITIES=yes make -C /usr/ports/security/bdes/ build install clean

Its also useful with commands that do not play well with UTF-8 input like tr(1) for example. When LC_ALL is set to en_US.UTF-8 it will throw an error upon as.

% tr -cd '0-9' < /dev/random | head -c 16
tr: Illegal byte sequence
%

We just wanted to generate random 16 numbers.

To make it work we will modify the LC_ALL environment for this invocation.

% env LC_ALL=C tr -cd '0-9' < /dev/random | head -c 16
9571949869123855
%

Much better πŸ™‚

Other example with timezones using date(1) command and TZ variable as shown in the example below.

% date
Fri Mar 15 14:03:38 CET 2019

% env TZ=Australia/Darwin date 
Fri Mar 15 22:35:26 ACST 2019

The Real Path

The symlinks with ln(1) are very useful for many ways, to organize stuff, for quick fixes, for versioning … you will find tons of other use cases.

There is just one problem, if you make to many levels or symlinks or its just too much nested you do not know where you are anymore … this is where the realpath(1) comes handy. No matter how many levels of links you have made, it will tell you the truth – what is the current real path. The pwd(1) command will not help you here thou.

Here is a short example how it works.

% pwd
/home/vermaden
% ln -s /home/vermaden ASD
% cd ASD
% pwd
/home/vermaden/ASD
% realpath
/home/vermaden

Browsing the PATH

Many times I wanted to ‘browse’ through the PATH to search for something. As you possibly know the PATH variable stores paths that are colon (:) separated.

You can redefine the IFS variable which by default contains space ‘ ‘ which will work as field delimited for the for loop.

Here is the example.

% export IFS=":"

% for I in $( echo ${PATH} ); do echo ${I}; done
/sbin
/bin
/usr/sbin
/usr/bin
/usr/local/sbin
/usr/local/bin 

% for I in $( echo ${PATH} ); do find ${I} -name ifconfig; done
/sbin/ifconfig

The other way to do this is to use plain old tr tool to translate colons (:) into newlines (\n) so we will be able to use the while loop here.

Here is the tr(1) example.

% echo ${PATH} | tr ':' '\n' | while read I; do echo ${I}; done
/sbin
/bin
/usr/sbin
/usr/bin
/usr/local/sbin
/usr/local/bin

% echo ${PATH} | tr ':' '\n' | while read I; do find ${I} -name dd; done
/bin/dd

You can also achieve same thing using the Parameter Expansion in which we will change the colons (:) into newlines (\n) as shown in the example below.

% echo "${PATH//:/\n}"
/sbin
/bin
/usr/sbin
/usr/bin
/usr/local/sbin
/usr/local/bin

# echo "${PATH//:/\n}" | while read I; do find ${I} -name camcontrol; done
/sbin/camcontrol

Parameter Expansion

I will not show all possible Parameter Expansion methods – just the most useful ones.

The typical use is to get the extension of a file or to ’emulate’ basename(1) or dirname(1) commands – it will be faster to use Parameter Expansion instead of invoking these commands each time. Below are two tables showing what you will get from which Parameter Expansion method.

PARAMETER    RESULT                       DESC 
-----------  ---------------------------  --------------
${name}      kubica.polish.racing.legend  content
${name#*.}          polish.racing.legend  -
${name##*.}                       legend  extension
${name%%.*}  kubica                       -
${name%.*}   kubica.polish.racing         -

… and with slash (/) character.

PARAMETER    RESULT                       DESC 
-----------  ---------------------------  --------------
${name}      kubica/polish/racing/legend  content
${name#*/}          polish/racing/legend  -
${name##*/}                       legend  basename(1)
${name%%.*}  kubica                       root directory
${name%/*}   kubica/polish/racing         dirname(1)

You can also use Parameter Expansion methods to grab the protocol from an URL like shown below.

% URL="https://vermaden.wordpress.com"

% echo "${URL%%/*}"
https:

Sort Human Readable Values

Its simple and easy to sort just numerical values, we use sort -n for that – but values sometimes comes in human readable form like 4G, 350M and 120K. To sort these properly you will have to use sort -h flag as shown in the example below.

% du -sh /usr/*
102M    /usr/bin
228G    /usr/home
9.0M    /usr/include
 53M    /usr/lib
 43M    /usr/lib32
116K    /usr/libdata
1.9M    /usr/libexec
365M    /usr/local
512B    /usr/obj
9.5M    /usr/sbin
 39M    /usr/share
251K    /usr/tests

% du -sh /usr/* | sort -h
512B    /usr/obj
116K    /usr/libdata
251K    /usr/tests
1.9M    /usr/libexec
9.0M    /usr/include
9.5M    /usr/sbin
 39M    /usr/share
 43M    /usr/lib32
 53M    /usr/lib
102M    /usr/bin
365M    /usr/local
228G    /usr/home

If the values are in the first column then its simple but what to do when the values are not in the first column? You will use -k parameter of sort(1) which takes which column to sort as argument. Needed example below sorted bu human readable values and on the second USED column.

% zfs list | sort -h -k 2
NAME                         USED  AVAIL  REFER  MOUNTPOINT
local/usr/obj                 88K   130G    88K  /usr/obj
local/var/cache/pkg          128K   130G   128K  /var/cache/pkg
local/var/cache              216K   130G    88K  none
local/var                    304K   130G    88K  none
sys/ROOT/11.1-RELEASE        482M  2.39G  6.04G  /
local/usr/ports              729M   130G   729M  /usr/ports
local/jail/nextcloud         927M   130G   897M  /jail/nextcloud
local/jail                  1.00G   130G   100M  /jail
local/usr/src               1.28G   130G  1.28G  /usr/src
local/usr                   1.99G   130G    88K  none
sys/ROOT/11.2-RELEASE       8.69G  2.39G  7.10G  /
sys/ROOT                    9.16G  2.39G    88K  none
sys                         9.17G  2.39G    88K  none
local/home                   281G   130G   281G  /home
local                        288G   130G    88K  none

Write a File from vi(1) with Different Rights

How many times you have opened a system configuration file like /etc/sysctl.conf or /etc/fstab in your favorite vi(1) editor, made some changes and then when you wanted to save it – no luck – you are trying to write to file owned by root with regular user … the Read-only file, not written; use ! to override. message will be displayed. Of course you can save that file somewhere else like your home directory and them move it with doas(1)/sudo(8)/su(8) help to original location and fix its rights … or you may do that in one step instead.

After opening a file with vi(1) and some changes to write a file with doas(1)/sudo(8) rights you just need to type this.

:w !doas tee %

Then exit the vi(1) editor with force.

:q!

Here is how it looks in the editor.

:w !doas tee %

+=+=+=+=+=+=+=+
File contents are displayed here.

Press any key to continue [: to enter more ex commands]: [ENTER]

Here is the ‘legend’ for that spell.

:      vi(1) prompt
w      write a file
!doas  invoke doas(1) command
tee    command that will be started using doas(1) command
%      tells vi(1) to use current filename

In this process the current vi(1) contents will be redirected using tee(1) with doas(1) rights to the current (open that you opened) filename.

Of course it also works in vim(1) or neovim(1) and if sudo(8) is your poison then just use sudo instead doas(1) there.

Search Contents of PDF Files

We all love plain text files then they can be searched using grep(1) for data that is interesting for us … but grep(1) does not work with PDF files … or should I say its pointless/useless to use grep(1) to search PDF files. Fortunately pdfgrep(1) command exists and works beautifully with PDF files – including colored output.

Recently FreeBSD Journal has been made free and you will like to search for bhyve articles in FreeBSD Journal issues then this is the command for you.

% cd books/unix-bsd-journal
% exa
FreeBSD Journal - 2014-01-02.pdf FreeBSD Journal - 2016-09-10.pdf
FreeBSD Journal - 2014-03-04.pdf FreeBSD Journal - 2016-11-12.pdf
FreeBSD Journal - 2014-05-06.pdf FreeBSD Journal - 2017-01-02.pdf
FreeBSD Journal - 2014-07-08.pdf FreeBSD Journal - 2017-03-04.pdf
FreeBSD Journal - 2014-09-10.pdf FreeBSD Journal - 2017-05-06.pdf
FreeBSD Journal - 2014-11-12.pdf FreeBSD Journal - 2017-07-08.pdf
FreeBSD Journal - 2015-01-02.pdf FreeBSD Journal - 2017-09-10.pdf
FreeBSD Journal - 2015-03-04.pdf FreeBSD Journal - 2017-11-12.pdf
FreeBSD Journal - 2015-05-06.pdf FreeBSD Journal - 2018-01-02.pdf
FreeBSD Journal - 2015-07-08.pdf FreeBSD Journal - 2018-03-04.pdf
FreeBSD Journal - 2015-09-10.pdf FreeBSD Journal - 2018-05-06.pdf
FreeBSD Journal - 2015-11-12.pdf FreeBSD Journal - 2018-07-08.pdf
FreeBSD Journal - 2016-01-02.pdf FreeBSD Journal - 2018-09-10.pdf
FreeBSD Journal - 2016-03-04.pdf FreeBSD Journal - 2018-11-12.pdf
FreeBSD Journal - 2016-05-06.pdf FreeBSD Journal - 2019-01-02.pdf
FreeBSD Journal - 2016-07-08.pdf

% pdfgrep -i -n bhyve *.pdf
FreeBSD Journal - 2014-01-02 - Old Release.pdf:6: machine hypervisors, such as BHy
FreeBSD Journal - 2014-01-02 - Old Release.pdf:6: BHyVe
FreeBSD Journal - 2014-01-02 - Old Release.pdf:6: BHyVe IS THE BSD Hypervisor, de
FreeBSD Journal - 2014-01-02 - Old Release.pdf:6: Grehan and Neel Natu. The desig
FreeBSD Journal - 2014-01-02 - Old Release.pdf:6: BHyVe requires Intel CPUs w
FreeBSD Journal - 2014-01-02 - Old Release.pdf:6: BHyVe appeared in FreeBSD 1
FreeBSD Journal - 2014-01-02.pdf:42: machine hypervisors, such as BHyVe, Virtual
FreeBSD Journal - 2014-01-02.pdf:42: BHyVe e d
FreeBSD Journal - 2014-01-02.pdf:42: BHyVe IS THE BSD Hypervisor, developed by P
FreeBSD Journal - 2014-01-02.pdf:42: Grehan and Neel Natu. The design goal of BH
FreeBSD Journal - 2014-01-02.pdf:42: BHyVe requires Intel CPUs with VT-x and
FreeBSD Journal - 2014-01-02.pdf:42: BHyVe appeared in FreeBSD 10-CURRENT in
(...)

Here is how it looks in the xterm(1) terminal.

xterm-pdfgrep.png

Hope that today’s pack of spells will end up useful for you.

EOF

Valuable News – 2019/03/11

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

Restic and Backblaze B2 for Backups.
https://harshadsharma.com/2018/04/restic-and-backblaze-b2-for-backups

Support for Marvell Armada 38x added to FreeBSD.
https://lists.freebsd.org/pipermail/freebsd-arm/2017-June/016314.html

Increasing coverage of signal semantics in regression tests on NetBSD.
https://blog.netbsd.org/tnf/entry/increasing_coverage_of_signal_semantics

Creating Zones from Images on Tribblix.
https://ptribble.blogspot.com/2018/06/tribblix-creating-zones-from-images.html

Solaris 11.4 – Periodic Scrubs of ZFS Filesystems.
http://blog.moellenkamp.org/archives/37-Periodic-scrubs-of-ZFS-filesystems.html

Spacewalk for Linux Management – Part 1 – Guide for Uninitiated.
https://medium.com/@glmdev/spacewalk-for-linux-management-2701ac34df4a

Spacewalk for Linux Management – Part 2 – Setting Up Spacewalk Channels.
https://medium.com/@glmdev/setting-up-spacewalk-channels-f1db33a4e2a

FreeBSD upgrades Clang/LLVM compiler to 8.0.
https://svnweb.freebsd.org/base?view=revision&revision=344779

ReactOS 0.4.11 Released.
https://www.reactos.org/project-news/reactos-0411-released

FreeBSD on ThinkPad X280.
https://adminblog.foucry.net/2019/03/05/FreeBSD-ThinkPad/#englishversion

FreeBSD implements minidump support for RISC-V.
https://svnweb.freebsd.org/base?view=revision&revision=344830

SMoTherSpectre: transient execution attacks through port contention.
More security attacks based on SMT (Hyper Threading)
https://nebelwelt.net/blog/20190306-SMoTherSpectre.html

SPOILER: Speculative Load Hazards Boost Rowhammer and Cache Attacks.
All Intel Core CPUs are vulnerable. AMD and ARM Chips are Secure.
https://arxiv.org/pdf/1903.00446.pdf

BSD Now 288 – Turing Complete Sed.
https://www.bsdnow.tv/288

In Other BSDs for 2019/03/09.
https://www.dragonflydigest.com/2019/03/09/22620.html

FreeBSD Journal 2019 January/February.
http://cdn.coverstand.com/33057/571964/0954264cc0879c4080609529d858340492e14096.2.pdf
https://www.freebsdfoundation.org/past-issues/getting-started-with-freebsd/

Writing a Book with Unix.
https://joecmarshall.com/posts/book-writing-environment/

FreeBSD adds separate aggregation limit for non-rotating media for ZFS.
https://svnweb.freebsd.org/base?view=revision&revision=344934

The mandoc 1.14.5 Released.
https://undeadly.org/cgi?action=article;sid=20190310175719

ZFS by Josh Bicking (@jibby0) about ZFS history/terminology/basics.
https://ritlug.com/talks/2019/03/07/w8-zfs/
blob:https://mozilla.github.io/ea5095f4-a7e1-461b-a496-f22893b4f95f

FreeBSD bhyve – Snapshot Save and Restore.
https://reviews.freebsd.org/D19495

FreeBSD ACPI fix for HP (and possibly ASUS/Toshiba/Dell/other laptops) that fixes suspend/resume/poweroff.
https://twitter.com/FreeBSDHelp/status/1104926425126068224
https://svnweb.freebsd.org/base?view=revision&revision=344982

Hardware

Thunderbolt 3 becomes USB 4 as Intel interconnect goes royalty-free.
https://www.osnews.com/story/129551/thunderbolt-3-becomes-usb4-as-intels-interconnect-goes-royalty-free/

USB4 Specification Announced – 40 Gbps – Type-C – Thunderbird 3 Support.
https://www.anandtech.com/show/14048/usb4-specification-40-gbps-type-c-tb3

Can Supermicro rule the gaming and desktop motherboard markets?
https://www.kitguru.net/tech-news/andrzej/can-supermicro-rule-the-gaming-and-desktop-motherboard-markets/

Supermicro M11SDV-4CT-LN4F Review Low-Cost AMD EPYC 3101.
https://www.servethehome.com/supermicro-m11sdv-4ct-ln4f-review-low-cost-amd-epyc-3101/

Life

Birmingham school stops LGBT lessons after parents protest.
https://www.theguardian.com/education/2019/mar/04/birmingham-school-stops-lgbt-lessons-after-parent-protests

How to speak like a leader, not like an engineer?
https://news.ycombinator.com/item?id=19349676

Other

CNCF Survey – Use of Cloud Native Technologies in Production Has Grown Over 200%.
https://www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud-native-technologies-in-production-has-grown-over-200-percent/

Windows 10 Decrapifier – 1803/1809.
https://community.spiceworks.com/scripts/show/4378-windows-10-decrapifier-1803-1809

Windows 10 Decrapifier – 1709.
https://community.spiceworks.com/scripts/show/3977-windows-10-decrapifier-1709

Serious Chrome Zero Day – Google Says Update ‘Now’.
Serious Chrome zero-day – Google says update “right this minute”

EOF

Valuable News – 2019/02/25

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

The Scanned versus Issued numbers for ZFS Scrubs (and Resilvers).
https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSScrubScannedVsIssued

The rclone is command line program to sync files and directories to and from many cloud services.
https://rclone.org/

Make ZFS Snapshots work with Samba as Windows Shadow Copies (VSS).
https://github.com/zfsonlinux/zfs-auto-snapshot/wiki/Samba

Dynamically linked binaries will be built as PIE on FreeBSD.
https://svnweb.freebsd.org/base?view=revision&revision=344179

Book of Secret Knowledge.
Collection of awesome lists/manuals/blogs/hacks/one liners/cli/web tools and more.
https://github.com/trimstray/the-book-of-secret-knowledge

FreeBSD ZFS AMIs Now Available.
http://www.daemonology.net/blog/2019-02-16-FreeBSD-ZFS-AMIs-now-available.html

OpenBSD Desktop Using Window Maker.
https://www.tumfatig.net/20190215/an-openbsd-desktop-using-windowmaker/

Wine Developers Release Hangover Alpha to Run Windows x86_64 Programs on 64-Bit ARM.
https://www.phoronix.com/scan.php?page=news_item&px=Hangover-0.4-Alpha-Released

Unix Architecture Diagrams – Modern FreeBSD.
https://dspinellis.github.io/unix-architecture/arch.pdf

Hacker News Discussion – Why don’t companies use FreeBSD as much in production as Linux?
https://news.ycombinator.com/item?id=12199394

Pinboard tags for various BSDs.
Social Bookmarking for Introverts.
https://pinboard.in/t:freebsd/
https://pinboard.in/t:openbsd/
https://pinboard.in/t:netbsd/
https://pinboard.in/t:dragonflybsd/
https://pinboard.in/t:bsd/

Bastille – Quickly Create and Manage FreeBSD Jails.
https://bastillebsd.org/
https://freshports.org/sysutils/bastille

FreeBSD Starter Kit.
https://github.com/BastilleBSD/starterkit

FreeBSD nsysctl Tutorial.
https://alfix.gitlab.io/bsd/2019/02/19/nsysctl-tutorial.html

OpenBSD and iSCSI Part 1 – Target (Server).
https://dataswamp.org/~solene/2019-02-21-iscsi-server.html

OpenBSD and iSCSI Part 2 – Initiator (Client).
https://dataswamp.org/~solene/2019-02-21-iscsi-client.html

New Bhyve on FreeBSD vCPU limit will be 254.
https://reviews.freebsd.org/D18815

FreeBSD adds kernel support for Intel userspace protection keys feature on Skylake Xeons.
https://svnweb.freebsd.org/base?view=revision&revision=344353

Looking at MySQL 8 with PostgreSQL Goggles On.
https://www.cybertec-postgresql.com/en/looking-at-mysql-8-with-postgresql-goggles-on/

FreeNAS 11.2-U2 Available.
https://www.ixsystems.com/blog/library/freenas-11-2-u2/

Free Algorithms book by Jeff Erickson.
http://jeffe.cs.illinois.edu/teaching/algorithms/#book

Mutatio is simple script to keep to date with OpenBSD updates and to download new snapshots.
https://github.com/joedicastro/mutatio

PXE Booting of FreeBSD Disk Image.
https://blog.cochard.me/2019/02/pxe-booting-of-freebsd-disk-image.html

XigmaNAS 11.2.0.4.6536 Available.
https://sourceforge.net/projects/xigmanas/files/XigmaNAS-11.2.0.4/11.2.0.4.6536/

XigmaNAS 12.0.0.4.6536 Beta Available.
https://sourceforge.net/projects/xigmanas/files/XigmaNAS-Beta/XigmaNAS-12.0.0.4.6536/

HAXM in pkgsrc.
HAXM is hardware-assisted virtualization engine (hypervisor).
https://mail-index.netbsd.org/netbsd-users/2019/02/13/msg022207.html
https://blog.netbsd.org/tnf/entry/the_hardware_assisted_virtualization_challenge

FreeBSD Imports Linux debugfs Support.
https://svnweb.freebsd.org/base?view=revision&revision=344485

FreeBSD Find Out All Installed Hard Disk Information.
https://www.cyberciti.biz/faq/freebsd-hard-disk-information/

In Other BSDs for 2019/02/23.
https://www.dragonflydigest.com/2019/02/23/22569.html

In Other BSDs for 2019/02/16.
https://www.dragonflydigest.com/2019/02/16/22529.html

Hardware

Western Digital RISC-V SweRV Core Design Released for Free.
https://www.anandtech.com/show/13964/western-digitals-riscv-swerv-core-released-for-free

The Last POWER1 CPU on Mars is Dead.
https://www.talospace.com/2019/02/the-last-power1-on-mars-is-dead.html

Lasers vs. Microwaves – Billion Dollar Bet on the Future of Magnetic Storage.
Seagate and Western Digital are pursuing rival technologies to push limits of hard disks.
https://spectrum.ieee.org/computing/hardware/lasers-vs-microwaves-the-billiondollar-bet-on-the-future-of-magnetic-storage

AMD EPYC 3201 8-Core 30W Benchmarks Review and Milestone.
https://www.servethehome.com/amd-epyc-3201-8-core-benchmarks-review-and-milestone/

Samsung 983 ZET (Z-NAND) SSD Review.
https://www.anandtech.com/show/13951/the-samsung-983-zet-znand-ssd-review/

History – SUN Modular Data Center also known as Project Blackbox.
https://gigazine.net/gsc_news/en/20061018_blackbox/
http://data-centers.in/portable-data-center/

First Intel 4.0 GHz – Pentium Gold G5620 at Retail.
https://www.anandtech.com/show/13976/intels-first-40-ghz-pentium-pentium-gold-g5620-listed-at-retail

Journey to Next Gen ARM Neoverse N1 and E1 Cores.
https://www.servethehome.com/arm-neoverse-n-e-tech-day/

AMD Hiring 10 More People for Their Open Source Linux Driver Team.
https://www.phoronix.com/scan.php?page=news_item&px=AMD-Hiring-10-More-Open-Source

Samsung Galaxy Fold – First Folding Smartphone.
https://www.anandtech.com/show/13981/samsung-announces-the-galaxy-fold-the-first-folding-smartphone

Supermicro making push into high end gaming motherboards.
https://www.zdnet.com/article/supermicro-making-a-push-into-high-end-gaming-motherboards/

Intel believe that ARM Macs could come as soon as 2020.
https://appleinsider.com/articles/19/02/21/intel-officials-believe-that-arm-macs-could-come-as-soon-as-2020

Apple move to ARM based Macs creates uncertainty.
https://www.axios.com/apple-macbook-arm-chips-ea93c38a-d40a-4873-8de9-7727999c588c.html

Toshiba Collaborates with Showa Denko for MAMR 18 TB HDDs.
https://www.anandtech.com/show/13991/toshiba-collaborates-with-showa-denko-for-mamr-hdds

Life

Why I hate the weekends…
http://www.cdahmedeh.net/blog/2017/4/15/why-i-hate-the-weekends

Study finds no evidence cough medicines work with 1/7 patients experiencing negative side effects.
https://www.independent.co.uk/news/health/cough-medicine-work-help-persistent-symptoms-weeks-asthma-a8531286.html

How We Lost Our Ability to Mend.
https://dieworkwear.com/post/182126040434/how-we-lost-our-ability-to-mend

Four day week trial – study finds lower stress but no cut in output.
https://www.theguardian.com/money/2019/feb/19/four-day-week-trial-study-finds-lower-stress-but-no-cut-in-output

Google says the builtin microphone it never told Nest users about was ‘never supposed to be a secret’.
https://www.businessinsider.com/nest-microphone-was-never-supposed-to-be-a-secret-2019-2?IR=T

How Jan and Martina Died.
https://www.occrp.org/en/unfinishedlives/how-jan-and-martina-died

Other

By Summer 2019 Firefox will Block by Default All Cross-Site Third-Party Trackers.
https://twitter.com/jensimmons/status/1098335173089873920

EOF

 

Valuable News – 2019/02/15

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

How to Secure FreeBSD (server minimal edition).
https://www.adminbyaccident.com/freebsd/how-to-secure-freebsd/

GCC 8/9 vs. LLVM 7/8 Compiler Performance on POWER9 Raptor Talos II.
https://www.phoronix.com/scan.php?page=article&item=power9-gcc-clang&num=5

FreeBSD Foundation – Love what FreeBSD has done for your organization?
Send your testimonial to FreeBSD Foundation!
https://www.freebsdfoundation.org/about/testimonials/

SPARC and TOD Modules on Illumos.
https://ptribble.blogspot.com/2019/02/sparc-and-tod-modules-on-illumos.html

Customizing OpenBSD xenodm.
https://www.tumfatig.net/20190208/customizing-openbsd-xenodm/

Modern Data Lake with Minio.
https://drive.google.com/file/d/1MhWE2C59L7A5Oyv6x_PL1JGltykWjS6s/view

Nord – arctic north-bluish color palette.
https://arcticicestudio.github.io/nord
https://github.com/arcticicestudio/nord

NetBSD Desktop Part 6 – vi Editor – tmux – Unicode ${TERM}.
https://www.unitedbsd.com/d/12-netbsd-desktop-pt-6-vi1-editor-tmux-and-unicode-term

Customized Resolution for OpenBSD in VirtualBox.
https://www.tumfatig.net/20190131/customized-resolution-for-openbsd-in-virtualbox/

The mblaze is Maildir focused command line mail client.
https://github.com/chneukirchen/mblaze

Sony Pictures releases OpenColorIO under BSD license.
http://opencolorio.org/

Tricks QNX Uses to Outperform Other Microkernels.
https://news.ycombinator.com/item?id=9872640

LinuxQuestions.org 2018 Members Choice Awards – Winners from 2018 Year.
https://www.linuxquestions.org/questions/2018-linuxquestions-org-members-choice-awards-128/?daysprune=-1

LinuxQuestions.org 2017 Members Choice Awards – Winners from 2017 Year.
https://www.linuxquestions.org/questions/2017-linuxquestions-org-members-choice-awards-126/?daysprune=-1

FreeBSD Implements ASLR (Address Space Layout Randomization).
https://svnweb.freebsd.org/base?view=revision&revision=343964

HardenedBSD has ASLR while FreeBSD just got (only) ASR.
https://twitter.com/lattera/status/1094717146402377728

Handy AT&T UNIX Quick Guide from 1982.
https://twitter.com/mattblaze/status/1092222055754489856

Setup QEMU with HAX Acceleration on NetBSD.
http://polprog.net/blog/netbsd-hax/

OpenBSD imported OpenRsync (with pledge/unveil support) into its base system.
https://twitter.com/openbsd/status/1094750961107697664
https://undeadly.org/cgi?action=article;sid=20190211081518
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/rsync/
https://github.com/kristapsdz/openrsync/blob/master/README.md

FreeBSD on ARM64 on Scalable Cloud Platform.
https://community.scaleway.com/t/freebsd-on-arm64/6678

The gotop activity monitor inspired by gtop and vtop written in Go.
https://github.com/cjbassi/gotop

Thoughts on SPARC Support in Illumos.
https://ptribble.blogspot.com/2019/02/thoughts-on-sparc-support-in-illumos.html

OpenNebula 5.7.80 Beta Contextualization Packages for FreeBSD Guest.
“With this beta version, we are excited to announce initial support for the FreeBSD guests!”
https://opennebula.org/beta-contextualization-packages/

OmniOS Community Edition r151028o/r151026ao/r151022cm Available.
https://omniosce.org/article/028o-026a0-022cm

First Impressions of Project Trident 18.12 from DistroWatch.
https://distrowatch.com/weekly.php?issue=20190211#trident

First Draft of FreeBSD Mastery: Jails by Michael W. Lucas is complete.
https://mwl.io/archives/4048

IBM Looks at Adding Support for LLVM/Clang to AIX.
https://www.phoronix.com/scan.php?page=news_item&px=IBM-Looking-At-AIX-LLVM-Clang
https://lists.llvm.org/pipermail/llvm-dev/2019-February/130175.html

Minio – Minimalist Object Storage Technology.
http://storagegaga.com/minio-the-minimalist-object-storage-technology/

Deploying Kubernetes on SmartOS.
https://youtu.be/rA0pcmqpRx4

The sysctlview GTK tool to explore FreeBSD sysctl-mib-tree is now committed to FreeBSD Ports.
https://freshports.org/deskutils/sysctlview/

KDE Plasma in FreeBSD Ports is updated to 5.15.
https://svnweb.freebsd.org/ports?view=revision&revision=492811
https://www.kde.org/announcements/plasma-5.15.0.php

Arch Linux Easy ZFS (ALEZ) Installer – ZFS Boot Environments on Linux.
https://github.com/danboid/ALEZ

Middleton BIOS for ThinkPad X61/T61/R61/X300.
https://www.thinkwiki.org/wiki/Middleton%27s_BIOS

Long Slow Death of Commercial Unix.
“Apple MacOS and iOS are both derived from FreeBSD – and that installed base isn’t going anywhere.”
https://www.networkworld.com/article/3339381/data-center/the-long-slow-death-of-unix.html

Proposal for new RPKI validator – OpenBSD rpki-client(1).
https://medium.com/@jobsnijders/a-proposal-for-a-new-rpki-validator-openbsd-rpki-client-1-15b74e7a3f65

The dm-pkg is simple script to use dmenu on FreeBSD to install package.
https://github.com/nicholasbernstein/dm-pkg/blob/master/dm-pkg
https://youtu.be/NBhFNLyu3TU

Red Hat Satellite chooses PostgreSQL instead MongoDB.
https://www.redhat.com/en/blog/red-hat-satellite-standardize-postgresql-backend

PostgreSQL 11.2/10.7/9.6.12/9.5.16/9.4.21 Released.
https://www.postgresql.org/about/news/1920/

FreeBSD User Tries Out NetBSD 8.0.
https://youtu.be/OxB70pg5Tsg

BSD Now 285 – BSD Strategy.
https://www.bsdnow.tv/285

USE Method – FreeBSD Performance Checklist.
http://www.brendangregg.com/USEmethod/use-freebsd.html

In Other BSDs for 2019/02/09
https://www.dragonflydigest.com/2019/02/09/22487.html

Lazy Reading for 2019/02/10.
https://www.dragonflydigest.com/2019/02/10/22508.html

Hardware

Work on ARM – Issue 81.
https://www.worksonarm.com/blog/woa-issue-81/

Blackbird POWER9 Micro ATX Motherboard from Raptor.
https://www.raptorcs.com/content/BK1B01/intro.html

AMD Ryzen 5 2500X and Ryzen 3 2300X Review.
https://www.anandtech.com/show/13945/the-amd-ryzen-5-2500x-and-ryzen-3-2300x-cpu-review/

FOSDEM 2019 – Pinebook Pro – PinePhone Dev Kits.
https://forum.pine64.org/showthread.php?tid=7093&pid=44316#pid44316

PINE64 Community.
https://twitter.com/thepine64/status/1021864868893405185
https://forum.pine64.org/showthread.php?tid=7158

Why More Organizations Will Move Toward Offline Tape Based Storage Strategy in 2019.
https://www.comparethecloud.net/articles/why-more-organisations-will-move-toward-an-offline-tape-based-storage-strategy-in-2019/

New Hardware from PINE64.
https://blog.hackster.io/new-hardware-from-pine64-a7c95e26684d

Life

Salary Negotiation – Make More Money – Be More Valued.
https://www.kalzumeus.com/2012/01/23/salary-negotiation/

People Who Struggle to Get Out of Bed Are More Intelligent.
People who went to bed after 11 P.M. and got up after 8 A.M. earned more money and enjoyed a happier lifestyle.
https://www.housebeautiful.com/lifestyle/news/a7911/people-struggle-to-get-out-of-bed-smarter/

Why Childhood Indoctrination Messes Up Kids.
https://youtu.be/WHunC3Z-ccE

I Cut the ‘Big Five’ Tech Giants From My Life. It Was Hell.
https://gizmodo.com/i-cut-the-big-five-tech-giants-from-my-life-it-was-hel-1831304194

Other

PKI for Busy People.
https://rehn.me/posts/pki-for-busy-people.html

EOF

Valuable News – 2019/02/08

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

Hack DigitalOcean to Run OpenBSD with Native IPv6.
https://mitchriedstra.com/2018/11/openbsd-and-ipv6-on-digital-ocean.html

Haiku OS Ports More Networking Drivers From FreeBSD.
https://www.phoronix.com/scan.php?page=news_item&px=Haiku-More-FreeBSD-Network

Integration of LLVM Sanitizers with NetBSD Base System.
https://blog.netbsd.org/tnf/entry/integration_of_the_llvm_sanitziers

Final Report on Clang/LLD State on NetBSD.
https://blog.netbsd.org/tnf/entry/final_report_on_clang_lld

Dotfile Madness.
https://0x46.net/thoughts/2019/02/01/dotfile-madness/

Netflix Continues Experiencing Great Performance in Using FreeBSD for CDN.
https://www.phoronix.com/scan.php?page=news_item&px=Netflix-FreeBSD-2019

Netflix and FreeBSD – Using Open Source to Deliver Streaming Video – FOSDEM 2019.
https://fosdem.org/2019/schedule/event/netflix_freebsd/attachments/slides/3103/export/events/attachments/netflix_freebsd/slides/3103/FOSDEM_2019_Netflix_and_FreeBSD.pdf

FreeNAS 11.2 Reviewed in DistroWatch Feature Story.
https://distrowatch.com/weekly.php?issue=20190204#freenas

FreeBSD in Audio Studio.
https://fosdem.org/2019/schedule/event/freebsd_in_audio_studio/

Work from HardenedBSD has made it back into FreeBSD.
https://twitter.com/ed_maste/status/1092604515075932166
https://reviews.freebsd.org/D18319

NomadBSD 1.2 Mini Review.
https://geekhack.org/index.php?topic=99246.0

OPNsense 19.1.1 Released.
https://opnsense.org/opnsense-19-1-1-released/

How to Install GNOME on FreeBSD.
https://www.techrepublic.com/article/how-to-install-gnome-on-freebsd/

HardenedBSD 1100056.13 Available.
https://hardenedbsd.org/article/op/2019-02-06/stable-release-hardenedbsd-stable-11-stable-v110005613

HardenedBSD 1200058.3 Available.
https://hardenedbsd.org/article/op/2019-02-06/stable-release-hardenedbsd-stable-12-stable-v12000583

The tailflix is replacement for tail -F that asks you if you are still watching.
https://github.com/walaura/tailflix

BSD Now 284 – FOSDEM 2019.
https://fireside.fm/s/FYhhasNR+YZcPrD44

How BSD/FreeBSD different from Linux?
https://www.geekboots.com/story/how-bsdfreebsd-different-from-linux

Restore FreeBSD from ZFS Snapshot.
https://hashbang0.com/2019/02/07/restore-freebsd-from-a-zfs-snapshot/

Setup mfsBSD for receiving ZFS snapshots on systems with low memory.
https://hashbang0.com/2019/02/07/setting-up-mfsbsd-for-receiving-zfs-snapshots-on-systems-with-low-memory/

LibreOffice 6.2 Released.
https://wiki.documentfoundation.org/ReleaseNotes/6.2
New Tabbed UI and Groupedbar Compact UI Available.

Preliminary Support for cloud-init is now available in vm-bhyve.
https://twitter.com/serveraptor/status/1093813549347102720
https://github.com/churchers/vm-bhyve/pull/291

In Other BSDs for 2019/02/02.
https://www.dragonflydigest.com/2019/02/02/22464.html

Hardware

What is Wrong with Raspberry Pi.
https://ownyourbits.com/2019/02/02/whats-wrong-with-the-raspberry-pi/

So Long, Itanium.
https://www.talospace.com/2019/02/so-long-itanium.html

PA-RISC was possible AmigaOS target.
http://www.amigareport.com/ar303/feature3.html

Seagate HAMR Hard Drives and 24 TB HDDs on Track in 2020.
https://www.anandtech.com/show/13935/seagate-hdd-plans-2019

AMD Radeon VII Review – Unexpected Shot at the High End.
https://www.anandtech.com/show/13923/the-amd-radeon-vii-review/

Life

Holocaust Paradox: Long Lives for Those Who Survived.
https://www.bloomberg.com/opinion/articles/2019-01-28/holocaust-health-paradox-survivors-lived-longer

Let Children Get Bored Again.
https://www.nytimes.com/2019/02/02/opinion/sunday/children-bored.html

Other

Finding Lena the Patron Saint of JPEGs.
https://www.wired.com/story/finding-lena-the-patron-saint-of-jpegs/

Firefox 66 to block automatically playing audible video and audio.
https://hacks.mozilla.org/2019/02/firefox-66-to-block-automatically-playing-audible-video-and-audio/

EOF

Valuable News – 2019/01/25

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

FreeBSD fixed pfsync change that break CARP.
https://svnweb.freebsd.org/base?view=revision&revision=343130

Restoration of Early UNIX Artifacts.
https://www.usenix.org/legacy/events/usenix09/tech/full_papers/toomey/toomey.pdf

Amiga 500 Papercraft Pattern.
http://rockybergen.com/whatsnew/2019/1/15/amiga-500-papercraft-design
https://www.docdroid.net/file/download/PE7D4vg/amiga-500-ver1.pdf

Ansible BSD Working Group.
https://github.com/ansible/community/wiki/BSD

Ansible Solaris Working Group.
https://github.com/ansible/community/wiki/Solaris

In Other BSDs for 2019/01/19.
https://www.dragonflydigest.com/2019/01/19/22394.html

Debian systemd maintainer will not maintain systemd anymore.
“What’s going on is just too stupid/crazy.”
https://lists.freedesktop.org/archives/systemd-devel/2019-January/041971.html
https://www.reddit.com/r/linux/comments/agna5n/debian_systemd_maintainer_steps_down_over/

AMIGA gets LZ4 for 68k CPUs.
https://github.com/arnaud-carre/lz4-68k

[POLISH] ZFS – Rewolucja w Systemach Plikow (Mariusz Zaborski).
https://oshogbo.vexillium.org/pdf/programista_zfs_2015.pdf

LiteCLI is user friendly command line client for SQLite database.
https://www.pgcli.com/launching-litecli.html

OpenBSD can now join any open WiFi network.
https://undeadly.org/cgi?action=article;sid=20190120142708

OpenBSD deletes vmm(4) on i386.
https://undeadly.org/cgi?action=article;sid=20190120142529

NomadBSD 1.2-RC1 Released.
nomadbsd.org/index.html#rel1.2-rc1

Open source Spotify UNIX client available on FreeBSD as audio/spotifyd port.
https://svnweb.freebsd.org/ports?view=revision&revision=490765

OpenBSD added support for 2TB of memory on amd64.
https://undeadly.org/cgi?action=article;sid=20190121081245

HardenedBSD 1200058.2 Available.
https://hardenedbsd.org/article/op/2019-01-20/stable-release-hardenedbsd-stable-12-stable-v12000582

SoloBSD 19.01-STABLE based on HardenedBSD 1200058.2 Available.
https://www.solobsd.org/index.php/2019/01/23/solobsd-19-01-stable/

OmniOS Community Edition r151028l/r151026al/r151022cj Available.
https://omniosce.org/article/028l-026al-022cj

Wayland Support on BSDs Continuing to Improve.
https://www.phoronix.com/scan.php?page=news_item&px=Wayland-BSD-Improving-2019

Lumina from Project Trident will replace Fluxbox with their own WM after its finished.
https://twitter.com/q5sys/status/1087422097499062274

For the Love of Pipes.
https://blog.jessfraz.com/post/for-the-love-of-pipes/

FreeBSD adds trim(8) command for devices with wear leveling algorithms.
https://svnweb.freebsd.org/base?view=revision&revision=343118

ClarityOS is Safe/Secure/Modern/Reliable HardenedBSD fork.
Goal is to make BSD as open and customizable as possible, while keeping it easy, simple and accessible to as many people as possible!
https://clarityos.net/

MidnightBSD Developer Journal.
https://www.justjournal.com/users/mbsd/entry/33772

Out-of-the-Box 10GE Network Benchmarks on Linux Distributions and FreeBSD 12.
https://www.phoronix.com/scan.php?page=article&item=10gbe-linux-freebsd12&num=3

FreeBSD in top(1) will not now show swap line if there are no swap devices.
https://reviews.freebsd.org/D18928

Wine 4.0 Released.
https://www.winehq.org/news/2019012201

AMD Open Source Driver for Vulkan.
https://github.com/GPUOpen-Drivers/AMDVLK

Kerberized NFS4 in Mixed Environment.
FreeBSD 12.0-RELEASE as KDC/Kerberos/NFS4 Server with Windows/Ubuntu as Clients.
https://amoradi.org/public/kerberized_nfsv4.txt

XigmaNAS 11.2.0.4.6400 Released.
https://sourceforge.net/projects/xigmanas/files/XigmaNAS-11.2.0.4/11.2.0.4.6400/

FreeBSD utility nsysctl to show MIB tree in XML.
https://twitter.com/alfsiciliano/status/1087561685693427712

HOWTO – VNET Jails on FreeBSD 12 with ZFS.
https://www.reddit.com/r/freebsd/comments/ahdbbq/howto_jails_freebsd_12_vnet_zfs/

Building FreeBSD based home router.
https://kamila.is/learning/building-my-home-router/

Project Trident 18.12 Overview.
https://www.youtube.com/watch?v=4YizY1YblzU

What’s Wrong with tar?
https://www.cyphar.com/blog/post/20190121-ociv2-images-i-tar

BSD Now 282 – Open the Rsync.
https://bsdnow.fireside.fm/282

ClonOS 19.01-RELEASE Available – First Public Release.
https://clonos.tekroutine.com/download.html

Hardware

Rock Pi 4 Review – Is this Raspberry Pi challenger you’ve been looking for?
https://www.techrepublic.com/article/rock-pi-4-review-is-this-the-raspberry-pi-challenger-youve-been-looking-for/

Freedom and Privacy in the Datacenter.
https://media.ccc.de/v/froscon2018-2170-freedom_and_privacy_in_the_datacenter

Introducing Ultra EPYC AMD Powered Sun Ultra 24 Workstation.
https://www.servethehome.com/introducing-the-ultra-epyc-amd-powered-sun-ultra-24-workstation/

Thin-ITX AMD AM4 Motherboard.
https://www.anandtech.com/show/13885/the-true-shortest-am4-motherboard-thinitx-comes-to-amd

Backblaze Hard Drive Stats for 2018.
https://www.backblaze.com/blog/hard-drive-stats-for-2018/

Double Height DDR4 – 32GB Modules Reviewed.
https://www.anandtech.com/show/13694/double-height-ddr4-gskill-zadak-2x32gb-ddr4-3200

Life

Men’s and Women’s Brains.
https://www.youtube.com/watch?v=AQ9L9YBJkk8

Philip Zimbardo’s Response to Recent Criticisms of the Stanford Prison Experiment.
https://www.prisonexp.org/response/

50 Years Ago Sugar Industry Quietly Paid Scientists to Point Blame at Fat.
https://www.npr.org/sections/thetwo-way/2016/09/13/493739074/50-years-ago-sugar-industry-quietly-paid-scientists-to-point-blame-at-fat

Students Learn From People They Love.
https://www.nytimes.com/2019/01/17/opinion/learning-emotion-education.html

The Process of Mastering a Skill.
https://azeria-labs.com/the-process-of-mastering-a-skill/

Real Hardware for the FreeBSD BeaST Storage System.
https://mezzantrop.wordpress.com/2019/01/18/the-real-hardware-for-the-beast-storage-system/

Remote Code Execution in Linux apt/apt-get Commands.
https://justi.cz/security/2019/01/22/apt-rce.html

The Alarming Decline of Quality Youth Playtime.
https://houseoflawandorder.com/the-alarming-decline-of-quality-youth-playtime/

Other

Quake 1.5 Refreshed FPS Classic with New Maps/Monsters/Mayhem.
https://www.rockpapershotgun.com/2019/01/18/quake-1-5-is-a-massive-mod-overhaul-for-the-fps-classic/amp/

EOF