HOWTOs / Software Releases

Linux Software Releases, December 2014

Welcome to 2014’s final issue of Linux Software Releases. In this article we are going to cover some basic and cool examples of sysdig usage, a new diagnostic tool that started to appear in the major Linux distributions. After a short introduction of this software, we continue with the list of the projects released during the month of December.

 

Contents:

 

Project of the Month: sysdig

sysdigsysdig is a tool for system analysis and troubleshooting. It instruments your system at the OS level by capturing events in Linux kernel. sysdig can be used to inspect live systems, or to generate trace files that can be analyzed at a later stage. Think of it like a strace/tcpdump on steroids.

sysdig is already included in Debian Jessie and Ubuntu 14.10. It can also be installed directly from developer’s website by running:

$ sudo curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

Started as sysdig, it will print in your terminal all system activity:

$ sudo sysdig
131263 08:49:47.780833782 1 lxterminal (1761)  write fd=4() size=8 
131265 08:49:47.780834713 1 lxterminal (1761)  recvmsg fd=3() 
131267 08:49:47.780836292 1 lxterminal (1761)  poll fds=4:e1 3:u1 5:u1 16:f1 13:f1 6:f1 20:f1 timeout=8 
131269 08:49:47.780840764 1 lxterminal (1761)  read fd=4() size=16 
131271 08:49:47.780841689 1 lxterminal (1761) < read res=8 data=........ 

sysdig output is customizable, and it can be extended through Lua scripts. These scripts are called chisels, and applied to program’s outupt using -c option. To list all available chisels, run the program with -cl option:

$ sysdig -cl | less 
Category: CPU Usage
-------------------
topprocs_cpu        Top processes by CPU usage

Category: Errors
----------------
topfiles_errors     top files by number of errors
topprocs_errors     top processes by number of errors

Category: I/O
-------------
echo_fds            Print the data read and written by processes.
fdbytes_by          I/O bytes, aggregated by an arbitrary filter field
fdcount_by          FD count, aggregated by an arbitrary filter field
iobytes             Sum of I/O bytes on any type of FD
iobytes_file        Sum of file I/O bytes
spy_file            Echo any read/write made by any process to all files. Optio
                    nally, you can provide the name of one file to only interce
                    pt reads/writes to that file.
stderr              Print stderr of processes
stdin               Print stdin of processes
stdout              Print stdout of processes
:

These are some common examples:

List the top processes in terms of network bandwidth usage:

$ sudo sysdig -c topprocs_net
Bytes     Process   
------------------------------
40.00KB   wget
9.21KB    Socket
4.41KB    dnsmasq
1.32KB    DNS
907B      firefoxl
96B       ntpd

List the top processes in terms of disk bandwidth usage:

$ sudo sysdig -c topprocs_file
Bytes     Process   
------------------------------
9.04M     handbrake
48.39KB   wget
1008B     Xorg
539B      lxterminal

List the top processes in terms of CPU usage:

$ sudo sysdig -c topprocs_cpu
CPU%      Process   
------------------------------
352.14%   handbrake
4.25%     sysdig
3.72%     Xorg
2.40%     lxterminal
0.39%     dropbox
0.12%     gmain
0.08%     wget
0.03%     pool
0.01%     firefox
0.01%     Timer

Show every process opening files in /etc directory:

$ sudo sysdig evt.type=open and fd.name contains /etc
230514 08:43:51.254278658 3 firefox (3989) < open fd=39(/etc/resolv.conf) name=/etc/resolv.conf flags=1(O_RDONLY) mode=0 
230530 08:43:51.254341470 3 firefox (3989) < open fd=39(/etc/hosts) name=/etc/hosts flags=1(O_RDONLY) mode=0 
230940 08:43:51.256861609 1 firefox (3990) < open fd=47(/etc/resolv.conf) name=/etc/resolv.conf flags=1(O_RDONLY) mode=0 
230994 08:43:51.256918436 1 firefox (3990) < open fd=47(/etc/hosts) name=/etc/hosts flags=1(O_RDONLY) mode=0 
231328 08:43:51.260150524 0 firefox (3990) < open fd=47(/etc/hosts) name=/etc/hosts flags=1(O_RDONLY) mode=0 

