Language Selection

English French German Italian Portuguese Spanish

Gnu Planet

Syndicate content
Planet GNU - https://planet.gnu.org/
Updated: 1 day 24 min ago

GNUnet News: GNUnet 0.17.6

Sunday 25th of September 2022 10:00:00 PM
GNUnet 0.17.6

This is a bugfix release for gnunet 0.17.5.

Download links

The GPG key used to sign is: 3D11063C10F98D14BD24D1470B0998EF86F59B6A

Note that due to mirror synchronization, not all links may be functional early after the release. For direct access try http://ftp.gnu.org/gnu/gnunet/

Noteworthy changes in 0.17.6 (since 0.17.5)
  • NAMESTORE :
    • Added transactional API. #7203
    • Removed heap storage storage plugin.
  • FS : Fix `-s` and `-o` options not working together in gnunet-search
  • REST : Added (optional) authentication for all rest endpoints. #5669
  • DOC : Doxygen is now built only if available. Sphinx is built on bootstrap. #7324
  • UTIL : Remove outdated test. #7361
  • BUILD : Remove gnurl as dependency and improve cURL detection. #5084

Parabola GNU/Linux-libre: [From Arch] Removing python2 from the repositories

Sunday 25th of September 2022 08:23:05 PM

Python 2 went end of life January 2020. Since then Arch has been actively cutting down the number of projects depending on python2 in their repositories, and they have finally been able to drop it from our distribution, making it disappear from Parabola too. If you still have python2 installed on your system consider removing it and any python2 package.

If you still require the python2 package you can keep it around, but please be aware that there will be no security updates.

parallel @ Savannah: GNU Parallel 20220922 ('Elizabeth') released

Thursday 22nd of September 2022 07:49:30 PM

GNU Parallel 20220922 ('Elizabeth') has been released. It is available for download at: lbry://@GnuParallel:4

Quote of the month:

  reduced our backend test pipelines from 4 to 1.30 hrs. gnu parallel for the win!!!
     -- Swapnil Sahu @CaffeinatedWryy@twitter

New in this release:

  • --colour-failed only changes output for failing jobs.
  • Password for --sshlogin can be put in $SSHPASS.
  • Examples are moved from `man parallel` to `man parallel_examples`.
  • Bug fixes and man page updates.

News about GNU Parallel:

GNU Parallel - For people who live life in the parallel lane.

If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.

About GNU Parallel

GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.

If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.

GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.

For example you can run this to convert all jpeg files into png and gif files and have a progress bar:

  parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif

Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs:

  find . -name '*.jpg' |
    parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200

You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/

You can install GNU Parallel in just 10 seconds with:

    $ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
       fetch -o - http://pi.dk/3 ) > install.sh
    $ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
    12345678 883c667e 01eed62f 975ad28b 6d50e22a
    $ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
    cc21b4c9 43fd03e9 3ae1ae49 e28573c0
    $ sha512sum install.sh | grep ec113b49a54e705f86d51e784ebced224fdff3f52
    79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
    fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
    $ bash install.sh

Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.

When using programs that use GNU Parallel to process data for publication please cite:

O. Tange (2018): GNU Parallel 2018, March 2018, https://doi.org/10.5281/zenodo.1146014.

If you like GNU Parallel:

  • Give a demo at your local user group/team/colleagues
  • Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
  • Get the merchandise https://gnuparallel.threadless.com/designs/gnu-parallel
  • Request or write a review for your favourite blog or magazine
  • Request or build a package for your favourite distribution (if it is not already there)
  • Invite me for your next conference

If you use programs that use GNU Parallel for research:

  • Please cite GNU Parallel in you publications (use --citation)

If GNU Parallel saves you money:

About GNU SQL

GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.

The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.

When using GNU SQL for a publication please cite:

O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.

About GNU Niceload

GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.

FSF Blogs: Interview with Martin Dougiamas of Moodle

