Monthly Archives: September 2019

List Block Devices on FreeBSD lsblk(8) Style

When I have to work on Linux systems I usually miss many nice FreeBSD tools such as these for example to name the few:

  • sockstat
  • gstat
  • top -b -o res
  • top -m io -o total
  • usbconfig
  • rcorder
  • beadm/bectl
  • idprio/rtprio

… but sometimes – which rarely happens – Linux has some very useful tool that is not available on FreeBSD. An example of such tool is lsblk(8) that does one thing and does it quite well – lists block devices and their contents. It has some problems like listing a disk that is entirely used under ZFS pool on which lsblk(8) displays two partitions instead of information about ZFS just being there – but we all know how much in some circles the CDDL licensed ZFS is unloved in that GPL world.

Example lsblk(8) output from Linux system:

$ lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE   MOUNTPOINT
sr0                           11:0    1  1024M  0 rom
sda                            8:0    0 931.5G  0 disk
|-sda1                         8:1    0   500M  0 part   /boot
`-sda2                         8:2    0   931G  0 part
  |-vg_local-lv_root (dm-0)  253:0    0    50G  0 lvm    /
  |-vg_local-lv_swap (dm-1)  253:1    0  17.7G  0 lvm    [SWAP]
  `-vg_local-lv_home (dm-2)  253:2    0   1.8T  0 lvm    /home
sdc                            8:32   0 232.9G  0 disk
`-sdc1                         8:33   0 232.9G  0 part
  `-md1                        9:1    0 232.9G  0 raid10 /data
sdd                            8:48   0 232.9G  0 disk
`-sdd1                         8:49   0 232.9G  0 part
  `-md1                        9:1    0 232.9G  0 raid10 /data

