Linux для чайника – Telegram
Linux для чайника
20K subscribers
89 photos
4 files
80 links
Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

Только по вопросам сотрудничества: @altmainf

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Группы в Linux

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

Группы предоставляют мощный и очень эффективный способ организации ресурсов.
Приведу простой пример. Рассмотрим компанию с несколькими десятками сотрудников, которым нужен некий доступ к серверу, но не обязательно к одним и тем же ресурсам. Вы можете создать пару групп с названием dev и IT, к примеру. Когда пользователи изначально станут получать свои учетные записи, все разработчики будут добавляться в группу dev, а все системные администраторы окажутся добавлены в группу IТ. Теперь предположим, что используется файл конфигурации системы: вместо утомительного добавления прав доступа к файлам для каждого из 10 или 15 администраторов вы можете предоставить групповой доступ только группе IT.
Все члены IТ-группы будут автоматически добавлены, а все разработчики останутся исключенными.

Каждый пользователь системы вместе со многими приложениями автоматически получает свои собственные группы. Это объясняет, почему файлы, которые вы создаете, обычно принадлежат пользователю ваше_имя и входят в группу ваше_имя.
ИМЕНА ПУТЕЙ

Файловая система - это единая иерархическая структура, которая начинается с каталога / и разветвляется, охватывая произвольное число подкаталогов. Каталог самого верхнего уровня называется корневым. Эта моноиерархическая система отличается от используемой в системе Windows, где применяется понятие пространства имен, основанное на принципе деления диска на разделы.

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

Цепочка имен каталогов, через которые необходимо пройти для доступа к заданному файлу, вместе с именем этого файла образуют путь к файлу. Путь может быть абсолютным (например, /t.mp/foo) или относительным (например, book4/filesystem). Последние интерпретируются начиная с текущего каталога. Возможно, многие считают, что текущий каталог задается интерпретатором команд. На самом деле текущий каталог есть у каждого процесса.

Термины имя файла и путь в той или иной степени являются взаимозаменяемыми. Соответственно, имена файлов и пути бывают абсолютными и относительными.

Файловое дерево может иметь произвольную глубину, однако каждый компонент имени файла должен состоять не более чем из 255 символов. Существует также ограничение на длину пути, который вы можете передавать ядру в качестве аргумента системного вызова (4095 байт в Linux и 1024 байт в BSD). Для того чтобы получить доступ к файлу, полное имя которого превышает эти ограничения, необходимо с помощью команды cd перейти в промежуточный каталог, а затем воспользоваться относительным путем к файлу.
эволюция_linux.png
4.2 MB
Инфографика дерева эволюции ОС Linux.
(открывать не в тг, тогда все видно)
Что такое дистрибутив?

Дистрибутив
это операционная система с набором приложений и тем, то есть прямо «с коробки» (установочного образа) вы получаете полностью готовую систему с различными программами для решения основных задач (создание документов, просмотр Web-сайтов, воспроизведение мультимедиа файлов и всех сопутствующих функций компьютера).
Так как Linux является свободным ПО, то любой человек может создать собственную версию Linux, поэтому и существует такое большое количество различных дистрибутивов.
Регистр символов в именах файлов

В отличие от Windows и Mac 0S в системе Linux имена файлов чувствительны к регистру символов. В частности, вы можете встретить в одном каталоге все три приведенных ниже файла.
bookstobuy.txt
BooksToBuy.txt
BoOkStObUy.txt
С точки зрения файловой системы Linux это различные имена. Если вы попытаетесь создать файлы с этими же именами в Windows или Mac OS, то для файла BooksToBuy.txt система предложит задать другое имя или отказаться от попыток создать его. Причина в том, что в каталоге на этот момент находится файл bookstobuy.txt.
Чувствительность к регистру символов также означает, что при вводе команд они должны в точности совпадать с именами файлов, поддерживающих их. Так, например, удаляя файл с помощью команды rm, нельзя вводить RM, Rm или rM. Надо также следить за написанием имен, задаваемых в качестве параметров. Если вы захотите удалить файл bookstobuy.txt , а укажете имя BooksToBuy.txt, вы лишитесь совсем не того файла, с которым предполагали расстаться.

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

Каждый дистрибутив использует собственные инструменты управления пакетами.

□ dpkg. -- Низкоуровневый инструмент управления пакетами, используемый в качестве основы семейства инструментов PMS (Система управления пакетами) на базе дистрибутива Debian. Может применяться непосредственно для установки, управления и удаления пакетов ПО. Тем не менее его функциональность ограниченна. Например, инструмент dpkg не может загружать программные пакеты из хранилищ.