Thursday 22nd of September 2022 06:12:38 PM
This is the latest installment of our Licensing and Compliance Lab's series on free software developers who choose GNU licenses for their works.

FSF Blogs: Free Software Awards: Nominate those who have charted a course to freedom by Nov 30

Wednesday 21st of September 2022 08:40:00 PM
Announcement of this year's Free Software Awards. Read more about how to nominate individuals and projects who have made an impact in free software.

Simon Josefsson: Privilege separation of GSS-API credentials for Apache

Tuesday 20th of September 2022 06:40:05 AM

To protect web resources with Kerberos you may use Apache HTTPD with mod_auth_gssapi — however, all web scripts (e.g., PHP) run under Apache will have access to the Kerberos long-term symmetric secret credential (keytab). If someone can get it, they can impersonate your server, which is bad.

The gssproxy project makes it possible to introduce privilege separation to reduce the attack surface. There is a tutorial for RPM-based distributions (Fedora, RHEL, AlmaLinux, etc), but I wanted to get this to work on a DPKG-based distribution (Debian, Ubuntu, Trisquel, PureOS, etc) and found it worthwhile to document the process. I’m using Ubuntu 22.04 below, but have tested it on Debian 11 as well. I have adopted the gssproxy package in Debian, and testing this setup is part of the scripted autopkgtest/debci regression testing.

First install the required packages:

root@foo:~# apt-get update root@foo:~# apt-get install -y apache2 libapache2-mod-auth-gssapi gssproxy curl

This should give you a working and running web server. Verify it is operational under the proper hostname, I’ll use foo.sjd.se in this writeup.

root@foo:~# curl --head http://foo.sjd.se/
HTTP/1.1 200 OK

The next step is to create a keytab containing the Kerberos V5 secrets for your host, the exact steps depends on your environment (usually kadmin ktadd or ipa-getkeytab), but use the string “HTTP/foo.sjd.se” and then confirm using something like the following.

root@foo:~# ls -la /etc/gssproxy/httpd.keytab -rw------- 1 root root 176 Sep 18 06:44 /etc/gssproxy/httpd.keytab root@foo:~# klist -k /etc/gssproxy/httpd.keytab -e Keytab name: FILE:/etc/gssproxy/httpd.keytab KVNO Principal ---- -------------------------------------------------------------------------- 2 HTTP/foo.sjd.se@GSSPROXY.EXAMPLE.ORG (aes256-cts-hmac-sha1-96) 2 HTTP/foo.sjd.se@GSSPROXY.EXAMPLE.ORG (aes128-cts-hmac-sha1-96) root@foo:~#

The file should be owned by root and not be in the default /etc/krb5.keytab location, so Apache’s libapache2-mod-auth-gssapi will have to use gssproxy to use it.

Then configure gssproxy to find the credential and use it with Apache.

root@foo:~# cat<<EOF > /etc/gssproxy/80-httpd.conf [service/HTTP] mechs = krb5 cred_store = keytab:/etc/gssproxy/httpd.keytab cred_store = ccache:/var/lib/gssproxy/clients/krb5cc_%U euid = www-data process = /usr/sbin/apache2 EOF

For debugging, it may be useful to enable more gssproxy logging:

root@foo:~# cat<<EOF > /etc/gssproxy/gssproxy.conf [gssproxy] debug_level = 1 EOF root@foo:~#

Restart gssproxy so it finds the new configuration, and monitor syslog as follows:

root@foo:~# tail -F /var/log/syslog & root@foo:~# systemctl restart gssproxy

You should see something like this in the log file:

