Архив метки: Linux

Как использовать команду nmap

Nmap — это мощный инструмент сетевого сканирования для аудита безопасности и тестирования на проникновение. Это один из основных инструментов, используемых администраторами сети для устранения проблем с подключением к сети и сканирования портов .

Nmap также может определять Mac-адрес, тип ОС , версию службы и многое другое.

В этой статье объясняются основы того, как использовать команду nmap для выполнения различных сетевых задач.

Установка Nmap

Nmap — это многоплатформенная программа, которую можно установить во всех основных операционных системах. Первоначально он был выпущен как инструмент только для Linux, а позже был перенесен на другие системы, такие как BSD, Windows и macOS.

Если вы предпочитаете графический интерфейс, а не командную строку, Nmap также имеет графический пользовательский интерфейс под названием Zenmap.

Официальные бинарные пакеты доступны для загрузки со страницы загрузки Nmap.

Процедура установки проста и зависит от вашей операционной системы.

Установка Nmap в Ubuntu и Debian

Nmap доступен из репозиториев Ubuntu и Debian по умолчанию. Чтобы установить его, запустите:

sudo apt update

sudo apt install nmap

Установка Nmap на CentOS и Fedora

На CentOS и других производных от Red Hat запускаются:

sudo dnf install nmap

Установка Nmap на macOS

Пользователи macOS могут установить Nmap, загрузив установочный пакет «.dmg» с сайта Nmap или через Homebrew:

brew install nmap

Установка Nmap в Windows

Версия Nmap для Windows имеет некоторые ограничения и, как правило, немного медленнее, чем версия для UNIX.

Самый простой вариант установки Nmap в Windows — это загрузить и запустить самоустанавливающийся exe-файл.

Вы можете запустить Nmap в Windows либо из командной строки, либо запустив программу Zenmap. Для получения дополнительной информации о том, как использовать Nmap в Windows, ознакомьтесь с инструкциями по использованию после установки.

Использование Nmap

Nmap обычно используется для аудита сетевой безопасности, отображения сети, определения открытых портов и поиска сетевых устройств.

Упрощенный синтаксис команды nmap выглядит следующим образом:

nmap [Options] [Target...]

Самый простой пример использования Nmap — сканирование одной цели от имени обычного пользователя без указания каких-либо параметров:

nmap scanme.nmap.org

При вызове от имени пользователя без полномочий root, у которого нет прав на использование сырых пакетов, nmap запускает сканирование TCP-соединения. Параметр -sT по умолчанию включен в непривилегированном режиме.

Вывод будет выглядеть примерно так, включая основную информацию о сканировании и список открытых и отфильтрованных TCP-портов.

