Language Selection

English French German Italian Portuguese Spanish

today's howtos

Filed under
HowTos
  • Install and Configure Grafana on Kubernetes

    We are going to deploy Grafana to visualise Prometheus monitoring data.

  • How to Install and Use Docker on Ubuntu 20.04 | 18.04

    Docker is a free, open-source and cross-platform containerization tool that helps you to deploy and run the application in an isolated environment. Docker has become one of the most important parts of modern software development and DevOps pipelines.

  • How to Find Cheap Linux VPS? [Ed: Potentially a bit spammy (the links in there)]

    VPS stands for a Virtual Private Server. This is a virtual machine that is commonly used for hosting a web site. You can buy a VPS from a hosting provider companies such as Routerhosting, and based on your requirements. Each VPS provides you a private resource on a server to host your website. Likewise, you can use a shared VPS that is more affordable but in low security. Another noticeable factor for selecting a perfect VPS is operating system. The operating system that you select for VPS will have a strong impact on your business or the field of your action. There are two options available including Windows VPS and Linux VPS. Although there are many basic functions that are common between them, but selecting the OS completely depends on users and their preferences. As you know Linux VPS is more popular than Windows. You can easily find a cheap Linux VPS with great speed, function, and security.

  • 4 ways to identify your current shell (if it’s bash)

    Knowing which run you are using on your system is an important piece of information. Your shell determines your login environment to a large extent as it controls which environment variables get exported, your shell prompt etc. On a Linux system it’s almost certain that you will using the bash shell unless the system administrator has deliberately changed it to something else. In this quick article we will demonstrate four ways you can determines if you are running the bash shell or not.

  • Alan Pope: The Black Oblong of Monospace Mystery

    I originally titled this post “Don’t be afraid of the command line”, but decided “Black Oblong of Monospace Mystery” was more fun. Is the command line really scary? It doesn’t feel like that to me, but I grew up with an interface which looks like this on first boot.

  • What Is DNS Server?

    What is DNS Server? DNS stands for Domain Name System. This is actually a service that runs on all of our computers but majorly it runs the entire internet. We type a website in the browser and with the bling of our eyes the website is open. Have you ever wondered how does that happen? In today’s article, we will learn the process of how the website opens so fast and how DNS plays an important role in this process.

    We already know that every website is saved in a server that is located somewhere in the world. We need to reach this server and ask for the website homepage. In order to reach this Server, we need the address. When we want to visit a person in real life, we need his home address but in the world of the internet, we need the logical address. Internet Protocol, also known as IP Address is the logical addressing system.

    In order to reach a website we need to enter its server IP in the browser and the server will reply with the homepage. Initially, when the internet was in its infancy, people kept the record of IP addresses. Gradually, the internet because huge, and keeping the record of IP addresses was a challenge. The markers of the Internet knew that humans are very good at remembering names than numbers. They came up with the idea of a DNS Server.

  • How to install Proton VPN on a Chromebook

    Today we are looking at how to install Proton VPN on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  • How to Install AppImage in Linux

    AppImage is format for packaging applications which is self-contained. It is the universal software package format compatible with various Linux distribution. In the traditional system of installing software packages, you need to download, extract and install on various directories of the system. But with the AppImage there is no extraction, no installation, no root permission, you just download the single package, make it executable and run it with a single click. It includes all the compressed image, dependencies, and libraries needed to run the software. Even to uninstall the application, you will just remove the AppImage file.

More in Tux Machines

Now you can make video calls on a PinePhone (but it’s very much a work in progress)

When the PinePhone began shipping to early adopters, it had all the hardware you’d expect from a smartphone, but it lacked the software needed to make some of that hardware work. If you were one of the first people to get your hands on a PinePhone, you had a Linux-friendly phone with a camera that couldn’t be used to take pictures or record video. But over time kernel and app developers got the phone’s front and rear cameras working, and now most Linux distributions for the PinePhone allow you to take pictures (of mediocre quality). One thing you couldn’t do until recently though? Video calls. But now it looks like that’s possible too… soft of. The process looks rather painful at the moment, but it should get better over time. Read more Also: Plasma Mobile tarball release: bugfixes and new releases