Sep 18 07:03:15 foo gssproxy[4076]: [2022/09/18 05:03:15]: Exiting after receiving a signal
Sep 18 07:03:15 foo systemd[1]: Stopping GSSAPI Proxy Daemon…
Sep 18 07:03:15 foo systemd[1]: gssproxy.service: Deactivated successfully.
Sep 18 07:03:15 foo systemd[1]: Stopped GSSAPI Proxy Daemon.
Sep 18 07:03:15 foo gssproxy[4092]: [2022/09/18 05:03:15]: Debug Enabled (level: 1)
Sep 18 07:03:15 foo systemd[1]: Starting GSSAPI Proxy Daemon…
Sep 18 07:03:15 foo gssproxy[4093]: [2022/09/18 05:03:15]: Kernel doesn't support GSS-Proxy (can't open /proc/net/rpc/use-gss-proxy: 2 (No such file or directory))
Sep 18 07:03:15 foo gssproxy[4093]: [2022/09/18 05:03:15]: Problem with kernel communication! NFS server will not work
Sep 18 07:03:15 foo systemd[1]: Started GSSAPI Proxy Daemon.
Sep 18 07:03:15 foo gssproxy[4093]: [2022/09/18 05:03:15]: Initialization complete.

The NFS-related errors is due to a default gssproxy configuration file, it is harmless and if you don’t use NFS with GSS-API you can silence it like this:

root@foo:~# rm /etc/gssproxy/24-nfs-server.conf
root@foo:~# systemctl try-reload-or-restart gssproxy

The log should now indicate that it loaded the keytab:

Sep 18 07:18:59 foo systemd[1]: Reloading GSSAPI Proxy Daemon…
Sep 18 07:18:59 foo gssproxy[4182]: [2022/09/18 05:18:59]: Received SIGHUP; re-reading config.
Sep 18 07:18:59 foo gssproxy[4182]: [2022/09/18 05:18:59]: Service: HTTP, Keytab: /etc/gssproxy/httpd.keytab, Enctype: 18
Sep 18 07:18:59 foo gssproxy[4182]: [2022/09/18 05:18:59]: New config loaded successfully.
Sep 18 07:18:59 foo systemd[1]: Reloaded GSSAPI Proxy Daemon.

To instruct Apache — or actually, the MIT Kerberos V5 GSS-API library used by mod_auth_gssap loaded by Apache — to use gssproxy instead of using /etc/krb5.keytab as usual, Apache needs to be started in an environment that has GSS_USE_PROXY=1 set. The background is covered by the gssproxy-mech(8) man page and explained by the gssproxy README.

When systemd is used the following can be used to set the environment variable, note the final command to reload systemd.

root@foo:~# mkdir -p /etc/systemd/system/apache2.service.d root@foo:~# cat<<EOF > /etc/systemd/system/apache2.service.d/gssproxy.conf [Service] Environment=GSS_USE_PROXY=1 EOF root@foo:~# systemctl daemon-reload

The next step is to configure a GSS-API protected Apache resource:

root@foo:~# cat<<EOF > /etc/apache2/conf-available/private.conf <Location /private> AuthType GSSAPI AuthName "GSSAPI Login" Require valid-user </Location>

Enable the configuration and restart Apache — the suggested use of reload is not sufficient, because then it won’t be restarted with the newly introduced GSS_USE_PROXY variable. This just applies to the first time, after the first restart you may use reload again.

root@foo:~# a2enconf private
Enabling conf private.
To activate the new configuration, you need to run:
systemctl reload apache2
root@foo:~# systemctl restart apache2

When you have debug messages enabled, the log may look like this:

Sep 18 07:32:23 foo systemd[1]: Stopping The Apache HTTP Server…
Sep 18 07:32:23 foo gssproxy[4182]: [2022/09/18 05:32:23]: Client [2022/09/18 05:32:23]: (/usr/sbin/apache2) [2022/09/18 05:32:23]: connected (fd = 10)[2022/09/18 05:32:23]: (pid = 4651) (uid = 0) (gid = 0)[2022/09/18 05:32:23]:
Sep 18 07:32:23 foo gssproxy[4182]: message repeated 4 times: [ [2022/09/18 05:32:23]: Client [2022/09/18 05:32:23]: (/usr/sbin/apache2) [2022/09/18 05:32:23]: connected (fd = 10)[2022/09/18 05:32:23]: (pid = 4651) (uid = 0) (gid = 0)[2022/09/18 05:32:23]:]
Sep 18 07:32:23 foo systemd[1]: apache2.service: Deactivated successfully.
Sep 18 07:32:23 foo systemd[1]: Stopped The Apache HTTP Server.
Sep 18 07:32:23 foo systemd[1]: Starting The Apache HTTP Server…
Sep 18 07:32:23 foo gssproxy[4182]: [2022/09/18 05:32:23]: Client [2022/09/18 05:32:23]: (/usr/sbin/apache2) [2022/09/18 05:32:23]: connected (fd = 10)[2022/09/18 05:32:23]: (pid = 4657) (uid = 0) (gid = 0)[2022/09/18 05:32:23]:
root@foo:~# Sep 18 07:32:23 foo gssproxy[4182]: message repeated 8 times: [ [2022/09/18 05:32:23]: Client [2022/09/18 05:32:23]: (/usr/sbin/apache2) [2022/09/18 05:32:23]: connected (fd = 10)[2022/09/18 05:32:23]: (pid = 4657) (uid = 0) (gid = 0)[2022/09/18 05:32:23]:]
Sep 18 07:32:23 foo systemd[1]: Started The Apache HTTP Server.

Finally, set up a dummy test page on the server:

root@foo:~# echo OK > /var/www/html/private

To verify that the server is working properly you may acquire tickets locally and then use curl to retrieve the GSS-API protected resource. The "--negotiate" enables SPNEGO and "--user :" asks curl to use username from the environment.

root@foo:~# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: jas@GSSPROXY.EXAMPLE.ORG Valid starting Expires Service principal 09/18/22 07:40:37 09/19/22 07:40:37 krbtgt/GSSPROXY.EXAMPLE.ORG@GSSPROXY.EXAMPLE.ORG root@foo:~# curl --negotiate --user : http://foo.sjd.se/private OK root@foo:~#

The log should contain something like this:

Sep 18 07:56:00 foo gssproxy[4872]: [2022/09/18 05:56:00]: Client [2022/09/18 05:56:00]: (/usr/sbin/apache2) [2022/09/18 05:56:00]: connected (fd = 10)[2022/09/18 05:56:00]: (pid = 5042) (uid = 33) (gid = 33)[2022/09/18 05:56:00]:
Sep 18 07:56:00 foo gssproxy[4872]: [CID 10][2022/09/18 05:56:00]: gp_rpc_execute: executing 6 (GSSX_ACQUIRE_CRED) for service "HTTP", euid: 33,socket: (null)
Sep 18 07:56:00 foo gssproxy[4872]: [CID 10][2022/09/18 05:56:00]: gp_rpc_execute: executing 6 (GSSX_ACQUIRE_CRED) for service "HTTP", euid: 33,socket: (null)
Sep 18 07:56:00 foo gssproxy[4872]: [CID 10][2022/09/18 05:56:00]: gp_rpc_execute: executing 1 (GSSX_INDICATE_MECHS) for service "HTTP", euid: 33,socket: (null)
Sep 18 07:56:00 foo gssproxy[4872]: [CID 10][2022/09/18 05:56:00]: gp_rpc_execute: executing 6 (GSSX_ACQUIRE_CRED) for service "HTTP", euid: 33,socket: (null)
Sep 18 07:56:00 foo gssproxy[4872]: [CID 10][2022/09/18 05:56:00]: gp_rpc_execute: executing 9 (GSSX_ACCEPT_SEC_CONTEXT) for service "HTTP", euid: 33,socket: (null)

The Apache log will look like this, notice the authenticated username shown.

127.0.0.1 - jas@GSSPROXY.EXAMPLE.ORG [18/Sep/2022:07:56:00 +0200] "GET /private HTTP/1.1" 200 481 "-" "curl/7.81.0"

