Tag Archives: linux

Valuable News – 2019/05/20

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

BSD Handbook.
https://www.bsdhandbook.com/openbsd/

Unlimited Drive Storage on Google Docs by splitting binary files into base64 files.
https://github.com/stewartmcgown/uds

BSDs Get Promptly Mitigated for MDS Side Channel Vulnerabilities in Intel CPUs.
https://www.phoronix.com/scan.php?page=news_item&px=BSD-Mitigations-MDS

Running FreeBSD on Pinebook – Review.
https://blog.madadipouya.com/2018/12/19/running-freebsd-on-pinebook-a-review/

FreeBSD Updates KDE Frameworks to 5.58.0.
https://svnweb.freebsd.org/ports?view=revision&revision=501745

In Other BSDs for 2019/05/11.
https://www.dragonflydigest.com/2019/05/11/22888.html

In Other BSDs for 2019/05/18.
https://www.dragonflydigest.com/2019/05/18/22911.html

Make Linux Fast Again.
https://make-linux-fast-again.com/

BSD Now 297 – Dragonfly in the Wild.
https://www.bsdnow.tv/297

BSD Now 298 – BSD on the Road.
https://www.bsdnow.tv/298

Confusion with Used/Free Disk Space in ZFS.
https://oshogbo.vexillium.org/blog/65/

OpenPOWER BSD – Leading Edge Development of FreeBSD on OpenPOWER.
https://github.com/POWER9BSD/

Keep Crashing Daemons Running on FreeBSD.
https://www.babaei.net/blog/keep-crashing-daemons-running-on-freebsd/

FOSS Project Spotlight – Bareos – Cross Network Open Source Backup Solution.
https://www.linuxjournal.com/content/foss-project-spotlight-bareos-cross-network-open-source-backup-solution

GPU Passthrough Reported Working with Bhyve on FreeBSD.
https://passthroughpo.st/gpu-passthrough-reported-working-on-bhyve/

FreeBSD 13-CURRENT on Pinebook.
http://joancatala.net/node/1399

The 9front (Plan 9 fork) got DTrace in 2018/11 as dtracy command.
https://twitter.com/AmazingDim/status/1129790004153085952
http://man.cat-v.org/9front/1/dtracy
http://9front.org/

Recent Intel CPU Bug FreeBSD-SA-19:07.mds Security Advisory.
https://www.freebsd.org/security/advisories/FreeBSD-SA-19:07.mds.asc

NetBSD for ODROID-C2.
https://magazine.odroid.com/article/netbsd-for-the-the-odroid-c2/

OpenIndiana Hipster 2019.04 Available – Release Notes.
https://wiki.openindiana.org/oi/2019.04+Release+notes

Connecting Amiga 4000 to World in 2019.
https://chargen.one/steve/connecting-an-amiga-to-the-world-in-2019

Sending Big ZFS Snapshots over SSH.
https://cahuk.net/2019/05/19/sending-big-zfs-snapshots-over-ssh/

FreeBSD Implements PTRACE_O_TRACESYSGOOD which Makes Linux strace(1) Work.
https://svnweb.freebsd.org/base?view=revision&revision=347971

Hardware

Following on from Meltdown and Spectre – TU Graz researchers discover new security flaws in Intel CPUs.
https://www.tugraz.at/en/tu-graz/services/news-stories/tu-graz-news/singleview/article/nach-meltdown-und-spectre-tu-graz-forscher-entdecken-neue-sicherheitsluecken0/

Gigabyte GA-IMB4100TN Mini ITX Motherboard.
https://www.gigabyte.com/Motherboard/GA-IMB4100TN-rev-10

SanDisk First 1 TB microSD Card Now Available.
https://www.anandtech.com/show/14346/the-sandisk-extreme-1-tb-microsd-card-now-available

Operating System Compatibility List for Raptor POWER9 Based Hardware.
https://wiki.raptorcs.com/wiki/Operating_System_Compatibility_List

Spec’ing Out Blackbird POWER9.
http://www.mroach.com/2019/05/14/blackbird-power9/

How to Hack Expensive Camera and Not Get Killed by Your Wife.
https://alexhude.github.io/2019/01/24/hacking-leica-m240.html

Life

Why Play a Music CD? – No Ads – No Privacy Terrors – No Algorithms.
https://www.nytimes.com/2019/05/15/technology/personaltech/music-streaming-cd.html

Comments about Iceland Sentenced Bankers to Prison for Their Part in 2008 Collapse.
https://news.ycombinator.com/item?id=10915710

Other

Can we all please stop using Medium now?
https://www.webdistortion.com/2019/05/16/can-we-all-please-stop-using-medium-now/

Mozilla Firefox – What we do when things go wrong.
https://blog.mozilla.org/blog/2019/05/09/what-we-do-when-things-go-wrong/

Banned from PayPal after 12 years of business.
https://blog.niteo.co/paypal-ban-after-12-years/

EOF
Advertisements

Valuable Newsβ€Š-β€Š2019/04/29

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

Its now possible to use FreeBSD ASR in HardenedBSD 13-CURRENT.
https://github.com/HardenedBSD/hardenedBSD/commit/553b58b88ecd166c040c87d22ca1554361b0fad2

DragonFly BSD 5.4.2 Released.
https://www.dragonflybsd.org/release54/

Categorizing OpenBSD Bugs.
https://www.collicutt.co.uk/notebook/openbsd_bugs.html

The End of Scientific Linux.
https://lwn.net/Articles/786422/

OnionBSD aims at preserving your privacy/security/anonymity using OpenBSD as base.
https://gitlab.com/onionbsd/onionbsd
https://gitlab.com/onionbsd/onionbsd/wikis/home

