10 примеров команд lsof в linux

Команды Linux для управления пользователями

35. useradd / userdel / usermod

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

36. passwd

Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности — менять пароль почаще.

Файлы и директории

<box 100% left round|>
cd /home — перейти в директорию ‘/home’ cd .. — перейти в директорию уровнем вышеcd ../.. — перейти в директорию двумя уровнями вышеcd — перейти в домашнюю директорию~user — перейти в домашнюю директорию пользователя usercd — — перейти в директорию, в которой находились до перехода в текущую директориюpwd — показать текущюю директориюls — отобразить содержимое текущей директорииls -F — отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих типls -l — показать детализированое представление файлов и директорий в текущей директорииls -a — показать скрытые файлы и директории в текущей директорииls ** — показать файлы и директории содержащие в имени цифрыtree или lstree — показать дерево файлов и директорий, начиная от корня (/)mkdir dir1 — создать директорию с именем ‘dir1’mkdir dir1 dir2 — создать две директории одновременноmkdir -p /tmp/dir1/dir2 — создать дерево директорийrm -f file1 — удалить файл с именем ‘file1’rmdir dir1 — удалить директорию с именем ‘dir1’rm -rf dir1 — удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимоеrm -rf dir1 dir2 — удалить две директории и рекурсивно их содержимоеmv dir1 new_dir — переименовать или переместить файл или директориюcp file1 file2 — сопировать файл file1 в файл file2cp dir/* . — копировать все файлы директории dir в текущую директориюcp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директориюcp -a dir1 dir2 — копировать директорию dir1 в директорию dir2ln -s file1 lnk1* — создать символическую ссылку на файл или директориюln file1 lnk1 — создать «жёсткую» (физическую) ссылку на файл или директориюtouch -t 0712250000 fileditest — модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)

</box>

Examples

rpcinfo

Display all of the RPC services of the local host.

rpcinfo cpuhope

Show all RPC services registered with rpcbind on the machine named cpuhope.

rpcinfo -s cpuhope

Same as the above command, but shows more concise information (the default information display can be quite lengthy). Output resembles the following:

program   version   netid                     service    owner
100000    2,3,4     local,tcp,udp,tcp6,udp6   rpcbind    super-user
100008    1         udp,tcp,udp6,tcp6         walld      super-user
100002    2,1       udp,udp6                  rusersd    super-user
100001    2,3,4     udp,udp6                  rstatd     super-user
100012    1         udp,tcp                   sprayd     super-user
100007    3         udp,tcp                   ypbind     super-user
rpcinfo -T tcp cpuhope prognum versnum

Show whether the RPC service with program number prognum and version versnum is registered on the machine named cpuhope for the transport tcp.

rpcinfo -p

Show all RPC services registered with version 2 of the rpcbind protocol on the local machine.

rpcinfo -d 100008 1

Delete the registration for version 1 of the walld (program number 100008) service for all transports.

rpcinfo -d walld 1

Same as the above example, but specifies walld by name.

Способ 3: проверьте подключение к сети

Проблема «Сервер RPC недоступен» иногда возникает из-за неправильной настройки сетевого подключения. Чтобы проверить подключение к сети:

1) нажмите Логотип Windows ключ а также р на клавиатуре, чтобы открыть Бежать Диалог. Затем введите «ncpa.cplИ нажмите Войти. 

2) Щелкните правой кнопкой мыши используемое сетевое подключение и выберите свойства.

3) Удостовериться Общий доступ к файлам и принтерам для сетей Microsoft а также Интернет-протокол версии 6 (TCP / IPv6) являются включен (Коробки рядом с этими пунктами тикали).

Вы также можете сбросить общий доступ к файлам и принтерам, переустановив драйвер сетевого адаптера. Если вам неудобно играть с драйверами устройств, мы рекомендуем использовать Водитель Легко. Это инструмент, который обнаруживает, загружает и (если вы используете Pro) устанавливает любые обновления драйверов, необходимые вашему компьютеру.

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

Чтобы удалить драйверы с помощью Driver Easy, просто перейдите на инструменты > Удаление драйвера. Затем выберите сетевой адаптер и нажмите Удалить. (Это требует Pro версия — вам будет предложено обновить, когда вы нажмете кнопку Удалить.)

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

Как получить информацию о файловой системе Linux

Что бы получить информацию о системных разделах используйте команду fdisk

Shell

fdisk -l
Disk /dev/sda: 1000 GB, 1000204887016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xcee8ad92

Device Boot Start End Blocks Id System
/dev/sda1 1 1953425167 976762583+ ee GPT
Partition 1 does not start on physical sector boundary.

1
2
3
4
5
6
7
8
9
10
11

fdisk-l

Disk/dev/sda1000GB,1000204887016bytes

255heads,63sectors/track,121601cylinders,total1953525168sectors

Units=sectors of1*512=512bytes

Sector size(logical/physical)512bytes/4096bytes

I/Osize(minimum/optimal)4096bytes/4096bytes

Disk identifier0xcee8ad92

Device Boot      Start         EndBlocks   IdSystem

/dev/sda111953425167976762583+ee  GPT

Partition1does notstart on physical sector boundary.

Как получить информацию по PCI устройствам.

PCI устройства могут включать usb порты, графические карты, сетевые адаптеры.

Shell

lspci

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 5 (rev e4)
00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 (rev 04)
00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
03:00.0 3D controller: NVIDIA Corporation GM108M (rev a2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

lspci
 

0000.0Host bridgeIntel Corporation Haswell-ULT DRAM Controller(rev0b)

0002.0VGA compatible controllerIntel Corporation Haswell-ULT Integrated Graphics Controller(rev0b)

0003.0Audio deviceIntel Corporation Haswell-ULT HD Audio Controller(rev0b)

0014.0USB controllerIntel Corporation Lynx Point-LPUSB xHCI HC(rev04)

0016.0Communication controllerIntel Corporation Lynx Point-LPHECI#0 (rev 04)

001b.0Audio deviceIntel Corporation Lynx Point-LPHD Audio Controller(rev04)

001c.0PCI bridgeIntel Corporation Lynx Point-LPPCI Express Root Port3(rev e4)

001c.3PCI bridgeIntel Corporation Lynx Point-LPPCI Express Root Port4(rev e4)

001c.4PCI bridgeIntel Corporation Lynx Point-LPPCI Express Root Port5(rev e4)

001d.0USB controllerIntel Corporation Lynx Point-LPUSB EHCI#1 (rev 04)

001f.0ISA bridgeIntel Corporation Lynx Point-LPLPC Controller(rev04)

001f.2SATA controllerIntel Corporation Lynx Point-LPSATA Controller1AHCI mode(rev04)

001f.3SMBusIntel Corporation Lynx Point-LPSMBus Controller(rev04)

0100.0Ethernet controllerRealtek Semiconductor Co.,Ltd.RTL8111/8168/8411PCI Express Gigabit Ethernet Controller(rev10)

0200.0Network controllerRealtek Semiconductor Co.,Ltd.RTL8723BE PCIe Wireless Network Adapter

0300.03DcontrollerNVIDIA Corporation GM108MGeForce840M(rev a2)

С опцией lspci -t вывод информации будет в виде дерева. С опцией lspci -v более детальная информация.

Что значит «сервер RPC недоступен»?

Смысл сообщения в том, что система не в состоянии связаться с другим компьютером или иным устройством. Это может потребоваться при развертывании сетей, открытии удаленного доступа к ПК или даже по причине взлома операционной системы. Порой причина в программе, которая требует те или иные полномочия. Если ошибка появляется при входе в систему, но никто из пользователей ПК не настраивал автоматическое подключение – дело плохо, нужно срочно искать вредоносный софт. В остальных случаях все легко исправить.

Причины ошибки:

  • второе устройство сейчас недоступно, скорее всего – оно выключено;
  • служба RPC отключена в системе;
  • брандмауэр или провайдер блокирует порты, использованные при подключении;
  • указаны неправильные параметры подключения;
  • скопился неправильный кэш DNS.

Linux команды консоли для работы с текстом

19. more / less

Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.

20. head / tail

Ещё одна пара, но здесь у каждой команды своя область применения. Утилита head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

21. grep

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

22. sort

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

24. diff

Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а». Подробнее — здесь.

Кстати, я подготовил ещё одну подробную статью, в которой описан именно просмотр содержимого текстового файла в Linux c помощью терминала.

Options

-d, —no-syslog

Causes rpc.statd to write log messages on stderr instead of to the system log, if the -F option was also specified.
-F, —foreground
Keeps rpc.statd attached to its controlling terminal so that NSM operation can be monitored directly or run under a debugger. If this option is not
specified, rpc.statd backgrounds itself soon after it starts.
-h, -?, —help
Causes rpc.statd to display usage information on stderr and then exit.
-H, —ha-callout prog
Specifies a high availability callout program. If this option is not specified, no callouts are performed. See the High-availability callouts section
below for details.
-L, —no-notify
Prevents rpc.statd from running the sm-notify command when it starts up, preserving the existing NSM state number and monitor list.
Note: the sm-notify command contains a check to ensure it runs only once after each system reboot. This prevents spurious reboot notification if
rpc.statd restarts without the -L option.
-n, —name ipaddr | hostname
Specifies the bind address used for RPC listener sockets. The ipaddr form can be expressed as either an IPv4 or an IPv6 presentation address. If this
option is not specified, rpc.statd uses a wildcard address as the transport bind address.
This string is also passed to the sm-notify command to be used as the source address from which to send reboot notification requests. See
sm-notify(8) for details.
-N

Causes rpc.statd to run the sm-notify command, and then exit. Since the sm-notify command can also be run directly, this option is
deprecated.

-o, —outgoing-port port

Specifies the source port number the sm-notify command should use when sending reboot notifications. See (8) for details.

-p, —port port

Specifies the port number used for RPC listener sockets. If this option is not specified, rpc.statd chooses a random ephemeral port for each listener
socket.
This option can be used to fix the port value of its listeners when SM_NOTIFY requests must traverse a firewall between clients and servers.

-P, —state-directory-path pathname

Specifies the pathname of the parent directory where NSM state information resides. If this option is not specified, rpc.statd uses
/var/lib/nfs/statd by default.
After starting, rpc.statd attempts to set its effective UID and GID to the owner and group of this directory.

-v, -V, —version

Causes rpc.statd to display version information on stderr and then exit.

Description

rpcinfo makes an RPC call to an RPC server and reports what it finds.

In the first synopsis, rpcinfo lists all the registered RPC services with rpcbind on host. If host is not specified, the local host is the default. If -s is used, the information is displayed in a concise format.

In the second synopsis, rpcinfo lists all the RPC services registered with rpcbind, version 2. Also, note that the format of the information is different in the first and the second synopsis. This is because the second synopsis is an older protocol used to collect the information displayed (version 2 of the rpcbind protocol).

The third synopsis makes an RPC call to procedure 0 of prognum and versnum on the specified host and reports whether a response was received. The transport is the transport which has to be used for contacting the given service. The remote address of the service is obtained by making a call to the remote rpcbind.

The prognum argument is a number that represents an RPC program number. If a versnum is specified, rpcinfo attempts to call that version of the specified prognum. Otherwise, rpcinfo attempts to find all the registered version numbers for the specified prognum by calling version 0, which is presumed not to exist; if it does exist, rpcinfo attempts to obtain this information by calling an extremely high version number instead, and attempts to call each registered version.

The version number is required for -b and -d options.

To Check Listening Ports in Linux

After configuring the network, checking the ports which are still listening on the network interface is one of the important things in network management and security. This article will help you to check Listening ports in Linux. Following examples help you to find listen port after network configuration.

Checking Listening Ports

Use nmap command with following option to view listening ports for TCP.

 Desktop]# nmap -sT -O localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2017-02-25 01:49 IST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0019s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 995 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
111/tcp open  rpcbind
631/tcp open  ipp
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.7 - 3.9
Network Distance: 0 hops

Use ss command to display all listen tcp and udp port.

 Desktop]# ss -lntu
Netid  State      Recv-Q Send-Q               Local Address:Port                 Peer Address:Port 
tcp    UNCONN     0      0                                *:45113                           *:*     
tcp    UNCONN     0      0                                *:111                             *:*     
tcp    UNCONN     0      0                                *:123                             *:*     
.
.
.
tcp    LISTEN     0      128                             :::80                             :::*     
tcp    LISTEN     0      128                             :::22                             :::*     
tcp    LISTEN     0      128                            ::1:631                            :::*

Use netstat command to list all open ports or currently running ports including TCP and UDP in Linux.

 Desktop]# netstat -lntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:36393           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN    
.
.
.
udp6       0      0 :::683                  :::*                               
udp6       0      0 ::1:323                 :::*                               
udp6       0      0 :::54192                :::*

To view a list of different applications and port/protocol combination in single configuration file.

 Desktop]# cat /etc/services | less

To view particular listening port in configuration file, run the following command

 Desktop]# cat /etc/services | grep 80
http            80/tcp          www www-http    # WorldWideWeb HTTP
http            80/udp          www www-http    # HyperText Transfer Protocol
http            80/sctp                         # HyperText Transfer Protocol
socks           1080/tcp                        # socks proxy server
.
.
.
nimbusdb        48004/tcp               # NimbusDB Connector
nimbusdbctrl    48005/tcp               # NimbusDB Control
3gpp-cbsp       48049/tcp               # 3GPP Cell Broadcast Service Protocol

Filter the particular listen port details by its service name using netstat.

 Desktop]# netstat -anp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      13560/httpd         
unix  3               STREAM     CONNECTED     69292    13560/httpd   

Filter the particular listen port details by its port name using lsof.

 Desktop]# lsof -i | grep 22
rpc.statd  2350 rpcuser    7u  IPv4  22736      0t0  UDP *:43289 
rpc.statd  2350 rpcuser    8u  IPv4  22740      0t0  TCP *:36393 (LISTEN)
rpc.statd  2350 rpcuser    9u  IPv6  22744      0t0  UDP *:54192 
rpc.statd  2350 rpcuser   11u  IPv6  22748      0t0  TCP *:35835 (LISTEN)
master     2404    root   13u  IPv4  22844      0t0  TCP localhost:smtp (LISTEN)
master     2404    root   14u  IPv6  22845      0t0  TCP localhost:smtp (LISTEN)

Also filter the listening port details by ss commands.

 Desktop]# ss -lnt | grep 80
LISTEN     0      128                      :::80                      :::*

Как просмотреть информацию об оборудовании Linux

Что бы узнать информацию об cpu, disks, memory, usb controllers можно воспользоваться командой lshw
Если её нет в системе то необходимо предварительно установить, она есть в репозитории rpmforge

Shell

yum install lshw

1 yum install lshw

Выполнить команду и в результате получите подобную информацию

Shell

lshw

description: Computer
width: 64 bits
capabilities: vsyscall64 vsyscall32
*-core
description: Motherboard
physical id: 0
*-generic UNCLAIMED
physical id: 123
bus info: parisc@123
*-memory
description: System memory
physical id: 0
size: 1GiB
*-cpu
product: Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
version: 6.10.9
serial: 0003-06A9-0000-0000-0000-0000
size: 3300MHz
width: 64 bits
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64 constant_tsc……………

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

lshw
 

descriptionComputer

width64bits

capabilitiesvsyscall64 vsyscall32

*-core

descriptionMotherboard

physical id

*-generic UNCLAIMED

physical id123

bus infoparisc@123

*-memory

descriptionSystem memory

physical id

size1GiB

*-cpu

productIntel(R)Xeon(R)CPU [email protected]

vendorIntel Corp.

physical id1

bus infocpu@

version6.10.9

serial0003-06A9-0000-0000-0000-0000

size3300MHz

width64bits

capabilitiesfpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64constant_tsc……………

Можно сократить и упорядочить вывод с помощью опции

Shell

lshw -short
H/W path Device Class Description
=========================================
system Computer
/0 bus Motherboard
/0/123 generic
/0/0 memory 1GiB System memory
/0/1 processor Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
/0/1/1.1 processor Logical CPU
/0/1/1.2 processor Logical CPU
/0/1/1.3 processor Logical CPU
/0/1/1.4 processor Logical CPU
/0/1/1.5 processor Logical CPU
/0/1/1.6 processor Logical CPU
/0/1/1.7 processor Logical CPU
/0/1/1.8 processor Logical CPU
/0/1/1.9 processor Logical CPU
/0/1/1.a processor Logical CPU
/0/1/1.b processor Logical CPU
/0/1/1.c processor Logical CPU
/0/1/1.d processor Logical CPU
/0/1/1.e processor Logical CPU
/0/1/1.f processor Logical CPU
/0/1/1.10 processor Logical CPU

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

lshw-short

H/Wpath   Device  ClassDescription

=========================================

system     Computer

/bus        Motherboard

//123generic

//memory1GiBSystem memory

//1processor  Intel(R)Xeon(R)CPU [email protected]

//1/1.1processor  Logical CPU

//1/1.2processor  Logical CPU

//1/1.3processor  Logical CPU

//1/1.4processor  Logical CPU

//1/1.5processor  Logical CPU

//1/1.6processor  Logical CPU

//1/1.7processor  Logical CPU

//1/1.8processor  Logical CPU

//1/1.9processor  Logical CPU

//1/1.aprocessor  Logical CPU

//1/1.bprocessor  Logical CPU

//1/1.cprocessor  Logical CPU

//1/1.dprocessor  Logical CPU

//1/1.eprocessor  Logical CPU

//1/1.fprocessor  Logical CPU

//1/1.10processor  Logical CPU

Также есть возможность вывода информации в html файл

Shell

lshw -html &gt; lshw.html

1 lshw-html&gt;lshw.html

Задачи

Раздел «Задачи» показывает статистику процессов, запущенных в вашей системе. «Общее» значение — это просто общее количество процессов. Например, на приведенном выше снимке экрана запущено 142 процесса. Чтобы понять остальные значения, нам нужно немного рассказать о том, как ядро ​​Linux обрабатывает процессы.

Процессы выполняют смешанную работу, связанную с вводом / выводом (например, чтение дисков), и работу, связанную с ЦП (например, выполнение арифметических операций). Процессор простаивает, когда процесс выполняет ввод / вывод, поэтому ОС переключаются на выполнение других процессов в течение этого времени. Кроме того, ОС позволяет заданному процессу выполняться в течение очень небольшого промежутка времени, а затем переключается на другой процесс. Вот как ОС выглядят так, как если бы они были «многозадачными». Выполнение всего этого требует от нас отслеживания «состояния» процесса. В Linux процесс может находиться в следующих состояниях:

Runnable (R): процесс в этом состоянии либо выполняется на CPU, либо присутствует в очереди на выполнение, готовый к выполнению.
Прерываемый сон (S): процессы в этом состоянии ожидают завершения события.
Непрерывный сон (D): в этом случае процесс ожидает завершения операции ввода-вывода.
Остановлено (T): эти процессы были остановлены сигналом управления заданием (например, нажатием Ctrl + Z) или потому, что они отслеживаются.
Zombie (Z): ядро ​​поддерживает различные структуры данных в памяти, чтобы отслеживать процессы. Процесс может создать несколько дочерних процессов, и они могут завершиться, пока родительский процесс еще существует. Однако эти структуры данных должны храниться до тех пор, пока родительский объект не получит статус дочерних процессов. Такие завершенные процессы, чьи структуры данных все еще существуют, называются зомби.
Процессы в состояниях D и S показаны в «спящем» режиме, а процессы в состоянии T — в «остановленном». Количество зомби показано как значение «зомби».

Краткое резюме

Давайте кратко рассмотрим то, что мы только что рассмотрели.

Если вы используете NFS v4, все, что вам нужно, это разрешить порт 2049. Однако, если вы используете NFS v2 или v3, вам необходимо отредактировать файл / etc / sysconfig / nfs и добавить порты для следующих служб.

  • Mountd — MOUNTD_PORT = порт
  • Statd — STATD_PORT = порт
  • LOCKD — ​​LOCKD_TCPPORT = порт, LOCKD_UDPPORT = порт

Наконец, вам необходимо убедиться, что демон NFSD работает на порту 2049, а средство отображения портов — на порту 111.

Вы также можете проверить / var / log / messages, если служба NFS не запускается правильно. Убедитесь, что указанные вами порты не используются.

Using netstat to see the listening processes

To see if a program or process is listening on a port, ready to accept a packet, use the netstat command.

# netstat -tulnp

The arguments to the netstat command are listed below:

t – Show TCPu – Show UDPl – Show only listening processes (netstat can show both listening and all established connections, i.e. as a client too)n – Do not resolve network IP address names or port numbersp – Show the process name that is listening on the port

For example :

# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1254/rpcbind
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1484/sshd
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1355/cupsd
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1562/master
tcp        0      0 0.0.0.0:44349               0.0.0.0:*                   LISTEN      1274/rpc.statd
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               1254/rpcbind
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               1355/cupsd
udp        0      0 0.0.0.0:44165               0.0.0.0:*                               1274/rpc.statd
udp        0      0 0.0.0.0:602                 0.0.0.0:*                               1274/rpc.statd
udp        0      0 0.0.0.0:1001                0.0.0.0:*                               1254/rpcbind

#: NFSD

Это демон NFS, который работает на серверах NFS. Это критически важная служба, которая работает с ядром Linux и обеспечивает такие функции, как серверные потоки, для всех клиентов, подключенных к серверу.

По умолчанию демон NFS уже настроен для запуска статического порта 2049. Порт является истинным для протоколов TCP и UDP.

#: Lockd и Statd

Демон NFS Lock Manager (lockd) и демон Status Manager (statd) — это другие службы, необходимые для запуска NFS. Эти демоны работают как на стороне сервера, так и на стороне клиента.

Демон lockd позволяет клиентам NFS блокировать файлы на сервере NFS.

С другой стороны, демон statd отвечает за уведомление пользователей о перезапуске сервера NFS без корректного завершения работы. Он реализует протокол RPC монитора состояния сети.

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

Установите статический порт для демонов statd и lockd, отредактируйте / etc / sysconfig / nfs и введите следующие записи.

Повреждение реестра

Иногда неполадки бывают связаны с реестром. Для устранения проблемы лучше использовать традиционное средство отката к предыдущим системным точкам восстановления. Также вы можете скопировать из папки C:/Windows/System32/config/RegBack файл SYSTEM и поместить его в родительскую папку config с заменой. Операцию эту выполнять желательно из-под LiveCD.

Выводы

С ошибкой недоступности сервера RPC на локальных компьютерах, как правило, удается справиться путем задействования всех необходимых служб или восстановления файлов и реестра (если имели место сбои). Одним из способов решения проблемы также является обновление Windows до более новой версии. Что же касается этой же ошибки на серверах, здесь всё может оказаться намного сложнее, впрочем, рядовым пользователям встретиться с подобной ситуацией вряд ли придется, так как это дело обычно ложиться на плечи системных администраторов.

Как получить информацию об устройствах Linux

Что бы получить инфо о блочных устройствах таких как жесткие диски, флэшки и т.п. используйте команду lsblk
Пример вывода команды

Shell

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 59.5G 0 part
├─vg_web02-lv_root (dm-0) 253:0 0 55.6G 0 lvm /
└─vg_web02-lv_swap (dm-1) 253:1 0 4G 0 lvm

1
2
3
4
5
6
7
8

lsblk

NAME                        MAJMIN RMSIZE RO TYPEMOUNTPOINT

sr01111024Mrom

sda860Gdisk

├─sda181500Mpart/boot

└─sda28259.5Gpart

├─vg_web02-lv_root(dm-)25355.6Glvm/

└─vg_web02-lv_swap(dm-1)25314GlvmSWAP

Для большей информации используйте опцию lsblk -a

Что такое RPC и как работает

RPC или иначе удаленный вызов процедур можно охарактеризовать как способ связи между устройствами, одно из которых является клиентом, а другое сервером. Также RPC – это сетевая служба, предназначенная для выполнения определенных действий на удаленных устройствах или, как говорят, других адресных пространствах. Примерами могут служить отправка данных на сетевой принтер и удаленное администрирование, предполагающее запуск на управляемом компьютере каких-либо программ.

Технология RPC представлена двумя базовыми компонентами – сетевым протоколом и обеспечивающим сериализацию объектов и структур языком программирования. Протоколы при этом могут использоваться разные, например, наиболее распространенными являются протоколы UDP и TCP. Взаимодействие устройств в рамках RPC происходит посредством обмена пакетами через соответствующий порт. Если в этой цепочке действий происходит сбой, служба реагирует появлением ошибки «сервер RPC недоступен».

ADDITIONAL NOTES

rpc.statd

The UTS nodename of your systems should match the DNS names that NFS
peers use to contact them
The UTS nodenames of your systems should always be fully qualified domain names
The forward and reverse DNS mapping of the UTS nodenames should be
consistent

The hostname the client uses to mount the server should match the server’s
mon_name

in SM_NOTIFY requests it sends

Unmounting an NFS file system does not necessarily stop
either the NFS client or server from monitoring each other.
Both may continue monitoring each other for a time in case subsequent
NFS traffic between the two results in fresh mounts and additional
file locking.

On Linux, if the
lockd

kernel module is unloaded during normal operation,
all remote NFS peers are unmonitored.
This can happen on an NFS client, for example,
if an automounter removes all NFS mount
points due to inactivity.
 

High-availability callouts

rpc.statd

The name of the callout program is specified with the
-H

option.
The program is run with 3 arguments:
The first is either
add-client

del-client

or
sm-notify

depending on the reason for the callout.
The second is the
mon_name

of the monitored peer.
The third is the
caller_name

of the requesting lock manager for
add-client

or
del-client

, otherwise it is
IP_address

of the caller sending SM_NOTIFY.
The forth is the
state_value

in the SM_NOTIFY request.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Зов электронных книг
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: