AWS Server Migration Service Now Supports Hourly Replication Intervals

AWS Server Migration Service is an agentless service which makes it easier and faster for customers to migrate on-premises workloads to AWS from VMware vSphere and Microsoft Hyper-V environments. It allows customers to automate, schedule, and track incremental replications of live server volumes, making it easier to coordinate large-scale server migrations. Previously, customers could only choose between 12 and 24 hours as the interval for their incremental replications of live servers. With this announcement, customers are able to run their incremental replication jobs every hour.

This capability exists in all AWS Regions where AWS Server Migration Service is currently available. To learn more, visit AWS Server Migration Service (SMS).

Source

Install PDFtk on Ubuntu | Linux Hint

PDF is an integral part of our everyday life. It’s a document format that’s trusted by every single platform. Often times, important documents and books are in PDF format. It’s so widespread that without an appropriate PDF tool at hand, no system is complete. Ubuntu offers a great flexibility in terms of software availability. It’s also one of the most popular Linux distros for being so simple yet powerful and fast, extremely suitable for new to moderate Linux users. Let’s grab PDFtk – the ultimate PDF toolkit you’ll ever need!

There are 2 versions of PDFtk available – Free, Pro ($3.99) and Server. The Pro version offers all the additional features like rotating the PDF, stamping etc. The Server version is the command-line utility for performing various tasks.

PDFtk is available in the default Ubuntu software repository. However, on the latest Ubuntu releases, it’s not accessible directly. You have to use a little trick to get in on your system.

Method 1

Run the following commands –

sudo add-apt-repository ppa:malteworld/ppa
sudo apt update

Method 2

You can also download and build PDFtk by yourself. For doing so, you need the Java build tools and dependencies.

Run the following commands –

sudo apt install default-jre-headless libcommons-lang3-java libbcprov-java

sudo apt install git default-jdk-headless ant
libcommons-lang3-java libbcprov-java

git clone https://gitlab.com/pdftk-java/pdftk.git

cd pdftk
mkdir libs
ln -st libs /usr/share/java/.jar

ant jar
java -jar build/jar/pdftk.jar –help

Method 3 (recommended)

Install the PDFtk snap –

Note that this is the “Server” version of PDFtk.

Using PDFtk

After the installation is complete, check out the app working perfectly –

In fact, running this command will show a short guide you can use. For the long, in-depth guide, run the following command –

For checking out the guide later, export it to a text file –

pdftk –help > ~/Desktop/pdftk.txt

Here are some of the most used tasks you can do with PDFtk.

Encrypt a PDF (128-bit encryption)

pdftk dummy.pdf output dummy.128.pdf owner_pw foo user_pw 123

Decrypt a PDF

pdftk dummy.128.pdf input_pw 123 output dummy.unsecured.pdf

Join multiple PDFs into one

pdftk dummy1.pdf dummy2.pdf cat output dummy_merged.pdf

You can also use wildcard –

pdftk *.pdf cat output combined.pdf

Rotate PDF document (must be 1 page document)

# 90° clockwise rotate

pdftk dummy.pdf

cat

1east

2

-end output dummy_90.pdf

# 180° rotate
pdftk dummy.pdf cat 1-endsouth output dummy_180.pdf

Enjoy!

Source

Void Linux, Solus, Manjaro, Antergos, Sabayon & Clear Linux Put To A Performance Battle

 

 

Given last week’s new images release of the rolling-release, systemd-free, original-creation Void Linux I decided to take it for a spin with some fresh benchmarking as it had been two years or so since last trying out that Linux distribution with its XBPS packaging system. For seeing how the performance compares, I benchmarked it against some of the other primarily enthusiast/rolling-release/performant Linux distributions including Antergos, Clear Linux, Debian Buster Testing, Fedora Workstation 29, Manjaro 18.0, Sabayon Linux, Solus, and Ubuntu 18.10.

 

 

These nine Linux distributions were tested on the new Intel Core i9 9900K eight-core / sixteen-thread processor. The i9-9900K was running at its stock speeds with the ASUS PRIME Z390-A motherboard, 2 x 8GB DDR4-3000 memory, Samsung 970 EVO 256GB NVMe SSD, and Radeon RX Vega 56 graphics.