Congratulations, and happy hacking!

poke @ Savannah: [VIDEO] Testing the toolchain with GNU poke: assembling RISC-V instructions

Monday 19th of September 2022 11:52:53 AM

Don't miss this little talk from Mohammad-Reza Nabipoor about leveraging GNU poke as a test tool in the assembler.   He uses RISC-V to explore how to better write pickles for instruction sets.  Looks promising!

https://www.youtube.com/watch?v=n09mhw4-m_E

FSF Blogs: FSD meeting recap 2022-09-16

Friday 16th of September 2022 09:00:00 PM
Check out the great work our volunteers accomplished at today's Free Software Directory (FSD) IRC meeting.

FSF Events: LibrePlanet 2022 CFS office hours (2022-09-22)

Wednesday 14th of September 2022 10:55:39 PM
Need help getting your session proposal in good shape? We're holding office hours in #LibrePlanet on Libera.chat Thursdays at 13:00 EDT.

FSF Events: LibrePlanet 2022 CFS office hours (2022-10-27)

Wednesday 14th of September 2022 10:55:00 PM
Need help getting your session proposal in good shape? We're holding office hours in #LibrePlanet on Libera.chat Thursdays at 13:00 EDT.

FSF Events: LibrePlanet 2022 CFS office hours (2022-10-20)

Wednesday 14th of September 2022 10:55:00 PM
Need help getting your session proposal in good shape? We're holding office hours in #LibrePlanet on Libera.chat Thursdays at 13:00 EDT.

FSF Events: LibrePlanet 2022 CFS office hours (2022-10-13)

Wednesday 14th of September 2022 10:55:00 PM
Need help getting your session proposal in good shape? We're holding office hours in #LibrePlanet on Libera.chat Thursdays at 13:00 EDT.

FSF Events: LibrePlanet 2022 CFS office hours (2022-09-29)

Wednesday 14th of September 2022 10:55:00 PM
Need help getting your session proposal in good shape? We're holding office hours in #LibrePlanet on Libera.chat Thursdays at 13:00 EDT.

FSF Blogs: LibrePlanet 2023: Let's chart the course together! Submit your session by November 2

Wednesday 14th of September 2022 10:55:00 PM
We are proud to announce the fifteenth edition of the Free Software Foundation's (FSF) conference on ethical technology and user freedom, which will be held in spring 2023, both online and in Boston (exact venue TBD). In these fifteen years, LibrePlanet has always been a community that brings together concerned users of all varieties to carve out the direction of software freedom for today as well as for years to come. The call for sessions is now open and will close on November 2, 2022. Potential talks should examine free software through the lens of the theme "Charting the Course."

unifont @ Savannah: Unifont 15.0.01 Released

Tuesday 13th of September 2022 06:03:36 PM

13 September 2022 Unifont 15.0.01 is now available.  This is a major release corresponding to today's Unicode 15.0.0 release.

Download this release from GNU server mirrors at:

     https://ftpmirror.gnu.org/unifont/unifont-15.0.01/

or if that fails,

     https://ftp.gnu.org/gnu/unifont/unifont-15.0.01/

or, as a last resort,

     ftp://ftp.gnu.org/gnu/unifont/unifont-15.0.01/

These files are also available on the unifoundry.com website:

     https://unifoundry.com/pub/unifont/unifont-15.0.01/

Font files are in the subdirectory

     https://unifoundry.com/pub/unifont/unifont-15.0.01/font-builds/

A more detailed description of font changes is available at

      https://unifoundry.com/unifont/index.html

and of utility program changes at

      http://unifoundry.com/unifont/unifont-utilities.html

Luca Saiu: GNU Hackers' Meeting 2022: Call for presentations, even remote

