Linux Today – U.S Supercomputers Lead Top500 Performance Ranking (all Linux-powered!)

Nov 12, 2018

The semi-annual Top500 list of the world’s most powerful supercomputers was released on Nov. 12, with the U.S holding down the top two spots overall.

The IBM POWER9 based Summit system has retained its crown that it first achieved in the June 2018 ranking. Summit is installed at the U.S. Department of Energy’s Oak Ridge National Laboratory and now has performance of 143.5 petaflops per second, up from the 122.3 petaflops the system had when it first came online.

Source

The open source racer ‘SuperTuxKart’ is looking for testers to try their new online play

SuperTuxKart [Official Site], one of the stalwarts of Linux open source gaming is finally getting online multiplayer. They’re also now asking for testers.

There’s one caveat though, you will for now need to download and compile it yourself until it’s properly released or someone provides it ready made for us. The developers said their next release isn’t actually too far off, as they’re busy working on a beta/release candidate so hopefully that won’t be too long.

Currently, they have around 20 servers up with various game modes for people to jump in and test and you can also host your own.

I’ve given it a brief test myself and the accounts system works properly, however it’s difficult to test unless you gather people since there’s no one online right at this moment. I did manage to find one other person online and gave it a quick spin, seems to work quite nicely:

I didn’t realise just how far SuperTuxKart has come along! It actually looks quite good when you turn the settings up and put it in fullscreen. Surprising really, it’s been a long time since I tested it and I’m genuinely impressed by it now. Adding in online play is going to make it rather sweet indeed.

Hopefully with us giving it a shout out, more will hop on to help them deliver a good experience.

They’re asking for feedback to be sent to them across either their forum, IRC channel and to file bug reports on their issue tracker. To arrange games our Discord and IRC are always available.

See their full blog post here.

Hat tip to Porkhaus on Mastodon.

Source

Linux IoT Landscape: Distributions | Linux.com

Linux is an Operating System: the program at the heart of controlling a computer. It decides how to partition the available resources (CPU, memory, disk, network) between all of the other programs vying for it. The operating system, while very important, isn’t useful on its own. Its purpose is to manage the compute resources for other programs. Without these other programs, the Operating System doesn’t serve much of a purpose.

A distribution provides a large number of other programs that, together with Linux, can be assembled into working sets for a vast number of purposes. These programs can range from basic program writing tools such as compilers and linkers to communications libraries to spreadsheets and editors to pretty much everything in between. A distribution tends to have a superset of what’s actually used for each individual computer or solution. It also provides many choices for each category of software components that users or companies can assemble into what they consider a working set. A rough analogy can be made to a supermarket in which there are many options for many items on the shelves, and each user picks and chooses what makes sense to them in their cart.

Source

Beyond Finding Stuff | Linux.com

Continuing the quest to become a command-line power user, in this installment, we will be taking on the find command.

Jack Wallen already covered the basics of find in an article published recently here on Linux.com. If you are completely unfamiliar with find, please read that article first to come to grips with the essentials.

Done? Good. Now, you need to know that find can be used to do much more than just for search for something, in fact you can use it to search for two or three things. For example:

find path/to/some/directory/ -type f -iname ‘*.svg’ -o -iname ‘*.pdf’

This will cough up all the files with the extensions svg (or SVG) and pdf (or PDF) in the path/to/directory directory. You can add more things to search for using the -o over and over.

You can also search in more than one directory simultaneously just be adding them to the route bit of the command. Say you want to see what is eating up all the space on your hard drive:

find $HOME /var /etc -size +500M

This will return all the files bigger than 500 Megabytes (-size +500M) in your home directory, /var and /etc.

Additionally, find also lets you do stuff with the files it… er… finds. For example, you can use the -delete action to remove everything that comes up in a search. Now, be careful with this one. If you run

# WARNING: DO NOT TRY THIS AT $HOME

find . -iname “*” -delete

find will erase everything in the current directory (. is shorthand for “the current directory“) and everything in the subdirectories under it, and then the subdirectories themselves, and then there will be nothing but emptiness and an unbearable feeling that something has gone terribly wrong.

Please do not put it to the test.

Instead, let’s look at some more constructive examples…

Moving Stuff Around

