Зайти на устройство linux

Доступ к устройствам в Linux

В файловой системе Unix существуют специальные объекты — файлы устройств. Как правило, они создаются в каталоге /dev, но могут сбыть созданы и в любом другом каталоге. Каждый специальный файл — это точка доступа к драйверу устройства. Если драйвер предоставляет операции чтения/записи, то файл устройства может быть открыт как обычный файл cat /dev/modem > /dev/null. Для выполнения других операций с устройством (например выдвижение лотка CDROM) требуется отправка команд драйверу через системный вызов ioctl(). Файлам устройств права доступа назначаются так же , как и обычным файлам.

ВНИМАНИЕ: сетевые карты не отображаются в файлы устройств в /dev. Все сетевые интерфейсы живут в своём пространстве имён.

Команда создания специального файла:

  • name — имя в файловой системе,
  • type — b|c — блочный или посимвольный тип устройства,
  • major, minor — номер драйвера в таблице драйверов и номер устройства в таблице устройств, обслуживаемых этим драйвером.

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

  • Linux — /dev/sda1 — первый раздел (1) на первом (a) SCSI диске
  • Solaris — /dev/dsk/c0t2d0s3 — контроллер 0, устройство 2 (SCSI ID), логическое устройство 0 (LUN Logical Unit Number — обычно 0), слайс 3 (Номер раздела)
  • Solaris — /devices/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a — диск на контроллере ide, подключенном по шине pci

Функциональность файла устройства определяется парой чисел major/minor, которые должны соответствовать номерам в некой таблице регистрации драйверов в ядре ОС. Назначение minor, обычно, определяется логикой работы драйвера. Для согласованного назначения номера major драйверам и специальным файлам существует несколько способов :

  • Статические номера major. Разработчики драйверов регистрируются у мантейнеров ядра и получают фиксированные номера major. . Разработчики дистрибутива добавляют в поставку скрипт для создания соответствующих специальных файлов в каталоге /dev.
  • Инициализация драйвера на основе специального файла. При инициализации драйвера в ядре он просматривает каталог /dev, обнаруживает по имени свой специальный файл и читает из него major/minor.
  • Динамическое назначение major/minor. При обнаружении нового устройства ядро инициализирует драйвер и назначает ему major/minor. Специальный сервис (udev) получает через сокет уведомление о найденном устройстве (тип, шина, производитель, идентификатор) и его major/minor. На основании этой информации и набора правил генерации имён сервис, создаёт для устройства специальный файл.

Каталоги /proc и /sys

Традиционно свойства процессов и некоторые параметры ядра отображаются в Linux в каталог /proc через драйвер псевдофайловой системы procfs. Начиная с ядра 2.6 параметры ядра, связанные с драйверами устройств и файловых системам, были вынесены в каталог /sys и псевдофайловую систему sysfs.

Читайте также:  Linux vs windows fps

Через файл /proc/cpuinfo можно получить информацию о физических процессорах, физических ядрах и гипертрединговых логических ядрах.

$ cat /proc/cpuinfo . model name : Intel(R) Xeon(R) CPU E5520 @ 2.27GHz . cpu MHz : 1733.000 . 

Через файл /proc/net/dev можно получить список сетевых интерфейсов и статистику по ним

Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed eth0: 1767479002126 7440045654 0 209199 176227535 . lo: 809098010894 313483867 0 0 0 0 . 

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

  • /sys/devices — основной каталог, на который ссылаются остальные
  • /sys/dev — классификация по type, major, minor
  • /sys/bus — классификация по шине — pci, usb, scsi и т.п.
  • /sys/block — драйверы блочных устройств.
  • /sys/class — классификация по типу устройства
cat /sys/class/power_supply/BAT0/charge_full cat /sys/class/power_supply/BAT0/charge_full_design cat /sys/class/power_supply/BAT0/charge_now 

Альтернативный путь к тем же данным

