CentOS Wget Install and Usage – Linux Hint

When working with Linux, especially on the professional and enterprise environment, there’s always the necessity of downloading a number of files from the internet time to time. Especially in the professional environment that requires a lot of scripting, a suitable download manager is always welcome.

For the enterprise, RHEL is the most suitable one as it’s well maintained with tons of support from both the community and the developers. CentOS, on the other hand, is the free edition of RHEL that offers a great ground for practicing and getting a grab of the enterprise environment.

Are you a CentOS user? So am I! I recently started my journey with CentOS on my virtual machine.

For scripting and other purposes, “wget” is an extremely suitable choice. Wget is a part of the GNU Project software that offers a very basic download manager. It’s free and open-source and capable of handling all the popular Internet protocols like HTTP, HTTPS, FTP and FTPS.

Wget is a non-interactive command-line tool. That makes it extremely suitable for almost any purpose. Let’s get wget in our CentOS!

By default, CentOS should come up with wget. Make sure that your system comes up with wget by running the following command –

If you didn’t get the result, you should install wget into your system right now!

Installing Wget

There are 2 different ways of installing wget into your system – installing from CentOS repository or, building it from source.

Grabbing wget from CentOS repo

At first, make sure that your system is up-to-date –

Then, run the command for installing wget –

  • Installing from source

This method applies to all the other Linux distros as well. We have to grab the source code and build it in our system.

Make sure that your CentOS system comes up with all the necessary development tools –

sudo yum groupinstall “Development Tools”
sudo yum install glibc-devel glibc-headers kernel-headers kernel-devel gnutls-devel

Grab the source code from the official GNU FTP server

Then, extract the source code –

tar -xvzf wget-latest.tar.gz

Now, start the building process –

cd wget-1.20/
./configure

Finally, perform the installation –

Wget usage

Wget is a very simple tool to use. Generally, all you need to tell is the download link of the file. For example, let’s download the source code of “wget” once again –

wget ftp.gnu.org/gnu/wget/wget-latest.tar.gz

There are also a number of other advanced options available. For example, you can set the file name of the download into a different one using “-O” flag.

wget -O wget-source.tar.gz ftp.gnu.org/gnu/wget/wget-1.19.tar.gz

Need to download multiple files? Just state their respective download URLs one after another!

wget ftp.gnu.org/gnu/wget/wget-1.6.tar.gz ftp.gnu.org/gnu/wget/wget-1.7.tar.gz

It’s also possible to download all the links from a file. For example,

# download.txt
https://ftp.gnu.org/gnu/wget/wget-1.6.tar.gz
https://ftp.gnu.org/gnu/wget/wget-1.7.tar.gz

Now, tell wget to use the file as the source of download URLs –

For an in-depth guide on wget, you should use the “wget” help page.

Enjoy!

Source

8 Tips to Help Non-Techies Move to Linux | Linux.com

1. Be honest about Linux.

Linux is great. It’s not perfect, though. It can be perplexing and sometimes frustrating for new users. It’s best to prepare the person you’re helping with a short pep talk.

What should you talk about? Briefly explain what Linux is and how it differs from other operating systems. Explain what you can and can’t do with it. Let them know some of the pain points they might encounter when using Linux daily.

If you take a bit of time to ease them into Linux and open source, the switch won’t be as jarring.

2. It’s not about you.

It’s easy to fall into what I call the power user fallacy: the idea that everyone uses technology the same way you do. That’s rarely, if ever, the case.

This isn’t about you. It’s not about your needs or how you use a computer. It’s about the person you’re helping’s needs and intentions. Their needs, especially if they’re not particularly technical, will be different from yours.

It doesn’t matter if Ubuntu or Elementary or Manjaro aren’t your distros of choice. It doesn’t matter if you turn your nose up at window managers like GNOME, KDE, or Pantheon in favor of i3 or Ratpoison. The person you’re helping might think otherwise.

Put your needs and prejudices aside and help them find the right Linux distribution for them. Find out what they use their computer for and tailor your recommendations for a distribution or three based on that.

3. Not everyone’s a techie.

And not everyone wants to be. Everyone I’ve helped move to Linux in the last 10 months has no interest in compiling kernels or code nor in editing and tweaking configuration files. Most of them will never crack open a terminal window. I don’t expect them to be interested in doing any of that in the future, either.

Guess what? There’s nothing wrong with that. Maybe they won’t get the most out ofLinux (whatever that means) by not embracing their inner geeks. Not everyone will want to take on challenges of, say, installing and configuring Slackware or Arch. They need something that will work out of the box.

4. Take stock of their hardware.

In an ideal world, we’d all have tricked-out, high-powered laptops or desktops with everything maxed out. Sadly, that world doesn’t exist.

That probably includes the person you’re helping move to Linux. They may have slightly (maybe more than slightly) older hardware that they’re comfortable with and that works for them. Hardware that they might not be able to afford to upgrade or replace.

Also, remember that not everyone needs a system for heavy-duty development or gaming or audio and video production. They just need a computer for browsing the web, editing photos, running personal productivity software, and the like.

One person I recently helped adopt Linux had an Acer Aspire 1 laptop with 4GB of RAM and a 64GB SSD. That helped inform my recommendations, which revolved around a few lightweight Linux distributions.

5. Help them test-drive some distros.

The DistroWatch database contains close to 900 Linux distributions. You should be able to find three to five Linux distributions to recommend. Make a short list of the distributions you think would be a good fit for them. Also, point them to reviews so they can get other perspectives on those distributions.

When it comes time to take those Linux distributions for a spin, don’t just hand someone a bunch of flash drives and walk away. You might be surprised to learn that most people have never run a live Linux distribution or installed an operating system. Any operating system. Beyond plugging the flash drives in, they probably won’t know what to do.

Instead, show them how to create bootable flash drives and set up their computer’s BIOS to start from those drives. Then, let them spend some time running the distros off the flash drives. That will give them a rudimentary feel for the distros and their window managers’ quirks.

6. Walk them through an installation.

Running a live session with a flash drive tells someone only so much. They need to work with a Linux distribution for a couple or three weeks to really form an opinion of it and to understand its quirks and strengths.

There’s a myth that Linux is difficult to install. That might have been true back in the mid-1990s, but today most Linux distributions are easy to install. You follow a few graphical prompts and let the software do the rest.

For someone who’s never installed any operating system, installing Linux can be a bit daunting. They might not know what to choose when, say, they’re asked which filesystem to use or whether or not to encrypt their hard disk.

Guide them through at least one installation. While you should let them do most of the work, be there to answer questions.

7. Be prepared to do a couple of installs.

As I mentioned a paragraph or two ago, using a Linux distribution for two weeks gives someone ample time to regularly interact with it and see if it can be their daily driver. It often works out. Sometimes, though, it doesn’t.

Remember the person with the Acer Aspire 1 laptop? She thought Xubuntu was the right distribution for her. After a few weeks of working with it, that wasn’t the case. There wasn’t a technical reason—Xubuntu ran smoothly on her laptop. It was just a matter of feel. Instead, she switched back to the first distro she test drove: MX Linux. She’s been happily using MX ever since.

8. Teach them to fish.

You can’t always be there to be the guiding hand. Or to be the mechanic or plumber who can fix any problems the person encounters. You have a life, too.

Once they’ve settled on a Linux distribution, explain that you’ll offer a helping hand for two or three weeks. After that, they’re on their own. Don’t completely abandon them. Be around to help with big problems, but let them know they’ll have to learn to do things for themselves.

Introduce them to websites that can help them solve their problems. Point them to useful articles and books. Doing that will help make them more confident and competent users of Linux—and of computers and technology in general.

Final thoughts

Helping someone move to Linux from another, more familiar operating system can be a challenge—a challenge for them and for you. If you take it slowly and follow the advice in this article, you can make the process smoother.

Do you have other tips for helping a non-techie switch to Linux? Feel

Read more at OpenSource.com

Install VirtualBox 6.0 on Debian – Linux Hint