Let’s say you have bunch of pictures of Tux the penguin in several formats and spread out over dozens of directories, all under your Documents/ folder. You want to bring them all together into one directory (Tux/) to create a gallery you can revel in:

find $HOME/Documents/ ( -iname “*tux*png” -o -iname “*tux*jpg” -o -iname “*tux*svg” )
-exec cp -v ‘{}’ $HOME/Tux/ ;

Let’s break this down:

  • $HOME/Documents is the directory (and its subdirectories) find is going to search in.
  • You enclose what you want to search for between parentheses (( … )) because, otherwise -exec, the option that introduces the command you want to run on the results, will only receive the result of the last search (-iname “*tux*svg”). There are two things you have to bear in mind when you do this: (1) you have to escape the parentheses using backslashes like this: ( … ). You do that so the shell interpreter (Bash) doesn’t get confused (parentheses have a special meanings for Bash); and (2) there is one space between the opening bracket ( and -iname … and another space between “*tux*svg” and the closing bracket ). If you don’t include those spaces, find will exit with an error.
  • -exec is the option you use to introduce the command you want to run on the found files. In this case it is a simple cp (copy) command. You use cp’s -v option to see what is going on.
  • ‘{}’ is the shorthand find uses to say “the file or directory I have found that matches the criteria you gave me“. ‘{}’ gets swapped for each file or directory as it is found and, in this case, then gets copied to the Tux/ directory.
  • ; tells find to execute the command for each result sequentially, that is, one after another. There is another option, + which runs the command adding each result from find to the end of the command, making a long sausage of a string. But (1) this is not helpful for you here, and (2) you need the ‘{}’ to be at the end of the command for this to work. You could use + to make executable all the files with the .sh extension tucked away under your Documents/ folder like this:find $HOME/Documents/ -name “*.sh” -exec chmod a+x {} +

Once you have the basics of modifying files using find under your belt, you will discover all sort of situations where it comes in handy. For example…

A Terrible Mish-Mash

Client X has sent you a zip file with important documents and images for the new website you are working on for them. You copy the zip into your ClientX folder (which already contains dozens of files and directories) and uncompress it with unzip newwebmedia.zip and, gosh darn it, the person who made the zip file didn’t compress the directory itself, but the contents in the directory. Now all the images, text files and subdirectories from the zip are all mixed up with the original contents of you folder, that contains more images, text files, and subdirectories.

You could try and remember what the original files were and then move or delete the ones that came from the zip archive. But with dozens of entries of all kinds, you are bound to get mixed up at some point and forget to move a file, or, worse, delete one of your original files.

Looking at the files’ dates (ls -la *) won’t help either: the Zip program keeps the dates the files were originally created, not when they were zipped or unzipped. This means a “new” file from the zip could very well have a date prior to some of the files that were already in the folder when you did the unzipping.

You probably can guess what comes next: find to the rescue! Move into the directory (cd path/to/ClientX), make a new directory where you want the new stuff to go (mkdir NewStuff), and then try this:

find . -cnewer newwebmedia.zip -exec mv ‘{}’ NewStuff ;

Breaking that down:

  • The period (.) tells find to do its thing in the current directory.
  • -cnewer tells find to look for files that have been changed at the same time or after a certain file you give as reference. In this case the reference file is newwebmedia.zip. If you copied the file over at 12:00 and then unpacked it at 12:01, all the files that you unpacked will be tagged as changed at 12:01, that is, after newwebmedia.zip and will match that criteria! And, as long as you didn’t change anything else, they will be the only files meeting that criteria.
  • The -exec part of the instruction simply tells find to move the files and directories to the NewStuff/ directory, thus cleaning up the mess.

If you are unsure of anything find may do, you can swap -exec for -ok. The -ok option forces find to check with you before it runs the command you have given it. Accept an action by typing y or reject it with n.

Next Time

We’ll be looking at environmental variables and a way to search even more deeply into files with the grep command.

Source

Rugged, low-cost Bay Trail SBC runs Linux

Nov 13, 2018

VersaLogic released a rugged, PC/104-Plus form-factor “SandCat” SBC with a dual-core Intel Bay Trail SoC, -40 to 85℃ support, plus SATA, GbE, and mini-PCIe and more, starting at $370 in volume.