Each of the Linux distributions were tested out-of-the-box for seeing how they stack up against each other. All of the Linux distribution benchmarks were run via the open-source and fully-automated Phoronix Test Suite benchmarking software.

 


Source

Download GNOME Games Linux 3.31.2

GNOME Games is an open source software project, a graphical application that provides users with an easy-to-use interface for browsing and managing their games libraries.

With the GNOME Games app you can easily locate the game you want to play right now and launch it. The software also comes with support for several emulators and gaming consoles.

GNOME Games has been developed as part of the GNOME desktop environment, but you should be able to use it under any other open-source window manager or graphical desktop environment.

System requirements

  • The standard GNOME 2.10 libraries and librsvg with a correctly installed gdk-pixbuf plugin. Some games also require a C compiler or the Guile scheme interpreter (version 1.6 or newer).

Source

What’s New in Bash Parameter Expansion

The bash man page is close to 40K words. It’s not
quite War and Peace, but it could hold its
own in a rack of cheap novels.
Given the size of bash’s documentation, missing a useful feature
is easy to do when looking through the man page.
For that reason, as well as to look for new features,
revisiting the man page occasionally can be a useful
thing to do.

The sub-section of interest today is Parameter Expansion—that is, $var in its many forms.
Don’t be confused by the name though, it’s really about parameter
and variable expansion.

I’m not going to cover all the different forms of parameter
expansion here, just some that I think may not be as
widely known as others.
If you’re completely new to parameter expansion,
check out my ancient post or one of the
many articles elsewhere on the internet.

Case Conversion

Gone are the days of using tr ‘[[:lower:]]’ ‘[[:upper:]]’
to convert strings to uppercase:

$ a=hello
$ echo $ # First character only
Hello
$ echo $ # All characters
HELLO

And for going to lowercase:

$ a=HELLO
$ echo $ # First character only
hELLO
$ echo $ # All characters
hello

You also can specify a character after the operator and change
the case only of characters that match:

$ a=hello
$ echo $ # First character if it is an ‘l’
hello
$ echo $ # All characters that are ‘l’s
heLLo

Names Starting with Some Prefix

Need a list of all the variables whose names match a certain prefix? Do this:

$ mya=1
$ myb=2
$ yourc=3
$ echo ${!my*}
mya myb

Indirection

Bash even can give you a taste of the good-old days of programming
C and Assembler and using indirect addressing—well sort of:

$ var=somevalue
$ var_name=var
$ echo ${!var_name}
somevalue

What’s happening here is that the value of var_name gives you
the name of the actual variable to be expanded.
That variable then is expanded and becomes the result of the
expansion.
In this case, “var_name” has the value “var”,
so the variable “var” is expanded to yield the ultimate
value of “somevalue”.

Short Detour into Namerefs

As a bit of an aside, because it’s not really about “parameter
expansion”, let’s take a quick look at namerefs in bash.
A nameref variable is a variable that references another variable:

$ var=no
$ declare -n ref=var # -n == nameref
$ ref=yes
$ echo $ref
yes

The variable “ref” is a reference to the variable “var”.
When you assign to “ref”, you actually change the value of “var”.
This can be particularly handy in getting values out of a
function by passing the name of a variable to the function:

$ cat nref.sh
function func()
{
local -n up_value=$1 # -n == nameref
up_value=new_value
echo “Changing ‘${!up_value}’ in $”
}

aval=old_value
echo
echo “Before function call, aval is $aval”
func aval # pass var *name* to func
echo “After function call, aval is $aval”

Running that, you get:

$ bash nref.sh
Before function call, aval is old_value
Changing ‘aval’ in func
After function call, aval is new_value

Since indirection is automatic with nameref variables,
you don’t use the exclamation point expansion to get the value
of the referenced variable; normal $var expansion works.
In the case of namerefs, the exclamation point expansion
yields a different result: the name of the referenced variable.
So, this slight detour dealt with parameter expansion after all.