VirtualBox is a free virtualization solution from Oracle. Recently, VirtualBox 6.0 was released, which is a major update over VirtualBox 5.2. In this article, I will show you how to install VirtualBox 6.0 on Debian. I will be using Debian 9 Stretch for the demonstration. But the procedures shown here should work on Debian 8, and Debian 10 as well. So, let’s get started.

Before you read any further, please enable VT-x/VT-d/AMD-v from the BIOS of your computer. VT-x/VT-d for Intel processors and AMD-v is for AMD processors. You should be able to find one of these in the BIOS depending on the processor you’re using. Without hardware virtualization enabled, the performance of your virtual machines will be really bad. It is obviously not what you want.

Downloading VirtualBox 6.0:

VirtualBox 6.0 is not available in the official package repository of Debian 8, Debian 9 or Debian 10. But, you can easily download and install it from the official website of VirtualBox.

First, visit the official website of VirtualBox at https://www.virtualbox.org/wiki/Linux_Downloads

Now, click on either Debian 8, Debian 9, or Debian 10 link depending on the version of Debian you’re using.

Your browser should prompt you to download the DEB package file. Select Save File and click on OK.

Your download should start. It may take a while to complete.

Installing Required Build Tools for Compiling VirtualBox 6.0 Kernel Modules:

In order to successfully compile the VirtualBox 6.0 kernel module, you have to have the required build tools installed on your Debian machine. Otherwise, VirtualBox 6.0 may not work correctly.

First, update the APT package repository cache with the following command:

Now, install all the required build tools with the following command:

$ sudo apt install build-essential linux-headers-$(uname -r)

Now, press y and then press <Enter> to continue.

All the required packages should be downloaded and installed.

All the required build tools are installed at this point.

Installing VirtualBox 6.0:

Now that VirtualBox 6.0 DEB package is downloaded and the system is ready to compile the VirtualBox kernel modules, we can install VirtualBox 6.0 on our Debian machine very easily.

First, navigate to the directory where you downloaded the VirtualBox 6.0 DEB file with the following command:

As you can see, the VirtualBox DEB package file is here.

Now, install VirtualBox 6.0 with the following command:

$ sudo dpkg -i virtualbox-6.0_6.0.0-127566~Debian~stretch_amd64.deb

You may see the following errors.

To fix that and install VirtualBox 6.0, just run the following command:

Now, press y and then press <Enter>.

VirtualBox 6.0 should be installed.

Starting VirtualBox 6.0:

Now that VirtualBox 6.0 is installed, you can run it from the Application Menu of your desired desktop environment.

VirtualBox 6.0 has started. This is the dashboard of VirtualBox 6.0. From here you can create and manage virtual machines. You can also configure VirtualBox 6.0.

Downloading VirtualBox Extension Pack:

VirtualBox Extension Pack adds features such as USB 2.0 and USB 3.0 support, RDP, disk encryption etc on top of VirtualBox. I highly recommend you download and install it for a smooth VirtualBox 6.0 experience.

To download VirtualBox Extension Pack, go to the official website of VirtualBox at https://www.virtualbox.org/wiki/Downloads and navigate to the VirtualBox 6.0.0 Oracle VM VirtualBox Extension Pack section. Now, click on All supported platforms as marked in the screenshot below.

Your browser should prompt you to download the file. Just select Save File and click on OK.

Your browser should start downloading the file. It may take a while to complete.

Installing VirtualBox Extension Pack on VirtualBox 6.0:

Now, to install VirtualBox Extension Pack on VirtualBox 6.0, start VirtualBox 6.0 and go to File > Preferences…

Now, from the Extensions tab, click on Add icon as marked in the screenshot below.

A file picker should be opened. Now, select the VirtualBox Extension Pack file that you just downloaded and click on Open.

Now, click on Install.

Now, you have to accept the VirtualBox License Agreement. To do that, just scroll down to the end and click on I Agree.

Now, type in your root password and click on OK.

VirtualBox Extension Pack should be installed. Now, click on OK.

Click on OK.

Now, you’re ready to use VirtualBox 6.0.

So, that’s how you install VirtualBox 6.0 on Debian. Thanks for reading this article.

Source

How To Install and Configure Zabbix on CentOS 7

Zabbix is a full-featured open source monitoring software. Zabbix collects metrics from your networks devices, systems and applications and ensures they are up and running. In case of any issues Zabbix will send notification alerts via various methods.

Zabbix can be deployed for agent-based and agent-less monitoring. The Zabbix agent has a small footprint and can run on various platforms, including Linux, UNIX, macOS and Windows.

This tutorial explains how to install and configure the latest version of Zabbix 4.0 on a CentOS 7 server using MariaDB as a database back-end. We will also show you how to install the Zabbix agent on a remote host and add the host to the Zabbix server.

Prerequisites

You’ll need to be logged in as a user with sudo access to be able to install packages.

Creating MySQL Database

Zabbix supports MySQL(/post/install-mysql-on-centos-7/)/MariaDB and PostgreSQL as the database servers. In this tutorial we’ll use MariaDB as a database back-end.

If you don’t have MariaDB installed on your CentOS server you can install by following this instructions.

Login to the MySQL shell by typing the following command:

From inside the mysql console, run the following SQL command to create a new database:

CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;

Next, create a MySQL user account and grant access to the database:

GRANT ALL ON zabbix.* TO ‘zabbix’@’localhost’ IDENTIFIED BY ‘change-with-strong-password’;

Make sure you change change-with-strong-password with a strong password.

Once done, exit the mysql console by typing:

Installing Zabbix on CentOS

At the time of writing this article, the latest stable version of Zabbix is version 4.0. The Zabbix packages available in CentOS repositories are outdated so we’ll use the official Zabbix repository.

1. Installing Zabbix

Download the latest Zabbix repository .rpm package with following wget command:

wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

Once the file is downloaded, add the Zabbix repository to your CentOS 7 system by typing:

sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm

Install the Zabbix server, the web frontend with MySQL database support and the Zabbix agent packages:

sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

If Apache and PHP are not already installed on your serve the command above will install them.

2. Configuring PHP for Zabbix frontend

During the installation an Apache configuration file is created that contains all the required Apache and PHP settings. You only need to make a small change and set the appropriate timezone.

Open the configuration file, uncomment the timezone line and change it to your time zone. You can find the complete list of timezones supported by PHP here.

/etc/httpd/conf.d/zabbix.conf


<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Riga
</IfModule>

Once done, save the configuration file and restart the Apache service for the changes to take effect:

sudo systemctl restart httpd

3. Configuring the MySQL Database For Zabbix Server

The Zabbix installation package provides a dump file which includes an initial schema and data for the Zabbix server with MySQL.

Import the MySQL dump file by running:

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

When prompted enter the user password you created previously. On success, no output is given.

Next, open the Zabbix configuration file in your editor:

sudo nano /etc/zabbix/zabbix_server.conf

Search for the following section, uncomment the DBPassword directive and add the database password.

/etc/zabbix/zabbix_server.conf


### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password

Save and close the file.

Restart the Zabbix server and agent services and enable them to start at system boot:

sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent

Check the status of the Zabbix server:

sudo systemctl status zabbix-server

The output should show active (running):

● zabbix-server.service – Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2018-12-30 21:18:01 UTC; 51s ago
Main PID: 5558 (zabbix_server)
CGroup: /system.slice/zabbix-server.service

Installing and Configuring Zabbix Frontend

Zabbix web interface is written in PHP and allows us to configure the server, view gathered data and add hosts that we want to monitor.

Before start using the web interface, we need to instal it.

Open your favorite browser and type your server’s domain name or public IP address followed by /zabbix:

http(s)://your_domain_or_ip_address/zabbix

On the first screen, you will we presented with a welcome message. Click Next step to continue.

Next, you will see the following information page that lists all of the PHP prerequisites required to run the Zabbix Frontend. All of the values in this table should be OK, scroll down to verify to that everything is set up correctly. Once verified, click Next step to proceed.

On the next screen the setup wizard will ask you to enter your database connection details. Enter the MySQL user and database details you previously created.

Entering a name for the server is optional. Enter it if you have more than one Zabbix monitoring servers. If provided, it will be displayed in the menu bar and page titles.

