How to Create EC2 Duplicate Instance with Ansible

Creating EC2 Duplicate with Ansible

Many companies like mine use AWS infrastructure as a service (IaaS) heavily. Sometimes we want to perform a potentially risky operation on an EC2 instance. As long as we do not work with immutable infrastructure it is imperative to be prepared for instant revert.

One of the solutions is to use a script that will perform instance duplication, but in modern environments, where unification is an essence it would be wiser to use more common known software instead of making up a custom script.

Here comes the Ansible!

Ansible is a simple automation software. It handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation, and multi-node orchestration. It is marketed as a tool for making complex changes like zero-downtime rolling patching, therefore we have used it for this straightforward snapshotting task.

Requirements

For this example we will only need an Ansible, in my case it was version 2.9 - in subsequent releases there is a major change with introducing collections so let's stick with this one for simplicity.

Due to working with AWS we require a minimal set of permissions, which include permissions to create:

  • AWS snapshots
  • Register images (AMI)
  • Start and stop EC2

Environment preparation

Since I am forced to work on Windows I have utilized Vagrant instances. Please find below a Vagrantfile content.

We are launching a virtual machine, with Centos 7 and Ansible installed.

For security reasons Ansible, by default, has disabled reading configuration from mounted location, therefore we have to implcity indicate path /vagrant/ansible.cfg.

Listing 1. Vagrantfile for our research

Vagrant.configure("2") do |config|
  config.vm.box = "geerlingguy/centos7"
  config.vm.hostname = "awx"
  config.vm.provider "virtualbox" do |vb|
    vb.name = "AWX"
    vb.memory = "2048"
    vb.cpus = 3
  end
  config.vm.provision "shell", inline: "yum install -y git python3-pip"
  config.vm.provision "shell", inline: "pip3 install ansible==2.9.10"
  config.vm.provision "shell", inline: "echo 'export ANSIBLE_CONFIG=/vagrant/ansible.cfg' >> /home/vagrant/.bashrc"
end

First tasks

In the first lines of the Ansible we specify few meta values. Most of them, like name, hosts and tasks are mandatory. Others provide auxiliary functions.

Listing 2. duplicate_ec2.yml playbook first lines ---

TCP Analysis with Wireshark

TCP Analysis with Wireshark

Transmission Control is an essential aspect of network activity and governs the behavior of many services we take for granted. When sending your emails or just browsing the web you are relying on TCP to send and receive your packets in a reliable fashion. Thanks to two DARPA scientists, Vinton Cerf and Bob Kahn who developed TCP/IP in 1970, we have a specific set of rules that define how we communicate over a network. When Vinton and Bob first conceptualized TCP/IP, they set up a basic network topology and a device that can interface between two other hosts.

Network A Network B

In the Figure 1 we have two networks connected by a single gateway. The gateway plays an essential role in the development of any network and bares the responsibility of routing data properly between these two networks.

Since the gateway must understand the addresses of each host on the network, it is necessary to have a standard format in every packet that arrives. Vince and Bob called this the internetwork header prefixed to the packet by the source host.

Internetwork header

The source and destination entries, along with the IP address, uniquely identify every host on the network so that the gateway can accurately forward packets.

The sequence number and byte count identifies each packet sent from the source, and accounts for all of the text within the segment. The receiver can use this to determine if it has already seen the packet and discard if necessary.

The check sum is used to validate each packet being sent to ensure error free transmission. This checksum uses a false header and encapsulates the data of the original TCP header, such as source/destination entries , header length and byte count .

How to Add a Simple Progress Bar in Shell Script

How to Add a Simple Progress Bar in Shell Script

At times, we need to write shell scripts that are interactive and user executing them need to monitor the progress. For such requirements, we can implement a simple progress bar that gives an idea about how much task has been completed by the script or how much the script has executed.

To implement it, we only need to use the “echo” command with the following options and a backslash-escaped character.

-n : do not append a newline
-e : enable interpretation of backslash escapes
\r : carriage return (go back to the beginning of the line without printing a newline)

For the sake of understanding, we will use “sleep 2” command to represent an ongoing task or a step in our shell script. In a real scenario, this could be anything like downloading files, creating backup, validating user input, etc. Also, to give an example we are assuming only four steps in our script below which is why we are using 20,40,60,80 (%) as progress indicator. This can be adjusted as per the number of steps in a script. For instance, a script with three steps can be represented by 33,66,99 (%) or a script with ten steps can be represented by 10-90 (%) as progress indicator.

The implementation looks like the following:

echo -ne '>>>                       [20%]\r'
# some task
sleep 2
echo -ne '>>>>>>>                   [40%]\r'
# some task
sleep 2
echo -ne '>>>>>>>>>>>>>>            [60%]\r'
# some task
sleep 2
echo -ne '>>>>>>>>>>>>>>>>>>>>>>>   [80%]\r'
# some task
sleep 2
echo -ne '>>>>>>>>>>>>>>>>>>>>>>>>>>[100%]\r'
echo -ne '\n'

In effect, every time the “echo” command executes, it replaces the output of the previous “echo” command in the terminal thus representing a simple progress bar. The last “echo” command simply enters a newline (\n) in the terminal to resume the prompt for the user.

The execution looks like the following:

simple progress bar shell execution

Ubuntu 20.10 “Groovy Gorilla” Arrives With Linux 5.8, GNOME 3.38, Raspberry Pi 4 Support

Article Images
Image
Ubuntu 20.10 “Groovy Gorilla” Arrives With Linux 5.8, GNOME 3.38, Raspberry Pi 4 Support

Just two days ago, Ubuntu marked the 16th anniversary of its first ever release, Ubuntu 4.10 “Warty Warthog,” which showed Linux could be a more user friendly operating system.

Back to now, after the six months of development cycle and the release of the current long-term Ubuntu 20.04 “Focal Fossa,” Canonical has announced a new version called Ubuntu 20.10 “Groovy Gorilla” along with its seven official flavor: Kubuntu, Lubuntu, Ubuntu MATE, Ubuntu Kylin, Xubuntu, Ubuntu Budgie, and Ubuntu Studio.

Ubuntu 20.10 is a short term or non-LTS release, which means it will be supported for 9 months until July 2021. Though v20.10 does not seem a major release, it does come with a lot of exciting and new features. So, let’s see what Ubuntu 20.10 “Groovy Gorilla” has to offer:

New Features in Ubuntu 20.10 “Groovy Gorilla”

Groovy Gorilla

Ubuntu desktop for Raspberry Pi 4

Starting with one of the most important enhancements, Ubuntu 20.10 has become the first Ubuntu release to feature desktop images for the Raspberry Pi 4. Yes, you can now download and run Ubuntu 20.10 desktop on your Raspberry Pi models with at least 4GB of RAM.

Even both Server and Desktop images also support the new Raspberry Pi Compute Module 4. The 20.10 images may still boot on earlier models, but new Desktop images only built for the arm64 architecture and officially only support the Pi 4 variant with 4GB or 8GB RAM.

Linux Kernel 5.8

Linux Kernel 5.8

Upgrading the previous Linux kernel 5.4, the latest Ubuntu 20.10 ships the new Linux kernel 5.8, which is dubbed “the biggest release of all time” by Linus Torvalds as it contains the highest number of over 17595 commits.

So it’s obvious that Linux 5.8 brings numerous updates, new features, and hardware support. For instance, Kernel Event Notification Mechanism, Intel Tiger Lake Thunderbolt support, extended IPv6 Multi-Protocol Label Switching (MPLS) support, Inline Encryption hardware support, Thunderbolt support for Intel Tiger Lake and non-x86 systems, and initial support for booting POWER10 processors.

GNOME 3.38 Desktop Environment

Gnome 3.38 Desktop Environment

Another key change that Ubuntu 20.10 includes is the latest version of GNOME desktop environment, which enhances the visual appearance, performance, and user experience of Ubuntu.

One of my favorite features that GNOME 3.38 introduces is a much-needed separate “Restart” button in the System menu.

Among other enhancements, GNOME 3.38 also includes:

  • Better multi-monitor support
  • Revamped GNOME Screenshot app
  • Customizable App Grid with no “Frequent Apps” tab
  • Battery percentage indicator
  • New Welcome Tour app written in Rust
  • Core GNOME apps improvements

