Variables are an important part of shell scripting, just as they are for every programming language. Simply put, a variable defines a location in system memory that holds a value for later use. This value can be a text string, a number, a filename, or the output of a command. The nice thing about variables is that you can assign a value to one once, and then re-use that value as many times as you like by simply referencing the name of the variable. There are several types of variables, and in this post we’ll look at environmental variables.
Category Archives: Linux
Building Cursor for LibreOffice: A Week-Long Journey
I wanted that same “AI in the doc” feel that I have with my coding IDE: chat in a sidebar, multi-turn conversations, and the AI actually doing things, reading and changing the document, and web searches as necessary to answer questions. I wanted this for Writer but I figured Calc and the others could happen eventually. Exposing the full Writer API to an agent is not an easy problem, especially since it can create very complicated documents, including embedded spreadsheets.
Rust Coreutils 0.7 Released With Many Performance Optimizations
Rust Coreutils 0.7 released on Sunday as a performance-focused update to this popular alternative to GNU Coreutils that is still striving for 100% compatibility against the GNU Test Suite…
9to5Linux Weekly Roundup: March 8th, 2026
The 282nd installment of the 9to5Linux Weekly Roundup is here for the week ending March 8th, 2026, keeping you updated on the most important developments in the Linux world.
Kernel prepatch 7.0-rc3
Linus has released 7.0-rc3 for testing.
“So it’s still pretty early in the release cycle, and it just feels a
“
bit busier than I’d like. But nothing particularly stands out or looks
bad.
Linux 7.0-rc3 Released: “Some Of The Biggest In Recent History”
Linux 7.0-rc3 is out as the latest weekly test candidate in leading up to the stable Linux 7.0 release in mid-April…
Tiny CM0IQ Board Runs Raspberry Pi CM0 Module with HDMI and CSI
The CM0IQ is a compact carrier board designed for the Raspberry Pi CM0 compute module and measures 42 × 36 mm, placing it among the smallest boards built around the platform. The design exposes several interfaces typically associated with larger Raspberry Pi boards while maintaining a minimal footprint. The board is based on the Raspberry […]
Participation Required a Microsoft License — Until Citizens Pushed Back
Ironically, when the EU asked for feedback on new tech rules, it locked the process to dear old Microsoft. A fast, focused campaign forced officials…
The post Participation Required a Microsoft License — Until Citizens Pushed Back appeared first on FOSS Force.
CachyOS Handheld Edition Switches To Wayland, CachyOS Installer Drops Bcachefs
The March 2026 ISO refresh of the Arch Linux powered CachyOS distribution is now available for new installations and upgrading from existing CachyOS installs…
FFmpeg 8.1 Preparing For Release With Vulkan Improvements, JPEG-XS & More
FFmpeg developers are preparing to soon release FFmpeg 8.1 with some great new features and other improvements…
Experimental Intel Nova Lake P Device Bits Merged For Mesa 26.1
Merged this week for Mesa 26.1 are the initial Nova Lake P “NVL-P” device bits for Intel’s ANV Vulkan and Iris Gallium3D drivers. But this support isn’t yet exposed by default and not yet ready for end-users with more driver changes still to be published…
Notable Intel & AMD CPU Changes Merged For Linux 7.0-rc3
This week’s batch of “x86/urgent” patches that were merged overnight for Linux 7.0 contain some fixes and other adjustments worth highlighting for both AMD and Intel…
LLM-Driven Large Code Rewrites With Relicensing Are The Latest AI Concern
The newest open-source concern around AI that is seeing a lot of interest this weekend is when large language models / AI code generators may rewrite large parts of a codebase and then the “developers” claiming an alternative license incompatible with the original source license. This became a real concern this week with a popular Python project experiencing an AI-driven code rewrite and now published under an alternative license that its original author does not agree with and incompatible with the original code…
digiKam 9.0 Leading Open-Source Digital Photo Manager Software Released
The KDE/Qt-aligned digiKam software for managing RAW digital photos is out today with the big digiKam 9.0 release…
Linux 7.0 Fixes Battery Reporting For The Apple Magic Trackpad 2
Merged back in 2018 for Linux 5.0 was support for the Apple Magic Trackpad 2. Merged this week for the in-development Linux 7.0 kernel is fixing battery reporting for those using the Magic Trackpad 2 under Linux…
Beginners Guide for Eval Command on Linux
The eval command is used to execute specified arguments as a single command in the current command-line processing and return its result.
Linux 7.0 Adds A New Minor Performance Optimization Shown With AMD Zen 2 CPUs
The Linux event poll “epoll” code for efficient I/O multiplexing and monitoring of file descriptors for seeing when I/O is possible has a new optimization merged today for Linux 7.0…
Budgie Desktop 10.10.2 Released with Better Wayland Labwc Bridge
Budgie 10.10.2 desktop environment improves the Labwc Wayland bridge, enhances Icon Tasklist application matching, and refines menu behavior.
GNOME 50 Release Candidate Arrives with HDR Screen Sharing Support
The GNOME Project released today the RC (Release Candidate) version of the upcoming GNOME 50 desktop environment series, scheduled for release later this month on March 18th, 2026.
Huston: Revisiting time
Geoff Huston looks at the network
time protocol, and efforts to secure it, in detail.
NTP operates in the clear, and it is often the case that the
servers used by a client are not local. This provides an
opportunity for an adversary to disrupt an NTP session, by
masquerading as a NTP server, or altering NTP payloads in an effort
to disrupt a client’s time-of-day clock. Many application-level
protocols are time sensitive, including TLS, HTTPS, DNSSEC and
NFS. Most Cloud applications rely on a coordinated time to
determine the most recent version of a data object. Disrupting time
can cause significant chaos in distributed network environments.While it can be relatively straightforward to secure a TCP-based
protocol by adding an initial TLS handshake and operating a TLS
shim between TCP and the application traffic, it’s not so
straightforward to use TLS in place of a UDP-based protocol for
NTP. TLS can add significant jitter to the packet exchange. Where
the privacy of the UDP payload is essential, then DTLS might
conceivably be considered, but in the case of NTP the privacy of
the timestamps is not essential, but the veracity and authenticity
of the server is important.NTS, a secured version of NTP, is designed to address this
requirement relating to the veracity and authenticity of packets
passed from a NTS server to an NTS client. The protocol adds a NTS
Key Establishment protocol (NTS-KE) in additional to a conventional
NTPv4 UDP packet exchange (RFC 8915).