Linux
2.57K subscribers
210 photos
376 videos
6 files
139 links
Все для системного администратора, новости и информация из мира Linux
Download Telegram
Администрирование Линукс (Linux)

Вводный урок
Урок 1 - Разворачиваем стенды с Linux
Урок 2 - Навигация в системе с использованием командной строки
Урок 3 - Потоки ввода-вывода данных
Урок 4 - Работа с файлами и каталогами (часть 1)
Урок 5 - Работа с файлами и каталогами (часть 2)
Урок 6 - Символические и жесткие ссылки в Linux
Урок 7 - Монтирование файловых систем
Урок 8 - Работа с пакетами средствами dpkg
Урок 9 - Управление пакетами с использованием APT

👉@linuxchmod
👍5
Media is too big
VIEW IN TELEGRAM
Revolution OS
Перевод Дмитрий Бачило

Фильм об истории появления идей свободного программного обеспечения, ядра Linux, ОС GNU, перехода Netscape (Mozilla, Firefox) с проприетарной на откртую модель разработки, создание Red Hat и т.д.

источник

👉@linuxchmod
🔥4👍2
apt-get — команда для управления пакетами программного обеспечения в дистрибутивах, основанных на Debian

Команда apt-get предназначена для работы с утилитой «apt», являющейся стандартной утилитой для управлении пакетами программного обеспечения в дистрибутиве Debian, а также основанных на нем дистрибутивах (Ubuntu, Linux Mint, ...).

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

Примеры использования
Установка пакета программного обеспечения:

# apt-get install <имя пакета>

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

# apt-get install --reinstall <имя пакета>

Удаление пакета программного обеспечения:

# apt-get remove <имя пакета>

Удаление пакета программного обеспечения со всему файлами конфигурации:

# apt-get --purge remove <имя пакета>

Поиск пакета программного обеспечения:

# apt-cache search <имя пакета>

Обновление списков пакетов программного обеспечения из подключенных репозиториев (файлов с расширением .deb):

# apt-get update

Обновление системы (полезно для поддержания программного обеспечения в актуальном состоянии):

# apt-get upgrade

Обновление дистрибутива (утилита попытается загрузить и установить пакеты программного обеспечения из состава новой версии дистрибутива):

# apt-get dist-upgrade

Вывод короткого списка всех доступных параметров команды:

# apt-get --help

Механизм автодополнения команд
Для активации механизма автодополнения команд apt-get по клавише Tab следует добавить строку

source /etc/bash_completion

в файл .bashrc из вашей домашней директории. После этого при вводе такой команды, как «apt-get install a» и нажатии клавиши Tab командная оболочка Bash попытается подставить имя пакета программного обеспечения.

Дополнительная информация
Попробуйте выполнить команду:

apt-get moo

Вы должны будете увидеть следующий вывод:

(__)
(oo)
/------/
/ | ||
* /---/

...."Have you mooed today?"…


Использование в других дистрибутивах
Если утилиты из комплекта поставки apt-get совместимы с вашим дистрибутивом, вы сможете воспользоваться штатным менеджером пакетов вашего дистрибутива для установки их в вашу систему. После окончания процесса установки вы сможете использовать приведенные выше команды для управления пакетами программного обеспечения дистрибутива.

Устранение неполадок в дистрибутивах, использующих пакеты RPM
В некоторых случаях после исполнения команды apt-get будет выводиться сообщение о невозможности блокировки определенной директории. Большинство проблем, вызывающих подобное поведение, решается путем исполнения следующей последовательности команд:

rm /var/lock/rpm/transaction
rm /var/lib/rpm/__db*
rm /var/cache/apt/archives/lock

👉@linuxchmod
👍4
#вакансия #удалённо #parttime #преподаватель #linux

OTUS ищет преподавателей на онлайн-курс Administrator Linux. Professional

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

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

Обязанности:
- подготовиться к занятиям (есть материалы для опоры);
- проводить онлайн-занятия, уделяя большое внимание практике. Здесь вы сможете развивать навыки публичных выступлений, работы с аудиторией и подачи обратной связи;
- за доплату возможна проверка домашних заданий.

Условия:
гибкий график, легко совмещать с основной работой, занятия в вечернее время с 20:00 до 21:30, дни на выбор;
темы занятий на выбор;
оплата от 4000 до 6000 руб. за вебинар (полтора часа) и 300-400 рублей за проверку 1 домашнего задания;
бонусы: доступ к нашим курсам, нетворкинг, развитие личного бренда, участие в воркшопах и конференциях.