□ rpm. -- Еще один низкоуровневый инструмент управления пакетами, функции которого аналогичны функциям инструмента dpkg . Тем не менее он используется в качестве основы системы управления пакетами Red Hat Linux. Несмотря на то что вы можете задействовать инструмент rpm для управления пакетами, для этой цели лучше применить утилиту PMS более высокого уровня.

□ apt - get. -- Это ТПИ (Текстовый пользовательский интерфейс) -инструмент для PMS Debian. С помощью apt - get можно установить пакет ПО из хранилища и удалить его из локальной системы Linux. Кроме того, вы можете обновить отдельные пакеты, все пакеты в вашей системе или весь дистрибутив. Тем не менее вам придется использовать ТПИ-инструмент apt - cache для получения информации, касающейся программных пакетов.

□ yum. -- Это ТПИ-инструмент для PMS Red Hat. Применяется к таким дистрибутивам, как Red Hat Enterprise Linux (RHEL), Fedora и CentOS. С помощью инструмента yum вы можете устанавливать программные пакеты из хранилища, удалять их из локальной системы Linux, обновлять и т. д. Кроме того, вы можете использовать данный инструмент для получения информации, касающейся программных пакетов и управления ими, например для отображения списка сконфигурированных хранилищ PMS.
Интересные факты о Linux

-- Код ядра написан на языке программирования C с некоторыми расширениями GCC и ассемблере.

-- 17 сентября 1991 вышел Linux версии 0.01, который содержал всего 10’239 строк программного кода.

-- 9 мая 1996 в качестве символа Linux был выбран пингвин Tux. Его отличают желтые лапы и клюв.

-- Релиз Linux 1.0 состоялся 14 марта 1994 года, он содержал более 176’250 строк программного кода.

-- В 2011 году вышел релиз релиз Linux 3.0, который насчитывал уже более 14 млн. строк программного кода.

-- Linux стала первой операционной системой, в которой появились драйвера для поддержки USB 3.0. Код драйвера USB 3.0 впервые был включен в ядро 2.6.31.

-- Linux применяется в Голливуде. Например, визуальные эффекты для фильмов Титаник и Аватар были разработаны с использованием открытого ПО, работающего на Linux.

-- Linux широко используется в космической отрасли.

-- Более 500 самых быстрых суперкомпьютеров в мире работают на Linux.

-- В интервью изданию Wired Линус Торвальдс рассказал, что примерно в 2000 году Стив Джобс предложил ему место в Apple для работы над ядром на базе Unix и настаивал на том, чтобы Линус прекратил работу над Linux. Линус Торвальдс, конечно же отказался от предложения.
[ pingvinus.ru ]
htop

htop — продвинутый системный монитор для Linux. Он был предназначен заменить стандартную программу top. Htop показывает динамический список системных процессов, список обычно сортируется по использованию CPU. Htop, в отличие от top, показывает все процессы в системе. Также показывает время непрерывной работы, использование процессоров и памяти.
Htop часто применяется в тех случаях, когда информации, предоставляемой утилитой top, недостаточно, например, при поиске утечек памяти в процессах. Htop написан на языке Си и использует для отображения библиотеку Ncurses.

Установка: sudo apt-get install htop
После установки запускаем командой htop

PID - идентификатор процесса.
USER - владелец процесса.
PRI - текущий приоритет (влияет на процессорное время, отводимое процессу, значение по умолчанию - 20; чем меньше приоритет, тем больше времени отводится процессу => он выполняется быстрее).
VIRT - размер виртуальной памяти, выделенной под процесс.
CPU% - использование процессора в процентном отношении.
MEM% - использование процессом памяти в процентном отношении.
TIME+ - время работы процесса.
Command - указывает на команду, которой был запущен процесс.

Управление производится с помощью функциональных клавиш (F1 - F10):
F1 - справка;
F2 - настройки;
F3 - поиск процесса;
F4 - сортировка списка процессов (от большего к меньшему или от меньшего к большему);
F5 - устанавливает древовидное отображение (корни - родительские процессы, а листья - дочерние) и наоборот;
F6 - открывает панель с выбором параметра сортировки процессов;
F7 - увеличить приоритет выполнения текущего процесса (реализовано вычитанием единицы из текущего значения nice);
F8 - уменьшить приоритет выполнения текущего процесса. Добавляет единицу к текущему значению nice (увеличение или уменьшение приоритета процесса доступно только суперпользователям).
F9 - убить процесс (ИСПОЛЬЗУЙТЕ ТОЛЬКО ТОГДА, КОГДА ТОЧНО ЗНАЕТЕ, ЧТО ДЕЛАЕТЕ)
F10 - выйти из программы
Список пользователей системы хранится в файле
Anonymous Quiz
57%
/etc/users
33%
/etc/passwd
6%
/root/passwd
4%
/system/passwd
60 лучших программ для Linux

