使用list-dependencies时,所列出的default.target其实是muli-user.target的内容。multi-user.target 其实还会用到 basic.target + getty.target +remote-fs.target 三大项目, 而 basic.target 又用到了 sockets.target + sysinit.target +timers.target。
reverse是反向的意思。multi-user.target 主要是被 graphical.target 所使用。
所以可以看得出来,graphical.target 就是在 multi-user.target 下面再加上 accounts-daemon,gdm, network, rtkit-deamon, systemd-update-utmp-runlevel 等服务而已。
17.2.5 与 systemd 的 daemon 运行过程相关的目录简介
/usr/lib/systemd/system/: 使用 CentOS 官方提供的软件安装后,默认的启动脚本配置文件都放在这里,这里的数据尽量不要修改~ 要修改时,请到 /etc/systemd/system 下面修改。
/run/systemd/system/: 系统执行过程中所产生的服务脚本,这些脚本的优先序要比/usr/lib/systemd/system/ 高。
/etc/systemd/system/: 管理员依据主机系统的需求所创建的执行脚本,其实这个目录有点像以前 /etc/rc.d/rc5.d/Sxx 之类的功能!执行优先序又比 /run/systemd/system/ 高。
/etc/sysconfig/*: 几乎所有的服务都会将初始化的一些选项设置写入到这个目录下,举例来说,mandb 所要更新的 man page 索引中,需要加入的参数就写入到此目录下的man-db 当中。
/var/lib/: 一些会产生数据的服务都会将他的数据写入到 /var/lib/ 目录中。举例来说,数据库管理系统 Mariadb 的数据库默认就是写入 /var/lib/mysql/ 这个目录下。
/run/: 放置了好多 daemon 的暂存盘,包括 lock file 以及 PID file等等。
这样很清楚的就能够知道正在监听本机服务需求的 socket file 所在的文件名位置。
网络服务与端口对应简介
系统所有的功能都是某些程序所提供的,而程序则是通过触发程序而产生的。同样的,系统提供的网络服务当然也是这样的。只是由于网络牵涉到 TCP/IP 的概念,所以显的比较复杂一些就是了。
17.2.6 关闭网络服务
网络服务是会产生一个网络监听端口程序。
如上表所示,系统上至少开了 22, 25, 555, 5353, 36540 这几个端口,而其中 5353,36540 是由 avahi-daemon 这个东西所启动的! 接下来我们使用 systemctl 去观察一下,到底有没有 avahi-daemon 为开头的服务呢?
通过追查,知道这个 avahi-daemon 的目的是在区域网络进行类似网芳的搜寻,因此这个服务可以协助你在区网内随时了解随插即用的设备。只要连上你的区网,你就能够知道谁进来了。
一般来说,你的本机服务器至少需要 25 号端口,而 22 号端口则最好加上防火墙来管理远端连线登陆比较妥当。