Share Wi-Fi hotspot Via QR Code

If you’re the person who wants to share the system’s Internet with other devices wirelessly, this feature of sharing Wi-Fi hotspot through QR code will definitely please you.

Thanks to GNOME 3.38, you can now turn your Linux system into a portable Wi-Fi hotspot by sharing QR code with the devices like laptops, tablets, and mobiles.

Add events in GNOME Calendar app

Forget to remember the events? A pre-installed GNOME Calendar app now lets you add new events (birthday, meetings, reminders, releases), which displays in the message tray. Instead of adding new events manually, you can also sync your events from Google, Microsoft, or Nextcloud calendars after adding online accounts from the settings.

Active Directory Support

In the Ubiquity installer, Ubuntu 20.10 has also added an optional feature to enable Active Directory (AD) integration. If you check the option, you’ll be directed to configure the AD by giving information about the domain, administrator, and password.

Tools and Software upgrade

Ubuntu 20.10 also features the updated tools, software, and subsystems to their new versions. This includes:

  • glibc 2.32, GCC 10, LLVM 11
  • OpenJDK 11
  • rustc 1.41
  • Python 3.8.6, Ruby 2.7.0, PHP 7.4.9
  • perl 5.30
  • golang 1.13
  • Firefox 81
  • LibreOffice 7.0.2
  • Thunderbird 78.3.2
  • BlueZ 5.55
  • NetworkManager 1.26.2

Other enhancements to Ubuntu 20.10:

  • Nftables replaces iptables as default backend for the firewall
  • Better support for fingerprint login
  • Cloud images with KVM kernels boot without an initramfs by default
  • Snap pre-seeding optimizations for boot time improvements

A full release notes of Ubuntu 20.10 is also available to read right from here.

How To Download Or Upgrade To Ubuntu 20.10

If you’re looking for a fresh installation of Ubuntu 20.10, download the ISO image available for several platforms such as Desktop, Server, Cloud, and IoT.

But if you’re already using the previous version of Ubuntu, you can also easily upgrade your system to the Ubuntu 20.10. For upgrading, you must be using Ubuntu 20.04 LTS as you cannot directly reach 20.10 from 19.10, 19.04, 18.10, 18.04, 17.04, or 16.04. You should first hop on to v20.04 and then to the latest v20.10.

As Ubuntu 20.10 is a non-LTS version and by design, Ubuntu only notifies a new LTS release, you need to upgrade manually by either choosing a GUI method using the built-in Software Updater tool or a command line method using the terminal.

For command line method, open terminal and run the following commands:

sudo apt update && sudo apt upgrade

sudo do-release-upgrade -d -m desktop

Or else, if you’re not a terminal-centric person, here’s an official upgrade guide using a GUI Software Updater.

Enjoy Groovy Gorilla!

Btrfs on CentOS: Living with Loopback

Btrfs on CentOS

Introduction

The btrfs filesystem has taunted the Linux community for years, offering a stunning array of features and capability, but never earning universal acclaim. Btrfs is perhaps more deserving of patience, as its promised capabilities dwarf all peers, earning it vocal proponents with great influence. Still, none can argue that btrfs is unfinished, many features are very new, and stability concerns remain for common functions.

Most of the intended goals of btrfs have been met. However, Red Hat famously cut continued btrfs support from their 7.4 release, and has allowed the code to stagnate in their backported kernel since that time. The Fedora project announced their intention to adopt btrfs as the default filesystem for variants of their distribution, in a seeming juxtaposition. SUSE has maintained btrfs support for their own distribution and the greater community for many years.

For users, the most desirable features of btrfs are transparent compression and snapshots; these features are stable, and relatively easy to add as a veneer to stock CentOS (and its peers). Administrators are further compelled by adjustable checksums, scrubs, and the ability to enlarge as well as (surprisingly) shrink filesystem images, while some advanced btrfs topics (i.e. deduplication, RAID, ext4 conversion) aren't really germane for minimal loopback usage. The systemd init package also has dependencies upon btrfs, among them machinectl and systemd-nspawn. Despite these features, there are many usage patterns that are not directly appropriate for use with btrfs. It is hostile to most databases and many other programs with incompatible I/O, and should be approached with some care.

How to Secure Your Website with OpenSSL and SSL Certificates

How to Secure Your Website with OpenSSL and SSL Certificates

The Internet has become the number one resources for news, information, events, and all things social. As most people know there are many ways to create a website of your own and capture your own piece of the internet to share your stories, ideas, or even things you like with others. When doing so it is important to make sure you stay protected on the internet the same way you would in the real world. There are many steps to take in the real world to stay safe, however, in this article we will be talking about staying secure on the web with an SSL certificate.

OpenSSL is a command line tool we can use as a type of "bodyguard" for our webservers and applications. It can be used for a variety of things related to HTTPS, generating private keys and CSRs (certificate signing requests), and other examples. This article will break down what OpenSSL is, what it does, and examples on how to use it to keep your website secure. Most online web/domain platforms provide SSL certificates for a fixed yearly price. This method, although it takes a bit of technical knowledge, can save you some money and keep you secure on the web.

* For example purposes we will use testmastersite.com for commands and examples

How this guide may help you:

  • Using OpenSSL to generate and configure CSRs
  • Understanding SSL certificates and their importance
  • Learn about certificate signing requests (CSRs)
  • Learn how to create your own CSR and private key
  • Learn about OpenSSL and its common use cases

Requirements

OpenSSL

The first thing to do would be to generate a 2048-bit RSA key pair on your machine. This pair i'm referring to is both your private and public key. You can use a list of tools online to do so, but for this example we will be working with OpenSSL.

What are SSL certificates and who cares?

According to GlobalSign.com an SSL certificate is a small data file that digitally binds a cryptographic key to an organizations details. When installed on a webserver, it activates the padlock and the https protocol and allows secure connections from a web server to a browser. Let me break that down for you. An SSL certificate is like a bodyguard for your website. To confirm that a site is using an SSL you can typically check that the site has an https in the url rather than an http string in the name. the "s" stands for Secure.

  • Example SECURE Site: https://www.testmastersite.com/

Pretty Good Privacy (PGP) and Digital Signatures

Pretty Good Privacy (PGP) and Digital Signatures

If you have sent any plaintext confidential emails to someone (most likely you did), have you ever questioned yourself about the mail being tampered with or read by anyone during transit? If not, you should!

Any unencrypted email is like a postcard. It can be seen by anyone (crackers/security hackers, corporations, governments, or anyone with the required skills), during its transit.

In 1991 Phil Zimmermann, a free speech activist, and anti-nuclear pacifist developed Pretty Good Privacy (PGP), the first software available to the general public that utilized RSA (a public key cryptosystem, will discuss it later) for email encryption and signing. Zimmermann, after having had a friend post the program on the worldwide Usenet, got prosecuted by the U.S. government; later he was charged by the FBI for illegal weapon export because encryption tools were considered as such (all charges were eventually dropped). Zimmermann later founded PGP Inc., which is now part of Symantec Corporation.

In 1997 PGP Inc. submitted a standardization proposal to the Internet Engineering Task Force. The standard was called OpenPGP and was defined in 1998 in the IETF document RFC 2440. The latest version of the OpenPGP standard is described in RFC 4880, published in 2007.

Nowadays there are many OpenPGP-compliant products: the most widespread is probably GnuPG (GNU Privacy Guard, or GPG for short) which has been developed since 1999 by Werner Koch. GnuPG is free, open-source, and available for several platforms. It is a command-line only tool.

PGP is used for digital signature, encryption (and decrypting obviously, nobody will use software which only encrypts!), compression, Radix-64 conversion.

In this article, we will explain encryption and digital signatures.

So what encryption is, how does it work, and how does it benefit us?

Encryption (Confidentiality)

Encryption is the process of conversion of any information to a ciphertext or an unreadable form. A very simple example of encrypting text is:

Hello this is Knownymous and this is a ciphertext.

Uryyb guvf vf Xabjalzbhf naq guvf vf n pvcuregrkg.

If you read it carefully, you will notice that every letter of the English alphabet is converted to its next 13th letter in the English alphabet, so 13 is the key here, needed to decrypt it. It was known as Caesar cipher (Yes, the method is named after Julius Caesar).