Installing Bolt CMS on FreeBSD 12.
https://www.vultr.com/docs/installing-bolt-cms-on-freebsd-12
https://github.com/bolt/bolt
https://bolt.cm/

Reimplementation of Audio Subsystem on NetBSD.
https://mail-index.netbsd.org/source-changes/2019/04/21/msg105272.html

Intel Cascade Lake Windows/Linux/FreeBSD Benchmarks.
https://www.phoronix.com/scan.php?page=article&item=cascadelake-windows-linux

Stunnel and Squid on FreeBSD 11.
https://www.vcloudnine.de/stunnel-and-squid-on-freebsd-11/

FreeBSD adds GRE-in-UDP encapsulation support as defined in RFC8086.
https://svnweb.freebsd.org/base?view=revision&revision=346630

The Art of Command Line.
Master the command line all in one page.
https://github.com/jlevy/the-art-of-command-line

OS108 pairs NetBSD with MATE desktop environment to provide nice desktop.
OS108 name – “1 and 0 being binary bits when represented 8 bits forms a byte also the distance of Earth from the Sun is about 108 times the diameter of the Sun. hence the name.”
https://os108.org/
https://github.com/OS108
https://forums.os108.org/

OpenBSD 6.5 Released.
https://undeadly.org/cgi?action=article;sid=20190424132429
https://www.openbsd.org/65.html
https://www.openbsd.org/plus65.html

QEMU 4.0.0 Released.
https://www.qemu.org/2019/04/24/qemu-4-0-0/

Seagate Shows Dual Actuator Speed Gains in Real World Setup on FreeBSD.
https://blog.seagate.com/craftsman-ship/seagate-shows-dual-actuator-speed-gains-in-real-world-setup/

FreeBSD ZFS/FreeBSD ZoL/Ubuntu ZoL Benchmarks.
https://www.phoronix.com/scan.php?page=article&item=freebsd-zol-april

FreeBSD Ports Got 500,000th Commit.
https://svnweb.freebsd.org/changeset/ports/500000

Netdata 1.14 Released.
https://www.reddit.com/r/freebsd/comments/bhdm0x/netdata_the_opensource_realtime_performance_and/
https://github.com/netdata/netdata/releases/tag/v1.14.0

Dream Come True – My Very Own AMIGA A3000.
https://amigalove.com/viewtopic.php?f=9&t=1026

GDB Dashboard – Modular Visual Interface for GDB in Python.
https://github.com/cyrus-and/gdb-dashboard

OpenBSD Jumpstart Updated to 6.5.
http://www.openbsdjumpstart.org/

BSD Now 295 – Fun with funlinkat().
https://www.bsdnow.tv/295

NomadBSD Handbook.
https://nomadbsd.org/handbook/handbook.html

Setup Replicated PostgreSQL on Tribblix.
https://ptribble.blogspot.com/2019/04/setting-up-replicated-postgresql-on.html

HA PostgreSQL on Tribblix with stolon.
https://ptribble.blogspot.com/2019/04/ha-postgresql-on-tribblix-with-stolon.html

Setup etcd Cluster on Tribblix.
https://ptribble.blogspot.com/2019/04/setting-up-etcd-cluster-on-tribblix.html

In Other BSDs for 2019/04/27.
https://www.dragonflydigest.com/2019/04/27/22827.html

Speedup ls(1) command by setting proper LS_COLORS environment variable.
https://news.sherlock.stanford.edu/posts/when-setting-an-environment-variable-gives-you-a-40-x-speedup

Docker Hub Hacked – 190k Accounts (5% of Users) with Usernames and Passwords Hashes.
https://news.ycombinator.com/item?id=19763413
https://success.docker.com/article/docker-hub-user-notification

FreeBSD adds nvme to arm64 GENERIC along with if_ena.
These changes allow stable/12 to boot on Amazon EC2 A1 family (arm64) instances.
https://lists.freebsd.org/pipermail/svn-src-all/2019-April/179705.html

Pot is Container Framework Based on FreeBSD Jails.
https://github.com/pizzamig/pot
https://fosdem.org/2018/schedule/event/pot_container_framework/attachments/slides/2128/export/events/attachments/pot_container_framework/slides/2128/pot_slides.pdf

Call for Testing: FreeBSD Package Base.
https://lists.freebsd.org/pipermail/freebsd-current/2019-April/073202.html
https://trueos.github.io/pkgbase-docs/

Call for Testing: FreeBSD with ZoL (ZFS on Linux).
https://lists.freebsd.org/pipermail/freebsd-stable/2019-April/090915.html

Official OPNsense Security Platform for Azure.
https://azuremarketplace.microsoft.com/en-us/marketplace/apps/decisosalesbv.opnsense

Hardware

Compulab Airtop3.
Fanless passively cooled server with up to 95W Intel Core i9-9900K CPU and 170W Nvidia Quadro RTX 4000.
https://www.fanlesstech.com/2019/04/compulabs-turbocharged-airtop3.html

Life

Satanic Temple is Now Officially an IRS Approved Tax Exempt Church in USA.
https://friendlyatheist.patheos.com/2019/04/25/the-satanic-temple-is-now-officially-an-irs-approved-tax-exempt-church/

People Who Claim to Work 75 Hour Weeks Usually Only Work About 50 Hours.
https://nymag.com/intelligencer/2019/04/people-who-claim-to-work-75-hour-weeks-are-lying.html

Steve Jobs Never Wanted Us to Use Our iPhones Like This.
https://www.nytimes.com/2019/01/25/opinion/sunday/steve-jobs-never-wanted-us-to-use-our-iphones-like-this.html

Other