Print all system calls executed by a specific process:

$ sudo sysdig proc.name=firefox
140328 08:46:52.365355921 0 firefox (2087) > futex addr=7FADB5EC9BCC op=133(FUTEX_PRIVATE_FLAG|FUTEX_WAKE_OP) val=1 
140329 08:46:52.365358193 0 firefox (2087) > switch next=2101(Timer) pgft_maj=338 pgft_min=164493 vm_size=996488 vm_rss=363124 vm_swap=0 
140335 08:46:52.365363459 0 firefox (2087)  recvfrom fd=4() size=4096 
140347 08:46:52.365405898 0 firefox (2087)  poll fds=5:e1 4:u1 17:p1 20:u1 timeout=0 
140349 08:46:52.365423419 0 firefox (2087)  recvfrom fd=4() size=4096 
140351 08:46:52.365426333 0 firefox (2087)  poll fds=5:e1 4:u1 17:p1 20:u1 timeout=0 

More information:

 

Software

Webmin

Webmin is a web-based interface for system administration for Unix. Using any modern web browser, you can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to manually edit Unix configuration files like /etc/passwd, and lets you manage a system from the console or remotely …(more)

Tags: system monitoring

SWIG

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of target languages including common scripting languages such as Javascript, Perl, PHP, Python, Tcl and Ruby …(more)

Tags: programming

Warzone 2100

You command the forces of “The Project” in a battle to rebuild the world after mankind has almost been destroyed by nuclear missiles. The game offers campaign, multi-player and single-player skirmish modes, and an extensive tech tree …(more)

Tags: games desktop

Pidgin

Pidgin is an instant messaging program which lets you log in to accounts on multiple chat networks simultaneously. It runs on Windows, Linux, and other UNIX operating systems. Pidgin is compatible with the following chat networks out of the box: AIM, ICQ, Google Talk, Jabber/XMPP, MSN Messenger, Yahoo!, Bonjour, Gadu-Gadu, IRC, MXit, Novell GroupWise Messenger, Lotus Sametime, SILC, SIMPLE, MySpaceIM, and Zephyr. It is written in C and makes heavy use of GLib and GTK+ …(more)

Tags: networking desktop

Firejail

Firejail is a SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces. It includes a sandbox profile for Mozilla Firefox …(more)

Tags: console

phpMyAdmin

phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL, MariaDB and Drizzle. Frequently used operations (managing databases, tables, columns, relations, indexes, users, permissions, etc) can be performed via the user interface, while you still have the ability to directly execute any SQL statement …(more)

Tags: system monitoring

Lightweight Java Game Library

The Lightweight Java Game Library (LWJGL) is a solution aimed directly at professional and amateur Java programmers alike to enable commercial quality games to be written in Java. LWJGL provides developers access to high performance crossplatform libraries such as OpenGL (Open Graphics Library), OpenCL (Open Computing Language) and OpenAL (Open Audio Library) allowing for state of the art 3D games and 3D sound. Additionally LWJGL provides access to controllers such as Gamepads, Steering wheel and Joysticks. All in a simple and straight forward API …(more)

Tags: games programming

ImageMagick

ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postscript, SVG, and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bezier curves …(more)

Tags: graphics console

VOIP Monitor

VoIPmonitor is open source network packet sniffer with commercial frontend for SIP SKINNY RTP and RTCP VoIP protocols running on linux. VoIPmonitor is designed to analyze quality of VoIP call based on network parameters – delay variation and packet loss according to ITU-T G.107 E-model which predicts quality on MOS scale. Calls with all relevant statistics are saved to MySQL or ODBC database. Optionally each call can be saved to pcap file with either only SIP / SKINNY protocol or SIP/RTP/RTCP/T.38/udptl protocols. VoIPmonitor can also decode audio …(more)

Tags: networking

PMD

PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It supports Java, JavaScript, XML, XSL. Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code in Java, C, C++, C#, PHP, Ruby, Fortran, JavaScript …(more)

Tags: programming

SuperTuxKart

SuperTuxKart is a Free 3d kart racing game. You can play with up to 4 friends on one PC, racing against each other or just try to beat the computer (a network multiplayer feature is planned). See the great lighthouse or drive through the sand and visit the pyramids. Race underground or in space, watching the stars passing by. Have some rest under the palms on the beach (watching the other karts overtaking you 🙂 ). But don’t eat the bananas! Watch for bowling balls, plungers, bubble gum and cakes thrown by opponents. You can do a single race against other karts, compete in one of several Grand Prix, try to beat the high score in time trials on your own, play battle mode against your friends, and more! …(more)

Tags: games desktop

Enigma

Enigma is a puzzle game inspired by Oxyd on the Atari ST and Rock’n’Roll on the Amiga. The object of the game is to find uncover pairs of identically colored Oxyd stones. Simple? Yes. Easy? Certainly not! Hidden traps, vast mazes, laser beams, and, most of all, countless hairy puzzles usually block your direct way to the Oxyd stones …(more)

Tags: games desktop

ZABBIX

ZABBIX is an enterprise-class open source distributed monitoring solution designed to monitor and track performance and availability of network servers, devices and other IT resources. It supports distributed and WEB monitoring, auto-discovery, and more …(more)

Tags: networking monitoring

Wine

Wine is an Open Source implementation of the Windows API on top of X and Unix. Wine provides both a development toolkit for porting Windows sources to Unix and a program loader, allowing many unmodified Windows binaries to run on x86-based Unixes …(more)

Tags: desktop

Simutrans

Simutrans is a transport simulation game. Planes, ships, trains, trams, trucks, busses, or monorails are at your disposal. But factories have contracts and passengers will only travel to their own destinations. Many graphic sets (paks) are available …(more)

Tags: games desktop

OpenNMS

OpenNMS is a free and open-source enterprise grade network monitoring and network management platform. The goal is for OpenNMS to be a truly distributed, scalable management application platform for all aspects of the FCAPS network management model while remaining 100% free and open source. Currently the focus is on Fault and Performance Management …(more)

Tags: networking monitoring

Wireshark

Wireshark is a GUI network protocol analyzer. It lets you interactively browse packet data from a live network or from a previously saved capture file. Wireshark’s native capture file format is libpcap format, which is also the format used by tcpdump and various other tools …(more)

Tags: networking desktop

ccache

ccache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again. Supported languages are C, C++, Objective-C and Objective-C++ …(more)

Tags: programming

Samba

Samba is a free software re-implementation of the SMB/CIFS networking protocol, originally developed by Andrew Tridgell. As of version 3, Samba provides file and print services for various Microsoft Windows clients and can integrate with a Windows Server domain, either as a Primary Domain Controller (PDC) or as a domain member. It can also be part of an Active Directory domain …(more)

Tags: networking

Net-SNMP

Simple Network Management Protocol (SNMP) is a widely used protocol for monitoring the health and welfare of network equipment (eg. routers), computer equipment and even devices like UPSs. Net-SNMP is a suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6 …(more)

Tags: networking monitoring

Clonezilla

Clonezilla is a partition and disk imaging/cloning program similar to True Image® or Norton Ghost®. It helps you to do system deployment, bare metal backup and recovery. Two types of Clonezilla are available, Clonezilla live and Clonezilla SE (server edition). Clonezilla live is suitable for single machine backup and restore. While Clonezilla SE is for massive deployment, it can clone many (40 plus!) computers simultaneously. Clonezilla saves and restores only used blocks in the harddisk. This increases the clone efficiency. With some high-end hardware in a 42-node cluster, a multicast restoring at rate 8 GB/min was reported …(more)

Tags: system

Scintilla

Scintilla is a free source code editing component. As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colours and multiple fonts …(more)

Tags: desktop text-editor programming

 

Kernel

Linux Kernel

The kernel is the essential center of Linux operating system, the core that provides basic services for all other parts of the operating system. The kernel was written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and Single UNIX Specification compliance. …(more)

Tags: system

Linux Kernel Utils

Several user-space uitility programs developed on kernel.org, used to control the kernel …(more)

Tags: system

netfilter

netfilter is the packet filtering framework inside the Linux 2.4.x and later kernel series. Software commonly associated with netfilter.org is iptables …(more)

Tags: networking system

 

KDE

Phonon

Phonon is a multimedia, multi-platform sound framework for the application developer. Phonon also provides several features and benefits for the end user …(more)

Tags: KDE

LibQApt

LibQApt is a Qt wrapper around the libapt-pkg library as well as an APT implementation using libapt-pkg. The aim is to provide a sane API for package management to ease the development of package managers written in Qt and C++ …(more)

Tags: KDE

digiKam

digiKam is an advanced digital photo management application for Linux, Windows, and Mac-OSX …(more)

Tags: desktop KDE graphics

Oxygen

The Oxygen Project was created to give a visual refresh to KDE Plasma Workspaces. It consists of a set of computer icons, a window decoration for KWin, widget toolkit themes for GTK and Qt, two themes for Plasma Workspaces, and a TrueType font family …(more)

Tags: desktop KDE

Calligra

Calligra Suite is a graphic art and office suite by KDE community, forked from KOffice in 2010. It is available for desktop PCs, tablet computers, and smartphones. It contains applications for word processing, spreadsheets, presentation, databases, vector graphics, and digital painting. …(more)

Tags: desktop KDE text-editor graphics

 

Gnome

Web/Epiphany

Web (originally called Epiphany) is a free software web browser for the GNOME desktop environment. The browser was forked from Galeon after developers’ disagreements about Galeon’s growing complexity. Since then Web has been developed as part of the GNOME project and uses most of GNOME’s technology and settings when applicable …(more)

Tags: desktop networking Gnome

Photos

Photos is an application to access, organize and share your photos in GNOME 3 desktop environment, a simple and elegant replacement for using Files to show the Pictures directory. …(more)

Tags: desktop Gnome graphics

 

GNU

TRAMP

TRAMP stands for “Transparent Remote (file) Access, Multiple Protocol”. This package provides remote file editing, similar to Ange-FTP …(more)

Tags: GNU networking

libmicrohttpd

GNU libmicrohttpd is a small, embeddable HTTP server implemented as a C library. It makes it easy to run an HTTP server as part of another application. The library is fully HTTP 1.1 compliant. It can listen on multiple ports, supports four different threading models, and supports IPv6. It also features security features such as basic and digest authentication and support for SSL3 and TLS …(more)

Tags: GNU networking programming

gettext

gettext is an internationalization and localization (i18n) system commonly used for writing multilingual programs on Unix-like computer operating systems. The most commonly used implementation of gettext is GNU gettext, released by the GNU Project in 1995 …(more)

Tags: GNU programming

Binutils

The GNU Binary Utilities, or binutils, are a set of programming tools for creating and managing binary programs, object files, libraries, profile data, and assembly source code originally written by programmers at Cygnus Solutions. The GNU binutils are typically used in conjunction with compilers such as the GNU Compiler Collection (gcc), build tools like make, and the GNU Debugger (gdb) …(more)

Tags: GNU programming

UnRTF

UnRTF is a command-line program written in C which converts documents in Rich Text Format (.rtf) to HTML, LaTeX, troff macros, and RTF itself …(more)

Tags: GNU

Complexity

Complexity is a tool designed for analyzing the complexity of “C” program functions. It is very similar to the McCabe scoring, but addresses several issues not considered in that scoring scheme …(more)

Tags: GNU programming

GCC

The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,…). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user’s freedom …(more)

Tags: GNU programming

GnuDOS

GNU GnuDOS is a library designed to help new users of the GNU system, who are coming from a DOS background, fit into the picture and start using the GNU system with ease. It also addresses the console programmers of such programs that have the look and feel of old DOS system …(more)