Click Next step to continue.

On the next screen you will be shown the pre-installation summary.

Click Next step and once the installation is completed you will be taken to a page informing you that Zabbix web interface has been installed. To access your Zabbix login page click on the Finish button.

The default user is “Admin” and the password is “zabbix”. Enter the username and password and click on the Log in button.

Once you log in, you will be redirected to the Zabbix administration dashboard.

From here your can start customizing your Zabbix installation and adding new hosts. Your first step should be to change the current password. To do that navigate to the user profile page by clicking on the profile icon on the top navigation.

Adding a New Host to Zabbix Server

The procedure for adding a new host for monitoring to the Zabbix server includes two steps.

First you need to install the Zabbix agent on the remote host and then add the host to the Zabbix server through the web interface.

Installing the Zabbix agent

This tutorial assumes that the host machine also uses CentOS 7.

Same as when installing the Zabbix server, run the following commands to enable the Zabbix repository:

wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm

Install the Zabbix agent package:

sudo yum install zabbix-agent

Zabbix supports two two methods for server-client communication encryption, Preshared Key (PSK) and certificate-based encryption. In this tutorial we will use the pre-shared keys (PSK) method to secure the connection between the server and agent.

Use to following command to generate a pre-shared key and save it to a file:

openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk

The PSK key will look something like this:

fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6

Open the Zabbix agent configuration file:

sudo nano /etc/zabbix/zabbix_agentd.conf

Search for the Server IP Address and change it from the default value to your Zabbix server IP:

/etc/zabbix/zabbix_agentd.conf


### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then ‘127.0.0.1’, ‘::127.0.0.1’, ‘::ffff:127.0.0.1’ are treated equally
# and ‘::/0’ will allow any IPv4 or IPv6 address.
# ‘0.0.0.0/0’ can be used to allow any IPv4 address.
# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=

Server=127.0.0.1

Next, find the TSLConnect option, uncomment it and set it to psk:

/etc/zabbix/zabbix_agentd.conf


### Option: TLSConnect
# How the agent should connect to server or proxy. Used for active checks.
# Only one value can be specified:
# unencrypted – connect without encryption
# psk – connect using TLS and a pre-shared key
# cert – connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for ‘unencrypted’ connection)
# Default:
TLSConnect=psk

Locate the TLSAccept option, uncomment it and set it to psk:

/etc/zabbix/zabbix_agentd.conf


### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted – accept connections without encryption
# psk – accept connections secured with TLS and a pre-shared key
# cert – accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for ‘unencrypted’ connection)
# Default:
TLSAccept=psk

Next, find the TLSPSKIdentity option, uncomment it and set it to PSK 001 The value needs to be a unique string:

/etc/zabbix/zabbix_agentd.conf


### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001

Finally, locate the TLSPSKFile option, uncomment it and set it to point to the previously created pre-shared key:

/etc/zabbix/zabbix_agentd.conf


### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk

Once done, save and close the file.

Start the Zabbix agent service and set it to start at boot time with:

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

Next, you’ll need to add a firewall rule that enables traffic from your Zabbix server on TCP port 10050.

Assuming you are using FirewallD to manage your firewall and you want to allow access from the 192.168.121.70 IP address you would run the following command:

sudo firewall-cmd –new-zone=zabbix –permanent
sudo firewall-cmd –zone=special –add-source=192.168.121.70/32
sudo firewall-cmd –zone=special –add-port=10050/tcp

Set up a New Host

Now that the agent on the remote host that you want to monitor is installed and configured the nex step is to register the host on the Zabbix server.

Log in to the Zabbix Server web interface as the admin user:

http(s)://your_domain_or_ip_address/zabbix

Once inside, in the top navigation bar click on the Configuration, and then Hosts

Next, click on the blue Create host button in the top right corner of the screen and the host configuration page will open:

Enter the Host name and the IP Address of the remote host machine you want to monitor. Add the host to one or multiple groups by selecting the group from the list, or enter a non-existing group name to create a new one. The Linux Servers group is a good choice.

Once done, click the Templates tab. Select the Template OS Linux and click on the Add link to add the template to the host.

Next, click on the Encryption tab. Select PSK for both Connections to host and Connections from host.

Set the PSK identity value to PSK 001, the value of the TLSPSKIdentity option of the Zabbix agent you configured in the previous step.

In the PSK value filed add the key you generated for the Zabbix agent, the one stored in the /etc/zabbix/zabbix_agentd.psk file.

Finally, to add the host click on the blue Add button.

Conclusion

You have successfully installed the latest Zabbix on your CentOS system and learned how to add new hosts that you want to monitor.

You should now check the Zabbix Documentation and learn more about how to configure and use Zabbix.

If you hit a problem or have a feedback, leave a comment below.

Source

Some Linux games we’re excited to see in 2019, a list to keep you going

Now that 2019 is here, let’s take a look at what interesting games Linux fans can expect to see across this year.

Grab a coffee, wipe away that new-year hangover from the wild party you had and take a look at just a small selection of what’s to come. We have a pretty mixed selection here, hopefully it will serve as a nice reminder for some titles perhaps you had missed being announced last year.

Xenosis: Alien Infection – NerdRage Studios

“You are a deep space salvage hunter who discovers the remains of the Starship Carpathian, thought to have been destroyed 50 years ago. You’ve hit the jackpot. The data core housed in the ship’s AI will be worth a lifetime of credits on the Black Market, so you dock with the ship to retrieve it.”

Jon Shafer’s At the Gates – Conifer Games

“At the Gates is an indie strategy game from Jon Shafer, designer of Civilization 5. You are a dark age lord building a kingdom to replace the crumbling Roman Empire. Manage your clans, explore the landscape around you, harvest its resources, and build a mighty economic and military machine.”

Tropico 6 – Limbic Entertainment

“For the first time in the series, manage extensive archipelagos, build bridges to connect your islands and use new means of transportation and infrastructure. Send your Tropicans on raids to steal the wonders of the world, including the Statue of Liberty and the Eiffel Tower. Customize your palace at will and give election speeches from your balcony, to win the favor of your subjects.”

Stoneshard – Ink Stains Games

“Stoneshard is a turn-based RPG about exploring a vast, procedurally-generated medieval world, managing your own caravan and surviving by managing both physical wounds and trying to stay sane. Embark on an epic journey and decide the fate of a kingdom in this grim adventure!”

Beyond Blue – E-Line Media

“Set in the near future, players will explore the mysteries of our ocean through the eyes of Mirai, the lead on a newly formed research team that will use groundbreaking technologies to see, hear, and sense the ocean in a more meaningful way than has ever been attempted. The game will feature evocative narrative elements, exploration of this untouched world, and adventure that challenges the player to make high-stakes decisions during the crew’s expedition.”

Voxel Tycoon – Voxel Tycoon

“Voxel Tycoon — a tycoon strategy game about transportation, building complex factories, and mining in a beautiful voxel landscapes.”

Eastshade – Eastshade Studios

“You are a travelling painter, exploring the island of Eastshade. Capture the world on canvas using your artist’s easel. Talk to the inhabitants to learn about their lives. Make friends and help those in need. Visit cities, scale summits, unearth mysteries, and discover forgotten places!”

The First Men – Pera Games

“A real-time 4x strategy in a fantasy world. Customize your Adam and Eve, go head-to-head with other races while conducting diplomacy, waging war, and advancing The First Men.”

Godhood – Abbey Games

“As a newborn deity, create and grow your own religion by careful management of your followers. Guide your disciples into the Sacrament as rival deities and their followers contest your claim to power and glory.”

Imperator: Rome – Paradox Development Studio

“Imperator: Rome is the newest grand strategy title from Paradox Development Studio. Set in the tumultuous centuries from Alexander’s Successor Empires in the East to the foundation of the Roman Empire.”

Starmancer – Ominux Games

“Starmancer is a Dwarf Fortress inspired space station building game. After a catastrophe on Earth, humanity launches the Starmancer Initiative in a desperate attempt to seek refuge among the stars. Your task as a Starmancer is to construct and manage a colony capable of sustaining human life.”

Monster Crown – Studio Aurum

“Monster Crown – Dark Monster Catching Game with True Crossbreeds Featuring a brand new dynamic breeding system and a deep story in a world filled to the brim with optional content. Offer contracts to dangerous beasts and breed them to create new species.”

Jupiter Hell – ChaosForge

“Jupiter Hell is a classic turn-based roguelike set in a 90’s flavored sci-fi universe. Rip and tear zombies, demons and unmentionable monstrosities, using shotguns, chainguns and the trusty chainsaw, to the shine of CRT monitors and the tune of heavy metal!”

We Happy Few – Compulsion Games

“We Happy Few is the tale of a plucky bunch of moderately terrible people trying to escape from a lifetime of cheerful denial in the city of Wellington Wells. In this alternative 1960s England, conformity is key. You’ll have to fight or blend in with the drug-addled inhabitants, most of whom don’t take kindly to people who won’t abide by their not-so-normal rules.”

Life is Strange 2 – Feral Interactive Linux port

“Two brothers Sean and Daniel Diaz, are forced to run away from home after a tragic incident in Seattle. In fear of the police, Sean & Daniel head to Mexico while attempting to conceal a sudden & mysterious supernatural power.”

Serious Sam 4: Planet Badass – Croteam

“Developed by true shooter veterans in Croteam, Serious Sam 4: Planet Badass reignites the classic series by improving on the old-school formula. Enjoy the high-adrenaline action combat with an unbelievably destructive arsenal and experience Sam’s iconic enemy-annihilating circle-strafing and backpedaling dance-routine on an even bigger scale.”

Mosaic – Krillbite Studio

“Mosaic is a 3D adventure game with 2D puzzle elements.

From the creators of Among the Sleep, Krillbite Studio is going from horrors of childhood to the dreadful horrors of adult life.”

Krillbite are keen to mention Mosaic is not a horror game.

DiRT 4 – Feral Interactive Linux port

“With DiRT 4, Codemasters have sought to combine the levels of thrill and realism from last year’s DiRT Rally with the fearless excitement, accessibility and adrenaline-fuelled races previously seen in its critically acclaimed prequels DiRT 2 and DiRT 3.”

Pathway – Robotality

“Pathway is a strategy adventure game featuring turn-based combat and unique story encounters. Explore temples, tombs and the desert wilderness in a grand pulp adventure!”

Shadow of the Tomb Raider – Feral Interactive Linux port

“Experience Lara Croft’s defining moment as she becomes the Tomb Raider. In Shadow of the Tomb Raider, Lara must master a deadly jungle, overcome terrifying tombs, and persevere through her darkest hour. As she races to save the world from a Maya apocalypse, Lara will ultimately be forged into the Tomb Raider she is destined to be.”

KURSK – Jujubee S.A.

“KURSK is the first ever adventure and documentary video game inspired by real events. You assume the role of a spy who finds way on the Russian nuclear submarine K-141 Kursk. Your task is to collect secret information about the revolutionary Shkval supercavitating torpedoes.”

Off Grid – Semaeopus

“Off Grid is a 3rd person stealth hacking game where data is your most powerful weapon. Off Grid forgoes combat for hacking tools and ingenuity, and is completely moddable.”

Total War: THREE KINGDOMS – Feral Interactive Linux port

“Total War: THREE KINGDOMS is the first in the award-winning series to recreate epic conflict across ancient China. Combining a gripping turn-based campaign of empire-building & conquest with stunning real-time battles, THREE KINGDOMS redefines the series in an age of heroes & legends.”

Overland – Finji

“Overland is squad-based survival strategy game with procedurally generated levels set in post-apocalyptic North America. Every random level is full of close calls and hard choices, even though the interface is approachable and easy to learn. Manage fuel supplies, weapons, and other items by making the right choices on the procedural roadmaps. A road trip straight into the heart of the cataclysmic event that changed the Earth forever.”

Hellpoint – Cradle Games

“Hellpoint is a dark sci fi action RPG set in the aftermath of a massive quantum cataclysm. Every living being quickly lost their mind as their memories and bodies were merged with alternate versions of themselves from parallel universes. The accident also attracted entities of immense power that should have been left alone, in the depth of other dimensions.”

Barotrauma – Undertow Games, FakeFish

“Overcome crisis and the unrelenting pressure of a frozen ocean. Flee or fight alien lifeforms, explore a strange new world in Jupiter’s orbit, command your crew and craft equipment in a tense 2D experience.”

Psychonauts 2 – Double Fine Productions

“In Psychonauts 2, Raz realizes his dream and visits Psychonauts Headquarters. However, when he gets there, he finds it’s not the perfect place he expected and quickly realizes that the Psychonauts need him more than he needs them. Psychonauts 2 will be developed in house by the award-winning team at Double Fine Productions, which still include members of the original Psychonauts team.”

Insurgency: Sandstorm – New World Interactive

“Insurgency: Sandstorm is a team-based, tactical FPS based on lethal close quarters combat and objective-oriented multiplayer gameplay. Sequel to the indie breakout FPS Insurgency, Sandstorm is reborn, improved, expanded, and bigger in every way. Experience the intensity of modern combat where skill is rewarded, and teamwork wins the fight. Prepare for a hardcore depiction of combat with deadly ballistics, light attack vehicles, destructive artillery, and HDR audio putting the fear back into the genre.”

Indivisible – Lab Zero Games

“Indivisible is a new, action-packed RPG from Lab Zero, creators of the critically acclaimed Skullgirls! Set in a huge fantasy world, Indivisible tells the story of Ajna, a good-natured tomboy with a rebellious streak who sets out on a quest to save everything she knows from being destroyed.”

System Shock – Nightdive Studios

“After two decades, Nightdive Studios is rebooting and re-imagining the original System Shock. We will keep the new game true to the classic experience, keeping all the things you loved while giving today’s gamers the modern look and feel expected from a great game.”

While they’ve faced some delays, their most recent Kickstarter update makes a 2019 release sound probable. Totally missed the Adventure Alpha 1st Look video!

In The Valley of Gods – Valve (Campo Santo joined Valve) – Possibly not in 2019

“From the team that brought you Firewatch, In the Valley of Gods is a sprawling narrative experience in remote, 1920s Egypt. You are Rashida, a disgraced former explorer and filmmaker given one last shot at the adventurous life you desperately miss. Somewhere, beyond the endless miles of dunes, ruins, and tombs lies an incredible archaeological discovery—but it can’t be found without the help of Zora, the former partner you vowed never to work with again.”

Obviously, I’m hardly scratching the surface of what to expect this year. This is nothing more than a peek behind the curtain! It’s going to be a wild ride and we’re no doubt going to have plenty of surprises.

What are you most excited to see gain official Linux support this year?

Source

What happened with Linux in 2018


What happened with Linux in 2018

Linux continued to dominate the realms of servers and smartphones in 2018, and the pace of development of distributions and the Linux kernel remained relentless.

Kernel developers had their hands full this year, having to deal with the disclosure of significant vulnerabilities in the CPUs used by almost every desktop computer and web server in the world – Spectre and Meltdown.

The year also saw significant changes within the community when the creator of the Linux kernel Linus Torvalds apologised for his past behaviour and advocated for a new contributor code of conduct.

Below is the significant Linux news from the past year.

Linux gaming

Valve released an update to its platform which included software that allows games built for Windows to run on Linux.

The tool that enables this compatibility is called Proton.

According to ProtonDB, by the end of December 2018 over 3,387 Windows games on Steam worked on Linux thanks to Proton.

Steam logo

Linux kernel releases

Torvalds released version 4.20 of the Linux kernel on 23 December, rounding out the year on a high note.

The following Linux kernel versions were released in 2018:

Linux 4.21

Development on Linux 4.21 has already begun and includes several interesting features:

Torvalds apologised for his behaviour

Torvalds apologised for years of bad behaviour, including his attacks on other developers.

He announced that he would be taking a break to get help on how to foster a more professional environment and understand people’s emotions. Torvalds returned to working on the kernel a month later.

