====== 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. Синтаксис вызова утилиты: 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 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 Также вы можете проверить целый каталог на наличие ссылок: ls -l ~/symlinks/ Нужный файл будет отмечен характерной стрелочкой после его названия. Удалить с помощью rm Команда rm позволяет удалять любые файлы в файловой системе Linux, в том числе и ссылки. А значит, она подходит для нашей задачи. Здесь важно упомянуть, что в результате удаления ссылки оригинальный файл или директория затронуты не будут. В терминале выполните команду: rm ~/symlinks/link_1 При этом на вывод никаких данных не поступит. Чтобы получить подробную информацию о процедуре, добавьте команде опцию -v: rm -v ~/symlinks/link_1 Дополнительно можно проверить, пропала ли ссылка из директории. Для этого используйте описанную ранее команду ls. ==== Нет свободного места в корне диска ==== чаще всего встречаются два варианта: есть открытый файл, на который нет ссылки на ФС, соответственно du не может его посчитать, но и полностью удалить его нельзя т.к. какая-то программа держит его отрытым. проверять с помощью lsof | grep unlinked или через /proc//fd запись о свободном месте хранится в суперблоке, он может быть поврежден. прогони fsck. начни с первого варианта. ==== Удаление старых ядер в Debian и Ubuntu ==== Иногда, при установке обновлений на сервер, можно столкнуться с проблемой нехватки места на /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 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. ==== Добавить пользователя ==== adduser your-user ==== Удалить пользователя ==== deluser --remove-home your-user