Transformation

There are also a number of expansions of the form $,
where the “?” is one of the letters “Q”, “E”, “P”, “A” or “a”
that can transform the value or get you information about
the variable itself.
For example:

$ declare -a array=(1 2)
$ echo Attributes: $
Attributes: a # i.e. array was declared with -a

Check the man page for more information about these “@” expansions.

Unset or Null

And to wrap it up, one other subtle thing that can be easy to
overlook when reading the parameter expansion section relates
to the colon (:) in many of the expansions.
For example, the :- form of expansion allows a default value
to be specified if a variable is unset or null:

unset var
$ echo var: $
var: default

var=
$ echo var: $
var: default

And now if you leave out the colon:

unset var
$ echo var: $
var: default

var=
$ echo var: $
var:

So leaving out the colon changes the test from “unset or null” to
just a test for “unset”.
This applies to the :-, :=, :?, and :+ forms of
parameter expansion as well.

Your Mileage May Vary

If something doesn’t seem to work, check your bash version:

$ echo $BASH_VERSION
4.4.23(1)-release

Source

AWS Serverless Application Repository Supports Amazon Route 53, Amazon SQS, AWS Glue, AWS IAM, AWS Step Functions and More

Posted On: Nov 16, 2018

The Serverless Application Repository now supports applications with the following additional resources: Application Auto Scaling, Amazon Athena, AWS AppSync, AWS Certificate Manager, Amazon CloudFront, AWS CodeBuild, AWS CodePipeline, AWS Glue, AWS IAM, Amazon SNS, Amazon SQS, AWS Systems Manager, and AWS StepFunctions. These new resources make it easier for teams and organizations to publish, store, and distribute a wider and more powerful set of serverless applications.

Using the Serverless Application Repository, you don’t need to clone source code, build and package it, and publish it to AWS before deploying it. Instead, you can simply deploy pre-built applications in your serverless architecture, helping you and your team members reduce duplicate work, ensure organizational best practices, and get to market faster. The Serverless Application Repository enables teams, organizations, and individual developers to share applications publicly or privately within teams using specific AWS accounts.

To get started, define your application using the AWS Serverless Application Model (SAM) and share your applications using the AWS Command Line Interface or the AWS Management Console. To deploy an application, you can continue to use the AWS Lambda console. To review the complete list of resources supported by the Serverless Application Repository, read the documentation.

Support for new AWS resources in the AWS Serverless Application Repository is available in all regions where the Serverless Application Repository is available: US East (Ohio), US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Mumbai), Asia Pacific (Singapore), Asia Pacific (Sydney), Canada (Central), EU (Frankfurt), EU (Ireland), EU (London), and South America (São Paulo) regions.

Source

Python Dash Tutorial | Linux Hint

Hey everybody, Welcome. Dash is the topic that we are going to discuss today. Dash is developed by Plotly. Some of you might have got an idea that Dash is perhaps about graphs because of Plotly. And yes, you are absolutely right. Dash is about representation of graphs in a web UI (user interface). Web UI doesn’t mean that Dash requires an active internet connection to run, rather it just needs a server and will run on “localhost” or “127.0.0.1”. Dash happens to run on port 8050 by default, so when you run your Dash application on your browser you would go on the address as “127.0.0.1:8050”.

First of all, we have to install Dash on our system. Hit Ctrl+Alt+T on your Ubuntu, it would open up terminal. In order to run Dash applications on our system, we would install 4 to 5 packages using following command:

$ sudo pip install dash dash-renderer dash-html-components dash-core-components plotly

OR

$ sudo -H pip install dash dash-renderer dash-html-components dash-core-components plotly

When you will add -H it would not issue a warning because you would get to the Home variable by using -H in the command. Even if you don’t use it, it would be okay as it would display a warning but Dash would get installed anyway.