Starting Nmap 7.91 ( https://nmap.org ) at 2020-12-16 20:19 CET

Nmap scan report for cast.lan (192.168.10.121)

Host is up (0.048s latency).

Not shown: 981 closed ports

PORT STATE SERVICE

21/tcp open ftp

22/tcp open ssh

25/tcp open smtp

53/tcp open domain

80/tcp open http

110/tcp open pop3

143/tcp open imap

443/tcp open https

587/tcp open submission

993/tcp open imaps

995/tcp open pop3s

1025/tcp open NFS-or-IIS

1080/tcp open socks

8080/tcp open http-proxy

8081/tcp open blackice-icecap



Nmap done: 1 IP address (1 host up) scanned in 1.78 seconds

Самым популярным вариантом сканирования является TCP SYN scan (-sS), который быстрее, чем вариант подключения, и работает со всеми совместимыми стеками TCP.

-sS включается по умолчанию, когда nmap вызывает пользователь с административными привилегиями:

sudo nmap 192.168.10.121

Для более подробного вывода используйте увеличение детализации с помощью -v или -vv:

sudo nmap -vv 192.168.10.121

Чтобы выполнить сканирование UDP, вызовите команду с параметром ( -sU) от имени пользователя root:

sudo nmap -sU 192.168.10.121

Для получения полного списка методов сканирования портов посетите страницу документации Nmap.

Nmap также поддерживает адреса IPv6. Чтобы указать хост IPv6, используйте опцию -6:

sudo nmap -6 fd12:3456:789a:1::1

Указание целевых хостов

Nmap рассматривает все аргументы, которые не являются опциями, как целевые хосты.

Аргументы считаются вариантами, если они начинаются с одинарного или двойного тире (-, --).

Самый простой вариант — передать один или несколько целевых адресов или доменных имен:

nmap 192.168.10.121 host.to.scan

Вы можете использовать нотацию CIDR, чтобы указать диапазон сети:

nmap 192.168.10.0/24

Чтобы указать диапазон октетов, используйте символ тире. Например, для сканирования 192.168.10.1, 192.168.11.1и 192.168.12.1:

nmap 192.168.10-12.1

Другой символ, который вы можете использовать для указания целей, — это запятая. Следующая команда нацелена на те же хосты, что и предыдущая:

nmap 192.168.10,11,12.1

Вы можете комбинировать все формы:

nmap 10.8-10.10,11,12.0/28 192.168.1-2.100,101

Чтобы убедиться, что вы указали правильные хосты перед сканированием, используйте параметр сканирования списка (-sL), который перечисляет только цели без запуска сканирования:

nmap -sL 10.8-10.10,11,12.0/28 192.168.1-2.100,101

Если вы хотите исключить цели, которые включены в указанный вами диапазон, используйте опцию --exclude:

nmap 10.8-10.10,11,12.0/28 --exclude 10.10.12.12

Указание и сканирование портов

По умолчанию Nmap выполняет быстрое сканирование 1000 самых популярных портов. Это не первые 1000 последовательных портов, а 1000 наиболее часто используемых портов в диапазоне от 1 до 65389.

Для поиска всех портов с 1 по 65535 используйте опцию -p:

nmap -p- 192.168.10.121

Каждый порт может находиться в одном из следующих состояний:

  • open — программа, запущенная на порту, отвечает на запрос.
  • closed — на порту не работает ни одна программа, и хост отвечает на запросы.
  • filtered — хост не отвечает на запрос.

Порты и диапазоны портов указываются с помощью опции -p.

Например, чтобы просканировать только порт 443, вы должны использовать следующую команду:

nmap -p 443 192.168.10.121

Чтобы указать более одного порта, разделите целевые порты запятой:

nmap -p 80,443 192.168.10.121

Диапазоны портов можно указать с помощью символа тире. Например, чтобы просканировать все порты UDP в диапазоне от 1 до 1024, вы должны запустить:

sudo nmap -sU -p 1-1024 192.168.10.121

Все вместе:

nmap -p 1-1024,8080,9000 192.168.10.121

Порты также можно указать с помощью имени порта. Например, для поиска порта 22, ssh, вы можете использовать:

nmap -p ssh 192.168.10.121

Ping сканирование

Чтобы выполнить ping-сканирование или обнаружение хоста, вызовите команду nmap с опцией -sn:

sudo nmap -sn 192.168.10.0/24

Эта опция указывает Nmap только на обнаружение сетевых хостов, а не на сканирование портов. Это полезно, когда вы хотите быстро определить, какой из указанных хостов запущен и работает.

Отключение разрешения DNS-имен

По умолчанию Nmap выполняет обратное разрешение DNS для каждого обнаруженного хоста, что увеличивает время сканирования.

При сканировании больших сетей рекомендуется отключить разрешение обратного DNS и ускорить сканирование. Для этого вызовите команду с опцией -n:

sudo nmap -n 192.168.10.0/16

Определение ОС, служб и версий

Nmap может обнаружить операционную систему удаленного хоста с помощью снятия отпечатков стека TCP/IP. Чтобы запустить обнаружение ОС, вызовите команду с опцией -O:

sudo nmap -O scanme.nmap.org

Если Nmap может обнаружить ОС хоста, он напечатает что-то вроде следующего:

...

Device type: general purpose

Running: Linux 5.X

OS CPE: cpe:/o:linux:linux_kernel:5

OS details: Linux 5.0 - 5.4

Network Distance: 18 hops



OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 26.47 seconds

Обычно системные службы прослушивают стандартные порты, которые хорошо известны и зарезервированы для них. Например, если порт 22, соответствующий службе SSH, открыт, вы предполагаете, что на хосте работает SSH-сервер. Однако вы не можете быть абсолютно уверены, потому что люди могут запускать службы на любых портах, которые им нужны.

Благодаря обнаружению службы и версии Nmap покажет вам, какая программа прослушивает порт и версию программы.

Для поиска службы и версии используйте опцию -sV:

sudo nmap -sV scanme.nmap.org

...

PORT STATE SERVICE VERSION

19/tcp filtered chargen

22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)

80/tcp open http Apache httpd 2.4.7 ((Ubuntu))

135/tcp filtered msrpc

139/tcp filtered netbios-ssn

445/tcp filtered microsoft-ds

9929/tcp open nping-echo Nping echo

31337/tcp open tcpwrapped

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

...

Вы также можете сканировать ОС, версии и запускать traceroute с помощью одной команды, используя параметр -A:

sudo nmap -A 192.168.10.121

Вывод Nmap

По умолчанию Nmap выводит информацию на стандартный вывод (stdout).

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

Nmap предоставляет несколько типов вывода. Чтобы сохранить вывод в нормальном формате, используйте параметр, за которым следует имя файла -oN:

sudo nmap -sU -p 1-1024 192.168.10.121 -oN output.txt

Самый популярный вариант — сохранить вывод в формате XML. Для этого воспользуйтесь опцией -oX:

sudo nmap -sU -p 1-1024 192.168.10.121 -oX output.xml

Еще один полезный формат — вывод grepable, который можно анализировать с помощью стандартных инструментов Unix, таких как grep, awk и cut. Вывод grepable указывается с опцией -oG:

sudo nmap -sU -p 1-1024 192.168.10.121 -oG output

Механизм сценариев Nmap

Одна из самых мощных функций Nmap — это скриптовый движок. Nmap поставляется с сотнями скриптов , и вы также можете писать свои собственные скрипты на языке Lua.

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

Например, чтобы проверить, скомпрометирован ли данный хост, вы можете использовать:

nmap -sV --script http-malware-host scanme.nmap.org

Заключение

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

Обратите внимание, что в некоторых странах сканирование сетей без разрешения является незаконным.

Если у вас есть вопросы или замечания, пожалуйста, оставьте комментарий ниже.



2021-01-13T10:26:32
Вопросы читателей

Bash — Обработка строк циклом «while read line»

В этой статье разберемся с одним из циклов bash, а именно с циклом «while read line». С его помощью будем обрабатывать строки.





Читать далее…

Как настроить Wekan Kanban Server в Linux

Wekan — это инструмент с открытым исходным кодом, который предлагает несколько функций для выполнения повседневных задач с помощью виртуальных карт. Это фантастическая канбан-доска в стиле Trello, основанная на фреймворке Meteor Javascript и лицензированная MIT.

Waken полезен для организации вещей, планирования задач, создания личных списков дел, управления командами и т. д. Этот инструмент позволяет использовать цветные метки на разных карточках для облегчения фильтрации, группировки проектов и назначения проектов конкретному человеку. Итак, вот список функций, предлагаемых Wekan:

  • Это инструмент с открытым исходным кодом.
  • Он предлагает REST API
  • Он имеет простые в использовании доски Канбан.
  • Wekan предлагает варианты настройки.
  • Он предлагает различное управление задачами.
  • Пользователи могут назначать карточкам цветные метки.
  • Он имеет панель администратора, аутентификацию, настройки SMTP и многое другое.

 

Использовать Wekan в Linux отлично, поэтому в этой статье рассматриваются все детали настройки сервера Wekan Kanban в Linux. Мы объясним все самым простым способом, поэтому прочитайте всю нашу статью, чтобы получить более полную информацию.

Примечание
Эта процедура применима практически для всех дистрибутивов Linux, но требует небольших изменений в командах.

 

Как настроить Wekan Kanban Server в Linux

Мы используем веб-сервер Nginx для установки Wekan в Linux (эта процедура охватывает процесс установки как для Ubuntu 18.04, так и для Fedora).

Во-первых, выполнение команд для установки веб-сервера NGINX. Для пользователей Ubuntu 18.04:

$ sudo apt-get install nginx -y

 

Для пользователей Fedora:

$ sudo dnf install nginx

 

После установки NGINX в систему включите его, используя следующие команды: Для пользователей Ubuntu 18.04:

$ sudo systemctl start nginx

$ sudo systemctl enable nginx

 

Для пользователей Fedora:

$ sudo systemctl enable --now nginx

 

Эта процедура включения полезна, поскольку пользователям не требуется запускать веб-службу каждый раз при перезапуске системы.

Теперь установите Wekan с помощью оснастки, поэтому выполните следующую команду для установки: Для пользователей Ubuntu 18.04:

$ sudo snap install wekan

 

Для пользователей Fedora:

$ sudo dnf install snapd

 

В Ubuntu 18.04 установите корневой URL-адрес с помощью следующей команды («SERVER_IP» в команде — это IP-адрес хост-сервера).

$ sudo snap set wekan root_url="http://SERVER_IP"

 

В Fedora Snap требует ручной символической ссылки, поэтому выполните для нее следующую команду:

$ sudo ln -s /var/lib/snapd/snap /snap

 

Вы можете проверить версию Snan по версии snap, чтобы проверить правильность установки. Чтобы получить доступ к определенному серверу Wekan в Fedora, выполните следующую команду:

$ sudo snap set wekan 

root_url="http://<Ip Address of Server>"

 

Теперь настройте порт для Wekan для доступа к Wekan в вашем браузере, поэтому мы рекомендуем вам использовать другой порт, потому что Wekan работает на Nginx. Мы используем порт 3001, выполнив следующую команду:

Для пользователей Ubuntu 18.04:

$ sudo snap set wekan port='3001'

 

Для пользователей Fedora:

$ sudo snap set wekan port='3001'

 

После настройки порта перезапустите службы Wekan, поскольку Wekan использует базу данных MongoDB для сохранения данных, а его лицензия не проверена OSI. Следовательно, MangoDB требует перезапуска Wekan для правильной работы.

Для пользователей Ubuntu 18.04 выполните следующие команды:

$ sudo systemctl restart snap.wekan.mongodb

$ sudo systemctl restart snap.wekan.wekan


 

Для пользователей Fedora выполните следующие команды:

 

$ sudo systemctl restart snap.wekan.mongodb

$ sudo systemctl restart snap.wekan.wekan

 

Теперь откройте браузер и перейдите по адресу http://localhost:3001 (вы также можете использовать http://<SERVER_IP>:3001, в котором SERVER_IP — это IP-адрес определенного хост-компьютера), и он предложит вам перейти к страница входа в Wekan.

Если вы новый пользователь, нажмите «Зарегистрироваться» и введите все необходимые данные. Вы увидите предупреждение о внутренней ошибке на главной странице, поэтому проигнорируйте ошибку и нажмите кнопку входа.

Как настроить Wekan Kanban Server в Linux

 

