Архив метки: Информация

Библиотеки Linux

Все мы привыкли пользоваться программами в любой операционной системе для решения своих задач. Но за функциональностью программ стоит еще одна вещь, с которой мы редко встречаемся при обычной работе с компьютером. Это библиотеки, которые содержат общий набор функций и возможностей, используемых программами. Например, большинство программ, написанных на Си, используют стандартную библиотеку Си, в которой содержатся все основные возможности взаимодействия с системой.

У каждой программы есть свой набор библиотек, которые должны быть в системе чтобы она смогла работать. Иначе бы программистам пришлось заново изобретать различные алгоритмы, писать много кода и разработка программ занимала бы в разы больше времени. В этой статье мы собрали основные библиотеки Linux, а также их предназначение. Эта информация поможет вам лучше освоиться в системе.

Что такое библиотеки?

Как я уже говорил выше - библиотеки реализуют общие возможности, которые потом используются программами. Если говорить просто, то библиотека - это набор функций, каждую из которых можно использовать в любой программе. Например, если программе нужно вывести строку на экран, она не будет лезть прямо в буфер видеокарты, а использует функцию из стандартной библиотеки.

Библиотеки делятся на два типа - динамические и статические. Статические библиотеки linux подключаются на этапе сборки программы, а динамические - во время выполнения и они общие для нескольких программ. Нас будут интересовать именно динамические библиотеки linux. Они находятся в папках /lib, /lib64, /usr/lib, /usr/lib/x86_64-linux-gnu. Каждая библиотека имеет расширение .so, за которым следует номер версии. Этот номер увеличивается каждый раз, когда разработчики вносят серьезные изменения. Такой подход необходим для того, чтобы сохранить совместимость для программ, использующих старые версии. Например, в системе может быть две библиотеки libfuse.so.0 и libfuse.so.1. Далее мы рассмотрим основные библиотеки и их предназначение.

Как получить информацию о библиотеках?

Перед тем как перейти к рассмотрению самих библиотек, вам, наверное, будет интересно, как получить информацию о них и узнать где они находятся в вашей системе. Библиотеки Linux могут быть размещены в различных каталогах, в зависимости от дистрибутива, но посмотреть эти каталоги можно, выполнив:

cat /etc/ld.so.conf.d/*

Во всех перечисленных здесь каталогах находятся статические и динамически библиотеки Linux:

ls -l /lib/x86_64-linux-gnu/

Информацию о зависимостях каждой библиотеки вы можете посмотреть командой ldd:

ldd /lib/x86_64-linux-gnu/ld-2.24.so

А еще можно узнать какому пакету принадлежит библиотека в Ubuntu:

dpkg -S /lib/x86_64-linux-gnu/ld-2.24.so

Как видите, библиотека ld.so принадлежит пакету libc6, точнее она входит в набор инструментов Си. Более подробно, о том, как устанавливать новые библиотеки и решать проблемы с ними, описано в статье библиотеки Ubuntu.

Основные библиотеки

Это библиотеки основных языков программирования, которые содержат базовую функциональность для взаимодействия с системой.

  • libanl.so - библиотека работы с DNS;
  • libc.a - основная статическая библиотека языка Си;
  • libdl.a - библиотека, отвечающая за загрузку других библиотек во время запуска программы;
  • libnsl.so - работа со службой NIS;
  • libstdc++.so - стандартная библиотека C++;
  • libutil.so - реализует основные часто используемые функции;
  • libelf.so - библиотека для работы с бинарными файлами ELF;
  • libevent.so - библиотека с реализацией механизма вызова функций после события;
  • libgnutls.so - библиотека с основными методами и возможностями, используемыми в стандартных утилитах Linux;
  • ld-linux.so - главная библиотека, она собрана в виде статической и не имеет зависимостей. Загружает другие библиотеки и исполняемые файлы. Вы можете вызвать эту библиотеку как программу и передать ей адрес исполняемого файла для запуска.

Библиотеки кодеков

Эти библиотеки содержат наборы кодеков для воспроизведения различных медиа данных. Некоторые из них имеют несвободную лицензию или закрытый исходный код:

  • liba52.so - свободный декодер ATSC A/52;
  • libavfilter6.so - библиотека фильтров ffmpeg;
  • libavcodec57.so - библиотека кодеков ffmpeg;
  • libavformat57.so - библиотека форматов ffmpeg;
  • libavutil55.so - библиотека дополнительных функций ffmpeg;
  • libdv.so - программный кодек для DV;
  • libmad.so - MPEG аудио декодер;
  • libmpeg2.so - потоковый декодер видео данных;
  • libmpg123.so - библиотека консольного плеера mpg123;
  • libwebp.so - декодирование формата Webp;
  • libxvidcore.so - медиа кодек MPEG-4.

Звуковые библиотеки

  • libao.so - библиотека проигрывания звука с простым интерфейсом;
  • libasound.so - библиотека взаимодействия со звуковой подсистемой ALSA;
  • libaudio2.so - библиотека работы со звуком, входит в состав ALSA;
  • libespeak.so - библиотека синтеза речи;
  • libpulse.so - библиотека с основными методами PulseAudio;

Работа с архивами

  • libarchive.so - библиотека для работы с архивами различных форматов;
  • liblzma.so - работа с архивами LZMA.

Графические библиотеки

  • libart.so - библиотека с реализацией функций для работы с 3d графикой;
  • libaa.so - библиотека ASCII графики;
  • libgtk-3.so - набор методов графического фреймворка GTK 3;
  • libgd.so - базовые функции работы с графикой и рисования;
  • libgif.so - работа с форматом изображений Gif;
  • libjpeg.so - работа с изображениями Jpeg;
  • libglapi.so - свободная реализация методов для работы с OpenGL;
  • libgtk-x11-2.0.so - набор методов библиотеки GTK 2;
  • libwx_baseu.so, libwx_baseu_net-3.0.so и другие - набор библиотек фремворка создания графических приложений WX;
  • libX11.so - основные методы и функции X сервера;
  • libncurses.so - одна из самых популярных библиотек псевдографики;
  • libQtGui.so, libQt5Svg.so, libQt5Widgets.so и другие - библиотеки фреймворка разработки графических приложений Qt.

Работа с текстом

  • libaspell.so - библиотека проверки орфографии;
  • libfreetype.so - библиотека отрисовки шрифтов;
  • libharfbuzz.so - библиотека обработки символов Unicode;
  • libxml2.so - библиотека разбора XML;
  • libyaml-0.so - библиотека разбора Yaml.

Безопасность

  • libcrack.so - библиотека с реализацией методов перебора паролей для проверки их надежности;
  • libcrypt.so - библиотека, отвечающая за шифрование;
  • libssl3.so - библиотека шифрования SSLv3;
  • libapparmor.so - библиотека управления системой безопасности AppArrmor;
  • libaudit.so - библиотека слежения за состоянием системы и регистрации событий.

Библиотеки драйверов

  • libcups.so - библиотека работы с принтером;
  • libfuse.so - библиотека организации виртуальных файловых систем;
  • libgphoto2.so - библиотека взаимодействия с камерами по USB;
  • libsensors.so - используется для получения информации от датчиков на материнской плате;
  • libudisks2.so - библиотека usisks, которая отвечает за автоматическое монтирование и обнаружение подключенных устройств;
  • libv4l1.so - библиотека работы с веб-камерами;
  • libpci.so - библиотека работы с PCI устройствами;
  • libusb-1.0.so - библиотека управления USB;
  • libdrm.so - библиотека с общими возможностями Direct Rendering Manager, отрисовки графики с помощью видеокарты;
  • libdrm_amdgpu.so - DRM для драйвера AMDGPU;
  • libdrm_intel.so - DRM для карт Intel;
  • libdrm_nouveau.so - свободный DRM для видеокарт Nvidia;

Сеть

  • libresolv.so - библиотека получения IP адреса по имени хоста;
  • libpcap.so - библиотека анализа и захвата сетевых пакетов;
  • libproxy.so - настройка и управление прокси;

Эмуляция

  • libSDL.so - библиотека эмуляции загрузки компьютера и базовых возможностей BIOS;
  • libwine.so - библиотека прослойки для запуска приложений Windows в Linux.
  • libvirt.so - библиотека управления KVM;

Выводы

В этой статье мы собрали основные библиотеки Linux, которые имеют наибольшее значение для работы операционной системы. Конечно, невозможно перечислить здесь абсолютно все библиотеки, потому что их очень много. Надеюсь эта информация была полезной для вас.

На завершение урок про библиотеки Linux:

https://youtu.be/qZEQ1gIvDVo

Что такое виртуализация KVM

Сегодня сложно представить мир без компьютеризированных устройств. Лет этак 20 назад почти все бытовые приборы были электро-механические, об использовании компьютерных схем повсеместно не было даже и речи. Самые первые компьютеры занимали значительные объемы пространства, и могли относительно не много. Компьютерно-вычислительные комплексы за последнее время прошли достаточно большой путь развития. Хотя, принципиально компьютеры ничем не изменились, но вычислительные мощности стремительно возросли. Наличие компьютера в простой семье теперь не является чем-то особенным.

Читать далее Что такое виртуализация KVM

Файловая система Linux

В этой статье мы поговорим про файловую систему Linux. Но здесь вы не найдете описания тонкостей работы с определенной файловой системой, например, ext4, а также не найдете команд для работы с какой-либо ФС. Мы остановимся на более общих понятиях и попытаемся разобраться что такое файловая система, и как она работает в целом.

Каждый компьютер сохраняет данные и результаты на жестком диске, твердотельном накопителе SSD или любом другом носителе информации, это неизбежно. Для этого есть несколько причин. Во-первых, содержимое RAM очищается при каждой перезагрузке компьютера. Конечно, есть быстрые энергонезависимые устройства хранения, такие как флеш память, но они стоят намного дороже, чем стандартные модули DDR3.

Вторая причина хранить данные на диске, это то, что оперативная память намного дороже чем более медленные, но вместительные жесткие диски. Фактически 16 Гб оперативной памяти будет стоить столько же, сколько жесткий диск на 2 Тб. Таким образом, мы видим, что оперативная память в 71 раза дороже чем HDD.

Что такое файловая система?

Люди могут подразумевать под файловой системой совсем разные понятия. Само словосочетание может иметь несколько значений и вам придется понимать о чем идет речь из контекста документа.

Давайте рассмотрим наиболее часто используемые значения слов файловая система. Мы не будем останавливаться на официальной трактовке, а попытаемся обратить внимание на сферу применения:

  • Все структура каталогов Linux, начиная с корня (/);
  • Конкретный формат раздела хранения данных, например, Ext3, Ext4, Btrfs, XFS и так далее. Ядро Linux поддерживает более 10 типов файловых систем, в том числе очень старых и новых. Каждый тип файловой системы использует свои структуры метаданных чтобы организовать работу с данными на диске;
  • Раздел или логический том, отформатированный в определенный тип файловой системы, который можно примонтировать к определенной точке монтирования.

Дальше рассмотрим как выполнена организация файловой системы Linux и ее основные функции.

Основные функции файловой системы

Необходимость использования дисковых хранилищ приносит некоторые особенности работы файловых систем. Основная функция файловой системы - предоставление организованного пространства для хранения файлов на энергонезависимом запоминающем устройстве. Но есть несколько дополнительных функций, которые вытекают из основной.

Все файловые системы должны обеспечивать пространство имен. Оно определяет как будут называться файлы, ограничения на длину имени, используемые символы, а также логическую структуру данных на диске, например, использование каталогов для организации файлов, а не просто складывания их в одном месте.

Когда пространство имен определено, необходимо создать для него основу с помощью метаданных файловой системы. Она включает в себя структуры данных для создания иерархии каталогов, структуры для хранения занятых и свободных блоков на диске, структуры с именами файлов и каталогов, информацией о файлах, такой как размер, время создания, расположение файла на диске и так далее. В самих блоках файла на диске хранится только его содержимое, вся же остальная информация находится в метаданных.

Также метаданные используются для описания логических томов и подразделов, если таковые поддерживаются, и еще одни содержат информацию, описывающую файловую систему.

Для доступа к файлам также необходим набор функций API, с помощью которых программы могли бы управлять различными объектами файловой системы. Обычно должны существовать методы для создания, перемещения и удаления файлов.

Современные файловые системы также обеспечивают модель безопасности, которая представляет из себя схему прав доступа к файлам для пользователей. Модель безопасности ФС в Linux гарантирует что пользователи будут иметь доступ только к своим файлам.

Дальше, нам нужно программное обеспечение, которое будет выполнять все эти функции. Организация файловой системы linux состоит из двух частей:

Первая часть - это виртуальная файловая система. Она представляет собой единый набор команд ядра, с помощью которого разработчики могут получить доступ к любой из файловых систем. Виртуальной файловой системе необходим драйвер для работы с различными типами ФС. Драйвера файловой системы - это вторая часть реализации, в них реализован стандартный набор команд, выполняющих специфичные для файловой системы действия.

Структура каталогов

Намного проще найти файлы, если они хранятся небольшими группами, каждый на своем месте, а не все в одной куче. Структуру файловой системы Linux можно представить в виде простой иерархии. Все каталоги находятся в корневом каталоге (/) поэтому каждый адрес файла начинается с него. Например, /var/log/dmesg, /usr/share/, /bin.

Корневая файловая система Linux - это ФС верхнего уровня, она должна содержать все файлы, необходимые для загрузки Linux еще до того как другие файловые системы будут смонтированы. Здесь уже должны быть все исполняемые файлы и библиотеки, нужные для подключения других ФС. Во время загрузки другие файловые системы монтируются в четко определенные для них каталоги. Более детально предназначение каждого каталога Linux мы рассматривали в статье структура файловой системы Linux.

Каталоги /bin, /dev, /etc, /lib, /root, /sbin не могут быть примонтированы и должны быть доступны еще до загрузки, так как в них находятся все необходимые файлы. Что касается каталогов /media и /mnt, то они должны быть пустыми, поскольку это точки монтирования для других файловых систем. Остальные каталоги можно смело монтировать позже, они никак не повлияют на запуск.

В некоторых не Unix операционных системах разделам присваиваются отдельные буквы, например, C: или D:. В них каждый раздел будет иметь отдельную файловую систему. Чтобы найти нужный файл на диске C: вам необходимо сначала выполнить команду C:, а затем искать путь к файлу.

В Linux все физические диски и разделы, объеденные в одну файловую структуру. Она начинается с корня (/) в котором расположены все другие каталоги. Это работает потому что файловые системы /var, /home, /boot, /tmp и т д могут находиться на других физических дисках. Даже съемные диски подключаются в основную файловую систему.

И это очень хорошо, потому что при обновлении версии дистрибутива можно сохранить абсолютно все файлы и настройки в домашнем каталоге. Иногда полезно переформатировать корневой раздел чтобы убрать оттуда весь мусор, если /home находится на отдельном разделе, то вы ничего не потеряете. Есть и другие причины так поступать, например, защита корневой ФС от переполнения, что привело бы к неработоспособности системы.

Типы файловых систем

Как уже было сказано, Linux поддерживает более 10 различных файловых систем, но создавать и выполнять запись, возможно, только в некоторые из них. Зато можно подключить их все к корневой файловой системе. Под типом мы подразумеваем совокупность структур и метаданных, необходимых для хранения файлов.

Linux может монтировать и читать такие файловые системы:

Основная причина почему они поддерживаются - это попытка организовать максимальную совместимость с другими операционными системами. А вот основные файловые системы linux, которые можно создавать:

  • btrfs;
  • cramfs;
  • ext2;
  • ext3;
  • ext4;
  • fat;
  • gfs2;
  • hfsplus;
  • minix;
  • msdos;
  • ntfs;
  • reiserfs;
  • vfat;
  • xfs.

Мы более подробно рассматривали особенности некоторых из них в статье типы файловых систем Linux.

Монтирование файловых систем

Термин смонтировать появился еще в самом начале развития Linux, тогда было необходимо вставить кассету или съемный диск в специальный привод. Только после этого можно было получить доступ к файловой системе устройства.

Точка монтирования - это обычный каталог, как любая другая часть файловой системы. Например, домашняя папка смонтирована в каталог /home. И так далее.

Корневая файловая система ос Linux / подключается на раннем этапе загрузки. Другие файловые системы монтируются системой инициализации, например, SysVinit или Systemd. Точки монтирования настраиваются с помощью файла /etc/fstab. Также можно выполнять ручное монтирование в Linux с помощью команды mount. Каталог для монтирования необязательно должен быть пустым, он может содержать файлы, но тогда они будут просто скрыты.

Выводы

Эта статья была ориентирована на новичков и я надеюсь, что некоторые вопросы, касаемо термина файловая система linux были сняты. Теперь вы можете оценить элегантность, сложность и функциональность файловой системы Linux. Если у вас есть вопросы, спрашивайте в комментариях!

Источник: opensource.com

Что делает ядро Linux

Ядро Linux — это ключевой компонент любого дистрибутива. Оно создавалось Линусом Торвальдсом как средство для доступа к терминалу университетского компьютера, но сейчас на него возложено гораздо больше функций.

Мы затронем не только само ядро, но ещё и утилиты проекта GNU. Это поможет определить границы возможностей ядра, а также понять, почему ядро без них бесполезно.

Читать далее Что делает ядро Linux

Основные конфигурационные файлы Linux

Операционная система Linux в отличие от Windows не имеет общего реестра для хранения настроек системы, все настройки хранятся в конфигурационных файлах. Большинство этих файлов размещено в папке /etc/.

Настройки большинства системных и сторонних программ находятся в этих файлах, это могут быть настройки графического сервера, менеджера входа, системных служб, веб-сервера, системы инициализации.

Только часть файлов конфигурации находятся в других папках, например, файлы настройки рабочего окружения в домашнем каталоге пользователя. Новичкам очень важно понимать, за что отвечают те или иные конфигурационные файлы, чтобы при необходимости очень быстро сориентироваться. В этой статье мы рассмотрим основные конфигурационные файлы Linux, их расположение и предназначение.

Конфигурационные файлы Linux

На самом деле в самой системы Linux конфигурационных файлов нет. Поскольку операционная система - это всего лишь набор программ и ядро, то все эти файлы были созданы определенными программами и читаются ими же для настройки поведения. Большинство файлов, которые мы привыкли считать стандартными, относятся к системе инициализации или к другим системным утилитам.

Как я уже сказал, большинство файлов размещено в /etc. Название этой папки расшифровывается как "et cetera", что с латинского означает "и другие" или "и так далее". Сначала давайте посмотрим содержимое каталога /etc Linux:

ls -l /etc/

Здесь достаточно много различных файлов. Дальше мы рассмотрим назначение многих из них. Список отсортирован по алфавиту.

1. /etc/adjtime

Этот конфигурационный файл отвечает за настройку формата системного времени и читается службой systemd-timedated. Время может быть представлено в двух вариантах: LOCAL - время текущего часового пояса и UTC - время по Гринвичу. Вы можете вручную менять значение или воспользоваться утилитой timedatectl.

2. /etc/bash.bashrc

Этот файл принадлежит командной оболочке bash. Это не совсем конфигурационный файл - а скрипт, его содержимое выполняется при запуске каждого экземпляра bash для настройки оболочки. Точно так же выполняется содержимое файла ~/.bashrc для каждого пользователя.

3. /etc/crontab

Crontab - файл настройки планировщика cron. Здесь записываются все задания, которые должен выполнить планировщик, а также время и периодичность. Этот файл не принято редактировать напрямую. Для этого используется утилита crontab -e.

4. /etc/environment

Здесь содержатся переменные окружения, которые будут загружены для каждого сеанса терминала, независимо от того запущен он на локальной машине или по ssh. Файл читается скриптами Bash во время инициализации оболочки.

5. /etc/fstab

Наверное, все уже знают файл /etc/fstab. Здесь выполняется настройка монтирования файловых систем во время загрузки. В современных системах он читается systemd и все записи на ходу транслируются в юнит-файлы, с помощью которых уже выполняется монтирование. Смотрите также: автоматическое монтирование fstab.

6. /etc/group

В этом файле хранятся все группы пользователей, которые есть в системе. С помощью него вы можете посмотреть список групп, их идентификаторы или добавить новые. Но добавлять группы с помощью редактирования файла не принято, для этого есть утилита usermod.

7. /etc/hostname

В этом файле содержится имя хоста, файл будет прочитан во время загрузки системы и указанное имя компьютера установится в системе. Вы будете его видеть в приглашении ввода терминала или в информации о системе.

8. /etc/hosts

Файл /etc/hosts позволяет задавать псевдонимы для различных сетевых узлов. Таким образом, компьютер не обращается к DNS для получения IP домена, а берет его из hosts. Это позволяет, например, заблокировать доступ к нежелательным сайтам просто перенаправив их на localhost или же получить доступ к сайту по ip, которому еще не присвоен домен.

9. /etc/hosts.allow и /etc/hosts.deny

С помощью этих двоих файлов можно настраивать права доступа ко всем локальным службам. Например, вы можете разрешить доступ к службе apache только с локального компьютера. Это очень сильно повысит безопасность системы, если ваш компьютер подключен к публичной сети.

10. /etc/issue и /etc/issue.net

Баннер, который будет выводиться при входе в командную оболочку локально или по SSH. Обычно там выводится версия ядра и дистрибутива Linux, но вы можете заменить эту информацию по своему усмотрению.

11. /etc/ld.so.conf

В этом файле содержатся пути к папкам, в которых компоновщик linux ld.so будет искать динамические библиотеки во время запуска программ. Папки /lib64, /lib, /usr/lib64 и /usr/lib будут проверены автоматически.

12. /etc/localtime

Это символическая ссылка, которая указывает на файл часового пояса в папке /usr/share/zoneinfo/. Редактировать файл не нужно, а для изменения настроек нужно создать символическую ссылку на другую временную зону.

13. /etc/login.defs

Файл /etc/login.defs отвечает за настройку поведения утилиты управления пользователями и параметры входа в систему. Вы можете настроить какой минимальный и максимальный id нужно выдавать, что делать с папкой пользователя при удалении и многое другое, количество попыток входа и таймаут, а также многое другое.

14. /etc/mime.types

В этом файле содержатся общесистемные правила преобразования расширений файлов в понятные системе MIME типы данных. Затем уже система выбирает, чем открыть тот или иной тип данных.

15. /etc/modprobe.d/

Папка /etc/modprobe содержит конфигурационные файлы со списками модулей ядра, которые не нужно загружать при старте системы, псевдонимами для существующих модулей, а также позволяет задавать настройки для модулей.

16. /etc/modules-load.d/

Папка /etc/modules-load.d/ содержит файлы со списками модулей, которые должны быть загружены при запуске системы. Имя файла не важно, но он должен иметь расширение .conf.

17. /etc/nsswitch.conf

Этот файл задает настройки порядка разрешения имен в системе для всех программ, написанных на Си или С++. Например, нужно сначала просматривать локальную сеть и систему, или сразу же отправлять запрос к DNS.

18. /etc/ntp.conf

Файл ntp.conf отвечает за настройку службы синхронизации времени - ntpd. В файле указаны адреса ntp серверов, с которых служба будет получать время, а также общие настройки.

19. /etc/os-release

Отображает очень подробную информацию об установленном дистрибутиве:

20. /etc/passwd

Файл содержит список всех зарегистрированных в системе пользователей, а также дополнительные настройки для них, например, оболочку, дату смены пароля и дату отключения аккаунта, кроме самого пароля. Напрямую файл лучше не редактировать, а использовать утилиту для управления пользователями adduser или deluser.

21. /etc/profile

Файл /etc/profile, точно так же как и /etc/environment загружается и выполняется при запуске любой командной оболочки в системе. Но в отличие от environment, это скрипт, а значит, он может задавать не только переменные, но и выполнять различные команды для инициализации оболочки.

22. /etc/resolv.conf

В этом файле содержатся IP адреса DNS серверов, которые будет использовать компьютер. В большинстве дистрибутивов вы можете редактировать файл вручную или же использовать специальные утилиты.

23. /etc/sddm.conf

Это конфигурационный файл Linux для настройки менеджера входа sddm, для других менеджеров входа будут свои файлы настройки. Здесь можно изменить максимальный и минимальный ID пользователя, который может войти в систему, например, чтобы разрешить авторизацию root, изменить тему, добавить вход без пароля и многое другое.

24. /etc/shadow

Раньше пароли пользователя содержались в файле /etc/passwd, но поскольку к нему мог получить доступ любой пользователь, это было небезопасно, несмотря на то, что пароли зашифрованы. Поэтому все пароли были вынесены в /etc/shadow. Вы можете изменить пароль пользователя.

25. /etc/sudoers

/etc/sudoers - это файл настройки прав доступа к утилите sudo. Эта утилита позволяет выполнять команды от имени других пользователей, в том числе от имени суперпользователя. Но использовать ее могут только те пользователи, которые прописаны в этом файле.

26. /etc/sysctl.conf

Этот файл отвечает за настройку параметров ядра во время выполнения. Тут вы можете задать все параметры из подсистемы /sys/ и они будут сохранены после перезагрузки.

27. /etc/vconsole.conf

У этого файла только одна цель - задать кодировку, раскладку клавиатуры и шрифт по умолчанию для всех виртуальных консолей, запускаемых на машине.

28. /boot/grub/grub.cfg

Этот конфигурационный файл Linux находится не в /etc из-за своего особого предназначения. Здесь содержатся все настройки загрузчика, пункты меню и другие параметры, поэтому он должен быть доступен еще до того как была подключена корневая файловая система.

Выводы

В этой статье мы рассмотрели основные конфигурационные файлы Linux, которые находятся в папке /etc/. Возможно, какие-либо важные файлы, по вашему мнению, упущены, тогда обязательно расскажите о них и их предназначении в комментариях!

Типы файловых систем для Linux

Операционная система Windows может быть установлена только на файловую систему NTFS, поэтому обычно у пользователей не возникает вопросов какую ФС лучше использовать. Но Linux очень сильно отличается, здесь в ядро системы встроены и могут использоваться несколько файловых систем, каждая из которых оптимизирована для решения определенных задач и лучше подходит именно для них.

Новые пользователи не всегда понимают что такое раздел жесткого диска и файловая система. В нашей сегодняшней статье мы попытаемся разобраться во всех этих понятиях, рассмотрим что такое файловая система, а также рассмотрим самые распространенные типы файловых систем Linux. Но начнем с самых основ, разделов диска.
Читать далее Типы файловых систем для Linux

Путь к файлу в Linux

Все файлы в Linux имеют определенный адрес в файловой системе, с помощью которого мы можем получить к ним доступ с помощью файлового менеджера или консольных утилит. Это довольно простая тема, но у многих новичков с этим возникают трудности.

В сегодняшней небольшой заметке мы рассмотрим что такое путь к файлу Linux, каким он может быть, как правильно его писать и многое другое. Если раньше у вас возникали с этим трудности, то после прочтения статьи все станет полностью понятно.
Читать далее Путь к файлу в Linux

Двойная загрузка Windows и Linux - за и против

Многие начинающие пользователи, которые только переходят на Linux используют двойную загрузку Windows и Linux. Это значит, что вместе с Linux на компьютере установлена и какая-либо версия Windows. У такого подхода есть свои преимущества и недостатки, хотя преимуществ, как по мне намного больше. Я сам до сих пор использую двойную загрузку, хотя Linux пользуюсь в качестве основной операционной системы уже более десяти лет.

В этой статье мы рассмотрим за и против почему стоит использовать Windows и Linux на одном компьютере вместе, какие преимущества это вам дает и какие ограничения накладывает.
Читать далее Двойная загрузка Windows и Linux - за и против

Почему вам стоит научиться программировать

Если вы смотрели наши предыдущие статьи, то я уверен, что статья самые популярные языки программирования в linux, наверняка привлекла ваше внимание. Самое первое, что пришло мне в голову после прочтения этой статьи было: мы не должны глубоко искать причину: «зачем учиться программировать». Хотя в конце статьи будет краткое примечание по данной теме, но лично я считаю, что это не должно быть интригующей тайной.

Я хорошо знаю, что много экспертов в программировании могут заинтересоваться этой статьей и задаться вопросом: «Серьезно чувак, людям на самом деле нужна причина зачем начать программировать?». Я не имею в виду, что программирование даст вам большие деньги, шанс стать миллионером, или даже шанс стать известным во всем мире благодаря своей работе.

Но оно включает больше, чем кажется на первый взгляд. И я поделюсь «моим личным опытом». Как новичку в программировании, самая большая проблема, с которой мне пришлось столкнуться (и она наблюдается у многих людей в этой сфере) – это преодоление разочарования в том, что я не в состоянии решить текущую проблему. Я начал изучать проблемы на SPOJ и первая проблема заключалась в Жизни, Вселенной и Всём, которая на самом деле оказалась самой простой.

После ее решения, мои мысли были похожи на - «Да, я невероятно жажду стать асом в программировании». Но мир моей мечты рухнул после столкновения с невозможностью решить очередные проблемы. Даже спустя много дней я был не в состоянии решить некоторые из них, и они начали ставить под сомнение святость программирования? Зачем учиться программировать, нужно ли оно вам на самом деле? Я имею в виду, почему я должен тратить свое время и силы на решение данных проблем, которые возможно и вовсе неразрешимые.

До тех пор, пока я не прочитал статью в одном блоге по разработке на python:

Учитель математики ведет занятие по логарифмам или квадратному уравнению, или любое другое, а студент спрашивает: «Мне когда-нибудь пригодятся эти знания?» «Скорее всего никогда», без колебаний ответил учитель. «Большинство рабочих мест и даже множество профессий не требуют, чтобы вы знали математику сверх основных арифметических действий и небольших элементов алгебры». «Но,» продолжил учитель, «позвольте мне спросить вас о другом. Почему люди идут в спортзал и поднимают тяжести? Все ли они планируют стать тяжелоатлетами или профессиональными бодибилдерами? Неужели они думают, что в один прекрасный день встретят старушку с двухсотфунтовой штангой и скажут: «Это то, для чего я тренировался». «Нет, они поднимают тяжести, чтобы это делало их более сильными.

Обучение математике имеет важное значение, потому что оно делает вас умнее. Оно заставляет ваш мозг думать в правильном направлении, которое требует точности, прямолинейности и абстрактного мышления. Оно больше, чем механическое заучивание, или изготовление красивых вещей, или выяснения чьих-то ожиданий и их успокоение. Выполнение домашней работы по математике дает практические навыки прямолинейного мышления, где существуют объективные правила и неправильные ответы.

И математика нужна везде: она включается во множество других предметов и является универсальной в разных культурах. И все это практика мышления по-новому. А возможность мыслить по-новому – это то, что подготовит вас к непредсказуемым, а порой даже опасным ситуациям в будущем.

Хорошо, если вы думаете: Нет, это не заставит меня открыть новую страницу, открыть свой ноутбук и это не будет иметь вид: «На старт, Внимание, Программировать»!! Но да, статья заставила меня задуматься над вопросом зачем нужно программировать.

Зачем программировать, ведь нет никакой гарантии мгновенного успеха, а программирование по-прежнему предполагает длинный путь вашего становления, развития эффективности и продуктивности. На сегодняшний день, почти все мы проводим наше время залипая в компьютерах, поэтому для вас не станет ударом изучение того, что на самом деле происходит позади экрана, возможно, вы научитесь даже более эффективно использовать свою систему. И кроме всего прочего, обучение программированию включает в себя раздел «Как реально себе помочь».

Вам понравилась статья? Что вы думаете обо всем этом? Уже знаете несколько языков программирования или только собираетесь выучить? Напишите в комментариях!

На завершение, видео, где рассказывается как правильно выбрать язык программирования:

Источник: fossbytes.com

Как правильно: Linux или GNU Linux

Споры о том, как правильно именовать операционную систему, Linux или GNU Linux, не утихают с момента появления ядра и длятся вот уже три десятилетия. На стороне тех и других звучат весомые доводы, мы же попытаемся взглянуть на это со стороны.

В самом названии GNU Linux лежит немало противоречий, во многом связанных с самой идеей операционной системы GNU, заложенной Ричардом Столлманом. Ещё одно противоречие заключается в том, что именно считать операционной системой Linux. Давайте же разбираться Linux или GNU Linux.

Читать далее Как правильно: Linux или GNU Linux