Now, you would go on to create a python script. Our first example of code would just display a simple output in our web browser on the server address and port mentioned above. In the example, first 3 lines would be the imports of dash, dash-core-components and dash-html-components respectively. Dash-core-components as dcc means that wherever we want to use dash-core-components we can use ‘dcc’ instead and similarly where we want to use dash-html-components, we can use ‘html’. Dash() is the built in class which holds the default code for Dash applications. ‘app.layout’ represents everything in web UI which means anything you want to display in the browser in Dash application, it has to be written in the operating zone of ‘app.layout’. Following our first simple code example which just displays a simple output:

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()

app.layout = html.Div(‘LinuxHint YouTube Hi’)

if __name__ == ‘__main__’:
app.run_server(debug=True)

Second example is about creating a graph. We would use ‘dcc’ which essentially means dash-core-components and we would create a graph using it. In our example, we have drawn an example graph of Energy and Time with random values of ‘x’ and ‘y’ by giving a type of ‘line’ to Energy and a type of ‘bar’ to Time. We would do all of that inside a method dcc.Graph() in which we would name our both axis of the graph and set the title of graph as well.

Code Example#2:

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()

app.layout = html.Div(children=[
html.Div(children=’LinuxHint Youtube Hi’),
dcc.Graph(
id=’graphss’,
figure={
‘data’: [
{‘x’:[1,2,3,4,5,6,7], ‘y’:[11,12,22,23,24,44,55], ‘type’:’line’, ‘name’:’Energy’},
{‘x’:[1,2,3,4,5,6,7], ‘y’:[13,15,26,27,34,44,65], ‘type’:’bar’, ‘name’:’Time’},
],
‘layout’: {
‘title’: ‘Graph for Time and Energy’
}
}
)
])

if __name__ == ‘__main__’:
app.run_server(debug=True)

Pro Tip: While writing python script, use a python IDE or a smart text editor which indents the code automatically for you. Avoid using simple notepad or text editor for python scripts as indentation of code is an important factor in python while running it.

I will explain this in more details in video form as well.

Source

Mozilla Fights On For Net Neutrality

Mozilla took the next step today in the fight to defend the web and consumers from the FCC’s attack on an open internet. Together with other petitioners, Mozilla filed our reply brief in our case challenging the FCC’s elimination of critical net neutrality protections that require internet providers to treat all online traffic equally.

The fight for net neutrality, while not a new one, is an important one. We filed this case because we believe that the internet works best when people control for themselves what they see and do online.

The FCC’s removal of net neutrality rules is not only bad for consumers, it is also unlawful. The protections in place were the product of years of deliberation and careful fact-finding that proved the need to protect consumers, who often have little or no choice of internet provider. The FCC is simply not permitted to arbitrarily change its mind about those protections based on little or no evidence. It is also not permitted to ignore its duty to promote competition and protect the public interest. And yet, the FCC’s dismantling of the net neutrality rules unlawfully removes long standing rules that have ensured the internet provides a voice for everyone.

Meanwhile, the FCC’s defenses of its actions and the supporting arguments of large cable and telco company ISPs, who have come to the FCC’s aid, are misguided at best. They mischaracterize the internet’s technical structure as well as the FCC’s mandate to advance internet access, and they ignore clear evidence that there is little competition among ISPs. They repeatedly contradict themselves and have even introduced new justifications not outlined in the FCC’s original decision to repeal net neutrality protections.

Nothing we have seen from the FCC since this case began has changed our mind. Our belief in this action remains as strong as it was when its plan to undo net neutrality protections last year was first met with outcry from consumers, small businesses and advocates across the country.

We will continue to do all that we can to support an open and vibrant internet that is a resource accessible to all. We look forward to making our arguments directly before the D.C. Court of Appeals and the public. FCC, we’ll see you in court on February 1.

Mozilla v FCC – Joint Reply Brief

Source

Linux Today – How to Configure Docker Swarm with multiple Docker Nodes on Ubuntu 18.04

Docker Swarm is a container orchestration and clustering tool to manage Docker hosts, and is a part of Docker Engine. It’s a native clustering tool provided by Docker which provides high-availability and high-performance for your application. The primary objective of Docker Swarm is to group multiple Docker hosts into a single logical virtual server???this ensures availability and high performance for your application by distributing it over a number of Docker hosts instead of just one.