Вы можете импортировать данные из другого программного обеспечения Kanban, такого как Trello, поэтому щелкните значок + в верхней строке меню и выберите Import, а затем следуйте инструкциям на экране. Вы можете посетить панель администратора для настройки различных функций, таких как учетные записи пользователей, электронная почта, макеты, глобальные веб-перехватчики, объявления и т. д.

Как настроить Wekan Kanban Server в Linux

 

Заключение

Вот как вы можете легко настроить сервер Wekan Kanban в Linux, но вам нужно выполнить все шаги, чтобы исключить вероятность ошибок. Итак, как мы объясняли ранее, Wekan — это инструмент с открытым исходным кодом, который предоставляет различные функции для управления повседневными задачами с помощью виртуальных карт.

Это отличный инструмент, который работает так же хорошо, как и другие серверы Kanban, такие как Trello, Taiga, Restyaboard и т. д. Вот почему мы включили все детали для установки и использования Wekan в различных дистрибутивах Linux, таких как Fedora и Ubuntu 18.04.



2021-01-13T07:52:51
Fedora

Можно ли установить OneNote на Linux?

OneNote — это инструмент для Windows, разработанный Microsoft, он предлагает пользователю различные функции и эффективную работу. У него есть веб-версия и настольная версия. Это эффективный инструмент для сбора рисунков, аудио, заметок и снимков экрана. Microsoft не предлагает официальную версию OneNote для Linux. Тем не менее, несколько инструментов с открытым исходным кодом могут работать как альтернатива OneNote для Linux, например SimpleNote, Zim, Joplin, Google Keep и т.д. Однако пользователи не любят использовать эти альтернативы вместо OneNote, поэтому становится сложно тем кто перешел с винды на линукс.

В этом случае на помощь приходит P3X, потому что это инструмент для создания заметок с открытым исходным кодом, который может запускать OneNote в Linux. P3X подключается к учетной записи Microsoft для использования Microsoft OneNote, а также поддерживает дистрибутивы на основе RHEL и Debian. В этой статье рассказывается, как легко установить Microsoft OneNote в Linux с помощью P3X.

Процесс установки OneNote в Linux дистрибутивах

Мы упомянули три различных процедуры загрузки P3X в вашу систему для использования Microsoft OneNote в Linux.

Используя Snapd

Сначала загрузите пакеты snapd на устройство Linux, используя следующие коды:

Для Ubuntu и Debian используйте эти коды:

$ sudo apt update 

$ sudo apt upgrade 

$ sudo apt install snapd

Для Arch Linux используйте эти коды:

$ sudo pacman -Syy 

$ sudo pacman -S snapd 

$ sudo systemctl enable --now snapd.socket

Для Fedora используйте эти коды:

$ sudo dnf update 

$ sudo dnf install snapd 

$ sudo systemctl enable --now snapd.socket

После успешного выполнения этих команд система загрузит необходимые пакеты snapd на устройство Linux.

После загрузки необходимых файлов используйте следующую команду для установки P3X в системе:

$ sudo snap install p3x-onenote

Теперь откройте P3X OneNote, и он перенаправит вас на страницу входа в Microsoft.

В этой командной строке мы использовали команду «sudo», которая представляет суперпользователя do. Он предоставляет все привилегии безопасности для командной строки.

Используя NPM

В этой процедуре мы можем создать P3X OneNote с нуля с помощью инструмента NPM, но последняя версия NPM содержит ошибки, и она может создавать некоторые ошибки при работе с OneNote в Linux.

Сначала выполните следующую команду для установки NPM в системе Linux.

Для Ubuntu используйте эту команду:

$ sudo apt install npm

Для Debian используйте эту команду:

$ sudo apt-get install npm

Для Fedora используйте эту команду:

$ sudo dnf install npm

Для Arch Linux используйте эту команду:

$ sudo pacman -S npm

Теперь используйте следующую команду для установки приложения:

$ sudo npm install -g p3x-onenote --unsafe-perm = true --allow-root

После завершения установки выполните следующую команду для открытия приложений:

$ p3x-onenote

Он перенаправит вас на страницу входа в Microsoft OneNote, поэтому войдите в систему и используйте ее без каких-либо проблем.

Используя Applmage

AppImage — отличный универсальный программный пакет, который работает для распространения переносимого программного обеспечения в Linux, которое можно использовать без установки приложения в системе.

Вы можете загрузить AppImage со страницы выпуска Github или выполнить приведенную ниже команду, чтобы загрузить его напрямую.

$ wget https://github.com/patrikx3/onenote/releases/download/v2020.4.185/P3X-OneNote-2020.4.185-i386.AppImage

После успешной загрузки пакета предоставьте все разрешения на выполнение для вашего файла AppImage, затем откройте его.

$ chmod +x P3X-OneNote-2020.4.169.AppImage

$ ./P3X-OneNote-2020.4.169.AppImage

Наконец, вы можете легко использовать Microsoft OneNote в Linux.

Заключение

В этой статье мы предоставили полную информацию о том, как установить Microsoft OneNote в Linux. Как мы объясняли ранее, Microsoft не предлагает никаких официальных приложений OneNote для Linux, но вы можете использовать его со сторонним программным обеспечением. В этой статье есть несколько процедур, которые вы выбираете по своему усмотрению. Мы рассмотрели программные процедуры Snapd, NPM, Applmage для использования Microsoft OneNote в Linux.