От автора:
"В этой статье я постараюсь дать обзор лучших на мой взгляд программ для Linux. Естественно, высказываю только свое мнение, поэтому на какую-то суперобъективность не претендую. Сразу скажу, что это не какой-то абстрактный список, взятый неизвестно откуда, а программы, которые испытаны лично мной и которые я действительно считаю одними из лучших в своем роде, программы, которые я реально использую в повседневной работе. Этот список я составлял несколько лет в процессе работы и подбора софта, а сейчас просто привел его в надлежащий вид для того, чтобы поделиться с общественностью."
При установке ОС Linux рекомендуется выбрать файловую систему:
Anonymous Quiz
10%
FAT16 либо FAT32
9%
NTFS
72%
journalized ext3 FS
9%
любую из перечисленных
Пробелы в именах файлов

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

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

В оболочке и в сценариях можно указывать имена файлов с пробелами, чтобы держать их части вместе. Например, команда
$ less "Му spacey file"
считает файл Му spacey file в качестве единственного аргумента команды less. Также можно избежать отдельных пробелов с помощью обратной косой черты:
$ less Му\ spacey\ file

Функция завершения имени файла большинства оболочек (зачастую привязанная к клавише <Таb>) обычно автоматически добавляет обратную косую черту. Когда вы пишете сценарии, полезным оружием, о котором нужно знать, является опция -print0. В сочетании с параметром xargs -0 она делает комбинацию find /xargs корректной, независимо от пробелов, содержащихся\ в именах файлов. Например, команда
$ find / home-type f -size + 1М -print0 1 xarqs -0 ls -1
выводит на экран длинный список всех файлов в каталоге /home размером более одного мегабайта.
Кое-что про Ubuntu

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

Симпатичный интерфейс, бесплатное ПО и мощная база в виде Debian OS сделали Ubuntu хитом среди Linux-дистрибутивов.
Еще один важный плюс Ubuntu – ее многогранность. Существует несколько редакций системы с различными графическими оболочками:

• Ubuntu – классический вариант с рабочим столом GNOME 3 и вкраплениями наработок под названием Unity.
• Kubuntu – тот же набор программ, только в качестве графической оболочки используется KDE.
• Xubuntu – аналогичный дистрибутив с минималистичным рабочим столом XFCE.
• Lubuntu – примерно то же, что и Xubuntu, только с поддержкой ПО, разработанного для KDE.
• Ubuntu LTS – стандартная Ubuntu с увеличенным циклом поддержки со стороны разработчиков.
• Ubuntu Server – операционная система для серверов.
• Ubuntu Studio – вариант для тех, кто занимается творчеством.

Как видите, есть из чего выбирать. Найдется вариант под любые задачи. Все ОС по умолчанию включают в себя необходимые для комфортной жизни проприетарные плагины, драйверы и кодеки. В этом плане Ubuntu похожа на Manjaro.
[timeweb.com]
Определение программного обеспечения с открытым исходным кодом

Определение термина «программное обеспечение с открытым исходным кодом» можно найти на сайте www.opensource.org/definition. Оно соответствует десяти принципам.

■ Свободное распространение.
Лицензия должна разрешать распространение, в том числе в качестве части более крупной работы.

■ Доступность исходного кода.
Автор должен сделать исходный код доступным и разрешить распространение исходного кода и (если это применимо) двоичного кода.

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

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

■ Никакой дискриминации в отношении лиц или группы лиц.
Лицензия не должна допускать дискриминацию в отношении любого лица или группы лиц.

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

■ Автоматическое распространение лицензий.
Лицензия должна применяться к любому, кто получает программу, не требуя отдельного соглашения.

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

■ Отсутствие ограничений относительно другого ПО.
Лицензия не должна налагать ограничения на другое ПО, которое распространяется вместе с лицензированным ПО.

■ Технологическая нейтральность.
Лицензия не должна быть ограничена конкретными технологиями или интерфейсами.