Complete Story

Related Stories:

Source

Methods to Check Ubuntu Version with Linux Command

check ubuntu version

In this guide, we will show you how you can easily check which version of Ubuntu you have on your system. There are 2 main ways you can achieve this

  • Using the Terminal
  • Using the GUI

So let’s dive in and see how you can use the above methods to check which version of Ubuntu resides on your system.

1) Using Terminal

This method works regardless of the Ubuntu release or desktop environment you are using.

To check the version, Open your terminal and run the following command

lsb_release -a

Output

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.5 LTS
Release: 16.04
Codename: xenial

To be more specific you can also run

lsb_release -r

Output

Release: 16.04

Another way you can retrieve the version of your Ubuntu system is by running

cat /etc/lsb-release

Output

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION=”Ubuntu 16.04.5 LTS”

To gather more detailed information run

cat /etc/*release

Output

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION=”Ubuntu 16.04.5 LTS”
NAME=”Ubuntu”
VERSION=”16.04.5 LTS (Xenial Xerus)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=”Ubuntu 16.04.5 LTS”
VERSION_ID=”16.04″
HOME_URL=”http://www.ubuntu.com/”
SUPPORT_URL=”http://help.ubuntu.com/”
BUG_REPORT_URL=”http://bugs.launchpad.net/ubuntu/”
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

In addition, this can also come in handy

# cat /etc/os-release

Output

NAME=”Ubuntu”
VERSION=”18.04.1 LTS (Bionic Beaver)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=”Ubuntu 18.04.1 LTS”
VERSION_ID=”18.04″
HOME_URL=”https://www.ubuntu.com/”
SUPPORT_URL=”https://help.ubuntu.com/”
BUG_REPORT_URL=”https://bugs.launchpad.net/ubuntu/”
PRIVACY_POLICY_URL=”https://www.ubuntu.com/legal/terms-and-policies/privacy-policy”
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

To get information about the kernel and architecture run

uname -a

Output

Linux ubuntu-16-04-1 4.4.0-57-generic #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Also, the hostnamectl command can help you get the version of Ubuntu you are running

hostnamectl

This will give more detailed information such as Operating System, kernel, Architecture and in case the system is virtualized, it will display virtualization type and chassis.

Output

Static hostname: ubuntu-16-04-1
Icon name: computer-vm
Chassis: vm
Machine ID: bc429e3618b24cebbb4ba8e951e20250
Boot ID: 9b1912bef4064d1cb449a009c31fc1c6
Virtualization: kvm
Operating System: Ubuntu 16.04.5 LTS
Kernel: Linux 4.4.0-57-generic
Architecture: x86-64

Lastly, you can run this command on Terminal to give you the version of Ubuntu that you are running.

awk ‘/^Description: Ubuntu [0-9]/ ‘ /usr/share/python-apt/templates/Ubuntu.info

Output

Ubuntu 16.04

2) Using GUI – GNOME Desktop

If you are running Ubuntu from a Desktop environment, checking the version of Ubuntu is quite an easy and straight-forward thing to do.

If you are running Unity Desktop environment, Open ‘System Settings’ from the main menu as shown below

check which version of Ubuntu you have

Thereafter, click on the ‘Details’ icon as shown

check which version of Ubuntu you have

This is going to open a Window with a lot more information such as

  • CPU type
  • RAM capacity
  • Operating System
  • GPU

check which version of Ubuntu you have

If you are on GNOME display like in Ubuntu 18.04 and later, click on the drop-down arrow at the top left corner.

This will populate a pull-down menu. Select ‘Settings’ icon s shown

check which version of Ubuntu you have

In the next Window, scroll down and click on ‘Details’

check which version of Ubuntu you have

This is going to display a ton of information including the OS type, CPU, RAM and system architecture

check which version of Ubuntu you have

And that’s how you can check out your Ubuntu version and other System properties! Also, check out the neofetch tool you can easily use to populate system information. We hope this guide has been helpful. Drop your comments and feel free to share on your social platforms.

Read Also:

Source

WP2Social Auto Publish Powered By : XYZScripts.com