It Took 7 Years to Recreate Super Mario Bros on Commodore 64.
https://kotaku.com/it-took-7-years-but-now-you-can-play-super-mario-bros-1834172015

Google is Killing our Mail.
https://www.tablix.org/~avian/blog/archives/2019/04/google_is_eating_our_mail/

Google Index Coverage.
https://www.tablix.org/~avian/blog/archives/2019/02/google_index_coverage/

Contributing to Open Source Project – How to Get Started.
https://medium.com/mindsdb/contributing-to-an-open-source-project-how-to-get-started-6ba812301738

Future of Firefox for Android.
https://www.ghacks.net/2019/04/26/the-future-of-firefox-for-android/

EOF

Valuable News – 2019/04/22

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

GhostBSD 19.04 Overview.
https://twitter.com/ribalinux/status/1117856218251517956
https://youtu.be/jFfVp_zfk1c

Prometheus Exporter for FreeBSD CTL Daemon (iSCSI Target).
https://github.com/Gandi/ctld_exporter
https://twitter.com/_bapt_/status/1118001231384010753

My Summer at Bell Labs (Part 1).
My Summer at Bell Labs (part 1)

Oracle Solaris 11.4 SRU8 Available.
https://blogs.oracle.com/solaris/announcing-oracle-solaris-114-sru8

FreeBSD adds initial version of DTrace support for ext2fs driver.
https://svnweb.freebsd.org/base?view=revision&revision=346267

OpenSSH 8.0 Released.
https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-April/037747.html

BSD Now 294 – SSH Tarpit.
https://www.bsdnow.tv/294

Shawn Webb (@lattera) minimizes differences between HardenedBSD (ASLR) and FreeBSD (ASR) implementations.
https://twitter.com/lattera/status/1119018409575026688

Crossmeta ZFS – Another ZFS Port on Linux.
https://www.crossmeta.io/another-zfs-port-on-linux/

Minio now can behave as HDFS Gateway.
# minio gateway hdfs hdfs://namenode:8200
https://github.com/minio/minio/blob/master/docs/gateway/hdfs.md

Unleashed 1.3 Released – Fork of Illumos for the 4th Time.
http://lists.31bits.net/archives/devel/2019-April/000052.html

The docbook2mdoc 1.0.0 Released.
https://undeadly.org/cgi?action=article;sid=20190419101505

Call for Testing – FreeBSD with ZFS on Linux Images Ready.
https://lists.freebsd.org/pipermail/freebsd-stable/2019-April/090915.html
https://github.com/zfsonfreebsd/ZoF
https://pkg.trueos.org/iso/freebsd12-zol/
https://pkg.trueos.org/iso/freebsd13-zol/

In Other BSDs for 2019/04/20.
https://www.dragonflydigest.com/2019/04/20/22797.html

FreeBSD adds support in psm(4) for 4 and 5 finger touches in synaptics driver.
https://svnweb.freebsd.org/base?view=revision&revision=346455

LibreSSL 2.9.1 Released.
https://marc.info/?l=openbsd-announce&m=155590112606279&w=2

NomadBSD 1.2 Released.
http://nomadbsd.org/

Hardware

NSA-B-GONE – Sketchy Hardware Security Device for Lenovo ThinkPad X220.
https://hackaday.io/project/164343-nsa-b-gone
https://github.com/zakqwy/NSA-B-GONE

AMD Ryzen Embedded R1000 Family Launched.
https://www.servethehome.com/amd-ryzen-embedded-r1000-family-launched/

TSMC Reveals 6nm Process Technology: 7nm with Higher Transistor Density.
https://www.anandtech.com/show/14228/tsmc-reveals-6-nm-process-technology-7-nm-with-higher-transistor-density

Samsung Completes Development of 5nm EUV Process Technology.
https://www.anandtech.com/show/14231/samsung-completes-development-of-5-nm-euv-process-technology

Avalue EMX-KBLU2P Mini ITX Motherboard with Intel Core i7/i5/i3 and Passive Cooling.
https://www.avalue.com.tw/news/Avalue-introduces-EMX-KBLU2P%2c-the-thin-Mini-ITX-Embedded-Industrial-motherboard_2984

Whiskey Lake ZBOX is Official.
https://www.fanlesstech.com/2019/04/whiskey-lake-zbox.html

Life

Paranoid Person Guide to Online Privacy.
https://www.fastcompany.com/90316917/the-paranoid-persons-guide-to-online-privacy

Facebook says it ‘unintentionally uploaded’ 1.5 million users email contacts without permission.
https://www.cnbc.com/2019/04/18/facebook-reportedly-uploaded-people-email-contacts-without-consent.html

Unmasked: What 10 million passwords reveal about people who choose them.
https://wpengine.com/unmasked/

Evidence that Jesus ever existed is weaker than you might think.
https://www.rawstory.com/2019/04/evidence-jesus-ever-existed-weaker-might-think/

Other

Former Mozilla Exec – Google Sabotaged Firefox for Years.
https://www.zdnet.com/article/former-mozilla-exec-google-has-sabotaged-firefox-for-years/

Vendors must add physical on/off switch to devices that can spy on us.
https://larrysanger.org/2019/04/vendors-must-start-adding-physical-on-off-switches-to-devices-that-can-spy-on-us/

These 17 Firefox tips make it easy to switch from Chrome.
https://www.fastcompany.com/90333407/these-17-firefox-tips-make-the-case-for-ditching-chrome

EOF

Valuable News – 2019/04/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.

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

Linux Desktop is in Trouble.
https://www.zdnet.com/article/the-linux-desktop-is-in-trouble/

The hey is tiny program that sends load to web application.
https://github.com/rakyll/hey

Handling Arguments in Bash Scripts.
https://dev.to/rpalo/handling-arguments-in-bash-scripts-3o5m

NetBSD – From Zero to NVMM.
https://blog.netbsd.org/tnf/entry/from_zero_to_nvmm

Introducing funlinkat() (on FreeBSD).
https://oshogbo.vexillium.org/blog/63/

Customizing OpenBSD xenodm (and xdm).
https://www.tumfatig.net/20190208/customizing-openbsd-xenodm/

Stack Overflow Developer Survey Results 2019.
https://insights.stackoverflow.com/survey/2019

OS.png

FreeBSD switches default version of Python to 3.6.
https://svnweb.freebsd.org/ports?view=revision&revision=498529

DΓ¦mon Desktop – The High-Integrity Desktop.
https://forums.freebsd.org/threads/the-daemon-desktop.66322/

Portable ksh(1) Shell from OpenBSD 6.5.
https://github.com/ibara/oksh/releases/tag/oksh-6.5

ZFS without ECC is safer then most filesystems with ECC.
https://twitter.com/allanjude/status/1116112323549257728

The illuminate (formerly SolView) is Java utility to display information about an Illumos/Solaris.
http://petertribble.co.uk/Solaris/illuminate.html

Installing Snort on OpenBSD 6.4.
Installing Snort on OpenBSD 6.4

HOWTO: HA Router/Firewall Using OpenBSD/CARP/pfsync/ifstated.
https://www.reddit.com/r/openbsd/comments/b33goi/howto_high_availability_routerfirewall_using/

AWS OpenBSD Image Builder (AMI) and cloud-init Replacement.
https://github.com/ajacoutot/aws-openbsd

Install Mate Desktop on OpenBSD.
https://twitter.com/wesley974/status/1116061247248773120

OPNsense 19.1.6 Released.
https://forum.opnsense.org/index.php?topic=12398.0

BSD Now 293 – Booking Jails.
https://www.bsdnow.tv/293

Lessons Learned Scaling PostgreSQL Database to 1.2bn Records/Month.
We have a lot better hardware than any of the cloud service providers could offer, point in time recovery (thanks to Barman) and no vendor lock-in, and (on paper) it is about 30% cheaper than hosting using Google Cloud or AWS.
https://medium.com/@gajus/lessons-learned-scaling-postgresql-database-to-1-2bn-records-month-edc5449b3067

In Other BSDs for 2019/04/13.
https://www.dragonflydigest.com/2019/04/13/22750.html

FreeBSD adds NUMA support to powerpc architecture.
Yields ~20% improvement in build times of LLVM on dual socket POWER9.
https://svnweb.freebsd.org/base?view=revision&revision=346174

GhostBSD 19.04 Available.
http://ghostbsd.org/19.04_release_announcement

GhostBSD 19.04 Switches To LightDM – Uses FreeBSD 13.0-CURRENT.
https://www.phoronix.com/scan.php?page=news_item&px=GhostBSD-19.04-Released

The pkgsrc-2019Q1 Released.
https://mail-index.netbsd.org/pkgsrc-users/2019/04/10/msg028308.html

Call for Testing – OpenSSH 8.0p1 is Almost Ready for Release.
https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html

HardenedBSD Internals by Shawn Webb (@lattera).
https://twitter.com/krnlpnc_/status/1117504683881443329

Resize ZFS Pool on FreeBSD GELI Partition.
https://stderr.at/blog/freebsd/2015/09/20/freebsd-geli-resize/

Hardware

Supermicro M11SDV-4C-LN4F Review mITX AMD EPYC 3151 Platform.
https://www.servethehome.com/supermicro-m11sdv-4c-ln4f-review-mitx-amd-epyc-3151-platform/

ASRock Launches DeskMini A300 Barebones Mini-STX PC Supporting AMD RYZEN CPUs.
https://www.pcper.com/category/tags/mini-stx

AMD Launches 2nd Gen Ryzen Pro & Athlon Pro APUs.
https://www.anandtech.com/show/14185/amd-launches-2nd-gen-ryzen-pro-athlon-pro-apus

Intel Xeon Follows AMD EPYC Lead Offering Discounted 1P Only SKUs.
https://www.servethehome.com/intel-xeon-follows-amd-epyc-lead-offering-discounted-1p-only-skus/

Life

Case dropped against British facing jail in Dubai for calling ex-husbands wife ‘horse’ in 2016 on Facebook.
https://www.itv.com/news/2019-04-07/british-mother-faces-two-years-in-dubai-jail-and-50-000-fine-for-old-facebook-posts/

Moral Peril of Meritocracy.
https://www.nytimes.com/2019/04/06/opinion/sunday/moral-revolution-david-brooks.html

Urgent Quest for Slower and Better News.
https://www.newyorker.com/culture/annals-of-inquiry/the-urgent-quest-for-slower-better-news

Great Developers are Raised not Hired.
https://sizovs.net/2019/04/10/the-best-developers-are-raised-not-hired/

Life Satisfaction Boosted by Sense of Oneness – Regardless of Religion – Study Finds.
https://www.newsweek.com/life-satisfaction-boosted-sense-oneness-regardless-religion-study-finds-1391618

There are now as many Americans who claim no religion as there are evangelicals and catholics.
https://edition.cnn.com/2019/04/13/us/no-religion-largest-group-first-time-usa-trnd/

Other

Protections Against Fingerprinting and Cryptocurrency Mining in Firefox.
https://blog.mozilla.org/futurereleases/2019/04/09/protections-against-fingerprinting-and-cryptocurrency-mining-available-in-firefox-nightly-and-beta/

It is your moral obligation to use Firefox.
https://0x46.net/thoughts/2019/04/09/use-firefox/

Amazon Workers are Listening to What You Tell Alexa.
https://www.bloomberg.com/news/articles/2019-04-10/is-anyone-listening-to-you-on-alexa-a-global-team-reviews-audio

EOF

Valuable News – 2019/04/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.

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 on HiFive Unleashed.
https://youtu.be/1rMNrfDu-uA

OmniOS Community Edition r151028v/r151026av/r151022ct Available.
https://omniosce.org/article/028v-026av-022ct

Valgrind Ported to NetBSD/amd64.
https://mail-index.netbsd.org/tech-toolchain/2019/04/01/msg003429.html

FreeBSD Foundation – FOSDEM 2019 Conference Recap.
https://www.freebsdfoundation.org/blog/fosdem-2019-conference-recap/

Hikari – Window Manager for FreeBSD and OpenBSD.
https://chaos.social/@raichoo/101858280176156092
https://hub.darcs.net/raichoo/hikari

The ezjail FreeBSD Jails framework ported to HardenedBSD.
Focus is on automating TOR Jail deployment using gibson.
https://github.com/emeraldonion/ezjail-hbsd

Configuring Default Resolution for FreeBSD 11 with UEFI.
http://www.codenicer.com/content/configuring-default-resolution-freebsd-11-uefi

FreeBSD HEAD became possible to build on EC2 ARM64 AMIs.
https://lists.freebsd.org/pipermail/freebsd-cloud/2019-April/000215.html

Slides from 2019 BHYVECON are now available at bhyvecon.org page.
http://bhyvecon.org

How to Get Started with FreeBSD.
https://www.digitalocean.com/community/tutorials/how-to-get-started-with-freebsd

BSD Now 292 – AsiaBSDcon 2019 Recap.
https://www.bsdnow.tv/292

GhostBSD – Solid Linux Like Open Source Alternative.
https://www.linuxinsider.com/story/GhostBSD-A-Solid-Linux-Like-Open-Source-Alternative-85859.html

FUDO Security implements automatic online expansion of GELI providers on FreeBSD.
https://twitter.com/FreeBSDHelp/status/1113793688910458883
https://svnweb.freebsd.org/base?view=revision&revision=345862

About ZFS recordsize Parameter.
https://jrs-s.net/2019/04/03/on-zfs-recordsize/

Silent Fanless FreeBSD Server – Redundant Backup.
https://vermaden.wordpress.com/2019/04/03/silent-fanless-freebsd-server-redundant-backup/

PostgreSQL Performance on Raspberry Pi.
https://blog.rustprooflabs.com/2019/04/postgrseql-pgbench-raspberry-pi

OPNsense 19.1.5 Released.
https://forum.opnsense.org/index.php?topic=12320.0

Blocking Ads Using unbound(8) on OpenBSD.
https://www.tumfatig.net/20190405/blocking-ads-using-unbound8-on-openbsd/

Building FFmpeg on Solaris 11.4 Using solaris-userland.
https://notallmicrosoft.blogspot.com/2019/04/building-ffmpeg-on-solaris-114-using.html

NetBSD Desktop Part 7 – Simple Performance Tweaks.
https://www.unitedbsd.com/d/43-netbsd-desktop-pt-7-simple-performance-tweaks

Installing Ghost on FreeBSD 11.1.
https://idontwatch.tv/installing-ghost-on-freebsd-11-1/

In Other BSDs for 2019/04/06.
https://www.dragonflydigest.com/2019/04/06/22736.html

Major Linux Problems on the Desktop – 2019 Edition.
https://itvision.altervista.org/why.linux.is.not.ready.for.the.desktop.current.html

TMUX Plugin tmux-battery adds support for OpenBSD apm.
https://github.com/tmux-plugins/tmux-battery/pull/77

Scripting FreeBSD Updates.
https://www.anserinae.net/scripting-freebsd-updates.html

Vagrant adds proper VirtualBox share folders support for FreeBSD guests.
https://github.com/hashicorp/vagrant/pull/10717

entr(1) – run arbitrary commands when files change.
http://eradman.com/entrproject/

Hardware

Story of the 3Dfx Voodoo 1.
http://fabiensanglard.net/3dfx_sst1/index.html

TSMC and OIP Ecosystem Partners Deliver Industry First Complete Design Infrastructure for 5nm Process Technology.
https://www.tsmc.com/tsmcdotcom/PRListingNewsAction.do?action=detail&newsid=THPGWQTHTH&language=E

Why AMD EPYC Rome 2P Will Have 128-160 PCIe Gen4 Lanes and a Bonus.
https://www.servethehome.com/why-amd-epyc-rome-2p-will-have-128-160-pcie-gen4-lanes-and-a-bonus/

How SolidRun aims to bridge ARM developer gap with 16-core workstation board.
https://www.techrepublic.com/article/how-solidrun-aims-to-bridge-the-arm-developer-gap-with-a-16-core-workstation-board/

Intel Xeon Platinum 9200 Formerly Cascade Lake-AP Launched.
Including 56-core 112-thread dual-die 400W Beast.
https://www.servethehome.com/intel-xeon-platinum-9200-formerly-cascade-lake-ap-launched/

Hard Drive Temperature – Does It Matter?
https://www.backblaze.com/blog/hard-drive-temperature-does-it-matter/

Why 2019 Foreshadows Per Socket Licenseageddon.
https://www.servethehome.com/2019-foreshadows-per-socket-licenseageddon/

Life

Ctrl-Alt-Delete: Planned Obsolescence of Old Coders.
https://onezero.medium.com/ctrl-alt-delete-the-planned-obsolescence-of-old-coders-9c5f440ee68