Monday 12th of September 2022 04:05:00 PM
The GNU Hackers’ Meetings or or “GHMs” are a friendly and informal venue to discuss technical topics related to GNU (https://www.gnu.org) and free software (https://www.gnu.org/philosophy/free-sw.html); anybody is welcome to register and attend. The GNU Hackers’ Meeting 2022 will take place on October 1st and October 2st in İzmir, Turkey; see the event home page at . We decided to help students who wish to attend by contributing 50€ out of their 60€ attendance fee (required by the hotel for use of the conference room, coffee and snacks) so that students will need to only pay 10€, upon presenting proof of ... [Read more]

FSF Blogs: The need for free software education now

Monday 12th of September 2022 03:55:00 PM
Making the choice to use free software in the classroom helps us create learning environments that foreground questions of value. This can be illustrated by a passage in Confucius's "Analects" where the skilled mechanic is illustrated as sharpening their tools before they are able to do their work well. In the 21st century, and in the context of digital learning environments, to sharpen tools would mean to know not just "how" the tool works but "what" the tool means with respect to the place of the human in the world. This will be explored by considering the five Ws: what free software education is, who it is for, when and where it takes place, and why our active role as digital makers, not just passive users, is central to the meaning of free software education.

FSF Blogs: FSD meeting recap 2022-09-09

Friday 9th of September 2022 09:00:00 PM
Check out the great work our volunteers accomplished at today's Free Software Directory (FSD) IRC meeting.

GNUnet News: messenger-cli 0.1.0

Thursday 8th of September 2022 10:00:00 PM
messenger-cli 0.1.0 released

We are pleased to announce the release of the messenger-cli application.
The application is a counterpart for the terminal to the previous release of the GTK application using the GNUnet Messenger service. The goal is to provide private and secure communication between any group of devices. So server admins or users relying on a terminal focused window manager have now a proper option to utilize the service as well.

The application provides the following features:

  • Creating direct chats and group chats
  • Sending text messages
  • Sharing files privately
  • Deleting messages
  • Verifying contact identities
  • Switching between different accounts

The application utilizes the previously released library "libgnunetchat" in an user interface built with ncurses. It will adapt its different views depending on the terminal size to show most important information. The navigation is done via arrow-, ESCAPE, TAB, ENTER and DELETE keys. More information about that can be found here .

Download links

The GPG key used to sign is: 3D11063C10F98D14BD24D1470B0998EF86F59B6A

Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try http://ftp.gnu.org/gnu/gnunet/

Noteworthy changes in 0.1.0
  • It is possible to create direct chats and group chats via lobbies, shared keys or invitations
  • Members of a chats can be observed
  • Chats allow sending text messages or files
  • Messages can be deleted in any chat locally
  • Switching between different accounts can be done during runtime

A detailed list of changes can be found in the ChangeLog .

Known Issues
  • It is still difficult to get reliable chats between different devices. This might change with the upcoming changes on the GNUnet transport layer though.
  • It might happen that the FS service is not connected which might stop any file upload or stall it forever.

In addition to this list, you may also want to consult our bug tracker at bugs.gnunet.org .

FSF Events: Free Software Directory meeting on IRC: Friday, September 30, starting at 12:00 EDT (16:00 UTC)

Wednesday 7th of September 2022 10:01:54 PM
Join the FSF and friends on Friday, September 30, from 12:00 to 15:00 EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.

More in Tux Machines

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.

Red Hat Hires a Blind Software Engineer to Improve Accessibility on Linux Desktop

Accessibility on a Linux desktop is not one of the strongest points to highlight. However, GNOME, one of the best desktop environments, has managed to do better comparatively (I think). In a blog post by Christian Fredrik Schaller (Director for Desktop/Graphics, Red Hat), he mentions that they are making serious efforts to improve accessibility. Starting with Red Hat hiring Lukas Tyrychtr, who is a blind software engineer to lead the effort in improving Red Hat Enterprise Linux, and Fedora Workstation in terms of accessibility. Read more

Today in Techrights

Android Leftovers