2021-01-12T10:40:50
Вопросы читателей

Как установить Microsoft OneNote в Linux

OneNote — это инструмент для Windows, разработанный Microsoft, он предлагает пользователю различные функции и эффективную работу. У него есть веб-версия и настольная версия. Это эффективный инструмент для сбора рисунков, аудио, заметок и снимков экрана. Microsoft не предлагает официальную версию OneNote для Linux. Тем не менее, несколько инструментов с открытым исходным кодом могут работать как альтернатива OneNote для Linux, например SimpleNote, Zim, Joplin, Google Keep и т. д. Однако пользователи не любят использовать эти альтернативы вместо OneNote, поэтому становится сложно тем кто перешел с Windows на Linux.

В этом случае на помощь приходит P3X, потому что это инструмент для создания заметок с открытым исходным кодом, который может запускать OneNote в Linux. P3X подключается к учетной записи Microsoft для использования Microsoft OneNote, а также поддерживает дистрибутивы на основе RHEL и Debian. В этой статье рассказывается, как легко установить Microsoft OneNote в Linux с помощью P3X.

 

Как установить Microsoft OneNote в Linux

Мы упомянули три различных процедуры загрузки P3X в вашу систему для использования Microsoft OneNote в Linux.

 

Используя Snapd

Сначала загрузите пакеты snapd на устройство Linux, используя следующие команды:

Для Ubuntu и Debian используйте эти коды:

$ sudo apt update

$ sudo apt upgrade

$ sudo apt install snapd

 

Для Arch Linux используйте эти коды:

$ sudo pacman -Syy

$ sudo pacman -S snapd

$ sudo systemctl enable --now snapd.socket

 

Для Fedora используйте эти коды:

$ sudo dnf update

$ sudo dnf install snapd

$ sudo systemctl enable --now snapd.socket

 

После успешного выполнения этих команд система загрузит необходимые пакеты snapd на устройство Linux.

После загрузки необходимых файлов используйте следующую команду для установки P3X в системе:

$ sudo snap install p3x-onenote

 

Теперь откройте P3X c, и он перенаправит вас на страницу входа в Microsoft.

В этой командной строке мы использовали команду «sudo», которая представляет суперпользователя do. Он предоставляет все привилегии безопасности для командной строки.

Как установить Microsoft OneNote в Linux

 

Используя NPM

В этой процедуре мы можем создать P3X OneNote с нуля с помощью инструмента NPM, но последняя версия NPM содержит ошибки, и она может создавать некоторые ошибки при работе с OneNote в Linux.

Сначала выполните следующую команду для установки NPM в системе Linux.

Для Ubuntu используйте эту команду:

$ sudo apt install npm

 

Для Debian используйте эту команду:

$ sudo apt-get install npm

 

Для Fedora используйте эту команду:

$ sudo dnf install npm

 

Для Arch Linux используйте эту команду:

$ sudo pacman -S npm

 

Теперь используйте следующую команду для установки приложения:

$ sudo npm install -g p3x-onenote --unsafe-perm = true --allow-root

 

После завершения установки выполните следующую команду для открытия приложений:

$ p3x-onenote

 

Он перенаправит вас на страницу входа в Microsoft OneNote, поэтому войдите в систему и используйте ее без каких-либо проблем.

 

Используя Applmage

AppImage — отличный универсальный программный пакет, который работает для распространения переносимого программного обеспечения в Linux, которое можно использовать без установки приложения в системе.

Вы можете загрузить AppImage со страницы выпуска Github или выполнить приведенную ниже команду, чтобы загрузить его напрямую.

$ wget https://github.com/patrikx3/onenote/releases/download/v2020.4.185/P3X-OneNote-2020.4.185-i386.AppImage

 

После успешной загрузки пакета предоставьте все разрешения на выполнение для вашего файла AppImage, затем откройте его.

$ chmod +x P3X-OneNote-2020.4.169.AppImage

$ ./P3X-OneNote-2020.4.169.AppImage

 

Наконец, вы можете легко использовать Microsoft OneNote в Linux.

 

Заключение

В этой статье мы предоставили полную информацию о том, как установить Microsoft OneNote в Linux. Как мы объясняли ранее, Microsoft не предлагает никаких официальных приложений OneNote для Linux, но вы можете использовать его со сторонним программным обеспечением. В этой статье есть несколько процедур, которые вы выбираете по своему усмотрению. Мы рассмотрели программные процедуры Snapd, NPM, Applmage для использования Microsoft OneNote в Linux.



2021-01-12T10:24:45
ArchLinux

Сравнение файловых систем Btrfs и XFS

Для использования с Linux доступно множество файловых систем. Наиболее распространенные файловые системы Linux включают Ext4, Btrfs, XFS и ZFS. Каждая файловая система имеет свои уникальные варианты использования, плюсы и минусы. Из-за множества доступных опций вам может быть сложно решить, какую файловую систему использовать. Чтобы помочь вам с выбором, в этой статье сравниваются файловые системы XFS и Btrfs. Если вам сложно решить, использовать ли файловую систему XFS или файловую систему Btrfs, эта статья должна помочь. Начнем!