What FreeBSD offers in this department? The camcontrol(8) and geom(8) commands are available. You can also use gpart(8) command to list partitions. Below you will find output of these commands from my single disk laptop. Please note that because of WordPress limitations I need to change all > < characters to ] [ ones in the commands outputs.

# camcontrol devlist
[Samsung SSD 860 EVO mSATA 1TB RVT41B6Q]  at scbus1 target 0 lun 0 (ada0,pass0)

% geom disk list
Geom name: ada0
Providers:
1. Name: ada0
   Mediasize: 1000204886016 (932G)
   Sectorsize: 512
   Mode: r1w1e2
   descr: Samsung SSD 860 EVO mSATA 1TB
   lunid: 5002538e402b4ddd
   ident: S41PNB0K303632D
   rotationrate: 0
   fwsectors: 63
   fwheads: 1

# gpart show
=>        40  1953525088  ada0  GPT  (932G)
          40      409600     1  efi  (200M)
      409640        1024     2  freebsd-boot  (512K)
      410664         984        - free -  (492K)
      411648  1953112064     3  freebsd-zfs  (931G)
  1953523712        1416        - free -  (708K)

They provide needed information in acceptable manner but only on systems with small amount of disks. What if you would like to display a summary of all system drives contents? This is where lsblk.sh comes handy. While lsblk(8) has many interesting features like --perms/--scsi/--inverse modes I focused to provide only the basic feature – to list the system block devices and their contents. As I have long and pleasing experience with writing shell scripts such as sysutils/beadm or sysutils/automount I though that writing lsblk.sh may be a good idea. I actually ‘open-sourced’ or should I say shared that project/idea in 2016 in this thread lsblk(8) Command for FreeBSD on FreeBSD Forums but lack of time really slowed that ‘side project’ development pace. I finally got back to it to finish it.

The lsblk.sh is generally small and simple shell script which tales less then 400 SLOC.

lsblk

Here is example output of lsblk.sh command from my single disk laptop.

% lsblk.sh
DEVICE         MAJ:MIN  SIZE TYPE                      LABEL MOUNT
ada0             0:5b  932G GPT                           - -
  ada0p1         0:64  200M efi                    efiboot0 [UNMOUNTED]
  ada0p2         0:65  512K freebsd-boot           gptboot0 -
  [FREE]         -:-   492K -                             - -
  ada0p3         0:66  931G freebsd-zfs                zfs0 [ZFS]
  [FREE]         -:-   708K -                             - -


Same output in graphical window.

lolcat

Below you will find an example lsblk.sh output from server with two system SSD drives (da0/da1) and two HDD data drives (da2/da3).

# lsblk.sh
DEVICE         MAJ:MIN SIZE TYPE                      LABEL MOUNT
da0              0:be  224G GPT                           - -
  da0p1          0:15a 200M efi                    efiboot0 [UNMOUNTED]
  da0p2          0:15b 512K freebsd-boot           gptboot0 -
  [FREE]         -:-   492K -                             - -
  da0p3          0:15c 2.0G freebsd-swap              swap0 [UNMOUNTED]
  da0p4          0:15d 221G freebsd-zfs                zfs0 [ZFS]
  [FREE]         -:-   580K -                             - -
da1              0:bf  224G GPT                           - -
  da1p1          0:16a 200M efi                    efiboot1 [UNMOUNTED]
  da1p2          0:16b 512K freebsd-boot           gptboot1 -
  [FREE]         -:-   492K -                             - -
  da1p3          0:16c 2.0G freebsd-swap              swap1 [UNMOUNTED]
  da1p4          0:16d 221G freebsd-zfs                zfs1 [ZFS]
  [FREE]         -:-   580K -                             - -
da2              0:c0   11T GPT                           - -
  da2p1          0:16e  11T freebsd-zfs                   - [ZFS]
  [FREE]         -:-   1.0G -                             - -
da3              0:c1   11T GPT                           - -
  da3p1          0:16f  11T freebsd-zfs                   - [ZFS]
  [FREE]         -:-   1.0G -                             - -

Below you will find other examples from other systems I have tested lsblk.sh on.

lsblk.examples

While lsblk.sh is not the fastest script on Earth (because of all the needed parsing) it does its job quite well. If you would like to install it in your system just type the command below:

# fetch -o /usr/local/bin/lsblk https://raw.githubusercontent.com/vermaden/scripts/master/lsblk.sh
# chmod +x /usr/local/bin/lsblk
# hash -r || rehash
# lsblk

If I got time which other original Linux lsblk(8) subcommand/option/argument is worth adding to the lsblk.sh script? πŸ™‚

Regards.

UPDATE 1 – Added USAGE/HELP Information

Just added some usage information that can be displayed by specifying one of these as argument:

  • h
  • -h
  • --h
  • help
  • -help
  • --help

IMHO writing man page for such simple utility is needless. I think I will create dedicated man page when lsblk.sh tool will grow in size and options to comparable with the Linux lsblk(8) equivalent. Here is how it looks.

# lsblk.sh --help
usage:

  BASIC USAGE INFORMATION
  =======================
  # lsblk.sh [DISK]

example(s):

  LIST ALL BLOCK DEVICES IN SYSTEM
  --------------------------------
  # lsblk.sh
  DEVICE         MAJ:MIN SIZE TYPE                      LABEL MOUNT
  ada0             0:5b  932G GPT                           - -
    ada0p1         0:64  200M efi                    efiboot0 [UNMOUNTED]
    ada0p2         0:65  512K freebsd-boot           gptboot0 -
    [FREE]         -:-   492K -                             - -
    ada0p3         0:66  931G freebsd-zfs                zfs0 [ZFS]

  LIST ONLY da1 BLOCK DEVICE
  --------------------------
  # lsblk.sh da1
  DEVICE         MAJ:MIN SIZE TYPE                      LABEL MOUNT
  da1              0:80  2.0G MBR                           - -
    da1s1          0:80  2.0G freebsd                       - -
      da1s1a       0:81  1.0G freebsd-ufs                root /
      da1s1b       0:82  1.0G freebsd-swap               swap SWAP

hint(s):

  DISPLAY ALL DISKS IN SYSTEM
  ---------------------------
  # sysctl kern.disks
  kern.disks: ada0 da0 da1

Regards.

UPDATE 2 – Code Reorganization and 75% Rewrite

… at least this is what git(1) tries to tell me after commit message.

% git commit (...)
[master 12fd4aa] Rework entire flow. Split code into functions. Add many useful comments. In other words its 2.0 version.
 1 file changed, 494 insertions(+), 505 deletions(-)
 rewrite lsblk.sh (75%)

After several productive hours new incarnation of lsblk.sh is now available.

It has similar SLOC but its now smaller by a quarter … while doing more and with better accuracy. Great example why “less is more.”

% wc scripts/lsblk.sh.OLD
     491    2201   19721 scripts/lsblk.sh.OLD

% wc scripts/lsblk.sh
     494    1871   15472 scripts/lsblk.sh

Things that does not have simple solution are described below.

One of them is ‘double’ label for FAT filesystems. We have both /dev/gpt/efiboot0 label and FAT label is named EFISYS. We have to choose something here. As not all FAT filesystems have label I have chosen the GPT label.

% glabel status | grep ada0p1
  gpt/efiboot0     N/A  ada0p1
msdosfs/EFISYS     N/A  ada0p1

I was also not able to cover FUSE mounts. When you mount – for example – the /dev/da0 device as NTFS (with ntfs-3g) or exFAT (with mount.exfat) there is no visible difference in mount(8) output.

% mount -t fusefs
/dev/fuse on /mnt/ntfs (fusefs)
/dev/fuse on /mnt/exfat (fusefs)

When I mount such filesystem by my daemon (like sysutils/automount) I keep track of what device have been mounted to which directory in the /var/run/automount.state file. Then when I get the detach event for /dev/da0 device I know what to u(n)mount … but when I only have /dev/fuse device its just not possible.

… or maybe YOU know any way of extracting information from /dev/fuse (or generally from FUSE) what device is mounted where?

Now little presentation after update.

Here are various non ZFS filesystems mounted.

% mount -t nozfs
devfs on /dev (devfs, local, multilabel)
linprocfs on /compat/linux/proc (linprocfs, local)
tmpfs on /compat/linux/dev/shm (tmpfs, local)
/dev/label/ASD on /mnt/tmp (msdosfs, local)
/dev/fuse on /mnt/ntfs (fusefs)
/dev/md0s1f on /mnt/ufs.other (ufs, local)
/dev/gpt/OTHER on /mnt/fat.other (msdosfs, local)
/dev/md0s1a on /mnt/ufs (ufs, local)

… and here is how now lsblk.sh displays them.

% lsblk.sh
DEVICE         MAJ:MIN SIZE TYPE                      LABEL MOUNT
ada0             0:56  932G GPT                           - -
  ada0p1         0:64  200M efi                gpt/efiboot0 -
  ada0p2         0:65  512K freebsd-boot       gpt/gptboot0 -
  [FREE]         -:-   492K -                             - -
  ada0p3         0:66  931G freebsd-zfs                   - [ZFS]
  [FREE]         -:-   708K -                             - -
md0              0:28f 1.0G MBR                           - -
  md0s1          0:294 512M freebsd                       - -
    md0s1a       0:29a 100M freebsd-ufs                root /mnt/ufs
    md0s1b       0:29b  32M freebsd-swap         label/swap SWAP
    md0s1e       0:29c  64M freebsd-ufs                   - -
    md0s1f       0:29d 316M freebsd-ufs                   - /mnt/ufs.other
  md0s2          0:296 256M ntfs                          - -
  md0s3          0:297 256M fat32               msdosfs/ONE -
md1              0:2a4 1.0G msdosfs                   LARGE 
md2              0:298 2.0G GPT                           - -
  md2p1          0:29f 2.0G ms-basic-data         gpt/OTHER /mnt/fat.other

I used some file based memory devices for this. Now by default lsblk.sh also displays memory disks contents.

% mdconfig.sh -l
md0     vnode    1024M  /home/vermaden/FILE     
md2     vnode    2048M  /home/vermaden/FILE.GPT 
md1     vnode    1024M  /home/vermaden/FILER    

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

lsblk.2.0

Regards.

UPDATE 3 – Added geli(8) Support

I thought that adding geli(8) support may be useful. The latest lsblk.sh now avoids code duplication for MOUNT and LABEL detection (moved into single unified function). Also added more comments for code readability and some minor fixes … and its again smaller πŸ™‚

% wc lsblk.sh.1.0
     491    2201   19721 lsblk.sh.1.0

% wc lsblk.sh.2.0
     493    1861   15415 lsblk.sh.2.0

% wc lsblk.sh
     488    1820   15332 lsblk.sh

About 40% (according to git commit was changed this time (191 insertions and 196 deletions).

# git commit (...)
[master ec9985a] Add geli(8) support. Avoid code duplication and move MOUNT/LABEL detection into function. More comments. Minor fixes.
 1 file changed, 191 insertions(+), 196 deletions(-)

Also forgot to mention that now lsblk.sh thanks to smart optimizations (like not doing things twice and aggregating grep(1) | awk(1) pipes into single awk(1) queries) runs 3 times faster then the initial version πŸ™‚

New output with geli(8) support below.

lsblk.2.1.geli.png

Regards.

UPDATE 4 – Added fuse(8) Support

As I wrote in the UPDATE 2 keeping track of what is mounted and where under fuse(8) is very hard as all mounted devices magically become /dev/fuse after mount is done.

After little research I found that this information (what really is mounted where by using fuse(8) interface under FreeBSD) is available after mounting procfs filesystem under /proc. You just need to cat cmdline entry for all PIDs of ntfs-3g. Its not perfect but the information at least is available.

# mount -t procfs proc /proc

# ps ax | grep ntfs-3g
45995  -  Is      0:00.00 ntfs-3g /dev/md1s2 /mnt/ntfs
59607  -  Is      0:00.00 ntfs-3g /dev/md3 /mnt/ntfs.another
83323  -  Is      0:00.00 ntfs-3g /dev/md3 /mnt/ntfs.another

# pgrep ntfs-3g
59607
83323
45995

% pgrep ntfs-3g | while read I; do cat /proc/$I/cmdline; echo; done
ntfs-3g/dev/md3/mnt/ntfs.another
ntfs-3g/dev/md3/mnt/ntfs.another
ntfs-3g/dev/md1s2/mnt/ntfs

This was the code prototype that worked for fuse(8) mountpoints detection.

    if [ -e /proc/0/status ]
    then
      FUSE_MOUNTS=$(
        while read PID
        do
          cat /proc/${PID}/cmdline
          echo
        done << ________EOF
          $( pgrep ntfs-3g )
________EOF
)
      FUSE_MOUNTS=$( echo "${FUSE_MOUNTS}" | sort -u )
      FUSE_MOUNTS=$( echo "${FUSE_MOUNTS}" | sed 's|ntfs-3g||g' )
      FUSE_CHECKS=$( echo "${FUSE_MOUNTS}" | grep /dev/${TARGET}/ )
      if [ "${FUSE_CHECKS}" != "" ]
      then
        MOUNT=$( echo "${FUSE_CHECKS}" | sed "s|/dev/${TARGET}||g" )
      fi
    fi
  fi

… and I have just realized that I found new (better) way of getting that information without mounting /proc filesystem – all you need to do is to display the ntfs-3g processes with their command line arguments, for example like that:

% ps -p $( pgrep ntfs-3g | tr '\n' ',' | sed '$s/.$//' ) -o command | sed 1d
ntfs-3g /dev/md1s2 /mnt/ntfs
ntfs-3g /dev/md3 /mnt/ntfs.another
ntfs-3g /dev/md3 /mnt/ntfs.another

So after I also thought that its only for NTFS (ntfs-3g(8) process) I also added exFAT support by searching for mount.exfat PIDs as well. The fuse(8) mount point detection works now for both NTFS and exFAT filesystems … and code to support it is even shorter.

  # TRY fuse(8) MOUNTS FROM PROCESSES
  if [ "${MOUNT_FOUND}" != "1" ]
  then
    FUSE_PIDS=$( pgrep mount.exfat ntfs-3g | tr '\n' ',' | sed '$s/.$//' )
    FUSE_MOUNTS=$( ps -p "${FUSE_PIDS}" -o command | sed 1d | sort -u )
    MOUNT=$( echo "${FUSE_MOUNTS}" |  grep "/dev/${TARGET} " | awk '{print $3}' )
  fi

I also changed how MAJOR and MINOR numbers are displayed – from HEX to DEC – as it is on Linux. The FreeBSD’s ls(1) from Base System displays these as HEX – for example you will get 0x2af value:

% ls -l /dev/md4
crw-rw----  1 root  operator  0x2af 2019.09.29 05:18 /dev/md4

But do the same with GNU equivalent by using gls(1) from FreeBSD Ports (from sysutils/coreutils package) and it shows MAJOR and MINOR in DEC values. The gls(1) is just ls(1) from the Linux world but as ls(1) name is already ‘taken’ by FreeBSD’s Base System tool the FreeBSD developers/maintainers add ‘g’ letter (for GNU) to distinguish them.

% gls -l /dev/md4
crw-rw---- 1 root 2, 175 2019-09-29 05:18 /dev/md4

… and they are also easier/faster to get with stat(1) tool.

  MAJ=$( stat -f "%Hr" /dev/${DEV} )
  MIN=$( stat -f "%Lr" /dev/${DEV} )

Latest lsblk.sh looks like that now.

lsblk.2.3.fuse.NTFS.exFAT

… that is why I did not (yet) added lsblk.sh to the FreeBSD Ports. Several new versions with important features span across just two days πŸ™‚

Regards.

UPDATE 5 – Another 69% Rewrite

After messing with gpart(8) more I found that using its -p flag which is a game changer. The difference is that with -p flag it displays names along partitions – its no longer needed to find the PREFIX and ‘create’ partition names.

Default gpart(8) output.

# gpart show md0
=>     63  2097089  md0  MBR  (1.0G)
       63  1048576    1  freebsd  (512M)
  1048639   524288    2  ntfs  (256M)
  1572927   524225    3  fat32  (256M)

Output of gpart(8) with -p flag.

# gpart show -p md0
=>     63  2097089    md0  MBR  (1.0G)
       63  1048576  md0s1  freebsd  (512M)
  1048639   524288  md0s2  ntfs  (256M)
  1572927   524225  md0s3  fat32  (256M)

That discovery implicated a quite large rewrite of lsblk.sh. The git commit estimates this as 69% code rewrite.

# git commit (...)
(...)
 1 file changed, 487 insertions(+), 501 deletions(-)
 rewrite lsblk.sh (69%)

The latest lsblk.sh has now these features:

  • Previous bugs fixed.
  • Detects exFAT labels.
  • Is now 20% faster.
  • Has less 10% SLOC.
  • Has less 15% of code.
  • Handles bsdlabel(8) on entire device properly.
  • Handles exFAT on entire device properly.

The difference in code is shown below.

# wc lsblk.sh
     487    1791   13705 lsblk.sh

# wc lsblk.sh.OLD
     544    1931   16170 lsblk.sh.OLD

Latest lsblk.sh looks as usual but I now use ‘-‘ instead of ‘[UNMOUNTED]‘ one.

lsblk.2.5.gpart.exfat

EOF

Valuable News – 2019/09/23

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.

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 Applying Security Updates Using pkg and freebsd-update.
https://www.cyberciti.biz/faq/freebsd-applying-security-updates-using-pkg-freebsd-update/

Richard Stallman (rms) Resigns from FSF/MIT.
https://www.osnews.com/story/130635/richard-stallman-resigns-from-fsf-mit-after-defending-child-rape/

FreeBSD Converts Struct Mount Counters to Per CPU Effort.
Gives 100x improvement from 852393 ops/s to 76682077 ops/s.
https://svnweb.freebsd.org/base?view=revision&revision=352427

PostgreSQL 12 Partitioning is Now Faster.
https://www.2ndquadrant.com/en/blog/postgresql-12-partitioning/

FreeBSD Adds New reload-conf Lualoader Command.
https://svnweb.freebsd.org/base?view=revision&revision=352314

Inkscape 1.0 Beta1 Available for Testing.
https://inkscape.org/news/2019/09/08/inkscape-10-beta1-available-testing/

GhostBSD 19.09 Overview – Simple Elegant Desktop BSD Operating System.
https://www.youtube.com/watch?v=fpOnwHpfmko

Create FreeBSD Current OpenStack Image on OVH Public Cloud.
https://www.fralix.fr/posts/create_freebsd-current_openstack_image_on_ovh_public_cloud/

Install Bolt CMS with Nginx and Let’s Encrypt on FreeBSD 12.
https://www.howtoforge.com/how-to-install-bolt-cms-nginx-ssl-on-freebsd-12/

Installation FreeBSD 12. [UNFORTUNATELY FRENCH]
https://cbiot.fr/dokuwiki/doku.php?id=installfreebsd

BSD Now 316 – git commit FreeBSD.
https://www.bsdnow.tv/316

FreeBSD Foundation – FUSE Driver Update.
https://www.freebsdfoundation.org/blog/fuse-driver-update/

Network Management with OpenBSD Packet Filter.
https://home.nuug.no/~peter/pftutorial/

New XigmaNAS 11.2.0.4 Release.
https://sourceforge.net/projects/xigmanas/files/XigmaNAS-11.2.0.4/11.2.0.4.6862/

New XigmaNAS 12.0.0.4 Release.
https://sourceforge.net/projects/xigmanas/files/XigmaNAS-12.0.0.4/12.0.0.4.6877/

FreeBSD Improves NUMA Awareness Which Reduces Remote RAM Access by 75%.
https://twitter.com/FreeBSDHelp/status/1174896464155140096

FreeBSD Increases Maximum USB Buffer Size from 256KB to 32MB.
Useful for speeding up large data transfers while reducing interrupt rate.
https://svnweb.freebsd.org/base?view=revision&revision=352555

FreeBSD 12.1-BETA1 Available.
https://lists.freebsd.org/pipermail/freebsd-snapshots/2019-September/000598.html

In Other BSDs for 2019/09/21.
https://www.dragonflydigest.com/2019/09/21/23512.html

Serverless – 15% Slower and 8x More Expensive.
http://einaregilsson.com/serverless-15-percent-slower-and-eight-times-more-expensive/

ReactOS 0.4.12 Released.
https://reactos.org/project-news/reactos-0412-released

Hardware

New AMD 280W 64 Core Rome CPU – EPYC 7H12.
https://www.anandtech.com/print/14882/amds-new-280w-64core-rome-cpu-the-epyc-7h12

AMD EPYC 7H12 64 Cores and Even Faster New Supermicro GPU Servers.
https://www.servethehome.com/amd-epyc-7h12-64-cores-and-even-faster-new-supermicro-gpu-servers/

Best SSDs – 2019 Q3.
https://www.anandtech.com/print/9799/best-ssds

Corsair K63 Wireless Mechanical Keyboard Review – PC Gaming Untethered.
https://www.anandtech.com/show/14828/the-corsair-k63-wireless-mechanical-keyboard-review/

Western Digital Reveals 18 TB DC HC550 EAMR Hard Drive.
https://www.anandtech.com/print/14869/western-digital-announces-18-tb-eamr-hard-drive

Aspeed AST2600 BMC Launched.
https://www.servethehome.com/aspeed-ast2600-launched-as-your-next-gen-bmc/

Toshiba BG4 Single Package M.2 2230 30mm NVMe SSD Review.
https://www.servethehome.com/toshiba-bg4-single-package-m-2-2230-30mm-nvme-ssd-review/

Traverse Ten64 – 8 ARM64 Cores Networking Platform with Mainline Linux Support.
https://www.crowdsupply.com/traverse-technologies/ten64/updates/announcing-the-ten64

Life

Effect of Meditation on Brain Structure.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3541490/

Other

Moving Firefox to Faster 4 Week Release Cycle.
https://hacks.mozilla.org/2019/09/moving-firefox-to-a-faster-4-week-release-cycle/

There is One Thing Stopping Developers from Using Open Source Even More.
https://thenewstack.io/theres-one-thing-stopping-developers-from-using-open-source-even-more/

Atom RPG – Isometric Mode and Much More.
https://steamcommunity.com/games/552620/announcements/detail/1602642307647595840

Silicon Valley is Terrified of California Privacy Law (Similar to GDPR from Europe).
https://techcrunch.com/2019/09/19/silicon-valley-terrified-california-privacy-law/

EOF

Valuable News – 2019/09/16

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.

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

Why and How We Use OpenBSD at VidiGuard.
https://austinstartups.com/why-and-how-we-use-openbsd-at-vidiguard-b23353d959bb

Learning Spanning Tree Protocol with FreeBSD Bridges.
https://genneko.github.io/playing-with-bsd/networking/learning-stp/

FreeBSD Adds NetGDB(4) to Remotely Debug Crashed Kernel.
https://twitter.com/ed_maste/status/1171107027474669568
https://reviews.freebsd.org/D21568

Fira Code Font Update.
https://github.com/tonsky/FiraCode/releases/tag/2

WireGuard on FreeBSD Quick Look – Testing VPN in Jail Network.
https://genneko.github.io/playing-with-bsd/networking/freebsd-wireguard-quicklook/

Setup Buildbot in FreeBSD Jails.
https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails

First Impressions – Vultr Bare Metal Server with Preinstalled FreeBSD 12.0.
https://danskoya.com/main/first-impressions-vultr-bare-metal-server-w-pre-installed-freebsd-12-0/

OpenBSD Disables DNS over HTTPS (DoH) in Firefox Package for CURRENT and Future Releases.
https://twitter.com/phessler/status/1171358689342697473
https://undeadly.org/cgi?action=article;sid=20190911113856

OpenBSD Mail Smarthost Runbook.
https://paulgorman.org/technical/openbsd-smarthost-runbook.txt.html

Haiku Monthly Activity Report – 2019/08.
https://www.haiku-os.org/blog/pulkomandy/2019-09-07_haiku_monthly_activity_report_august_2019/

DragonFlyBSD Updates msdosfs Filesystem.
https://www.dragonflydigest.com/2019/09/10/23472.html

OPNsense 19.7.4 Released.
https://forum.opnsense.org/index.php?topic=14178.0

The openresolv 3.9.2 Imported to DragonFlyBSD.
https://www.dragonflydigest.com/2019/09/11/23475.html

BSD Now 315 – Recapping vBSDcon 2019.
https://www.bsdnow.tv/315

GNOME 3.34 Released.
https://www.gnome.org/news/2019/09/gnome-3-34-released/

OmniOS Community Edition r151030s/r151028as/r151022dq Available.
https://omniosce.org/article/030s-028as-022dq

FreeBSD bhyvearm64 Virtualization on ARM8.0-A.
https://papers.freebsd.org/2019/bsdcan/elisei-bhyvearm64_cpu_and_memory_virtualization_on_armv8.0_a/

In Other BSDs for 2019/09/14.
https://www.dragonflydigest.com/2019/09/14/23482.html

Using FreeBSD with Ports (2/2) – Tool Assisted Updating.
https://eerielinux.wordpress.com/2019/09/12/using-freebsd-with-ports-2-2-tool-assisted-updating/

Your Infrastructure Should be Boring.
https://people.freebsd.org/~dch/2016/your-infrastructure-should-be-boring/

FreeBSD Adds Support for Intel Stratix 10 Platform.
https://svnweb.freebsd.org/base?view=revision&revision=352302

Kerberized NFSv4 in Mixed Environment.
https://amoradi.org/2018/12/30/kerberized-nfsv4.html

Unified HOSTS File with Base Extensions.
https://github.com/StevenBlack/hosts

GhostBSD 19.09 Now Available.
https://www.ghostbsd.org/19.09_release_announcement

Hardware

Gigabyte R272-Z32 – 24x NVMe AMD EPYC 7002 Server is Home Run.
https://www.servethehome.com/gigabyte-r272-z32-24x-nvme-amd-epyc-7002-server-is-a-home-run/

Life

It’s Later than You Think.
https://www.linkedin.com/pulse/its-later-than-you-think-j-r-storment/

I Quit Social Media for Year and Nothing Magical Happened.
https://joshcsimmons.com/2019/09/10/i-quit-social-media-for-a-year-and-nothing-magical-happened/

Life is Short.
http://www.paulgraham.com/vb.html

Other

Turn off DoH (DNS over HTTPS) Firefox. Now.
https://ungleich.ch/en-us/cms/blog/2019/09/10/turn-off-doh-firefox/

HP Printers Try to Send Data Back to HP.
https://robertheaton.com/2019/09/15/hp-printers-send-data-on-what-you-print-back-to-hp/

BLUF – Military Standard That Can Make Your Writing More Powerful.
https://www.animalz.co/blog/bottom-line-up-front/

EOF

 

Valuable News – 2019/09/09

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.

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 12.0-RELEASE on Lenovo ThinkPad T480.
https://www.davidschlachter.com/misc/t480-freebsd

FreeBSD Foundation 2019Q2 Status Update.
https://www.freebsdfoundation.org/blog/freebsd-foundation-q2-2019-status-update/

FreeBSD Implements nvme(4) Suspend/Resume for PCI Attachment.
https://svnweb.freebsd.org/base?view=revision&revision=351747

Tired of Stack Overflow.
https://arp242.net/stackoverflow.html

Configure Network Dump in FreeBSD.
https://oshogbo.vexillium.org/blog/68/

Revive Old PC with NomadBSD.
https://youtu.be/mr9sd6ySJC8

Samba Server on OpenBSD for macOS Client.
http://markjamsek.online/posts/2019/May/22/samba-filesharing-server-on-openbsd-for-macos-client/

FreeBSD Bumps Linux Compatibility Layer Version to 3.2.0.
https://reviews.freebsd.org/D20757

FreeBSD Updates KDE Plasma Desktop to 5.16.5 Version.
https://svnweb.freebsd.org/ports?view=revision&revision=510972

OpenBSD Webserver with httpd/relayd and TLS.
https://www.alexander-pluhar.de/openbsd-webserver.html

Using OpenBSD relayd to Add Security Headers.
https://goblackcat.com/posts/using-openbsd-relayd-to-add-security-headers/

OpenBSD Simple Web Stack.
https://ifconfig.se/simple-web-stack.html

OpenBSD Block Traffic by Country IPs.
https://undeadly.org/cgi?action=article;sid=20140527054301

FreeBSD Implements Sorting in bectl(8) Tool.
https://svnweb.freebsd.org/base?view=revision&revision=351813

Windows Games Launcher for FreeBSD.
https://github.com/Alexander88207/Homura

OpenBSD on Tuxedo InfinityBook 14 Laptop.
https://hazardous.org/archive/blog/openbsd/2019/09/02/OpenBSD-on-Infinitybook14

FreeBSD Journal – 2019/07-08 – Containerization.
https://www.freebsdfoundation.org/past-issues/containerization/

FreeBSD Display Information About System Hardware.
https://www.cyberciti.biz/tips/freebsd-display-information-about-the-system.html

BSD Now 314 – Swap that Space.
https://www.bsdnow.tv/314

Into the Void.
https://michaelwashere.net/post/2017-09-18-into-the-void/

FreeBSD Testimonials – Mellanox Technologies.
https://www.freebsdfoundation.org/testimonial/mellanox-technologies/

HardenedBSD – State of Hardened Union.

Click to access 2019%20-%20State%20of%20the%20Hardened%20Union.pdf

New FreeBSD sysctlview 1.5 is Out.
https://gitlab.com/alfix/sysctlview

New FreeBSD sysctl(3) Kernel Interface – sysctlinfo.
https://gitlab.com/alfix/sysctlinfo

In Other BSDs for 2019/09/07.
https://www.dragonflydigest.com/2019/09/07/23419.html

Sunsetting Python 2.
https://www.python.org/doc/sunset-python-2/

Hardware

Anandtech – Best Consumer Hard Drives for 2019Q3.
https://www.anandtech.com/show/12075/best-consumer-hdds

ASRock Most Powerful Barebone.
https://www.fanlesstech.com/2019/09/asrocks-most-powerful-barebone-yet.html

Western Digital Production of 18TB CMR and 20TB SMR Drives in 2020.
https://www.servethehome.com/western-digital-volume-production-of-18tb-and-20tb-drives-in-2020/

ASRock Xeon Mini-ITX Motherboard.
https://www.fanlesstech.com/2019/09/xeon-motherboard-anyone.html
https://www.asrockrack.com/general/productdetail.asp?Model=D2123D4I4

New Fanless Intel NUC with Celeron N3350 6W TDP.
https://www.fanlesstech.com/2019/09/new-intel-branded-fanless-nuc.html

Life

Effects of Short Term Fasting on Cancer Treatment.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6530042/

Other

JustDelete.Me – Directory of Direct Links to Delete Your Account from Web Services.
https://backgroundchecks.org/justdeleteme/

Firefox Quantum 69.0 Released.
https://www.mozilla.org/en-US/firefox/69.0/releasenotes/

Browser Extension that Replaces Occurrences of Serverless with cgi-bin.
https://github.com/ghuntley/serverless-to-cgi-bin

Hundreds of Millions of Facebook Users Phone Numbers Found Online.
https://techcrunch.com/2019/09/04/facebook-phone-numbers-exposed/

Google GDPR Workaround.
https://brave.com/google-gdpr-workaround/

Let’s Encrypt Makes Certs for Almost 30% of Web Domains.
https://www.leebutterman.com/2019/08/05/analyzing-hundreds-of-millions-of-ssl-connections.html

EOF

Valuable News – 2019/09/02

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.

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 Meets Linux at Open Source Summit.
https://youtu.be/jrjBoV5tSGo

FreeBSD 2019 Survey Results.
https://youtu.be/9nc8N6GtAPg&t=549

Status Report on HardenedBSD Infrastructure.
https://groups.google.com/a/hardenedbsd.org/forum/#!topic/users/ASqk28NqJ1k

BSD Now 313 – In Kernel TLS.
https://www.bsdnow.tv/313

Unix at 50 – How OS that Powered Smartphones Started from Failure.
https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/

FreeBSD Foundation – simPRO Testimonial.
https://www.freebsdfoundation.org/testimonial/simpro/

Irssi 1.2.2 Released.
https://irssi.org/2019/08/29/irssi-1.2.2-released/

OPNsense 19.7.3 Released.
https://forum.opnsense.org/index.php?topic=14011.0

Meet FreeBSD Project – Journey of 26 Years and Beyond.
https://hub.pfind.com/meet-freebsd-project/

More on FreeBSD Refcount Overflows.
https://secfault-security.com/blog/FreeBSD-SA-1924.mqueuefs.html

ZFS on Root Support in Ubuntu 19.10.
https://ubuntu.com/blog/enhancing-our-zfs-support-on-ubuntu-19-10-an-introduction

Using FreeBSD with Ports (1/2) – Classic Way with Tools.
https://eerielinux.wordpress.com/2019/08/18/using-freebsd-with-ports-1-2-classic-way-with-tools/

Revive Old PC with GhostBSD.
https://youtu.be/Dx3oKPiHWWQ

OpenBSD – HTTPS Web Server With Let’s Encrypt.
https://penzin.net/openbsd-letsencrypt.html

Running WordPress on OpenBSD 6.5 with OpenBSD HTTPD.
https://www.vultr.com/docs/running-wordpress-on-openbsd-6-5-with-openbsds-httpd

FreeBSD Updates XFCE to 4.14.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240236

NetBSD WiFi on Raspberry Pi 3b+ SoC.
https://mail-index.netbsd.org/port-arm/2019/08/31/msg006102.html

You Should Not Run Your Mail Server Because Mail is Hard.
https://poolp.org/posts/2019-08-30/you-should-not-run-your-mail-server-because-mail-is-hard/

High Availability SQLite.
https://dqlite.io/

In Other BSDs for 2019/08/31.
https://www.dragonflydigest.com/2019/08/31/23405.html

Hardware

AMD ZEN 2 Missives – 2019 – Matthew Dillon.
http://apollo.backplane.com/2019-Zen2Missive.html

Raspberry Pi 4 PCI Express – It Actually Works.
http://labs.domipheus.com/blog/raspberry-pi-4-pci-express-it-actually-works-usb-sata-gpu/

Cluster Server Backplane with Up to 11 SoC ARM Boards.
http://en.t-firefly.com/news/info/index/id/522.html

Geekbench 4 – Dual AMD EPYC 7742 Sets World Record.
Faster then Quad Intel Xeon Platinum 8180M.
https://www.servethehome.com/geekbench-4-2p-amd-epyc-7742-sets-world-record/

Other

How China is Still Paying Price for Squandering Its Chance to Build Home Grown Semiconductor Industry.
https://www.scmp.com/tech/big-tech/article/3024687/how-china-still-paying-price-squandering-its-chance-build-home-grown

Baseline Interpreter – Faster JS Interpreter in Firefox 70.
https://hacks.mozilla.org/2019/08/the-baseline-interpreter-a-faster-js-interpreter-in-firefox-70/

zFRAG – Zen Hard Disk Management Tool.
https://losttraindude.itch.io/zfrag

EOF