VersaLogic has spun a simpler, more affordable alternative to its BayCat single board computer, which similarly offers a Linux supported Intel Bay Trail SoC in a PC/104-Plus form-factor board. The rugged new SandCat is limited to a dual-core, 1.33GHz Atom E3825, and offers a somewhat reduced feature set, but launches at less than half the price of the dual-core version of the BayCat, selling at $370 in volume.

SandCat (left) and detail view

The venerable

PC/104-Plus

spec features a combination of ISA- and PCI-based self-stacking bus expansion. VersaLogic has used it on other SBCs, including one of the boards on its double-board, Kaby Lake based

Liger

The SandCat supports Linux, Windows, and other x86 platforms including VxWorks and QNX. Tested Linux distros include Ubuntu 14.04 LTS and Knoppix 7.4.2.

The 108 x 96mm SandCat has a tall 42mm profile due to its standard heat sink. The fanless SBC has an industrial -40 to 85℃ operating range, and features MIL-STD-202G rated vibration (Methods 204 and 214A) and shock resistance (Method 213B), as well as tolerance of humidity and thermal shock. The board also provides long-term, typically 10-year, availability.

The SandCat is available with up to 8GB DDR3L-1067 RAM via a single socket and offers a 3Gbps SATA II port. Like most PC/104 family boards, the SandCat doesn’t offer much in the way of real-world ports. You get a mini-DisplayPort with 1920 x 1080 and audio support and an optional adapter card for LVDS touch-panels.

SandCat (left) and sample mini-PCIe add-on modules

The SandCat is equipped with a GbE interface with remote boot support, as well as 4x USB 2.0, 2x RS-232/422/485, 8x DIO, and single I2C and audio interfaces. Expansion features include a full-length mini-PCIe slot with optional WiFi, GPS, mSATA, GbE, and I/O modules, as well as dual PC/104-Plus interfaces, with support for both ISA and PCI based modules.

There’s a 5V input with ACPI 3.0 sleep modes. Other features include hardware monitoring, support for RTC backup battery, and the VersaAPI board I/O interface. A variety of optional cables and other add-ons are available, and VersaLogic provides extensive hardware and software customization services for 100+ volume orders.

Further information

The SandCat (VL-EPM-39EBK) is available now with quantity pricing starting at $370. More information may be found in VersaLogic’s SandCat announcement and on the SandCat product page.

Source

Install Eclipse on Ubuntu Using Command Line

Install eclipse oxygen ubuntu

Eclipse is a free integrated development environment IDE which is used by programmers around to write software mostly in Java but also in other major programming languages via Eclipse plugins.

Eclipse is not only good at developing applications but you can use its collection of tools to easily enhance your Eclipse desktop IDE, including GUI builders and tools for modeling, charting, reporting testing, and more.

To install Eclipse on Ubuntu, follow the steps below:

Eclipse requires Java JDK to be installed on the system you want to use. At this time, only Java JDK 8 is fully compatible.. to install JDK, use the steps below:

The easiest way to install Oracle Java JDK 8 on Ubuntu is via a third-party PPA. To add that PPA, run the commands below

sudo add-apt-repository ppa:webupd8team/java

After running the commands above, you should see a prompt to accept the PPA key onto Ubuntu. accept and continue

Now that the PPA repository has been added to Ubuntu, run the commands below to download Oracle Java 9 installer. the installer should install the latest Java JDK 9 on your Ubuntu machines.

sudo apt update
sudo apt install oracle-java8-installer

When you run the commands above you’ll be prompted to access the license terms of the software. accept and continue.

Set Oracle JDK8 as default, to do that, install the Oracle-java8-set-default package. This will automatically set the JAVA env variable.

sudo apt install oracle-java8-set-default

The command above will automatically set Java 9 as the default… and that should complete your installation, you can check your java version by running following command.

javac -version

Now that Java JDK 8 is installed, got and download Eclipse Oxygen IDE package for your systems. the link below can be used to get it.

Download Eclipse


Extract the downloaded package to the directory/opt using the commands below. by default Eclipse package should be downloaded into the folder~/Downloads of your home directory.

Use the commands below to extract the content in the ~/Downloads folder. The next line launches the installer…