Введение в файловые системы XFS и Btrfs

Файловая система XFS: XFS — это высокопроизводительная 64-битная файловая система с журналированием. Первоначально он был разработан Silicon Graphics, Inc. в 1993 году для операционной системы IRIX, а затем был перенесен на ядро ​​Linux в 2001 году.

Файловая система Btrfs: Btrfs или файловая система B-Tree — это современная файловая система с функцией копирования при записи (CoW). Это новость по сравнению с файловой системой Ext. Изначально Btrfs был разработан для операционных систем Linux корпорацией Oracle в 2007 году. В ноябре 2013 года файловая система Btrfs была объявлена ​​стабильной для ядра Linux.

Сравнение характеристик

Файловые системы XFS и Btrfs были разработаны для решения различных типов проблем. Хотя цель проектирования файловой системы XFS отличалась от цели файловой системы Btrfs, поскольку они обе являются файловыми системами, мы можем сравнить их подробно.

  • Максимальный размер раздела: файловая система XFS поддерживает размеры разделов до 1 байта меньше 8 EiB (8 EiB — 1 байт).
  • Файловая система Btrfs поддерживает разделы размером до 16 EiB.
  • Максимальный размер файла: файловая система XFS поддерживает файлы размером до 1 байта и менее 8 EiB (8 EiB — 1 байт).
  • Файловая система Btrfs поддерживает файлы размером до 16 EiB.
  • Максимальная длина имени файла: файловая система XFS поддерживает имена файлов длиной до 255 символов (255 байт).
  • Файловая система Btrfs также поддерживает имена файлов длиной до 255 символов (255 байт).
  • Допустимые символы в каталогах и именах файлов: файловая система XFS допускает любые символы, кроме символов / и NULL ( ), в именах каталогов и файлов.
  • Файловая система Btrfs также допускает любые символы, кроме символов / и NULL (), в именах каталогов и файлов.

ПРИМЕЧАНИЕ. Вы не можете создать файл или каталог с таким именем . и .. в файловой системе XFS или Btrfs.

  • Максимальная длина пути: файловая система XFS не имеет ограничений на длину пути к файлу или каталогу. Таким образом, вы можете создавать глубокие структуры каталогов и хранить свои файлы в этих структурах.
  • То же верно и для файловой системы Btrfs.
  • Максимальное количество файлов: вы можете создать максимум 2 64 (= 18 446 744 073 709 551 616 ~ = 18 квинтиллионов) файлов в файловой системе XFS.
  • То же верно и для файловой системы Btrfs.
  • Метод размещения индексных дескрипторов : индексные дескрипторы — это структура данных файловой системы, используемая для описания файла или каталога. Итак, для одного каталога или файла требуется один индексный дескриптор, для двух каталогов или файлов потребуется два дескриптора и так далее.
  • В файловой системе Ext4 вы определяете количество inode, которое файловая система может поддерживать при создании файловой системы. Вы не можете изменить это после создания файловой системы. Если вы создадите слишком много маленьких файлов, у вас может остаться свободное место на диске в вашей файловой системе, но вы не сможете создавать новые файлы/каталоги, если у вас нет свободных индексных дескрипторов. Это серьезное ограничение файловой системы Ext4.
  • В отличие от файловой системы Ext4, в файловой системе XFS распределение inode является гибким. Таким образом, файловая система может добавлять сколько угодно inodes, и у вас никогда не закончится inodes.
  • Сказанное выше также верно для файловой системы Btrfs.
  • Поддержка контрольной суммы /ECC: файловая система Btrfs хранит контрольную сумму crc32c данных и метаданных, хранящихся в файловой системе. Таким образом, в случае повреждения данных файловая система Btrfs может обнаружить повреждение и восстановить поврежденные файлы или метаданные.
  • Файловая система XFS хранит только контрольную сумму CRC32 метаданных. Он не хранит контрольную сумму данных, хранящихся в файловой системе, в отличие от файловой системы Btrfs.
  • Поддержка журнала и копирования при записи: файловая система XFS — это файловая система с журналированием. У него нет поддержки копирования при записи (CoW).
  • Файловая система Btrfs — это файловая система с функцией копирования при записи (CoW), и она не поддерживает журналы.
  • Снимок файловой системы: файловая система XFS не может делать снимки файловой системы.
  • Файловая система Btrfs может делать снимки файловой системы. С помощью Btrfs вы можете делать снимки файловой системы только для чтения и снимки с возможностью записи.