A warning about 5.12-rc1

  • A warning about 5.12-rc1
    Hey peeps - some of you may have already noticed that in my public git
    tree, the "v5.12-rc1" tag has magically been renamed to
    "v5.12-rc1-dontuse". It's still the same object, it still says
    "v5.12-rc1" internally, and it is still is signed by me, but the
    user-visible name of the tag has changed.
    
    
    
    
    The reason is fairly straightforward: this merge window, we had a very
    innocuous code cleanup and simplification that raised no red flags at
    all, but had a subtle and very nasty bug in it: swap files stopped
    working right.  And they stopped working in a particularly bad way:
    the offset of the start of the swap file was lost.
    
    
    
    
    Swapping still happened, but it happened to the wrong part of the
    filesystem, with the obvious catastrophic end results.
    
    
    
    
    Now, the good news is even if you do use swap (and hey, that's nowhere
    near as common as it used to be), most people don't use a swap *file*,
    but a separate swap *partition*. And the bug in question really only
    happens for when you have a regular filesystem, and put a file on it
    as a swap.
    
    
    
    
    And, as far as I know, all the normal distributions set things up with
    swap partitions, not files, because honestly, swapfiles tend to be
    slower and have various other complexity issues.
    
    
    
    
    The bad news is that the reason we support swapfiles in the first
    place is that they do end up having some flexibility advantages, and
    so some people do use them for that reason. If so, do not use rc1.
    Thus the renaming of the tag.
    
    
    
    
    Yes, this is very unfortunate, but it really wasn't a very obvious
    bug, and it didn't even show up in normal testing, exactly because
    swapfiles just aren't normal. So I'm not blaming the developers in
    question, and it also wasn't due to the odd timing of the merge
    window, it was just simply an unusually nasty bug that did get caught
    and is fixed in the current tree.
    
    
    
    
    But I want everybody to be aware of because _if_ it bites you, it
    bites you hard, and you can end up with a filesystem that is
    essentially overwritten by random swap data. This is what we in the
    industry call "double ungood".
    
    
    
    
    Now, there's a couple of additional reasons for me writing this note
    other than just "don't run 5.12-rc1 if you use a swapfile". Because
    it's more than just "ok, we all know the merge window is when all the
    new scary code gets merged, and rc1 can be a bit scary and not work
    for everybody". Yes, rc1 tends to be buggier than later rc's, we are
    all used to that, but honestly, most of the time the bugs are much
    smaller annoyances than this time.
    
    
    
    
    And in fact, most of our rc1 releases have been so solid over the
    years that people may have forgotten that "yeah, this is all the new
    code that can have nasty bugs in it".
    
    
    
    
    One additional reason for this note is that I want to not just warn
    people to not run this if you have a swapfile - even if you are
    personally not impacted (like I am, and probably most people are -
    swap partitions all around) - I want to make sure that nobody starts
    new topic branches using that 5.12-rc1 tag. I know a few developers
    tend to go "Ok, rc1 is out, I got all my development work into this
    merge window, I will now fast-forward to rc1 and use that as a base
    for the next release". Don't do it this time. It may work perfectly
    well for you because you have the common partition setup, but it can
    end up being a horrible base for anybody else that might end up
    bisecting into that area.
    
    
    
    
    And the *final* reason I want to just note this is a purely git
    process one: if you already pulled my git tree, you will have that
    "v5.12-rc1" tag, and the fact that it no longer exists in my public
    tree under that name changes nothing at all for you. Git is
    distributed, and me removing that tag and replacing it with another
    name doesn't magically remove it from other copies unless you have
    special mirroring code.
    
    
    
    
    So if you have a kernel git tree (and I'm here assuming "origin"
    points to my trees), and you do
    
    
    
    
         git fetch --tags origin
    
    
    
    
    you _will_ now see the new "v5.12-rc1-dontuse" tag. But git won't
    remove the old v5.12-rc1 tag, because while git will see that it is
    not upstream, git will just assume that that simply means that it's
    your own local tag. Tags, unlike branch names, are a global namespace
    in git.
    
    
    
    
    So you should additionally do a "git tag -d v5.12-rc1" to actually get
    rid of the original tag name.
    
    
    
    
    Of course, having the old tag doesn't really do anything bad, so this
    git process thing is entirely up to you. As long as you don't _use_
    v5.12-rc1 for anything, having the tag around won't really matter, and
    having both 'v5.12-rc1' _and_ 'v5.12-rc1-dontuse' doesn't hurt
    anything either, and seeing both is hopefully already sufficient
    warning of "let's not use that then".
    
    
    
    
    Sorry for this mess,
                 Linus
    
    
    
    
    
  • A warning about 5.12-rc1

    Linus Torvalds has sent out a note telling people not to install the recent 5.12-rc1 development kernel; this is especially true for anybody running with swap files. "But I want everybody to be aware of because _if_ it bites you, it bites you hard, and you can end up with a filesystem that is essentially overwritten by random swap data. This is what we in the industry call 'double ungood'." Additionally, he is asking maintainers to not start branches from 5.12-rc1 to avoid future situations where people land in the buggy code while bisecting problems.

  •  
  • Linux 5.12-rc2 Likely Coming Early Due To That Nasty File-System Corruption Bug

    Linus Torvalds has now warned developers over using Linux 5.12-rc1 as a basis for their future branches and is looking to release 5.12-rc2 ahead of schedule as a result of that problematic file-system corruption bug stemming from a swap file bug. 

Games: Godot, Artifact, Loop Hero, and Urtuk: The Desolation

  • Godot Showcase - Primal Light developer interview

    Welcome to the fourth developer interview following the introduction of the Godot Showcase page! This week, we are interviewing the studio Fat Gem about their first game Primal Light.

  • Valve gives up on Artifact setting it free with Artifact Classic and Artifact Foundry | GamingOnLinux

    Valve's Dota themed card game Artifact has now well and truly failed, as they've now stopped the 2.0 redevelopment which is now named Artifact Foundry with the original as Artifact Classic and both now free to play. In a post titled "The Future of Artifact", Valve mentioned how the player count fell off dramatically and it was pretty much dead shortly after being released. Even though the big 2.0 revamp was far along in development, they've now formally and totally shelved it as they "haven't managed to get the active player numbers to a level that justifies further development at this time".

  • Loop Hero is out now and I'm going to need help to tear myself away from it | GamingOnLinux

    Loop Hero, probably the only titles I've pre-ordered in the last few years is officially out now and I really will need some help to pull myself away from running just one more loop. It's such a strange and beautifully intoxicating mix of genres. For each loop through you're placed into a world full of nothing but a path and it's up to you to build up the world each time. You do this through your deck of cards, while the hero automatically loops around the path and fights enemies along the way without your input. Even though you don't have direct control, there's quite a lot of strategy involved in it.

  • Dark low-fantasy tactical survival RPG 'Urtuk: The Desolation' is out now | GamingOnLinux

    Urtuk: The Desolation from David Kaleta presents you with a dark world in a low-fantasy settings where you guide a team of survivors through a ruined world. Note: key provided by the developer. Hitting nearly one thousand user reviews and a Very Positive rating on Steam overall, Urtuk: The Desolation seems to have managed to hit a sweet spot. Giving you tough turn-based combat, with a character progression system that sees you extracting skills and traits from fallen enemies. It's a bit of a gross world and the main character, Urtuk, is an escaped subject of experimentation with a severe mutation and worsening health. The idea is to eventually find a cure but getting there will be tough.

today's howtos

  • How to find duplicate files in Linux? Help is here with the fdupes command! - Webleit.info

    Fdupes is a command line tool that allows you to find all duplicate files through the console. The advantage over using graphical tools like fslint is of course the speed. At the end of the day, there is nothing faster and more convenient than the Linux console. Why should we look for duplicate files in Linux? No matter what operating system you use sooner or later, your computer will contain many files of different sizes, and if you’re not careful enough, repeating them can cost you disk space that you need. For example, you inadvertently downloaded the same ultra HD movie with 40 giga bytes twice.

  • How to Install Moodle with Nginx and Let's Encrypt SSL on Ubuntu 20.04

    Moodle is a free and open-source Learning Management System written in PHP. It provides a way for tutors and instructors to create courses for their students or learners. Moodle provides a robust and secure integrated system and comes with a custom dashboard that helps users to access current, past or future courses, as well as review pending work. It is used by many schools, universities, and organizations across the globe and provides a better learning experience. It provides a rich set of features including, wiki, grading, assignment submission, online quizzes, discussion boards, and more. In this tutorial, we will show you how to install Moodle with Nginx web server and Let's Encrypt SSL on Ubuntu 20.04.

  • Install WordPress Automatically on Ubuntu 20.04 using WordOps

    WordOps is a simple tool that provides the ability to deploy WordPress sites from the command line using an optimized LEMP stack. The LEMP software stack consists of a group of software that describes a Linux Operating System, an Nginx web server (pronounced engine-x), a MySQL database with the dynamic processing being handled by PHP. LEMP is an acronym for Linux, Engine-x (Nginx), MySQL and PHP. WordOps simplifies so much of the process of installing and configuring all the packages from the LEMP stack needed to deploy a site while taking care of creating virtual hosts in Nginx, installing WordPress, and even gets you a SSL certificate. It also installs some components that allow you to see statistics about the server’s workload. In this tutorial we’ll use WordOps to quickly and easily install WordPress on an Ubuntu 20.04 machine, and we’ll check out and explain some of the extra features that WordOps offers.

  • How to Find Out When a Webpage Was Published - Make Tech Easier

    When you’re doing research on a topic, it’s vital to ensure your sources are up to date. If you’re writing an academic paper, dates of publication are often required in the citations. The majority of the time, getting the date is easy: simply look on the site and find the published date to find how recent it was. Things get a little more complicated when there is no date listed on the webpage. When this happens, how do you know when a webpage was published?

  • How to install Wireshark 3.4.3 on a Chromebook

    Today we are looking at how to install Wireshark 3.4.3 on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  • Another Piece For The Home Network Puzzle – A Return To Cisco IOS! – Jon's FOSS Blog

    I’ve missed the good old days of configuring and setting up good quality switching hardware (like the big, huge Cisco switches and routers I used to experiment on with their IOS command line interface). I recently ordered this newer, smaller Cisco switch which can also provide power to a new “prosumer” WiFi AP (no power cables needed).

  • Making environment variables accessible in front-end containers - Red Hat Developer

    When building a container for a single-page application using any modern JavaScript framework (such as Angular, React, or Vue.js), you might find that the configuration settings are different depending on where the container will run. A typical case would be the base URL for your API, which will differ depending on whether you are testing the application or deploying it into production. Developers usually solve this problem using environment variables. Environment variables typically work on the backend because that is where code runs. But what if your application lives in the user’s browser? There are many ways around this limitation. In some cases, you might build a server whose endpoint holds the necessary parameters. Another workaround is to use PHP to inject the environment variables as globals in the JavaScript code. Both of these options work, but it would be ideal to inject the environment variables as part of the container build process. That way, you don’t have to change the codebase, and you can still deliver the application content using a static web server like NGINX. This article shows you how to inject environment variables directly into your codebase as you build your container.

  • The Strange Case of How We Escaped the Docker Default Container

    TL;DR During an internal container-based Red Team engagement, the Docker default container spontaneously and silently changed cgroups overnight, which allowed us to escalate privileges and gain...

  • How to copy and paste between host and VM