Privacy is Just the First Step – the Goal is Data Ownership.
https://thetoolsweneed.com/privacy-is-just-the-first-step-the-goal-is-data-ownership/

Picture shows anti ageing drugs really DO work.
https://www.dailymail.co.uk/health/article-6880899/Fascinating-picture-shows-anti-ageing-drugs-really-work.html

Second Order Thinking – What Smart People Use to Outperform.
https://fs.blog/2016/04/second-order-thinking/

Other

Introducing Warp – 1.1.1.1 – Fixing Mobile Internet Performance and Security – Better VPN.
https://blog.cloudflare.com/1111-warp-better-vpn/

I tried creating web browser and Google blocked me.
https://blog.samuelmaddock.com/posts/google-widevine-blocked-my-browser/

Facebook secretly lobbied in favor of Article 13 of undesired EU copyright directive.
http://hacknews.eu/2019/04/02/facebook-secretly-lobbied-in-favour-of-article-13-of-undesired-eu-copyright-directive/

Serenity: New (x86) UNIX-like Operating System.
https://www.osnews.com/story/129716/serenity-a-new-unix-like-operating-system/
https://github.com/awesomekling/serenity
https://youtu.be/hE52D-zbX3g

Microsoft announces it will shut down ebook program and confiscate its customers libraries.
https://boingboing.net/2019/04/02/burning-libraries.html

Real Open Source – User Mindset.
https://medium.com/@MartinCracauer/real-open-source-the-user-mindset-6c1c7bf4695b

EOF

Valuable News – 2019/03/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.

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

OmniOS Community Edition r151028t/r151026at/r151022cr Available.
https://omniosce.org/article/028t-026at-022cr

Ghost in the Shell – Part 4.
https://vermaden.wordpress.com/2019/03/15/ghost-in-the-shell-part-4/

MATE 1.22 Released.
https://mate-desktop.org/blog/2019-03-18-mate-1-22-released/

LPAR2RRD 6.02 Available.
https://www.lpar2rrd.com/note600.htm?4.6.23

FreeBSD Desktop – Part 18 – Global Dashboard.
https://vermaden.wordpress.com/2019/03/20/freebsd-desktop-part-18-global-dashboard/

PuTTY 0.71 Released.
https://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html

One click install and deploy FreeBSD.
https://www.digitalocean.com/products/linux-distribution/freebsd/

LLVM 8.0.0 Released.
https://lists.llvm.org/pipermail/llvm-announce/2019-March/000082.html

FreeBSD adds NVMe support to arm64 GENERIC kernel.
https://svnweb.freebsd.org/base?view=revision&revision=345408

BSD Now 290 – Timestamped Notes.
https://www.bsdnow.tv/290

OpenRsync is a FREE easy to use implementation of the rsync program.
https://www.openrsync.org/

In Other BSDs for 2019/03/23.
https://www.dragonflydigest.com/2019/03/23/22671.html

Oracle kills @OracleSPARC and @OracleSolaris Twitter accounts. Follow @SolarisUpdate instead.
https://twitter.com/OracleSolaris/status/1109099516291100673
https://twitter.com/OracleSPARC/status/1109103107647201280
https://twitter.com/SolarisUpdate

Fix Broken Dependency on FreeBSD.
https://vermaden.wordpress.com/2019/03/21/fix-broken-dependency-on-freebsd/

ZFS Encryption is still under development (as of March 2019).
On FreeBSD just use GELI encrypted setup for now.
https://utcc.utoronto.ca/~cks/space/blog/linux/ZFSEncryptionNotReady

OpenBSD adds audio on both speakers on Huawei Matebook X.
https://marc.info/?l=openbsd-cvs&m=155343827506953&w=2

Using Syncthing between OS X Laptop and FreeBSD Server.
https://dan.langille.org/2019/03/24/using-syncthing-between-my-osx-laptop-and-my-freebsd-server/

Developing WireGuard for NetBSD.
https://github.com/ozaki-r/netbsd-src/tree/wireguard

Curseradio – Command Line Radio Player.
https://github.com/chronitis/curseradio

Pretty PuTTY – Make PuTTY pretty and apply modern PuTTY settings.
https://github.com/jacktrocinski/pretty-putty

CBSD Got cloud-init Support.
https://www.bsdstore.ru/en/12.0.x/wf_bhyve_cloudinit_ssi.html

The zrepl 0.1.0-rc4 Available.
https://github.com/zrepl/zrepl/releases/tag/v0.1.0-rc4

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

OpenBSD RAID 10 Howto.
https://pluspora.com/posts/143322f02e8901370384005056264835

Hardware

AMD is Free from SPOILER security exploit.
https://www.amd.com/en/support/kb/faq/pa-240

Exclusive Look at Original Apple Red iPhone M68 Prototype.
https://www.theverge.com/2019/3/19/18263844/apple-iphone-prototype-m68-original-development-board-red

Creating Illumos Packages for Tribblix.
https://ptribble.blogspot.com/2019/03/creating-illumos-packages-for-tribblix.html

BSD Router Project 1.92 Available.
Router distribution based on FreeBSD with FFRouting and Bird.
https://sourceforge.net/projects/bsdrp/files/BSD_Router_Project/1.92/

Nginx Quick Reference.
These notes describes how to improve Nginx performance security and other important things.
https://github.com/trimstray/nginx-quick-reference

Life

Even tech workers can’t afford to buy homes in San Francisco.
https://www.recode.net/2019/3/19/18256378/tech-worker-afford-buy-homes-san-francisco-facebook-google-uber-lyft-housing-crisis-programmers

Why is it always Polish women and foreign men, not the other way around?
http://streetwise.pl/2018/07/13/why-is-it-always-polish-women-and-foreign-men-not-the-other-way-around/

