sysadmin:linux:start

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
sysadmin:linux:start [07:12:2024 23:25] – удалено School Sysadminsysadmin:linux:start [02:10:2025 15:23] (текущий) – [Удалить пользователя] School Sysadmin
Строка 1: Строка 1:
 +====== Linux ======
 +**Linux** (Слушатьi/ˈlɪnəks/ [ˈlɪnəks][1][2] или [ˈlɪnʊks][3][4][5], Ли́нукс; в части случаев GNU/Linux) — семейство Unix-подобных операционных систем на базе ядра Linux, включающих тот или иной набор утилит и программ проекта GNU, и, возможно, другие компоненты. Как и ядро Linux, системы на его основе, как правило, создаются и распространяются в соответствии с моделью разработки свободного и открытого программного обеспечения. Linux-системы распространяются в основном бесплатно в виде различных дистрибутивов — в форме, готовой для установки и удобной для сопровождения и обновлений, — и имеющих свой набор системных и прикладных компонентов, как свободных, так и проприетарных.
  
 +==== Как сделать файл исполняемым в Linux? ====
 +
 +В операционной системе Linux, для управления флагами файлов используется утилита chmod. Синтаксис вызова утилиты:
 +
 +<code>chmod категория действие флаг адрес_файла</code>
 +
 +Категория - флаги могут устанавливаться для трех категорий: владельца файла, группы файла и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.  
 +Действие - может быть + (плюс), что будет значить установить флаг или - (минус) снять флаг.  
 +Флаг - один из доступных флагов - r (чтение), w (запись), x (выполнение).
 +
 +Например, чтобы сделать исполняемый скрипт в linux для владельца файла, достаточно выполнить:
 +
 +<code>chmod u+x адрес_файла</code>
 +
 +Этого в большинстве случаев бывает достаточно, но если мы хотим чтобы файл могли выполнять и другие пользователи, нужно указать также другие категории: g и o:
 +
 +<code>chmod ugo+x адрес_файла</code>
 +
 +Посмотреть флаги в терминале можно с помощью утилиты ls:
 +
 +<code>ls -l каталог_с_файлами</code>
 +
 +Это значит, что все флаги включены для всех категорий. Первое rwx - флаги владельца, второе - группы, а третье - для всех остальных. Если флаг не установлен, на его месте будет прочерк.
 +
 +Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:
 +
 +<code>chmod u-x адрес_файла</code>
 +
 +==== Убить процесс ====
 +
 +Use pkill -U UID or pkill -u UID or username instead of UID. Sometimes skill -u USERNAME may work, another tool is killall -u USERNAME.
 +
 +Skill was a linux-specific and is now outdated, and pkill is more portable (Linux, Solaris, BSD).
 +
 +pkill allow both numberic and symbolic UIDs, effective and real <http://man7.org/linux/man-pages/man1/pkill.1.html>
 +
 +<code>pkill - ... signal processes based on name and other attributes
 +
 +    -u, --euid euid,...  
 +         Only match processes whose effective user ID is listed.  
 +         Either the numerical or symbolical value may be used.  
 +    -U, --uid uid,...  
 +         Only match processes whose real user ID is listed.  Either the  
 +         numerical or symbolical value may be used.  </code>
 +
 +==== Как удалить ссылку в Linux ====
 +
 +Сначала мы объясним способ проверки, что файл на самом деле является ссылкой. Это удобно делать с помощью утилиты ls. А затем рассмотрим три способа удаления, каждый из которых имеет свои особенности.  
 +Убедится, что это ссылка
 +
 +С помощью ls удобно смотреть информацию о файле. Для использования утилиты задайте ей опцию -l и укажите путь. В качестве примера возьмем файл \~/symlinks/link_1:
 +
 +<code>ls -l ~/symlinks/link_1</code>
 +
 +Также вы можете проверить целый каталог на наличие ссылок:
 +
 +<code>ls -l ~/symlinks/</code>
 +
 +Нужный файл будет отмечен характерной стрелочкой после его названия.  
 +Удалить с помощью rm
 +
 +Команда rm позволяет удалять любые файлы в файловой системе Linux, в том числе и ссылки. А значит, она подходит для нашей задачи. Здесь важно упомянуть, что в результате удаления ссылки оригинальный файл или директория затронуты не будут.
 +
 +В терминале выполните команду:
 +
 +<code>rm ~/symlinks/link_1</code>
 +
 +При этом на вывод никаких данных не поступит. Чтобы получить подробную информацию о процедуре, добавьте команде опцию -v:
 +
 +<code>rm -v ~/symlinks/link_1</code>
 +
 +Дополнительно можно проверить, пропала ли ссылка из директории. Для этого используйте описанную ранее команду ls.
 +
 +==== Нет свободного места в корне диска ====
 +
 +чаще всего встречаются два варианта:
 +
 +есть открытый файл, на который нет ссылки на ФС, соответственно du не может его посчитать, но и полностью удалить его нельзя т.к. какая-то программа держит его отрытым. проверять с помощью
 +
 +<code>lsof | grep unlinked</code>
 +
 +или через
 +
 +<code>/proc//fd</code>
 +
 +запись о свободном месте хранится в суперблоке, он может быть поврежден. прогони fsck.
 +
 +начни с первого варианта.
 +
 +==== Удаление старых ядер в Debian и Ubuntu ====
 +
 +Иногда, при установке обновлений на сервер, можно столкнуться с проблемой нехватки места на /boot разделе. В Debian и Ubuntu есть два разных способа решения возникшей ситуации.
 +
 +Первый способ — универсальный, ручной. Подходит для систем, куда установка новых пакетов не возможна, либо где пакет byobu для установки не доступен. Выводим список установленных ядер, а затем с помощью пакетного менеджера удаляем лишнее:
 +
 +<code>dpkg --list | grep linux-image  </code>
 +<code>apt-get --purge remove linux-image-XXXX</code>
 +
 +При необходимости, обновляем конфиг GRUB:
 +
 +<code>update-grub2</code>
 +
 +
 +Разумеется, ручное удаление файлов с помощью rm из /boot так же возможно, но прибегать к такому способу стоит только в самом крайнем случае.  
 +
 +
 +==== Как же узнать версию пакета. ====
 +
 +Для начала, найдем нужную программу в репозиториях, например samba
 +
 +sudo apt-cache search samba
 +
 +На этот запрос мы получим огромный перечень пакетов, в которых встречается слово samba. Т.е. пакет такой есть, а теперь узнаем версию пакета
 +
 +sudo apt-cache show samba | grep -i version
 +
 +В ответ получим номер верcии пакета в официальном репозитории ubuntu.
 +
 +Теперь у нас есть выбор при установке пакета, установить из репозитория или же собрать пакет с официального сайт, с более свежей версией.
 +
 +Как сделать файл исполняемым в Linux?
 +
 +В операционной системе Linux, для управления флагами файлов используется утилита chmod. Синтаксис вызова утилиты:
 +
 +$ chmod категория действие флаг адрес\_файла
 +
 +
 +Категория - флаги могут устанавливаться для трех категорий: владельца файла, группы файла и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.  
 +Действие - может быть + (плюс), что будет значить установить флаг или - (минус) снять флаг.  
 +Флаг - один из доступных флагов - r (чтение), w (запись), x (выполнение).
 +
 +
 +Например, чтобы сделать исполняемый скрипт в linux для владельца файла, достаточно выполнить:
 +
 +chmod u+x адрес\_файла
 +
 +Этого в большинстве случаев бывает достаточно, но если мы хотим чтобы файл могли выполнять и другие пользователи, нужно указать также другие категории: g и o:
 +
 +chmod ugo+x адрес\_файла
 +
 +Посмотреть флаги в терминале можно с помощью утилиты ls:
 +
 +ls -l каталог\_с\_файлами
 +
 +Это значит, что все флаги включены для всех категорий. Первое rwx - флаги владельца, второе - группы, а третье - для всех остальных. Если флаг не установлен, на его месте будет прочерк.
 +
 +Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:
 +
 +chmod u-x адрес\_файла
 +
 +Убить процесс
 +
 +Use pkill -U UID or pkill -u UID or username instead of UID. Sometimes skill -u USERNAME may work, another tool is killall -u USERNAME.
 +
 +Skill was a linux-specific and is now outdated, and pkill is more portable (Linux, Solaris, BSD).
 +
 +pkill allow both numberic and symbolic UIDs, effective and real <http://man7.org/linux/man-pages/man1/pkill.1.html>
 +
 +
 +pkill - ... signal processes based on name and other attributes
 +
 +    -u, --euid euid,...  
 +         Only match processes whose effective user ID is listed.  
 +         Either the numerical or symbolical value may be used.  
 +    -U, --uid uid,...  
 +         Only match processes whose real user ID is listed.  Either the  
 +         numerical or symbolical value may be used.  
 +
 +
 +Как удалить ссылку в Linux
 +
 +Сначала мы объясним способ проверки, что файл на самом деле является ссылкой. Это удобно делать с помощью утилиты ls. А затем рассмотрим три способа удаления, каждый из которых имеет свои особенности.  
 +Убедится, что это ссылка
 +
 +С помощью ls удобно смотреть информацию о файле. Для использования утилиты задайте ей опцию -l и укажите путь. В качестве примера возьмем файл \~/symlinks/link_1:
 +
 +ls -l \~/symlinks/link_1
 +
 +yDnvAnxv8eeGr4v5LT3TnW7ipIAAAAAElFTkSuQmCC
 +
 +Также вы можете проверить целый каталог на наличие ссылок:
 +
 +ls -l \~/symlinks/
 +
 +GNLtn0owYIAAAAASUVORK5CYII=
 +
 +Нужный файл будет отмечен характерной стрелочкой после его названия.  
 +Удалить с помощью rm
 +
 +Команда rm позволяет удалять любые файлы в файловой системе Linux, в том числе и ссылки. А значит, она подходит для нашей задачи. Здесь важно упомянуть, что в результате удаления ссылки оригинальный файл или директория затронуты не будут.
 +
 +В терминале выполните команду:
 +
 +rm \~/symlinks/link_1
 +
 +9fyiDZbB0kC08AAAAASUVORK5CYII=
 +
 +При этом на вывод никаких данных не поступит. Чтобы получить подробную информацию о процедуре, добавьте команде опцию -v:
 +
 +rm -v \~/symlinks/link_1
 +
 +8BTYWsL3lBWUYAAAAASUVORK5CYII=
 +
 +Дополнительно можно проверить, пропала ли ссылка из директории. Для этого используйте описанную ранее команду ls.
 +
 +==== Добавить пользователя ====
 +
 +<code>adduser your-user</code>
 +
 +==== Удалить пользователя ====
 +
 +<code>deluser --remove-home your-user</code>
  • Последнее изменение: 07:12:2024 23:25