Утилиты управления устройствами

  • dmesg — сообщения ядра. Включают информацию об обнаруженных устройствах.
  • lscpu — список процессоров (ядер). Выводит информацию из /proc/cpuinfo
  • lsusb — список устройств на шине USB (/sys/bus/usb/devices)
  • lspci — список устройств на шине PCI (/sys/bus/pci/devices)
  • lsblk -список дисков, разделов, логических томов и т.п.
  • hdparm — считывание параметров жёстких дисков и управление этими параметрами.
  • smartctl — считывание параметров S.M.A.R.T. жёсткого диска. Диагностика диска.
  • dmidecode — список устройств на материнской плате, в том числе информация о BIOS и о планках памяти.

Утилиты acpi, acpitool отсутствуют в большинстве современных дистрибутивов.

Источник

Как подключиться по SSH

SSH — это основной протокол для удаленного управления серверами на базе операционной системы Linux. Все действия при подключении к SSH выполняются в командной строке, но при достаточном уровне знаний и привилегий в системе там можно сделать практически все что угодно, в отличие от того же FTP где можно только передавать и редактировать файлы.

Если вы покупаете VPS сервер или продвинутый хостинг, обычно в письме вместе с другими данными авторизации есть данные доступа по SSH. В этой статье мы рассмотрим как подключиться по SSH к серверу из Linux или Windows.

Что такое SSH?

Поскольку эта статья рассчитана именно на новичков, то перед тем, как перейти дальше давайте подробнее разберемся что из себя представляет SSH. Исторически так сложилось что на большинстве серверов используется операционная система Linux, во многом этому посодействовала ее бесплатность. Графический интерфейс на серверах Linux не используется для экономии ресурсов, поэтому единственным способом администрирования сервера остается командная строка.

Но это не является недостатком, потому что в командной строке Linux можно сделать больше чем графическом интерфейсе. Протокол SSH позволяет вам выполнять команды в удаленной системе так, как будто вы это делаете в своей системе. Вам доступен буфер обмена, вы вводите команды и можете использовать их вывод. Недоступны разве что файлы из вашей файловой системы. Например, когда вы подключитесь к серверу по SSH из Ubuntu, то все будет выглядеть так, как будто вы открыли терминал в своей системе.

Читайте также:  Showing hidden files in linux

Как подключиться по SSH

Для подключения по SSH нам необходимо знать такие данные:

  • ip адрес сервера, к которому мы собираемся подключится;
  • порт, на котором ожидает подключения SSH сервер, по умолчанию используется 22, но в целях безопасности порт подключения ssh часто изменяют;
  • имя и пароль пользователя на удаленном сервере.

Больше ничего не нужно, обычно эти данные присылают в письме вместе с описанием VPS. Теперь перейдем к практике.

1. Подключение через SSH в Linux

В Linux подключение по SSH выполняется с помощью утилиты ssh. Мы более подробно рассматривали работу с ней в статье как пользоваться ssh. Для подключения к удаленному компьютеру ее синтаксис будет выглядеть следующим образом:

$ ssh имя_пользователя @ айпи_адрес

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

$ ssh имя_пользователя @ айпи_адрес -p порт

Чтобы выполнить подключение по SSH Linux нажмите Ctrl+Alt+T для открытия терминала и наберите команду, заменив нужные значения:

Или, с нестандартным портом:

ssh sergiy@192.168.1.2 -p 2223

Если ip_адрес и порт правильные, то на следующем шаге программа попросит у вас ввести пароль:

Если пытаетесь подключится через SSH к этому серверу первый раз, то утилита также попросит подтвердить добавление нового устройства в свой список известных устройств, здесь нужно набрать yes и нажать Enter:

Теперь вы подключены, и все вводимые далее команды будут выполнены на удаленном сервере:

Если же произошла ошибка и IP адрес или порт введены неверно, то вы получите ошибку Connection Refused:

Просто убедитесь что порт введен верно. Если это ваш сервер, то, возможно на нем еще нужно разрешить подключение SSH в брандмауэре. В Ubuntu/Debian для этого на удаленном сервере выполните:

firewall-cmd —permanent —zone=public —add-port=22/tcp

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

Теперь вы знаете как подключиться по ssh linux и решить проблемы с подключением. А теперь перейдем к Windows.

2. Подключение через SSH в Windows

Раньше подключение по SSH из Windows выполнялось только с помощью сторонних утилит, например PuTTY. Но в Windows 10 был добавлен встроенный OpenSSH клиент и работает он точно так же, как и в Linux. По умолчанию этот компонент не активирован. Для его установки откройте Параметры -> Приложения:

Затем выберите Управление дополнительными компонентами:

Здесь нажмите добавить новый компонент и в открывлемся меню выберите OpenSSH Client и нажмите Устанвоить:

Дальше вернитесь назад и дождитесь завершения установки. После того, как SSH клиент будет установлен нужно обязательно перезагрузить компьютер.

Читайте также:  Vmware workstation linux rutracker

После перезагрузки нажмите Win+R чтобы открыть окно запуска команд и наберите в нем cmd:

Далее нажмите Enter. Перед вами откроется командная строка Windows. Здесь можно использовать утилиту ssh. Синтаксис у нее абсолютно такой же, как и для Linux:

ssh имя_пользователя @ айпи_адрес -p порт

Например, такой командой можно подключится по SSH к Raspberry Pi, который находится в вашей локальной сети по адресу 192.168.1.5:

Утилита предложит добавить устройство в список известных:

Затем предложит ввести пароль:

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

Теперь подключиться к серверу по ssh из этой операционной системы также просто как и из Linux.

Выводы

В этой статье мы рассмотрели как выполняется подключение к серверу по SSH из Linux или Windows. Как видите, это очень просто. А дальше, для работы с удаленным сервером вам понадобятся команды терминала Linux.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Зайти на флешку в linux

Все привет. Нужно зайти на флешку в терминале путь:/dev/ttyUSB0 Подскажите, пожалуйста, как это можно сделать?

3 ответа 3

/dev/ttyUSB0 — это как бы более низкий уровень доступа к флешке. Устройство для флешки скорее всего будет выглядеть немного по другому. Самый простой способ найти — это вставить флешку и сразу в терминале запустит команду dmesg. Там в конце должно быть что то вида

new high-speed USB device number 7 using xhci_hcd 

это значит, что как минимум само устройство было распознано на низком уровне.

Чуть ниже будет где то такое

New USB device found, idVendor=1111, idProduct=1234, bcdDevice= 1.00 

и смотрим ещё ниже по тексту и там должно быть такое

[sde] 121438208 512-byte logical blocks: (62.2 GB/57.9 GiB) 

это значит, что флешка (диск) найдены, размер виден и известно имя — sde (у Вас, естественно, может быть другое). Но только sde — это название всей флешки, а конкретный раздел на флешке будет называться sde1 (или другие числа в конце, в зависимости от разбивки диска).

Проверяем наличие (флешка вставлена)

(вместо буквы e Вам нужно будет подставить свою. Если линукс совсем-совсем древний, то там будет /dev/hda* или подобное).

Ок, теперь имя уже известно. Можно пробовать монтировать. Для начала нужно создать для него каталог, можно даже в домашнем каталоге. Пусть это будет /home/Alexandr/usbstick Теперь монтируем

mkdir /home/Alexandr/usbstick sudo mount -t vfat /dev/sde1 /home/Alexandr/usbstick 

тут есть важный параметр — -t vfat — большинство флешек в fat, но бывают и в ntfs. (тогда нужно -t ntfs-3g )

В целом, очень странно, что флешка не подмонтировалась сама. Скорее всего она либо сломана, либо она на ntfs, а в системе не установлено под нее поддержка. Последние 10-20 строк с dmesg в момент вставки флешки могут прояснить ситуацию.

Источник

Оцените статью
Adblock
detector