Along with his apology and notice that he would be taking a short break, Torvalds announced that a new code of conduct had been added to the kernel.

Linus Torvalds flipped Nvidia the bird

Distrowatch top 10 Linux distributions of 2018

Distrowatch’s statistics reported that the following Linux distributions were the most popular in 2018.

  1. Manjaro
  2. Mint
  3. elementary
  4. MX Linux
  5. Ubuntu
  6. Debian
  7. Solus
  8. Fedora
  9. openSUSE
  10. Zorin

Use Linux

What to expect in 2019

In the coming year, the releases of Debian 10 (Buster), Ubuntu 19.04 and 19.10, and Fedora 30 are expected.

Torvalds said in November that he expects Linux 5.0 to happen in 2019, but has downplayed the significance of the advancement of the major version number.

“But v5.0 will happen some day. And it should be meaningless. You have been warned,” he said in April.

Linus Torvalds Header

Source

How to count days since a specific date until today using Bash shell ?

The easiest way to perform days count since a specifics day is to first get a number of seconds

since epoch time ( 1970-01-01 ) for both dates. As an example let’s count number of days

since 28.12.1999 until today 8.1.2018. Consider a following example:

$ echo $((($(date +%s)-$(date +%s –date “1999-12-28”))/(3600*24))) days
6586 days

Let’s add little bit of readability to the above command by using variables. First, we get

seconds since epoch time ( 1970-01-01 ) until now:

$ now=$(date +%s)

$ echo $now
1515370378

Next we do the same for the 28.12.1999 date:

past=$(date +%s –date “1999-12-28”)
$ echo $past
946299600

Next, calculate the difference:

$ difference=$(($now-$past))
$ echo $difference
569070778

Lastly, convert the difference in seconds to days:
$ echo $(($difference/(3600*24)))
6586

All done. The same principle can be used to calculate days between any specific days.

For example let’s count days between 1.1.2016 and 31.12.2016 dates:

$ echo $((($(date +%s –date “2016-12-31”)-$(date +%s –date “2016-1-1”))/(3600*24))) days
365 days

 

Source

Firefox is now placing ads and here is how to disable it

Firefox is now placing adsFirefox user discovered that Mozilla Firefox is displaying ads on the home or new tab page. When you open Firefox on your desktop, an advertisement banner at the bottom page displayed. The advertisement read as follows:

For the holidays, we got you a little something just for using Firefox! Book your next hotel stay on Booking.com today and get a free $20 Amazon gift card. Happy Holidays from Firefox!

Mozilla explained that it was just an experiment. A Mozilla spokesperson told VentureBeat:

It was not a paid placement or advertisement. We are continually looking for more ways to say thanks for using Firefox.” The Booking.com snippet ran for five days and ended on schedule on December 30th.

However, many users of Firefox did not agree with Mozilla.

Firefox is now placing ads and how do I disable it?

These ads come from about:home snippet service. It is a management service that assembles and deliver content snippets to the about:home page in Firefox. Firefox user expects the best user experience and open standards from Mozilla. They do not want to see ads, and shenanigans carried out by an open source project. No wonder Firefox market share is declining every year.

Please note that we all get to see free content on the web due to sponsorship from various corporate interests. Firefox is free too. Managing a web browser is not easy. Recently Microsoft decided to throw away old code base of Edge browser and making next version of Edge browser on top of Chromium. Mozilla gets the majority of funding from search engines and other sources. Mozilla needs to pay for hosting/infrastructure and engineers salaries too. I don’t have any business solution that would solve all Mozilla funding problems, but below I discuss a few possibilities to disable tracking and other options for personal usage.

How to disable ads on Firefox

Type the following URL in Firefox: about:preferences#home
Click on the Home > scroll down and uncheck Snippets option box:How to disable advertisement banners on Firefox's home or new tab pageDisabling advertisement banners on Firefox’s home or new tab page
Further, I suggest that you set Home and New Tab pages to a Blank Page. Make sure all other checkboxes are unchecked too:Disable firefox snippets and other home contentConfiguration Firefox Home and other options

But, wait there is more

One can harden Firefox using user.js:

A user.js configuration file for Mozilla Firefox designed to harden browser settings and make it more secure. The main goals are:

  1. Limit the probabilities to track the user through web analytics.
  2. Harden the browser against known data disclosure or code execution vulnerabilities.
  3. Limit the browser from storing anything even remotely sensitive persistently.
  4. Make sure the browser doesn’t reveal too much information to shoulder surfers.
  5. Harden the browser’s encryption (cipher suites, protocols, trusted CAs).
  6. Limit possibilities to uniquely identify the browser/device using browser fingerprinting.
  7. Hopefully limit the attack surface by disabling various features.
  8. Still be usable in daily use.

Open-source alternatives to Firefox

Pale Moon is a free and open source web browser. It runs on Microsoft Windows and Linux with a strong focus on efficiency and customization.

Brave is yet another free and open-source browser. It is built by a team of privacy-focused, performance-oriented pioneers of the web.

For more info and see original Reddit thread here.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Source

How to Install Django Web Framework on CentOS 7

How to install Django on CentOS 7How to install Django on CentOS 7

Install Django on CentOS 7

Django is the most popular web framework which is designed to develop fully featured Python Web Applications. By using Django you can build secure, scalable and maintainable dynamic web applications. In this tutorial, you are going to install Django on CentOS 7 using Python Virtual Environment. The best thing to use Python Virtual Environment is you can create multiple Django Environments on a single computer without affecting other Django projects. It also will become easier to install a specific module for each project.

Prerequisites

Before you start to install Django on CentOS 7. You must have the non-root user account on your system with sudo privileges.

Install tree command to use it in further tutorial for better understanding.

sudo yum install tree

Install Python 3

In CentOS Python 2.7 is by default installed as it is the critical part of CentOS base system. Here we need to install Python 3.6 for Django Installation. To install Python 3.6 we need to enable SCL repository (Software Collections Repository) which allows to install Python 3.6 retaining Python 2.7 so the base system will work properly.

Enable SCL repository installing CentOS 7 release SCL file using following command:

sudo yum install centos-release-scl

Now as the repository is enabled install Python 3.6 running following command:

sudo yum install rh-python36

By using venv module we can create virtual environments in Python 3.6. To get venv module we need to install python3-venv package to do so enter following command.

sudo apt install python3-venv

Now we can create Virtual Environment for Django Applications.

Create Virtual Environment

Create a new directory for your Django application and go inside the directory.

mkdir new_django_app && cd new_django_app

Now you should launch new shell using scl tool to access Python 3.6

scl enable rh-python36 bash

Now create virtual Environment by running following command. It will create directory named venv which includes supporting files, Standard python library, Python binaries, Pip package manager.

python3 -m venv venv

To start using the virtual environment we need to activate it. To activate the virtual environment run following command.

source venv/bin/activate

Now your path will change and it will show the name of your virtual environment (venv)

Install Django

Now install Django by using Pip (Python Package Manager).

pip install Django

Confirm the installation and Check the version typing following command.

python -m django –version

The output should be as given below. NOTE: you can get slightly different output.

Output:
2.1.4

Creating Django Project

Create a Django project by using django-admin utility named newdjangoapp. Enter following command to create new Django project.

django-admin startproject newdjangoapp

Now newdjangoapp directory will be created. Check the directory structure by using the following command. This directory has manage.py file used to manage the project and other Django specific files about database configuration settings, routes, and settings

tree newdjangoapp/

Output should be

newdjangoapp/
|– manage.py
`– mydjangoapp
|– __init__.py
|– settings.py
|– urls.py
`– wsgi.py

Now go inside newdjangoapp directory.

cd newdjangoapp

Now we need to migrate the database.

python manage.py migrate

