sysadmin:linux:start

Это старая версия документа!


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, для управления флагами файлов используется утилита 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.  
 

Сначала мы объясним способ проверки, что файл на самом деле является ссылкой. Это удобно делать с помощью утилиты ls. А затем рассмотрим три способа удаления, каждый из которых имеет свои особенности. Убедится, что это ссылка

С помощью ls удобно смотреть информацию о файле. Для использования утилиты задайте ей опцию -l и укажите путь. В качестве примера возьмем файл \~/symlinks/link_1:

 
ls -l ~/symlinks/link_1
 

Также вы можете проверить целый каталог на наличие ссылок:

 
ls -l ~/symlinks/
 

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

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

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

 
rm ~/symlinks/link_1
 

При этом на вывод никаких данных не поступит. Чтобы получить подробную информацию о процедуре, добавьте команде опцию -v:

 
rm -v ~/symlinks/link_1
 

Дополнительно можно проверить, пропала ли ссылка из директории. Для этого используйте описанную ранее команду ls.

чаще всего встречаются два варианта:

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

 
lsof | grep unlinked
 

или через

 
/proc//fd
 

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

начни с первого варианта.

Иногда, при установке обновлений на сервер, можно столкнуться с проблемой нехватки места на /boot разделе. В Debian и Ubuntu есть два разных способа решения возникшей ситуации.

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

dpkg --list | grep linux-image  
apt-get --purge remove linux-image-XXXX

При необходимости, обновляем конфиг GRUB:

update-grub2

Разумеется, ручное удаление файлов с помощью 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

  1. 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.

 
adduser your-user
 
 
deluser --remove-home your-user
 

restart SSH

  • Последнее изменение: 02:10:2025 15:20