ПРИМЕЧАНИЕ. Моментальный снимок файловой системы — важная функция. Вы можете сделать снимок своей файловой системы с помощью этой функции, прежде чем предпринимать какие-либо рискованные действия. Если что-то пойдет не так, как планировалось, моментальный снимок позволяет вернуться к более раннему состоянию, в котором все в системе работало. Это встроенная функция файловой системы Btrfs. Вам не нужны сторонние инструменты или программное обеспечение для создания моментального снимка файловой системы Btrfs.

  • Шифрование на уровне файловой системы: файловая система Btrfs не поддерживает шифрование на уровне файловой системы.
  • То же верно и для файловой системы XFS.
  • Дедупликация на уровне файловой системы: файловая система Btrfs поддерживает дедупликацию на уровне файловой системы. Для использования этой функции вам не нужны сторонние инструменты или программное обеспечение.
  • Файловая система XFS также поддерживает дедупликацию, но функция дедупликации файловой системы XFS все еще является экспериментальной.

ПРИМЕЧАНИЕ. Депуляция — это метод устранения дублирующих копий данных из файловой системы и сохранения только одной копии данных (уникальных данных) в файловой системе. Этот метод используется для экономии места на диске.

  • Поддержка нескольких устройств: файловая система Btrfs поддерживает несколько устройств и включает встроенную поддержку RAID. Файловая система Btrfs имеет встроенный диспетчер логических томов (LVM) для добавления нескольких устройств хранения или разделов в одну файловую систему Btrfs. Одна файловая система Btrfs может охватывать несколько дисков и разделов.
  • Файловая система XFS не поддерживает несколько устройств, а это означает, что вы не можете распределить одну файловую систему XFS на несколько дисков или разделов. Чтобы объединить несколько устройств хранения и разделов в файловой системе XFS, вы должны использовать сторонние менеджеры логических томов, такие как LVM 2 . Для настройки RAID необходимо использовать сторонние инструменты, такие как dm-raid или mdadm .
  • Файловая система XFS была разработана для параллельного выполнения операций ввода-вывода (ввода-вывода). Если вы распределите файловую систему XFS на нескольких устройствах с помощью LVM 2 или другого менеджера логических томов, производительность файловой системы будет увеличена.
  • Сжатие на уровне файловой системы: файловая система XFS не включает встроенную поддержку сжатия на уровне файловой системы.
  • Файловая система Btrfs включает встроенную поддержку сжатия на уровне файловой системы. Эта функция позволяет сжать отдельный каталог, отдельный файл или всю файловую систему для экономии места на диске.
  • Возможности изменения размера автономной файловой системы: вы не можете увеличивать (увеличивать размер файловой системы) или уменьшать (уменьшать размер файловой системы) файловую систему XFS, пока файловая система не смонтирована.
  • Вы можете увеличить (увеличить размер файловой системы) или сжать (уменьшить размер файловой системы) файловую систему Btrfs, пока файловая система не смонтирована.
  • Возможности изменения размера файловой системы в Интернете: вы можете увеличить (увеличить размер файловой системы) файловую систему XFS, пока файловая система смонтирована, но вы не можете сжать (уменьшить размер файловой системы) файловую систему XFS, пока файловая система смонтирована.
  • Вы можете увеличить (увеличить размер файловой системы) или сжать (уменьшить размер файловой системы) файловую систему Btrfs, пока файловая система смонтирована.
  • Разреженные файлы: функция разреженных файлов экономит дисковое пространство, когда в файловой системе хранятся небольшие файлы (меньше размера блока). Файловые системы XFS и Btrfs поддерживают разреженные файлы.
  • Подраспределение блоков: файловая система Btrfs поддерживает подраспределение блоков.
  • Файловая система XFS не поддерживает перераспределение блоков.

ПРИМЕЧАНИЕ. Когда файловая система хранит большие файлы в файловой системе, большой файл разбивается на блоки, и блоки сохраняются в файловой системе. Последний блок файла, называемый хвостовым блоком, не занимает весь блок. Когда хранится много маленьких файлов, они не занимают весь блок, и много дискового пространства тратится впустую. Перераспределение блоков позволяет хранить части другого файлового блока в хвостовом блоке (последний блок другого файла, который не занимал весь блок) для экономии места на диске.

  • Упаковка хвоста: файловая система Btrfs поддерживает упаковку хвоста.
  • Файловая система XFS не поддерживает упаковку хвоста.

ПРИМЕЧАНИЕ. Уплотнение хвоста является частью распределения блоков. Как обсуждалось ранее, небольшие файлы не занимают весь файловый блок. Чтобы эффективно хранить небольшие файлы (например, исходные коды программ) в файловой системе, хвостовой блок небольшого файла используется для хранения других небольших файлов. Упаковка хвоста улучшает производительность файловой системы и экономит дисковое пространство в файловых системах, в которых хранится множество небольших файлов (например, исходных кодов программ).

  • Файловая система на основе экстентов: файловые системы XFS и Btrfs являются файловыми системами на основе экстентов.

ПРИМЕЧАНИЕ. Экстент — это непрерывная область устройства хранения, зарезервированная для файла в файловой системе. Файловые системы на основе экстентов хранят большие файлы в непрерывной области хранения. Это улучшает производительность файловой системы и увеличивает эффективность хранения.

  • Переменный размер блока файла: размер блока устанавливается до создания файловой системы. После создания файловой системы вы не можете изменить размер блока.
  • Файловая система XFS поддерживает фиксированный размер блока.
  • Файловая система Btrfs поддерживает переменный размер блока. Файловая система может определить наилучший возможный размер блока для хранения файла в файловой системе на основе размера файла. Эта функция может сэкономить много места на диске.
  • Распределение при сбросе: файловые системы XFS и Btrfs поддерживают выделение при сбросе.