Since then there are many encryption techniques (Cryptography) developed like- Diffie–Hellman key exchange (DH), RSA.

The techniques can be used in two ways:

Mark Text vs. Typora: Best Markdown Editor For Linux?

Mark Text vs. Typora: Best Markdown Editor For Linux?

Markdown is a widely used markup language, which is now not only used for creating documentation or notes but also for creating static websites (using Hugo or Jekyll). It is supported by major sites like GitHub, Bitbucket, GitLab, Stack Exchange, and Reddit.

Markdown follows a simple easy-to-read and easy-to-write plain text formatting syntax. By just using non-alphabetic characters like asterisk (*), hashtag (#), backtick (`), or dash (-), you can format text as bold, italics, lists, headings, tables and so on.

Now, to write in Markdown, you can choose any Markdown applications available for Windows, macOS, and Linux desktop. You can even use web-based in-browser Markdown editors like StackEdit. But if you’re specifically looking for the best Markdown editor for Linux desktop, I present you two Markdown editors: Mark Text and Typora.

I’ve also tried other popular Markdown apps available for Linux platforms such as Joplin, Remarkable, ReText, and Mark My Words. But the reason I chose Mark Text and Typora is the seamless live preview features with distraction free user interface. Unlike other Markdown editors, these two do not have a dual panel (writing and preview window) interface, which is why I find both the most distinguishable applications among others.

Typora vs. Mark Text

Before I start discussing the extensive dissimilarities between Typora and Mark Text, let me briefly tell you the common features that both of them offer.

Similarities Between Mark Text And Typora

  • Real time preview
  • Export to HTML and PDF
  • GitHub Flavored Markdown
  • Inline styles
  • Code and Math Blocks
  • Support for Flowchart, Sequence diagram
  • Light and Dark Themes
  • Source Code, Typewriter, and Focus mode
  • Auto save
  • Paste images directly from clipboard
  • Available for Linux, macOS, and Windows

Differences Between Mark Text And Typora

Installation

If you’re a beginner and using non-Debian Linux distribution, you may find it difficult to install Typora. This is because Typora is packaged and tested only on Ubuntu, hence, you can install it easily on Debian-based distros like Ubuntu and Linux Mint by using commands or Debian packages, but not on other distros like Arch, or Void, where you’ve to build from binary packages for which official command is also not available.

Quick Tutorial on How to Use Shell Scripting in Linux: Coin Toss App

How to Use Shell Scripting in Linux

Simply put, a Shell Script is a program that is run by a UNIX/Linux shell. It is a file that contains a series of commands which are executed sequentially as if they were entered on the command line interface (CLI) or terminal.

In this quick tutorial on Shell Scripting, we will write a simple program to toss a coin. Basically, the output of our program should be either HEADS or TAILS (of course, randomly).

To start with, the first line of a shell script should indicate which interpreter/shell is to be used to execute the script. In this tutorial we will be using /bin/bash and it will be denoted as #!/bin/bash which is called a shebang!

Next, we will be using an internal Bash function - a shell variable named RANDOM. It returns a random (actually, pseudorandom) integer in the range 0-32767. We will use this variable to get 2 random values – either 0 (for HEADS) or 1 (for TAILS). This will be done via a simple arithmetic operation in shell using % (Modulus operator, returns remainder), $((RANDOM%2)) and this will be stored in a result variable. So, the second line of our program becomes Result=$((RANDOM%2)) – Note that there should be no space around = (assignment operator) while assigning value to a variable in shell scripts.

At last, we just need to print HEADS if we got 0 or TAILS if we got 1, in the Result variable. Perhaps you guessed it by now, we will use if conditional statements for this. Within the conditions, we will compare the value of Result variable with 0 and 1; and print HEADS or TAILS accordingly. For this, the operator for integer comparison -eq (is equal to) is used to check if the value of two operands are equal or not.

Ergo, our shell script looks like the following:

 

#!/bin/bash
Result=$((RANDOM%2))
if [[ ${Result} -eq 0 ]]; then
    echo HEADS
elif [[ ${Result} -eq 1 ]]; then
    echo TAILS
fi

 

Let’s say we name the script cointoss.sh – Note that .sh is only to make it identifiable for user(s) that the file/script is a shell script. And, Linux is an Extensionless system.

Finally, to run the script we need to make it executable and that can be done by using the chmod command – chmod +x cointoss.sh

Few script executions:

 

$ ./cointoss.sh

TAILS

$ ./cointoss.sh

HEADS

$ ./cointoss.sh

HEADS

$ ./cointoss.sh

TAILS

 

 

To wrap up, in this quick tutorial about writing shell scripts, we learned about shebang, RANDOM, variable assignment, an arithmetic operation using Modulus operator %, if conditional statements, integer comparison operator -eq and executing a shell script.

How To Kill Zombie Processes on Linux

How To Kill Zombie Processes on Linux

Killing Zombies!

Also known as “defunct” or “dead” process – In simple words, a Zombie process is one that is dead but is present in the system’s process table. Ideally, it should have been cleaned from the process table once it completed its job/execution but for some reason, its parent process didn’t clean it up properly after the execution.

In a just (Linux) world, a process notifies its parent process once it has completed its execution and has exited. Then the parent process would remove the process from process table. At this step, if the parent process is unable to read the process status from its child (the completed process), it won’t be able to remove the process from memory and thus the process being dead still continues to exist in the process table – hence, called a Zombie!

In order to kill a Zombie process, we need to identify it first. The following command can be used to find zombie processes:

$ ps aux | egrep "Z|defunct"

Z in the STAT column and/or [defunct] in the last (COMMAND) column of the output would identify a Zombie process.

Now practically you can’t kill a Zombie because it is already dead! What can be done is to notify its parent process explicitly so that it can retry to read the child (dead) process’s status and eventually clean them from the process table. This can be done by sending a SIGCHLD signal to the parent process. The following command can be used to find the parent process ID (PID):

$ ps -o ppid=

Once you have the Zombie’s parent process ID, you can use the following command to send a SIGCHLD signal to the parent process:

$ kill -s SIGCHLD

However, if this does not help clearing out the Zombie process, you will have to kill or restart its parent process OR in case of a huge surge in Zombie processes causing or heading towards system outage, you will have no choice but to go for a system reboot. The following command can be used to kill its parent process:

$ kill -9

Note that killing a parent process will affect all of its child processes, so a quick double check will be helpful to be safe. Alternatively, if few lying zombie processes are not consuming much CPU/Memory, it’s better to kill the parent process or reboot the system in the next scheduled system maintenance.

Linux Command Line Interface Introduction: A Guide to the Linux CLI

Linux Command Line Interface Introduction: A Guide to the Linux CLI

Let’s get to know the Linux Command Line Interface (CLI).

Introduction

The Linux command line is a text interface to your computer.

Also known as shell, terminal, console, command prompts and many others, is a computer program intended to interpret commands.

Allows users to execute commands by manually typing at the terminal, or has the ability to automatically execute commands which were programmed in “Shell Scripts”.

A bit of history

The Bourne Shell (sh) was originally developed by Stephen Bourne while working at Bell Labs.

Released in 1979 in the Version 7 Unix release distributed to colleges and universities.

The Bourne Again Shell (bash) was written as a free and open source replacement for the Bourne Shell.

Given the open nature of Bash, over time it has been adopted as the default shell on most Linux systems.

First look at the command line

Now that we have covered some basics, let’s open a terminal window and see how it looks!

First look at the command line

When a terminal is open, it presents you with a prompt.

Let's analyze the screenshot above:

Line 1: The shell prompt, it is composed by username@hostname:location$

  • Username: our username is called “john”
  • Hostname: The name of the system we are logged on
  • Location: the working directory we are in
  • $: Delimits the end of prompt

After the $ sign, we can type a command and press Enter for this command to be executed.

Line 2: After the prompt, we have typed the command whoami which stands for “who am i“ and pressed [Enter] on the keyboard.

How To Upgrade From Fedora 32 To Fedora 33 [CLI & Graphical Methods]

How To Upgrade From Fedora 32 To Fedora 33

Last week, a Red Hat-sponsored community project, Fedora, announced the availability of Fedora 33 Beta. It is a prerelease version of the upcoming Fedora 33 Linux distribution, whose final stable version will arrive in the last week of October.

Fedora 33 is one of the exciting releases as it contains the fundamental shift of the default filesystem from ext4 to btrfs for all Fedora desktop editions and spins, along with other new features and visual changes.

Here are some of the key updates that Fedora 33 Beta includes:

  • GNOME 3.38 desktop environment
  • Linux Kernel 5.8
  • GNU Nano as default terminal text editor
  • earlyOOM enabled by default in Fedora 33 KDE
  • Fedora IoT as an official edition
  • Package update like Ruby, Python, and Perl

For complete details of all features, you can check out the Fedora 33 change set.

Coming to the main topic, you can also upgrade your current Fedora system to the beta version of Fedora 33, which you’ll also be able to upgrade further to the final stable release by simply updating your system once it arrives at the end of October.

So, if you’re the one who wants to test all new features of the upcoming Fedora 33, come along with me and upgrade your Fedora 32 Workstation to the Fedora 33 Beta Workstation using either of two methods.

If you’re comfortable playing with the terminal, you can upgrade Fedora 32 to 33 using the command line method or else follow the upgrade process using the graphical Software Center app.

What You Need To Do Before Upgrading Fedora Linux

Before you follow the steps to upgrade your Fedora Workstation, I would highly recommend backing up your data. Well, I didn’t encounter any problems while upgrading but if your data is very important, then I would say prevention is better than a cure.

After data backup, you should also keep it in mind that upgrading the system takes time. So, before you start this operation, buy enough time to finish the upgrade process properly. Needless to say, you should also have a stable internet connection to download all the update data.

Lastly, I also want to mention that the new release may halt some of the functions that worked perfectly in your previous version. For example, I was using Dash to Dock GNOME extension, which was broken in GNOME 3.38. So, I needed to re-install it manually.

Now, let’s begin the migration to Fedora 33.

Upgrade Fedora Linux To New Release Using Terminal

First, open the terminal and run the following command to update your system by getting the latest software packages for Fedora 32.

$ sudo dnf upgrade --refresh

Linux Mint 20.1 “Ulyssa” Will Arrive In Mid-December With Chromium, WebApp Manager

Article Images
Image
Linux Mint 20.1 “Ulyssa” Will Arrive In Mid-December With Chromium, WebApp Manager

As the Linux Mint team is progressing to release the first point version of Linux Mint 20 series, its founder and project leader Clement Lefebvre has finally revealed the codename for Linux Mint 20.1 as “Ulyssa”. He has also announced that Mint 20.1 will most probably arrive in mid-December (just before Christmas).

Until you wait for its beta release to test Linux Mint 20.1, Clement has also shared some great news regarding the new updates and features that you’ll get in Mint 20.1.

First, packaging of open source Chromium web browser and its updates directly through the official Mint repositories. As the team noticed delays between the official release and the version available in Linux distros, it has now decided to set up their own packaging and build Chromium package based on upstream code, along with some patches from Debian and Ubuntu as well.

As a result, the first test build of Chromium is available to download from here.

In last month's blog, the Mint team introduced a new WebApp Manager, inspired by Peppermint OS and its SSB (Site Specific Browser) application manager, ICE. It is a WebApp management system that will debut in Linux Mint 20.1 to turn a website into a standalone desktop application.

However, the Debian package of WebApp Manager v1.0.5 is now available to download, which comes with UI improvements, bug fixes and better translations for languages.

 

Web App Manager

 

Another feature that you’ll be thrilled to see in Linux Mint 20.1 is the hardware video acceleration enabled by default in the Celluloid video player. Obviously, hardware-accelerated players will bring smoother playback, better performance and reduced CPU usage.

 

Hardware Video Acceleration

 

Besides the confirmed features, the Linux Mint team is also looking for feedback on a side-project by Stephen Collins, “Sticky notes.” It is a note-taking app, which is still in Alpha stage. But if all goes well, who knows, you’ll see Sticky notes app in the upcoming Linux Mint.

 

Sticky Notes

 

The Linux Mint team has also asked for opinion on IPTV (Internet Protocol Television). If you use M3U IPTV on your phone, tablet or smart TV, you can let them know. The team seems interested to develop an IPTV solution for Linux desktop as a side project if the audience is small or turn it into an official Linux Mint project, if demand is good enough.