Other

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

Firefox Aims to Reduce Your Online Annoyances.
https://blog.mozilla.org/blog/2019/03/19/todays-firefox-aims-to-reduce-your-online-annoyances/

Google Announces Stadia – Game Streaming Service.
https://www.anandtech.com/show/14105/google-announces-stadia-a-game-streaming-service

Google hit with €1.5 billion fine from EU over advertising.
https://www.bbc.com/news/business-47639228

Oracle Swings the Layoff Axe and Clear Cuts Teams of Engineers.
https://spectrum.ieee.org/view-from-the-valley/at-work/tech-careers/oracle-swings-the-layoff-axe-and-clearcuts-teams-of-engineers

Oracle Quietly Held Round of Layoffs This Week.
https://www.businessinsider.com/oracle-layoffs-2019-3?IR=T

JavaScript Free Frontend.
https://dev.to/winduptoy/a-javascript-free-frontend-2d3e

EOF

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.

Reckless Symlink

This method is considered dangerous or quick and dirty way of fixing such problems – it can also introduce other problems by itself – but still – in many cases it temporary solves the problem.

… and its exactly that – a quick fix till the ffmpeg package finishes its rebuild – it takes longer then pkg upgrade command but when I need Chromium now its NOW, not later when ffmpeg package will be rebuilt. This problem is caused by lack of guts of the FreeBSD project to provide lame package. OpenBSD guys does not have problem with that but FreeBSD guys do, so to have MP3 support in ffmpeg you need to first manually build lame package and then select it as option in ffmpeg and again built is as package … and do that everytime you run pkg upgrade command … which is PITA to say the least.

This is why I use pkg-recompile.sh script for that purpose – to not do that β€˜by hand’ everytime I update packages (which is about two times a week). This is the β€˜workflow’ if I can call it like that:

# pkg upgrade
# pkg-recompile.sh build

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

Using /etc/libmap.conf File

Instead making ad symlink – which will work globally – you can create the proper libmap.conf file with configuration only for /usr/local/share/chromium/chrome binary.

Here is the fix only for Chromium browser.

# cat /etc/libmap.conf

[/usr/local/share/chromium/chrome]
libx264.so.155 libx264.so

… and equivalent solution that works globally as symlink would be as follows.

# cat /etc/libmap.conf

libx264.so.155 libx264.so

Its also easier to migrate or mass populate such changes instead of copying a symlink.

Fixing Broken Dependency in pkg(8) Database

I already wrote about it in the Less Known pkg(8) Features article but its worth mentioning here for the completeness of options.

There was time when one missing dependency about vulnerable www/libxul19 package started to torture me for some time.

I was even desperate to compile everything with portmaster already.

I started with portmaster --check-depends command, but said no ‘n‘ when asked for fix as it will downgrade a lot of packages needlessly.

# portmaster --check-depends
(...)
Checking dependencies: evince
graphics/evince has a missing dependency: www/libxul19
(...)

>>> Missing package dependencies were detected.
>>> Found 1 issue(s) in total with your package database.

The following packages will be installed:

        Downgrading perl: 5.14.2_3 -> 5.14.2_2
        Downgrading glib: 2.34.3 -> 2.28.8_5
        Downgrading gio-fam-backend: 2.34.3 -> 2.28.8_1
        Downgrading libffi: 3.0.12 -> 3.0.11
        Downgrading gobject-introspection: 1.34.2 -> 0.10.8_3
        Downgrading atk: 2.6.0 -> 2.0.1
        Downgrading gdk-pixbuf2: 2.26.5 -> 2.23.5_3
        Downgrading pango: 1.30.1 -> 1.28.4_1
        Downgrading gtk-update-icon-cache: 2.24.17 -> 2.24.6_1
        Downgrading dbus: 1.6.8 -> 1.4.14_4
        Downgrading gtk: 2.24.17 -> 2.24.6_2
        Downgrading dbus-glib: 0.100.1 -> 0.94
        Installing libxul: 1.9.2.28_1

The installation will require 66 MB more space

38 MB to be downloaded

>>> Try to fix the missing dependencies [y/N]: n
>>> Summary of actions performed:

www/libxul19 dependency failed to be fixed

>>> There are still missing dependencies.
>>> You are advised to try fixing them manually.

>>> Also make sure to check 'pkg updating' for known issues.

Lets see what pkg(8) shows we have installed.

# pkg info | grep libxul
libxul-10.0.12                 Mozilla runtime package that can be used to bootstrap XUL+XPCOM apps

# pkg info -qoa | grep libxul
www/libxul

So the problem is that we have installed www/libxul instead of www/libxul19 and that is why portmaster (and not only) complains about it.

Before pkg(8) was introduced it was easy just to grep -r the entire /var/db/pkg directory with its ‘file database’ but now its quite more complicated as the package database is kept in SQLite database. Using pkg shell command You can connect to that database. Lets check what we can find there.

# pkg shell
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .databases
seq  name             file
---  ---------------  ----------------------------------------------------------
0    main             /var/db/pkg/local.sqlite
sqlite> .tables
categories       licenses         pkg_directories  scripts
deps             mtree            pkg_groups       shlibs
directories      options          pkg_licenses     users
files            packages         pkg_shlibs
groups           pkg_categories   pkg_users
sqlite> .header on
sqlite> .mode column
sqlite> pragma table_info(deps);
cid         name        type        notnull     dflt_value  pk
----------  ----------  ----------  ----------  ----------  ----------
0           origin      TEXT        1                       1
1           name        TEXT        1                       0
2           version     TEXT        1                       0
3           package_id  INTEGER     0                       1
sqlite> .quit