tar xfz ~/Downloads/eclipse-inst-linux64.tar.gz
~/Downloads/eclipse-installer/eclipse-inst

Select the package IDE you want to install and continu.

Use the onscreen instructions to complete the installer. Accept the default installation directory and continue.

Next, accept the license terms and continue. wait for Eclipse installer to download and install all the packages.

After downloading the installer should complete. all you have to do is launch the program.

Now that Eclipse is downloaded and installed, create a launcher for the application. to do that, run the commands below.

nano .local/share/applications/eclipse.desktop

Next, copy and paste the content below into the file and save.

[Desktop Entry]
Name=Eclipse JEE Oxygen
Type=Application
Exec=/home/smart/eclipse/jee-oxygen/eclipse/eclipse
Terminal=false
Icon=/home/smart/eclipse/jee-oxygen/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=Eclipse

Replace the highlighted username (smart) with your own account name. also, the Exec = location and icon.xpm should depend on where Eclipse got installed on your system.

Save the file and exit.

You should then have a launcher for Eclipse JEE Oxygen. open Dash or the activities overview and search for Eclipse and then launch.

To create additional IDEs, you must repeat step 3 by launching the installer again and created an application launcher for that IDE.

When the app launches, you should be able to configure it for your environment.

Read Also:

Source

Red Hat Releases Red Hat OpenStack Platform 14 and a New Virtual Office Solution, ownCloud Enterprise Integrates with SUSE Ceph/S3 Storage, Run a Linux Shell on iOS with iSH and Firefox Launches Two New Test Pilot Features

News briefs for November 13, 2018.

Red
Hat this morning released Red Hat OpenStack Platform 14
, delivering “enhanced
Kubernetes integration, bare metal management and additional automation”. According to the press
release, it will be available in the coming weeks via the Red Hat Customer Portal and as a component of both Red Hat Cloud Infrastructure and
Red Hat Cloud Suite.

Red
Hat also announced a new virtual office solution
today. This solution “provides a
blueprint for modernizing telecommunications operations at the network edge via an open,
software-defined infrastructure platform”. Learn more about it here.

ownCloud yesterday announced SUSE Enterprise Storage Ceph/S3 API as a certified storage backend for
ownCloud Enterprise Edition. The press release notes that the “SUSE Ceph/S3 Storage
integration reduces dependency on proprietary hardware
by replacing an organization’s storage infrastructure with an open, unified and
smarter software-defined storage solution”. For more information on ownCloud, visit here.

There’s a new project called iSH that lets you run a Linux shell on an iOS device. Bleeping
Computer reports
that the project is available as a TestFlight beta for iOS devices, and it is
based on Alpine Linux. It allows you to “transfer files, write shell scripts, or simply to use Vi to
develop code or edit files”. You first need to
install the TestFlight app, and then you can start
testing the app by visiting this page:
https://testflight.apple.com/join/97i7KM8O
.

The Firefox Test Pilot Team announces two new features: Price Wise and Email Tabs. Price Wise lets
you add products to your Price Watcher list, and you’ll receive desktop notifications whenever the price
drops. With Email Tabs, you can “select and send links to one or many open tabs all within Firefox in
a few short steps, making it easier than ever to share your holiday gift list, Thanksgiving recipes or
just about anything else”. See the Mozilla
Blog
for details.

Source

Bash For Loop | Linuxize

Loops are one of the fundamental concepts of programming languages. Loops are handy, if you want to run series of commands over and over again, until a condition situation is reached.

In scripting languages such as Bash, loops are useful for automating repetitive tasks.

There are 3 basic loop constructs in Bash scripting, for loop, while loop, and until loop.

In this tutorial we will cover the basics of for loops in Bash as well as the break and continue statements to alter the flow of a loop.

The Standard Bash For Loop

The for loop iterates over a list of items and performs the given set of commands.

The Bash for loop takes the following form:

for item in [LIST]
do
[COMMANDS]
done

The list can be a series of strings separated by spaces, range of numbers, output of a command, an array, and so on.

Loop over strings

In the example below the loop will iterate over each item of the list of strings and the variable element will be set to the current item.

for element in Hydrogen Helium Lithium Beryllium
do
echo “Element: $element”
done