Output should be:

Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial… OK
Applying auth.0001_initial… OK
Applying admin.0001_initial… OK
Applying admin.0002_logentry_remove_auto_add… OK
Applying admin.0003_logentry_add_action_flag_choices… OK
Applying contenttypes.0002_remove_content_type_name… OK
Applying auth.0002_alter_permission_name_max_length… OK
Applying auth.0003_alter_user_email_max_length… OK
Applying auth.0004_alter_user_username_opts… OK
Applying auth.0005_alter_user_last_login_null… OK
Applying auth.0006_require_contenttypes_0002… OK
Applying auth.0007_alter_validators_add_error_messages… OK
Applying auth.0008_alter_user_username_max_length… OK
Applying auth.0009_alter_user_last_name_max_length… OK
Applying sessions.0001_initial… OK

Create administrative user running following command.

python manage.py createsuperuser

NOTE: Above command can prompt you for Username, Password and Email Address for your user.

Testing the development server

Run development server using following command.

python manage.py runserver

The output should be:

Performing system checks…

System check identified no issues (0 silenced).
December 29, 2018 – 08:55:33
Django version 2.1.4, using settings ‘mydjangoapp.settings’
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

NOTE: If you are using the virtual machine then you need to add your server IP address inside settings.py file.

Go to http://127.0.0.1:8000/ in your browser.

You can go to admin page by visiting http://127.0.0.1:8000/admin/ page.

Enter username and password we have created recently after successful authentication you will be redirected to the administrative page.

Stop the development server pressing Ctrl+C in terminal.

Deactivate The Virtual Environment

To deactivate virtual environment after work run following command.

deactivate

Conclusion

You have successfully learned how to install Django Web Framework on CentOS 7. If you have any queries please don’t forget to comment below.

NOTE: You can create multiple development environments repeating above steps.

Source

The State of Desktop Linux 2019

A snapshot of the current state of Desktop Linux at the start of
2019—with comparison charts and a roundtable Q&A with the leaders of three top
Linux distributions.

I’ve never been able to stay in one place for long—at least in terms of which Linux distribution I call home.
In my time as a self-identified “Linux Person”, I’ve bounced around between a
number of truly excellent ones. In my early days, I picked up boxed copies of
S.u.S.E. (back before they made the U uppercase and dropped the dots
entirely) and Red Hat Linux (before Fedora was a thing) from store shelves at
various software outlets.

Side note: remember when we used to buy Operating Systems—and even most
software—in actual boxes, with actual physical media and actual printed
manuals? I still have big printed manuals for a few early Linux versions, which, back then, were necessary for getting just about everything working
(from X11 to networking and sound). Heck, sometimes simply getting
a successful boot required a few trips through those heavy manuals. Ah, those
were the days.

Debian, Ubuntu, Fedora, openSUSE—I spent a good amount of time living in
the biggest distributions around (and many others). All of them were
fantastic. Truly stellar. Yet, each had their own quirks and peculiarities.

As I bounced from distro to distro, I developed a strong attachment to just
about all of them, learning, as I went, to appreciate each for what it
was. Just the same, when asked which distribution I recommend to others,
my brain begins to melt down. Offering any single recommendation feels
simply inadequate.

Choosing which one to call home, even if simply on a secondary PC, is a
deeply personal choice.

Maybe you have an aging desktop computer with limited RAM and an older, but
still absolutely functional, CPU. You’re going to need something light on
system resources that runs on 32-bit processors.

Or, perhaps you work with a wide variety of hardware architectures and need a
single operating system that works well on all of them—and standardizing
on a single Linux distribution would make it easier for you to administer
and update all of them. But what options even are available?

To help make this process a bit easier, I’ve put together a handy set of
charts and graphs to let you quickly glance and find the one that fits your
needs (Figures 1 and 2).

""

Figure 1. Distribution Comparison Chart I

""

Figure 2. Distribution Comparison Chart II

But, let’s be honest, knowing that a particular system meets your hardware
needs (and preferences) simply is not enough. What is the community like?
What’s in store for the future of this new system you are investing in? Do
the ideals of its leadership match up with your own?

In the interests of helping to answer those questions, I sat down with the
leaders of three of the most prominent Linux distros of the day:

  • Chris Lamb: Debian Project Leader
  • Daniel Fore: elementary Founder
  • Matthew Miller: Fedora Project Leader

Each of these systems is unique, respected and brings
something truly valuable to the world.

I asked all three leaders the exact same questions—and gave each the chance to
respond to each other. The topics are all over the place and designed to
help show the similarities and differences between the distributions, both in terms of
goals and culture.

Note that the Fedora project leader, Matthew Miller, was having an unusually
busy time (both for work and personally), but he still made time to answer as
many questions as he could. That, right there, is what I call dedication.

Bryan (LJ):

Introduce your Linux distribution (the short, elevator-pitch version—just
a few sentences) and your role within it.

Daniel (elementary):

elementary is focused on growing the market for open-source software and
chipping away at the share of our closed-source competitors. We believe in
providing a great user experience for both new users and pro users, and
putting a strong emphasis on security and privacy. We build elementary OS: a
consumer-focused operating system for desktops and notebooks.

My role at elementary is as Founder and CEO. I work with our various teams
(like design, development, web and translation teams) to put together a
cohesive vision, product roadmap and ensure that we’re following an
ethical path to sustainable funding.

Chris (Debian):

The Debian Project, which celebrated its 25th birthday this year, is
one of the oldest and largest GNU/Linux distributions and is run on an
entirely volunteer basis.

Not only does it have stellar reputation for stability and technical
excellence, it has a unwavering philosophical stance on free software (i.e., it
comes with no proprietary software pre-installed and the main repository is
only free software
). As it underpins countless derivative distributions,
such as Ubuntu, et al., it is uniquely poised and able to improve the Free
Software world as a whole.

The Debian Project Leader (DPL) is a curious beast. Far from being a BDFL—the
DPL has no authoritative or deciding say in technical matters—the
project leader is elected every year to a heady mix of figurehead, spokesperson
and focus/contact point, but the DPL is also responsible for the quotidian business
of keeping the project moving with respect to reducing bureaucracy and
smoothing any and all roadblocks to Debian Developers’ productivity
.

Matthew (Fedora):

The Fedora distribution brings all of the innovation of thousands of upstream
projects and hundreds of thousands of upstream developers together into a
polished operating system for users, with releases on a six-month cadence.
We’re a community project tied together through the shared project mission
and through the “four Fs” of our foundations: Freedom, Friends, Features
and First. Something like 3,000 people contribute directly to Fedora in any
given year, with a core active group of around 400 people participating in
any given week.

We just celebrated the 15th anniversary of our first release, but our history
goes back even further than that to Red Hat Linux. I’m the Fedora Project
Leader, a role funded by Red Hat—paying people to work on the project is
the largest way Red Hat acts as a sponsor. It’s not a dictatorial role;
mostly, I collect good ideas and write short persuasive essays about them.
Leadership responsibility is shared with the Fedora Council, which includes
both funded roles, members selected by parts of the community and at-large
elected representatives.

Bryan (LJ):

With introductions out of the way, let’s start with this (perhaps
deceptively) simple question:

How many Linux distributions should there be? And why?

Daniel (elementary):

As long as there are a set of users who aren’t getting their needs met by
existing options, there’s a purpose for any number of distros to exist.
Some come and some go, and many are very very niche, but that’s okay. I
think there’s a lot of people who are obsessed with trying to have some
dominant player take a total monopoly, but in every other market category,
it’s immediately apparent how silly that idea is. You wouldn’t want a
single clothing manufacturer or a single restaurant chain or a single
internet provider (wink hint nudge) to have total market dominance. Diversity
and choice in the marketplace is good for customers, and I think it’s no
different when it comes to operating systems.

Matthew (Fedora):

[Responding to Daniel]
Yes, I agree exactly. That said, creating an entirely from scratch distro is
a lot of work, and a lot of it not very interesting work. If you’ve
got something innovative at the how-we-put-the-OS-together level (like
CoreOS), there’s room for that, but if you’re focused higher up the stack,
like a new desktop environment or something else around user experience, it
makes the most sense to make a derivative of one of the big community-powered
distros. There’s a lot of boring hard work, and it makes sense to reuse
rather than carry those same rocks to the top of a slightly different hill.