Tags: GNU console

Sharutils

GNU shar makes so-called shell archives out of many files, preparing them for transmission by electronic mail services. A shell archive is a collection of files that can be unpacked by /bin/sh. A wide range of features provide extensive flexibility in manufacturing shars and in specifying shar smartness. For example, shar may compress files, uuencode binary files, split long files and construct multi-part mailings, ensure correct unsharing order, and provide simplistic checksums …(more)

Tags: GNU

SIP Witch

GNU SIP Witch is a secure peer-to-peer VoIP server that uses the SIP protocol. Calls can be made peer-to-peer behind NAT firewalls, and without needing a service provider. GNU SIP Witch does not perform codec operations and thereby enables SIP endpoints to directly peer negotiate call setting and process peer to peer media streaming even when when multiple SIP Witch call nodes at multiple locations are involved. This means GNU SIP Witch operates without introducing additional media latency or offering a central point for media intercept or capture. GNU SIP Witch can be used to build secure and intercept-free telephone systems that can operate over the public Internet …(more)

Tags: GNU networking

FreeIPMI

FreeIPMI provides in-band and out-of-band IPMI software based on the IPMI v1.5/2.0 specification. The IPMI specification defines a set of interfaces for platform management and is implemented by a number vendors for system management. The features of IPMI that most users will be interested in are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL) …(more)

Tags: GNU system monitoring

ccScript3

GNU ccScript is a C++ class framework for creating a virtual machine execution system for use with and as a scripting/assembler language for state-transition driven realtime systems. The most common example of this is as the core of the scripting engine found in GNU Bayonne …(more)

Tags: GNU programming

ccAudio2

GNU ccAudio2 is a stand-alone portable C++ class framework for manipulating audio data. It has existed for some time as GNU GPL licensed package and has most recently been designated a GNU package. It is commonly used in GNU Bayonne. GNU ccAudio2 offers platform indipendent classes for directly accessing audio files from disk. These classes are endian aware and also, unlike some audio file manipulation libraries, content format aware; ccAudio treats audio as an array of descreat sample points rather than simply as binary data. ccAudio can also manipulate header information such as annotations. GNU ccAudio2 supports sun audio, raw samples, and RIFF encoded audio data …(more)

Tags: GNU

Wget

GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc. …(more)

Tags: GNU networking console

Cgicc

GNU cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide Web …(more)

Tags: GNU programming

Ghostscript

GNU Ghostscript provides an interpreter for the PostScript language and the PDF file format, a set of C procedures (the Ghostscript library) that implement the graphics capabilities that appear as primitive operations in the PostScript language, and a wide variety of output drivers for various file formats and printers …(more)

Tags: GNU system

The Kawa Scheme language

Kawa is a programming language for the Java platform. It is an implementation of Scheme, which, is in the Lisp family of programming languages. Kawa has many useful features, including convenient integration with Java. It can be used as a “scripting language”, but includes a compiler and all the benefits of a “real” programming language, including optional static typing, so Kawa programs can be as efficient as Java …(more)

Tags: GNU programming

Denemo

Denemo is a free software (GPL) music notation editor for GNU/Linux, Mac OSX and MS Windows that lets you rapidly enter notation which it displays beautifully typeset by the LilyPond music engraver. See a comparison with other score writers, or watch a demo (or some other ones). You can compose, transcribe, arrange, listen to the music and much more …(more)

Tags: GNU desktop sound-video

LibreJS

GNU LibreJS aims to address the JavaScript problem described in Richard Stallman’s article The JavaScript Trap. LibreJS is a free add-on for GNU IceCat and other Mozilla-based browsers. It blocks nonfree nontrivial JavaScript while allowing JavaScript that is free and/or trivial …(more)

Tags: GNU

 

Advertisements

One thought on “Linux Software Releases, December 2014

  1. Pingback: 1 – Project of the Month: sysdig – Official Offeryour.com Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s