Обсудить подробнее: @HR_Nikita
О UEFI

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

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

https://help.ubuntu.ru/wiki/uefi

👉@linuxchmod
👍6
Горячие клавиши терминала Linux

Общие:
Ctrl+Alt+T - в дистрибутивах, основанных на Ubuntu это сочетание клавиш используется для открытия терминала.
Tab - эта клавиша используется для автодополнения в терминале. Вам достаточно набрать начало какой-нибудь команды, затем нажать её и команда предложит доступные варианты или завершит её если она одна.
Ctrl+L - очистить весь вывод терминала.
Ctrl+S - приостановить вывод терминала.
Ctrl+Q - возобновить вывод если он был приостановлен.
Ctrl+C - отправить команде сигнал SigInt для её завершения.
Ctrl+Z - свернуть текущую команду в фоновый режим.

История команд:
Стрелки вверх и вниз - используются для перемещения вперед и назад по истории команд.
Ctrl+r - можно использовать для поиска по истории команд.
Ctrl+p - предыдущая команда в истории команд.
Ctrl+n - следующая команда в истории команд.
Ctrl+g - если вы находитесь в режиме поиска, завершает поиск.
Ctrl+o - выполнить найденную поиском команду.
Alt+. - использовать последнее слово предыдущей команды.

Перемещение курсора:
Ctrl+a - перейти в начало строки.
Ctrl+e - перейти в конец строки.
Alt+b - перейти влево на одно слово.
Alt+f - перейти в право на одно слово.
Ctrl+b - перейти влево на один символ.
Ctrl+f - перейти вправо на один символ.
Ctrl+xx - перейти в конец или в начало строки.

Редактирование:
Ctrl+u - вырезать строку до позиции курсора.
Alt+Del - удалить слово перед курсором.
Alt+d - удалить слово после курсора.
Ctrl+d - удалить символ под курсором.
Ctrl+h - удалить символ под курсором.
Ctrl+w - вырезать слово под курсором.
Ctrl+k - вырезать строку от позиции курсора до конца строки
Alt+t - поменять текущее слово с предыдущим.
Ctrl+t - поменять местами два символа перед курсором.
Esc+t - поменять местами два слова перед курсором.
Ctrl+y - вставить то, что было вырезано.
Alt+u - сделать верхний регистр символов от позиции курсора до конца текущего слова.
Alt+l - сделать нижний регистр символов от позиции курсора до конца слова.
Alt+c - перевести символ под курсором в верхний регистр и перейти к концу слова.
Alt+r - вернуть строку в исходное состояние.
Ctrl+_ - отменить последнее действие со строкой.

👉@linuxchmod
👍13
Советы по настройке history команд в Bash

Каждая вводимая в терминале команда сохраняется в файле ~/.bash_history. Чтобы посмотреть историю команд – введите history.

Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.

Чтобы изменения в ~/.bashrc вступили в силу, выполните:

source ~/.bashrc


1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.

Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.

Для этого добавьте следующую строку в файл ~/.bashrc:

export HISTTIMEFORMAT="%h %d %H:%M:%S "
Теперь, набрав history, Вы получите следующий вывод:

113 Jun 08 16:31:06 sudo ifconfig
114 Jun 08 16:31:10 top
115 Jun 08 16:31:19 ping disnetern.ru
116 Jun 08 16:31:22 history


2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).

export HISTSIZE=5000
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).

export HISTFILESIZE=5000


3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?

Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc:

shopt -s histappend


4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.

Если сессия внезапно оборвется Вы потеряете текущую историю команд.

Используйте переменную $PROMPT_COMMAND, чтобы сохранять команды сразу после выполнения:

Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:

PROMPT_COMMAND='history -a'
Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана:

PROMPT_COMMAND='$PROMPT_COMMAND; history -a'

👉@linuxchmod
👍5
Понимание Inode’ов

Понимание inode’ов критически важно для понимания файловых систем Unix. Файлы содержат данные и метаданные. Метаданные — это информация о файле. Метаданные хранятся в inode. Содержимое inode включает:

- Номер inode
- UID
- GID
- Размер
- Atime (время последнего доступа)
- Mtime (время последней модификации)
- Ctime (время последнего изменения метаданных)
- Размер блока
- Режим (права доступа и тип файла)
- Количество жёстких ссылок
- ACL (списки контроля доступа)

