We all used to use the programs on any operating system to solve their problems. But functionality is another thing we rarely encountered during normal operation with the computer. These are the libraries that contain the common set of features and functions used by the programs. For example, most programs written in C use the standard C library, which contains all the basic features of interaction with the system.
Each program has its own set of libraries that must be in the system for it to work. Otherwise, programmers had to reinvent different algorithms, write a lot of code and programming would take significantly more time. In this article we have collected the main library Linux, as well as their purpose. This information will help you better adapt to the system.
What is a library?
As I said above, the libraries implement the shared functionality, which then are used by the programs. Simply put, the library is a set of functions, each of which can be used in any program. For example, if the program should print the string on the screen, it will not climb straight to the buffer, and uses the function from the standard library.
Libraries are divided into two types: dynamic and static. Static libraries on linux will connect to the building phase of the program, and dynamic – at run time, and they are common to several programs. We will research what a dynamic library in linux. They are located in the folders /lib, /lib64, /usr/lib, /usr/lib/x86_64-linux-gnu. Each library has the extension .so followed by version number. This number is incremented each time the developers make major changes. Such an approach is necessary in order to maintain compatibility for programs that use the old version. For example, the system may be two libraries libfuse.so.0 and libfuse.so.1. Next, we consider the core libraries and their purpose.
How to get information about libraries?
Before proceeding to the consideration of the libraries themselves, you’ll probably be wondering how to get information about them and know where they are in your system. Linux libraries can be located in different directories depending on your distribution, but to look at these directories, execute:
In each of the listed directories are static and dynamic libraries on Linux
Information about the dependencies of each library you can look through the ldd command:
And, you can find out which package owns the library in Ubuntu:
dpkg -S /lib/x86_64-linux-gnu/ld-2.24.so
As you can see, the library ld.so belongs to the libc6 package, or rather it is included in the set of instruments si. For more detail about how to install new libraries and to solve problems with them described in the library article Ubuntu.
This library of basic programming languages that contain basic functionality for interacting with the system.
- libanl.so a library of DNS;
- libc.a – basic static library of the C language;
- libdl.a library is responsible for loading of other libraries during a program execution;
- libnsl.so – working with the NIS;
- libstdc++.so – the C++standard library;
- libutil.so – the basic implements frequently used functions;
- libelf.so – library for working with binary ELF file;
- libevent.so a library with the implementation of function calls after the event;
- libgnutls.so a library with the basic methods and features used in the standard Linux utilities;
- ld-linux.so – the main library, it is collected in the form of static and has no dependencies. Loads the other libraries and executables. You can call this library as a program and pass it the address of the executable file to run.
Library of codecs
These libraries contain sets of codecs for playing different media. Some of them have a proprietary license or a closed source code:
- liba52.so free decoder ATSC A/52;
- libavfilter6.so the library filters to ffmpeg;
- libavcodec57.so – the library of ffmpeg codecs;
- libavformat57.so , a library of formats ffmpeg;
- libavutil55.so – the library of ffmpeg;
- libdv.so – a software codec for DV;
- libmad.so – MPEG audio decoder;
- libmpeg2.so – stream decoder video data;
- libmpg123.so – the library mpg123 console player;
- libwebp.so decoding of Webp format;
- libxvidcore.so media MPEG – 4 codec.
- libao.so , the library playback with a simple interface;
- libasound.so – the library of interaction with the audio subsystem ALSA;
- libaudio2.so – the library of sound, is part of the ALSA;
- libespeak.so – the library of speech synthesis;
- libpulse.so a library with the basic methods PulseAudio;
- libarchive.so – library for working with archives of various formats.
- liblzma.so – archives LZMA.
- libart.so – a library with functions to work with 3d graphics;
- libaa.so a library is an ASCII graphics;
- libgtk-3.so – a set of methods GTK graphical framework 3;
- libgd.so – the basic functions work with graphics and drawing;
- libgif.so – work with the image format Gif;
- libjpeg.so – work with Jpeg images;
- libglapi.so is a free implementation of methods for working with OpenGL;
- libgtk-x11-2.0.so – a set of methods of the library GTK + 2;
- libwx_baseu.so, libwx_baseu_net-3.0.so other – framework set of libraries for creating graphical applications WX;
- libX11.so – the basic methods and functions of the X server;
- libncurses.so one of the most popular graphics libraries;
- libQtGui.so, libQt5Svg.so, libQt5Widgets.so and other libraries of the framework development graphical Qt applications.
Working with text
- libaspell.so – the spelling checker library;
- libfreetype.so a library font rendering;
- libharfbuzz.so a library is processing Unicode characters;
- libxml2.so – a library of XML parsing;
- libyaml-0.so a library is parsing Yaml.
- libcrack.so a library with the implementation of the methods of brute force for check of their reliability;
- libcrypt.so a library is responsible for encryption;
- libssl3.so – library encryption is SSLv3;
- libapparmor.so , the library management security system AppArrmor;
- libaudit.so a library tracking system status and event registration.
- libcups.so the library works with the printer;
- libfuse.so a library of virtual file systems;
- libgphoto2.so a library is the interaction with the cameras via USB;
- libsensors.so – used to obtain information from sensors on the motherboard;
- libudisks2.so a library usisks, which is responsible for automatic mounting and discovery of connected devices;
- libv4l1.so the library works with Webcams;
- libpci.so the library works with the PCI devices;
- libusb-1.0.so library management USB;
- libdrm.so a library with a total capability of Direct Rendering Manager, rendering graphics using the graphics card;
- libdrm_amdgpu.so – DRM driver AMDGPU;
- libdrm_intel.so – DRM-Intel for cards;
- libdrm_nouveau.so – free DRM for Nvidia graphics cards;
- libresolv.so – the library get the IP address by host name;
- libpcap.so , a library of analysis and capture of network packets;
- libproxy.so – set up and manage proxies;
- libSDL.so – the library emulation boot the computer and basic BIOS;
- libwine.so a library layer for running Windows applications on Linux.
- libvirt.so library management KVM;
In this article we have gathered the core libraries of Linux that are most important to the operating system. Of course, it is impossible to list here all the libraries, because a lot of them. I hope this information was useful for you.
At the end of the lesson about libraries on Linux