So now we know that ‘deps‘ table is probably what we are looking for ;).

As pkg shell is quite limited for SQLite ‘browsing’ I will use the sqlite3 command itself. By limited I mean that You can not type pkg shell "select * from deps;" query, You first need to start pkg shell and then You can type your query.

# sqlite3 -column /var/db/pkg/local.sqlite "select * from deps;" | grep libxul
www/libxul19   libxul      1.9.2.28_1  104

The second column is name so lets try to use it.

sqlite3 -header -column /var/db/pkg/local.sqlite "select * from deps where name='libxul';"
origin        name        version     package_id
------------  ----------  ----------  ----------
www/libxul19  libxul      1.9.2.28_1  104

So now we have the ‘problematic’ dependency entry nailed, lets modify it a little to the real installed packages state.

# sqlite3 /var/db/pkg/local.sqlite "update deps set origin='www/libxul' where name='libxul';"
# sqlite3 /var/db/pkg/local.sqlite "update deps set version='10.0.12' where name='libxul';"

You can of course use the ‘official’ way by using the pkg shell command.

# pkg shell
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> update deps set origin='www/libxul' where name='libxul';
sqlite> update deps set version='10.0.12' where name='libxul';
sqlite> .header on
sqlite> .mode column
sqlite> select * from deps where name='libxul';
origin      name        version     package_id
----------  ----------  ----------  ----------
www/libxul  libxul      10.0.12     104
sqlite> .quit

Now portmaster is happy and does not complain about any missing dependencies.

# portmaster --check-depends
(...)
Checking dependencies: zenity
Checking dependencies: zip
Checking dependencies: zsh
# 

Viola! Problem solved πŸ˜‰

… but pkg(8) has a tool for that already πŸ™‚

Its called pkg set and two most useful options from man pkg-set are.

  -n oldname:newname, --change-name oldname:newname
       Change the package name of a given dependency from oldname to newname.

(...)

  -o oldorigin:neworigin, --change-origin oldorigin:neworigin
       Change the port origin of a given dependency from oldorigin to neworigin.
       This corresponds to the port directory that the package originated from.
       Typically, this is only needed for upgrading a library or package that
       has MOVED or when the default version of a major port dependency changes.
       (DEPRECATED) Usually this will be explained in /usr/ports/UPDATING.
       Also see pkg-updating(8) and EXAMPLES.

In our case we would use pkg set -o www/libxul19:www/libxul command.

Not sure if it will solve that problem in the same way as I also updated the version in the database.

Use pkg_libchk from bsdadminscripts2 Package

There is also other way to fix/check for such problems – its the pkg_libchk from the bsdadminscripts2 package. Keep in mind that there are TWO conflicting (!) packages with bsdadminscripts in their name.

# pkg search bsdadmin
bsdadminscripts-6.1.1_8        Collection of administration scripts
bsdadminscripts2-0.2.1         BSD Administration Scripts 2

Β 

… and once you install bsdadminscripts2 you will not be able to install bsdadminscripts because they are conflicting. I already had bsdadminscripts2 installed and wanted to add bsdadminscripts to my system.

# pkg install bsdadminscripts
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (1 conflicting)
  - bsdadminscripts-6.1.1_8 conflicts with bsdadminscripts2-0.2.1 on /usr/local/sbin/distviper
Checking integrity... done (0 conflicting)
The following 2 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
        bsdadminscripts2-0.2.1

New packages to be INSTALLED:
        bsdadminscripts: 6.1.1_8

Number of packages to be removed: 1
Number of packages to be installed: 1

Proceed with this action? [y/N]: n

Here is the description of the /usr/ports/ports-mgmt/bsdadminscripts2 port/package.

# cat /usr/ports/ports-mgmt/bsdadminscripts2/pkg-descr
This is a collection of scripts around the use of ports and packages.

It allows you to: 
- check library dependencies without producing false positives (pkg_libchk)
- lets you manage the autoremove flag for leaf packages (pkg_trim)
- remove obsolete or damaged distfiles (distviper)
- manage build flags (buildflags.conf)
- auto-create pkg-plist files taking port options into account (makeplist)

WWW: https://github.com/lonkamikaze/bsda2

There are exactly 4 tools in this package.

% pkg info -l bsdadminscripts2 | grep bin
        /usr/local/sbin/distviper
        /usr/local/sbin/makeplist
        /usr/local/sbin/pkg_libchk
        /usr/local/sbin/pkg_trim

Invoked without any arguments it will check all packages installed in a system.

# pkg_libchk
Jobs done:   35 of 1057
bhyve-firmware-1.0_1
bash-5.0.3
beadm-1.2.9_1

… so in order to make the ckecks only for Chromium you will need to specify chromium package with pkg_libchk chromium command.

The pkg_libchk allows you to fetch missing dependencies based on which package provides what files or create a list of the packages that need to be rebuilt.

Use Provides Database

You can also use ‘provides’ database from pkg(8) command.

% pkg provides lib/libx264.so
Name    : libx264-0.157.2945
Desc    : H.264/MPEG-4 AVC Video Encoding (Library)
Repo    : FreeBSD
Filename: /usr/local/lib/libx264.so.155
          /usr/local/lib/libx264.so

To learn how to setup ‘provides’ database for pkg(8) command check the Less Known pkg(8) Features article please.

UPDATE 1 – Rework Entire Article

The Roman philosopher Seneca once said – “While we teach, we learn.” – it is very true – especially for this article. After I posted it on various places people reminded my that its not the best way to just create symlink and that its not the best way to do it. I stand corrected and added additional sections and methods of fixing a broken dependency on a FreeBSD (or Linux/Illumos) system.

EOF