Обычно inode занимает 256 байт. Имена файлов не хранятся в inode — они находятся в данных, относящихся к директории. Как правило, имена файлов хранятся линейно, из-за чего поиск по имени может быть медленным. Файловые системы Ext4 и XFS используют более эффективные B-деревья (Btrees) для хранения имён файлов в директориях, что обеспечивает постоянное время поиска, в отличие от линейного.

Dentry (сокращение от directory entry — запись в директории) используется для хранения связи между inode и именем файла в директории.

Inode может содержать как прямые (direct), так и косвенные (indirect) указатели на блоки данных файла. Прямой указатель означает, что inode содержит номер блока, в котором находятся данные файла. Косвенный указатель означает, что inode содержит номер блока, в котором находятся номера других блоков с данными.

Файловая система Ext создаёт фиксированное количество inode’ов при форматировании. Если inode’ы заканчиваются, необходимо форматировать файловую систему. В отличие от неё, XFS не использует фиксированное количество inode’ов — они создаются по мере необходимости.

При удалении файла системный вызов unlink() удаляет запись в директории, указывающую на inode, и помечает inode как свободный. Сами блоки данных при этом не удаляются.

Количество жёстких ссылок на файл хранится в inode. Каждый раз при создании жёсткой ссылки это число увеличивается. Символические (soft) ссылки не увеличивают счётчик ссылок на файл или директорию.

Суперблок содержит метаданные о файловой системе. Обычно в файловой системе хранится несколько копий суперблока на случай повреждения основной. Некоторые из данных, хранящихся в суперблоке:

– Размер файловой системы
– Размер блока
– Количество свободных и занятых блоков
– Размер и расположение таблицы inode’ов
– Карта блоков диска

Информацию о суперблоке можно получить с помощью команды:
dumpe2fs /dev/mount | grep -i superblock

👉@linuxchmod
👍4
Запуск команд в фоновом режиме

Синтаксис
Задачу (например, команду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Команда, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды можно выполнять любые другие команды. Синтаксис выглядит следующим образом:

command & script-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &

Примеры
Чтобы перевести команду ls в фоновый режим, введите:
$ ls *.py > output.txt &

Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки:
find . -iname "*.mp3" > myplaylist.txt &

Как найти задания, работающие в фоновом режиме?
Выполните следующую команду:
jobs

Пример вывода данных:
[1]- Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Где
[1] и [2] идентификаторы заданий.
Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l:

jobs –l


Пример вывода данных:

[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Чтобы отобразить только идентификаторы процессов, введите:
jobs -p

Пример вывода данных:

7307
7324


Как прекратить выполнение заданий, работающих в фоновом режиме?
Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом:

kill PID
kill -15 PID
kill -9 PID
killall process-Name-Here
killall -15 process-Name-Here
killall -9 process-Name-Here


Как переместить процесс из фонового режима в приоритетный?
Синтаксис:
%JOB-ID

ИЛИ
fg JOB-ID

Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите:
jobs -l

Пример вывода данных:

[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Чтобы перевести задание job id #2 в приоритетный режим, введите:
%2
ИЛИ используйте команду:
fg 2

Пример вывода данных:

grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt
Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим:
%2 &

ИЛИ используйте команду:
bg

Теперь командное задание grep будет работать в фоновом режиме.

👉@linuxchmod
👍4
🕵️ ss вместо netstat: как быстро найти, что слушает порт

netstat давно устарел и не показывает точную картину на системах с systemd. Настоящие профи уже давно используют ss.

🔧 Примеры, которые реально полезны:

1️⃣ Кто слушает порт 443:

ss -ltnp 'sport = :443'

📌 -l — только слушающие, -t — TCP, -n — не резолвим имена, -p — покажи PID/имя процесса.

2️⃣ Все открытые соединения от процесса (например, PID 1234):

ss -pant | grep pid=1234


3️⃣ Список соединений в состоянии ESTABLISHED:

ss -ant state established


4️⃣ Сколько вообще активных соединений:

ss -s


💡 Фишка:
ss быстрее и точнее netstat, т.к. работает через netlink. Особенно это критично на серверах с тысячами соединений.

Для UDP аналогично — просто меняем -t на -u.

👉@linuxchmod
👍2