In Fedora, we’re aiming to make custom distro creation as easy as possible.
We have “spins”, which are basically mini custom distros. This is stuff like
the Python Classroom Lab or Fedora Jam (which is focused on musicians). We
have a framework for making those within the Fedora project—I’m all
about encouraging bigger, broader sharing and collaboration in Fedora. But if
you want to work outside the project—say, you really have different ideas
on free and open-source vs. proprietary software—we have Fedora Remixes
that let you do that.

Chris (Debian):

The competing choice of distributions is often cited as a reason preventing
Linux from becoming mainstream as it robs the movement of a consistent and focused
marketing push.

However, philosophical objections against monopolistic behaviour granted, the
diversity and freedom that this bazaar of distributions affords is, in my
view, paradoxically exactly why
it has succeeded.

That people are free—but more important, feel free—to create a
new distribution as a means to try experimental or outlandish approaches to
perceived problems is surely sufficient justification
for some degree of proliferation or even duplication of effort.

In this capacity, Debian’s technical excellence, flexibility and deliberate
lack of a top-down direction has resulted in it becoming the base
underpinning countless derivatives, clearly and evidently able to provide the
ingredients to build one’s “own” distribution, often without overt credit.

Matthew wrote: “if you want to work outside the project—say, you really have different
ideas on free and open source vs. proprietary software—we have Fedora
Remixes that let you do that.”

Given that, I would be curious to learn how you protect your reputation if
you encourage, or people otherwise use your infrastructure, tools and possibly
even your name to create and
distribute works that are antithetical to the cause of software and user
freedom?

Bryan (LJ):

Thinking about it from a slightly different angle—how many distros would
be TOO many distros?

Daniel (elementary):

More than the market can sustain I guess? The thing about
Linux is that it powers all kinds of stuff. So even for one non-technical
person, they could still end up running a handful of distros for their
notebook, their router, their phone someday, IoT devices, etc. So the number
of distros that could exist sustainably could easily be in the hundreds or
thousands, I think.

Chris (Debian):

If I may be so bold as to interpret this more widely, whilst it might look
like we have “too many” distributions, I fear this might be misunderstanding
the reasons why people are creating these newer offerings in the first place.

Apart from the aforementioned distros created for technical experimentation,
someone spinning up their own distribution might be (subconsciously!) doing
it for the delight and satisfaction in
building something themselves and having their name attached to it—something entirely reasonable and justifiable IMHO.

To then read this creation through a lens of not being ideal for new users or
even some silly “Linux worldwide domination” metric could therefore even be
missing the point and some of the sheer delight of free software to begin
with.

Besides, the “market” for distributions seems to be doing a pretty good job
of correcting itself.

Bryan (LJ):

Okay, since you guys brought it up, let’s talk about world domination.

How much of what you do (and what your teams do) is influenced by a desire
to increase marketshare (either of your distribution specifically or
desktop Linux in general)?

Daniel (elementary):

When we first started out, elementary OS was something we made for fun out of
a desire to see something exist that we felt didn’t yet. But as the
company, and our user base, has grown, it’s become more clear that our
mission must be about getting open-source software in the hands of more
people. As of now, our estimated userbase is somewhere in the hundreds of
thousands with more than 75% of downloads coming from users of closed-source
operating systems, so I think we’re making good progress toward that
goal. Making the company mission about reaching out to people directly has
shaped the way we monetize, develop products, market and more, by ensuring
we always put users’ needs and experiences first.

Chris (Debian):

I think it would be fair to say that “increasing market share” is not an
overt nor overly explicit priority for Debian.

In our 25-year history, Debian has found that if we just continue to do good
work, then good things will follow.

That is not to say that other approaches can’t work or are harmful, but
chasing potentially chimeric concepts such as “market share” can very easily
lead to negative outcomes in the long run.

Matthew (Fedora):

A project’s user base is directly tied to its ability to have an effect in
the world. If we were just doing cool stuff but no one used it, it really
wouldn’t matter much. And, no one really comes into working on a distro
without having been a user first. So I guess to answer the question directly
for me at least, it’s pretty much all of it—even things that are not
immediately related are about helping keep our community healthy and growing
in the long term.

Bryan (LJ):

The three of you represent distros that are “funded” in very different ways.
Fedora being sponsored (more or less) by Red Hat, elementary being its own
company and Debian being, well, Debian.

I would love to hear your thoughts around funding the work that goes into
building a distribution. Is there a “right” or “ideal” way to fund that work
(either from an ethical perspective or a purely practical one)?

Chris (Debian):

Clearly, melding “corporate interests” with the interests of a community
distribution can be fraught with issues.

I am always interested to hear how other distros separate influence and power
particularly in terms of increasing transparency using tools such as Councils
with community representation, etc. Indeed, this question of “optics” is
often highly under-appreciated; it is simply not enough to be honest, you
must be seen to be honest too.

Unfortunately, whilst I would love to be able to say that Debian is
by-definition free (!) of all such problems by not having a “big sister”
company sitting next to it, we have a long history of conversations regarding
the role of money in funding contributors.

For example, is it appropriate to fund developers to do work that might not
not be done otherwise? And if it is paid for, isn’t this simply a feedback
loop that effectively ensures that this work will cease to within the remit
of volunteers. There are no easy answers and we have no firm consensus, alas.

Daniel (elementary):

I’m not sure that there’s a single right way, but I think we have the
opinion that there are some wrong ways. The biggest questions we’re
always trying to ask about funding are where it’s coming from and what
it’s incentivizing. We’ve taken a hard stance that advertising income is
not in the interest of our users. When companies make their income from
advertising, they tend to have to make compromises to display advertising
content instead of the things their users actually want to see, and
oftentimes are they incentivized to invade their users’ privacy in order
to target ads more effectively. We’ve also chosen to avoid big enterprise
markets like server and IoT, because we believe that since companies will
naturally be incentivized to work on products that turn a profit, that making
that our business model would result in things like the recent Red Hat
acquisition or in killing products that users love, like Ubuntu’s Unity.

Instead, we focus on things like individual sales of software directly to our
users, bug bounties, Patreon, etc. We believe that doing business directly
with our users incentivizes the company to focus on features and products
that are in the benefit of those paying customers. Whenever a discussion
comes up about how elementary is funded, we always make a point to evaluate
if that funding incentivizes outcomes that are ethical and in the favor of
our users.

Regarding paying developers, I think elementary is a little different here.
We believe that people writing open-source software should be able to make a
living doing it. We owe a lot to our volunteer community, and the current
product could not be possible without their hard work, but we also have to
recognize that there’s a significant portion of work that would never get
done unless someone is being paid to do it. There are important tasks that
are difficult or menial, and expecting someone to volunteer their time to them
after their full work day is a big ask, especially if the people
knowledgeable in these domains would have to take time away from their
families or personal lives to do so. Many tasks are also just more suited to
sustained work and require the dedicated attention of a single person for
several weeks or months instead of some attention from multiple people over
the span of years. So I think we’re pretty firmly in the camp that not
only is it important for some work to be paid, but the eventual goal should
be that anyone writing open-source code should be able to get paid for their
contributions.

Chris (Debian):

Daniel wrote: “So I think we’re pretty firmly in the camp that not only is it
important for some work to be paid, but the eventual goal should be that anyone
writing open-source code should be able to get paid.”

Do you worry that you could be creating a two-tier community with this
approach?

Not only in terms of hard influence (eg. if I’m paid, I’m likely to be able
to simply spend longer on my approach) but moreover in terms of “soft”
influence during discussions or by putting off
so-called “drive-thru” contributions? Do you do anything to prevent the
appearance of this?

Matthew (Fedora):

Chris wrote:
“Do you worry that you could be creating a two-tier community with this
approach?”

Yeah, this is a big challenge for us. We have many people who are paid by Red
Hat to work on Fedora either full time or as part of their job, and that
gives a freedom to just be around a lot more, which pretty much directly
translates to influence. Right now, many of the community-elected positions
in Fedora leadership are filled by Red Hatters, because they’re people the
community knows and trusts. It takes a lot of time and effort to build up
that visibility when you have a different day job. But there’s some important
nuances here too, because many of these Red Hatters aren’t actually paid to
work on Fedora at all—they’re doing it just like anyone else who loves the
project.

