Возможно, это не самый эффективный способ, но, похоже, он работает:
# for a in $(cat args); do regex="$regex | grep '$a'"; done
# eval cat text "$regex"
The horse has a happy life.
Когда вы запускаете sudo systemctl disable rpcbind
на Fedora 25
, я думаю, что есть предупреждение:
Warning: Stopping rpcbind.service, but it can still be activated by:
rpcbind.socket
Итак, вы можете попробовать:
sudo systemctl stop rpcbind.socket
sudo systemctl disable rpcbind.socket
Это активация сокета :). И вы были правы, подозревая.
Необходимо отключить rpcbind.socket
. Отключение rpcbind.service
-, которое systemctl disable rpcbind
предполагает -, не имеет никакого эффекта.
Кроме того, disable
влияет только на то, что происходит во время загрузки. Поэтому, если вы хотите увидеть немедленные изменения, вы также хотите запустить systemctl stop rpcbind.socket
.
РЕДАКТИРОВАТЬ:Этот вопрос очень похож на меня. Джефф Шаллер указывает, что вы можете использовать команду systemctl list-sockets
, чтобы увидеть порты и службы, для которых systemd
реализует активацию сокета.
Я вернулся и посмотрел на Fedora-Workstation-Live-x86_64-25-1.3.iso
.
Статус rpcbind.service показывает indirect; vendor preset; disabled
. (ТакжеActive: inactive (dead)
). Так что ясно, что отключение (или остановка )ничего не изменит.
Я предполагаю, что indirect
здесь является подсказкой, чтобы обратить внимание на другие юниты, которые активируют этот (, включая, помимо прочего, юниты с сокетами ). Как только блок розеток также останавливается, он меняется с indirect
на disabled
.
Странно то, что блок сокета отображается как enabled; vendor preset: disabled
. Это означает, что что-то активировало rpcbind.socket в образе Fedora 25, но не было включено с помощью /lib/systemd/system-preset/80-workstation.preset
или 90-default.preset
. Похоже, это противоречит (текущей )политике в https://fedoraproject.org/wiki/Packaging:DefaultServices, которая связана с 90 -default.preset -
If the service should be enabled by default, it must be added to one of the distribution presets files.
В какой-то момент это было решено. rpcbind.socket
больше не включен в Fedora-Workstation-Live-x86_64-28-1.1.iso
.
(Это не означает, что rpcbind / порт 111 автоматически доступен из сети в системах, установленных с диска Fedora 25. Установка также включает брандмауэр , который не разрешает порт 111 )
.Этот порт активируется службой nfs
, установленной из пакета nfs-utils
. Если он вам не нужен, лучше удалите его. nfs-utils
и iscsi-initiator-utils
обычно устанавливаются как зависимости пакета libvirt
. Оба пакета активируют множество сервисов и сокетов, которые вам, возможно, не нужны. Эти команды можно использовать для отключения служб nfs
и iscsi-initiator-utils
.
systemctl disable nfs-client.target
systemctl stop nfs-client.target
systemctl disable rpcbind.socket
systemctl stop rpcbind.socket
systemctl stop rpc_pipefs.target
systemctl stop rpcbind.target
systemctl stop rpcbind.service
systemctl disable rpcbind.service
systemctl stop var-lib-nfs-rpc_pipefs.mount
systemctl stop proc-fs-nfsd.mount
systemctl disable gssproxy.service
systemctl stop gssproxy.service
modprobe -r sunrpc
systemctl disable iscsid.socket
systemctl stop iscsid.socket
systemctl disable iscsiuio.socket
systemctl stop iscsiuio.socket
systemctl disable iscsid.service
systemctl stop iscsid.service
systemctl disable iscsiuio.service
systemctl stop iscsiuio.service