ПРИМЕЧАНИЕ. Файловая система выделяет некоторое буферное пространство в системной памяти. Когда есть запросы на запись на диск, файловая система не записывает блоки данных непосредственно на запоминающее устройство. Вместо этого файловая система хранит блоки данных в буферной памяти. Когда буферная память заполнена, файловая система одновременно записывает все ожидающие блоки данных на устройство хранения. Это снижает использование ЦП, ускоряет запись на диск и уменьшает фрагментацию диска.

  • Поддержка TRIM: файловые системы XFS и Btrfs поддерживают TRIM, что является очень важной функцией для устройств хранения SSD.

ПРИМЕЧАНИЕ. Когда вы удаляете файл с SSD, команда TRIM уведомляет устройство хранения SSD о страницах (файловых блоках), которые больше не нужны. SSD удаляет ненужные страницы (блоки файлов) из флеш-памяти и подготавливает страницы (блоки файлов) для хранения новых данных. Без поддержки TRIM скорость записи SSD будет постепенно снижаться по мере заполнения SSD новыми данными.

Преимущества XFS перед Btrfs

XFS — это стабильная 64-битная файловая система с журналированием для устройств хранения большой емкости.

Вы можете использовать файловую систему XFS по следующим причинам:

  • Поддержка параллельного ввода/вывода.

Файловая система XFS поддерживает параллельный ввод-вывод и может предоставлять несколько потоков данных для файлов благодаря своей конструкции.

  • Поддержка больших разделов

Файловая система XFS поддерживает разделы размером до 8 EiB (до 8 EiB — 1 байт).

  • Поддержка больших файлов

Файловая система XFS поддерживает файлы размером до 8 EiB (до 8 EiB — 1 байт).

  • Поддержка ведения журнала

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

  • Прямой ввод/вывод

Это важная особенность файловой системы XFS. Это важно для приложений, которым требуется высокая скорость чтения/записи на устройства хранения. Прямой ввод-вывод позволяет устройствам хранения данных получать прямой доступ к буферу данных с помощью DMA (прямого доступа к памяти), чтобы можно было использовать полную пропускную способность ввода-вывода устройства хранения.

  • Гарантированная скорость ввода-вывода

Файловая система XFS может резервировать пропускную способность устройства хранения для определенных приложений. Эта функция идеально подходит для приложений реального времени (например, потокового видео).

Недостатки файловой системы XFS

У файловой системы XFS есть некоторые недостатки.

К недостаткам файловой системы XFS можно отнести следующее:

  • Нет встроенной поддержки LVM

По сравнению с файловой системой Btrfs файловая система XFS не имеет встроенного диспетчера логических томов. Итак, вам придется использовать LVM 2 для управления логическими томами.

  • Нет встроенной поддержки RAID

По сравнению с файловой системой Btrfs файловая система XFS не имеет встроенной поддержки RAID. Итак, вам придется использовать dm-raid или mdadm для настройки RAID.

  • Нет поддержки снимков

Файловая система XFS не имеет функции моментального снимка файловой системы, в отличие от файловой системы Btrfs.

  • Ведение журнала нельзя отключить

Как и в случае с некоторыми другими журналируемыми файловыми системами, вы не можете отключить функцию журналирования файловой системы XFS. Журналирование не подходит для USB-накопителей. Если вы используете файловую систему XFS на USB-накопителе, срок службы USB-накопителя сократится из-за перегрузки журналирования.

Преимущества Btrfs перед XFS

Файловая система Btrfs — это современная файловая система с функцией копирования при записи (CoW), разработанная для высокопроизводительных серверов хранения данных. XFS также является высокопроизводительной 64-битной файловой системой с журналированием, которая также может выполнять параллельные операции ввода-вывода. Файловая система XFS содержит множество важных функций, включая прямой ввод-вывод, ввод-вывод с гарантированной скоростью и многое другое. Однако по сравнению с файловой системой XFS файловая система Btrfs имеет много преимуществ.

Преимущества файловой системы Btrfs перед файловой системой XFS включают следующее:

i) Встроенные снимки на уровне файловой системы.

ii) Поддержка нескольких устройств.

iii) Встроенная поддержка RAID.

iv) Гибкое распределение inode.

v) Оптимизация для хранения файлов меньшего размера (разреженные файлы, перераспределение блоков, упаковка хвостов, переменный размер блока).

vi) Встроенная поддержка сжатия на уровне файловой системы.

Это особенности файловой системы, которые могут побудить вас выбрать файловую систему Btrfs вместо файловой системы XFS.

Заключение

В этой статье сравниваются файловые системы Btrfs и XFS, включая сравнение наиболее важных функций каждой файловой системы. Эта статья должна помочь вам выбрать между файловыми системами Btrfs и XFS. Выберите ту систему, которая лучше всего подходит для вас, в соответствии с вашими уникальными потребностями и предпочтениями.



2021-01-11T19:25:13
Вопросы читателей