Daniel (elementary):

Chris wrote:
“Do you worry that you could be creating a two-tier community with this
approach?”

It’s possible, but I’m not sure that we’ve measured anything to
this effect. I think you might be right that employees at elementary can have
more influence just as a byproduct of having more time to participate in more
discussions, but I wouldn’t say that volunteers’ opinions are
discounted in any way or that they’re underrepresented when it comes to
major technical decisions. I think it’s more that we can direct labor
after design and architecture decisions have been discussed. As an example,
we recently had decided to make the switch from CMake to Meson. This was a
group discussion primarily led by volunteers, but the actual implementation
was then largely carried out by employees.

Chris (Debian):

Daniel wrote:
“Do you worry that you could be creating a two-tier community with
this approach? … It’s possible, but I’m not sure that we’ve measured anything to
this effect.”

I think it might be another one of those situations where the optics in play
is perhaps as important as the reality. Do you do anything to prevent the
appearance of any bias?

Not sure how best to frame it hypothetically, but if I turned up to your
project tomorrow and learned that some developers were paid for their work
(however fairly integrated in practice), that would perhaps put me off
investing my energy.

Bryan (LJ):

What do you see as the single biggest challenge currently facing both your
specific project—and desktop Linux in general?

Daniel (elementary):

Third-party apps! Our operating systems are valuable to people only if they can
use them to complete the tasks that they care about. Today, that increasingly
means using proprietary services that tie in to closed-source and non-native
apps that often have major usability and accessibility problems. Even major
open-source apps like Firefox don’t adhere to free desktop standards like
shipping a .desktop file or take advantage of new cross-desktop metadata
standards like AppStream. If we want to stay relevant for desktop users, we
need to encourage the development of native open-source apps and invest in
non-proprietary cloud services and social networks. The next set of
industry-disrupting apps (like DropBox, Sketch, Slack, etc.) need to be open source and
Linux-first.

Chris (Debian):

Third-party apps/stores are perhaps the biggest challenge facing all
distributions within the medium- to long-term, but whilst I would concede
there are cultural issues in play here, I believe they have some element of
being technical challenges or at least having some technical ameliorations.

More difficult, however, is that our current paradigms of what constitutes
software freedom are becoming difficult to square with the increased usage of
cloud services. In the years ahead we may need to revise our perspectives,
ideas and possibly even our definitions of what constitutes free software.

There will be a time when the FLOSS community will have to cease the casual
mocking of “cloud” and acknowledge the reality that it is, regardless of
one’s view of it, here to stay.

Matthew (Fedora):

For desktop Linux, on the technical side, I’m worried about hardware
enablement—not just the work dealing with driver compatibility and
proprietary hardware, but more fundamentally, just being locked out. We’ve
just seen Apple come out with hardware locked so Linux won’t even boot—even with signed kernels. We’re going to see more of that, and more tablets
and tablet-keyboard combos with similar locked, proprietary operating
systems.

A bigger worry I have is with bringing the next generation to open
source—a lot of Fedora core contributors have been with the project since it started
15 years ago, which on the one hand is awesome, but also, we need to
make sure that we’re not going to end up with no new energy. When I was a
kid, I got into computers through programming BASIC on an Apple ][. I could
see commercial software and easily imagine myself making the same kind of
thing. Even the fanciest games on offer—I could see the pixels and could
use PEEK and POKE to make those beeps and boops. But now, with kids getting
into computers via Fortnite or whatever, that’s not something one can just
sit down and make an approximation of as a middle-school kid. That’s
discouraging and makes a bigger hill to climb.

This is one reason I’m excited about Fedora IoT—you can use Linux and open
source at a tinkerer’s level to make something that actually has an effect on
the world around you, and actually probably a lot better than a lot of
off-the-shelf IoT stuff.

Bryan (LJ):

Where do you see your distribution in five years? What will be its place be in
the broader Linux and computing world?

Chris (Debian):

Debian naturally faces some challenges in the years ahead, but I sincerely
believe that the Project remains as healthy as ever.

We are remarkably cherished and uniquely poised to improve the free software
ecosystem as a whole. Moreover, our stellar reputation for technical
excellence, stability and software freedom remains highly respected where
losing this would surely be the beginning of the end for Debian.

Daniel (elementary):

Our short-term goals are mostly about growing our third-party app ecosystem and
improving our platform. We’re investing a lot of time into online
accounts integration and working with other organizations, like GNOME, to
make our libraries and tooling more compelling. Sandboxed packaging and
Wayland will give us the tools to help keep our users’ data private and
to keep their operating system stable and secure. We’re also working with
OEMs to make elementary OS more shippable and to give users a way to get an
open-source operating system when they buy a new computer. Part of that work
is the new installer that we’re collaborating with System76 to develop.
Overall, I’d say that we’re going to continue to make it easier to
switch away from closed-source operating systems, and we’re working on
increasing collaborative efforts to do that.

Bryan (LJ):

When you go to a FOSS or Linux conference and see folks using Mac and Windows
PCs, what’s your reaction? Is it a good thing or a bad thing when
developers of Linux software primarily use another platform?

Chris (Debian):

Rushing to label this as a “good” or “bad” thing can make it easy to miss the
underlying and more interesting lessons we can learn here.

Clearly, if everyone was using a Linux-based operating system, that would be a
better state of affairs, but if we are overly quick to dismiss the usage of
Mac systems as “bad”, then we can often fail to understand why people have
chosen to adopt the trade-offs of these platforms in the first place.

By not demonstrating sufficient empathy for such users as well as newcomers
or those without our experience, we alienate potential users and contributors
and tragically fail to communicate our true
message. Basically, we can be our own worst enemy sometimes.

Daniel (elementary):

Within elementary, we strongly believe in dogfood, but I think when we see
someone at a conference using a closed-source operating system, it’s a
learning opportunity. Instead of being upset about it or blaming them, we
should be asking why we haven’t been able to make a conversion. We need
to identify if the problem is a missing product, feature, or just with
outreach and then address that.

Bryan (LJ):

How often do you interact with the leaders of other distributions? And is
that the right amount?

Chris (Debian):

Whilst there are a few meta-community discussion groups around, they tend to
have a wider focus, so yes, I think we could probably talk a little more, even
just as a support group or a place to rant!

More seriously though, this conversation itself has been fairly insightful,
and I’ve learned a few things that I think I “should” have known already,
hinting that we could be doing a better job here.

Daniel (elementary):

With other distros, not too often. I think we’re a bit more active with
our partners, upstreams and downstreams. It’s always interesting to hear
about how someone else tackles a problem, so I would be interested in
interacting more with others, but in a lot of cases, I think there are
philosophical or technical differences that mean our solutions might not be
relevant for other distros.

Bryan (LJ):

Is there value in the major distributions standardizing on package management
systems? Should that be done? Can that be done?

Chris (Debian):

I think I would prefer to see effort go toward consistent philosophical
outlooks and messaging on third-party apps and related issues before I saw
energy being invested into having a single package management format.

I mean, is this really the thing that is holding us all back? I would grant
there is some duplication of effort, but I’m not sure it is the most egregious
example and—as you suggest—it is not even really technically
feasible or is at least subject to severe diminishing returns.

Daniel (elementary):

For users, there’s a lot of value in being able to sideload
cross-platform, closed-source apps that they rely on. But outside of this use
case, I’m not sure that packaging is much more than an implementation
detail as far as our users are concerned. I do think though that developers
can benefit from having more examples and more documentation available, and
the packaging formats can benefit from having a diverse set of
implementations. Having something like Flatpak or Snap become as well
accepted as SystemD would probably be good in the long run, but our users
probably never noticed when we switched from Upstart, and they probably
won’t notice when we switch from Debian packages.

Bryan (LJ):

Big thanks to Daniel, Matthew and Chris for taking time out to answer
questions and engage in this discussion with each other. Seeing the
leadership of such excellent projects talking together about the things they
differ on—and the things they align on completely—warms my little
heart.

Source

WP2Social Auto Publish Powered By : XYZScripts.com