The loop will produce the following output:

Element: Hydrogen
Element: Helium
Element: Lithium
Element: Beryllium

Loop over a number range

You can use the sequence expression to specify a range of numbers or characters by defining a start and the end point of the range. The sequence expression takes the following form:

In the example below the loop will iterate through all numbers from 0 to 3.

for i in
do
echo “Number: $i”
doneNumber: 0
Number: 1
Number: 2
Number: 3

Starting from Bash 4, it is also possible to specify an increment when using ranges. The expression takes the following form:

for i in
do
echo “Number: $i”
doneNumber: 0
Number: 5
Number: 10
Number: 15
Number: 20

Loop over array elements

You can also use the for loop to iterate over all elements in an array:

In the example below we are defining an array BOOKS and iterating over each element of the array.

BOOKS=(‘In Search of Lost Time’ ‘Don Quixote’ ‘Ulysses’ ‘The Great Gatsby’)

for book in “$”; do
echo “Book: $book”
doneBook: In Search of Lost Time
Book: Don Quixote
Book: Ulysses
Book: The Great Gatsby

The C-style Bash for loop

The syntax of the C-style for loop is taking the following form:

for ((INITIALIZATION; TEST; STEP))
do
[COMMANDS]
done

The INITIALIZATION part is executed only once when the loop starts. Then, the TEST part is evaluated. If it is false the for loop is terminated. If the TEST is true, commands inside the body of for loop are executed and the STEP part is updated.

In the following code the loop stars by initializing i = 0, then before each iteration checks if i ≤ 10. If true it prints the current value of i and increment the variable i by 1 (i++) otherwise the loop terminates.

for ((i = 0 ; i <= 1000 ; i++)); do
echo “Counter: $i”
done

The the loop iterates 1001 times and will produce the following output:

Counter: 0
Counter: 1
Counter: 2

Counter: 998
Counter: 999
Counter: 1000

Break and Continue Statements

The break and continue statements can be used to control the loop execution.

Break Statement

The break statement terminates the current loop and passes program control to the statement that follows the terminated statement. It is usually used to terminate the loop when a certain condition is met.

In the following example, the execution of the loop will be terminated once the current iterated item is equal to ‘Lithium’.

for element in Hydrogen Helium Lithium Beryllium; do
if [[ “$element” == ‘Lithium’ ]]; then
break
fi
echo “Element: $element”
done

echo ‘All Done!’Element: Hydrogen
Element: Helium
All Done!

Continue Statement

The continue statement exits the current iteration of a loop and passes program control to the next iteration of the loop.

In the following example, we are iterating through a range of numbers and when the current iterated item is equal to ‘2’ the continue statement will cause execution to return to the beginning of the loop and to continue with the next iteration.

for i in ; do
if [[ “$i” == ‘2’ ]]; then
continue
fi
echo “Number: $i”
doneNumber: 1
Number: 3
Number: 4
Number: 5

Bash For Loop Examples

Renaming files with spaces in the filename

The following example shows how to use the Bash for loop to rename all of the files in the current directory with a space in its names by replacing space to underscore.

for file in * *; do
mv “$file” “$”
done

Let’s break down the code line by line:

  • The first line creates a for loop and iterates through a list of all files with a space in its name. The expression * * creates the list.
  • The second line applies to each item of the list and moves the file to a new one replacing the space with an underscore (_). The part $ is using the shell parameter expansion to replace a pattern within a parameter with a string.
  • done indicates the end of the loop segment.

Changing file extension

The following example shows how to use the Bash for loop to rename all files ending with .jpeg in the current directory by replacing the file extension from .jpeg to .jpg.

for file in *.jpeg; do
mv — “$file” “$.jpg”
done

Let’s analyze the code line by line:

  • The first line creates a for loop and iterates through a list of all files edging with .jpeg.
  • The second line applies to each item of the list and moves the file to a new one replacing .jpeg with .jpg. The part $ is using the shell parameter expansion to delete the .jpeg part from the filename.
  • done indicates the end of the loop segment.

Conclusion

By now you should have a good understanding of how to use the bash for loop to iterate through lists.

If you have any question or feedback feel free to leave a comment.

Source

WP2Social Auto Publish Powered By : XYZScripts.com