unit配置文件|h3c 的命令中哪个是 设置下次启动使用以上保存的配置文件

|

1. h3c 的命令中哪个是 设置下次启动使用,以上保存的配置文件

1.2.2 清除交换机中的配置文件用户通过命令可以清除交换机中的配置文件。清除交换机中配置文件操作 命令 说明 清除交换机中的配置文件 reset saved-configuration[ backup | main ] 必选该命令只能在用户视图下执行在以下几种情况下,用户可能需要清除交换机中的配置文件:l在交换机软件升级之后,系统软件和配置文件不匹配。l交换机中的配置文件被破坏(常见原因是加载了错误的配置文件)。配置文件支持main/backup属性,用户清除配置文件时,有以下几种情况:l使用reset saved-configuration[ main ]命令清除配置文件时,对于只有主用属性没有备用属性的配置文件,将删除该文件;对于具有主备用双重属性的配置文件,只删除其主用属性。l使用reset saved-configuration backup命令清除配置文件时,对于只有备用属性没有主用属性的配置文件,将删除该文件;对于具有主备用双重属性的配置文件,只删除其备用属性。1.2.3 设置交换机下次启动时使用的配置文件及其属性设置下次启动时使用的配置文件及其属性操作 命令 说明 设置交换机下次启动时使用的配置文件及其属性 startupsaved-configurationcfgfile[ backup| main] 必选该命令只能在用户视图下执行用户可以设置交换机下次启动时使用的配置文件,也可以设置配置文件的main/backup属性。属性的生成有两种方式:1. 设置交换机下次启动时使用的配置文件的主用属性l将当前配置保存到主用配置文件中时,系统会自动将该主用配置文件设置为下次启动时主用的配置文件;l使用startup saved-configurationcfgfile[ main ]命令设置配置文件为下次启动时主用的配置文件。2. 设置交换机下次启动时使用的配置文件的备用属性l将当前配置保存到备用配置文件中时,系统会自动将该备用配置文件设置为下次启动时备用的配置文件;l使用startup saved-configurationcfgfilebackup命令设置配置文件为下次启动时备用的配置文件。1.2.4 配置文件显示在完成上述配置后,在任意视图下执行display命令可以显示交换机的当前配置和起始配置情况。用户可以通过查看显示信息查看配置的内容。配置文件显示操作 命令 说明 查看交换机的起始配置文件 display saved-configuration[ unitunit-id ] [ by-linenum ] display命令可以在任意视图下执行 查看交换机当前的配置信息 display current-configuration[ configuration [ configuration-type ] | interface [ interface-type ] [ interface-number ] ] [ by-linenum ] [ | { begin | exclude | include } regular-expression ][/td] 查看交换机当前VLAN的配置信息 display current-configuration vlan[ vlan-id ] [ by-linenum ][/td] 查看交换机当前视图的配置信息 display this[ by-linenum ][/td] 查看交换机启动时使用的配置文件信息 display startup[ unitunit-id ]

2. vsunitest配置文件路径

在visual studio做单元测试时,相关的xml结果会默存放在一个output文件夹中,但是由于单元测试的默认机制,每次都会在TestResult中根据当前时间新建一个文件夹用以存放会用到的config文件和dll文件。这个时候就会出问题了。TestResult的OUTPUT目录是在testsetting里面设置的。而config文件的 to Output Directory(选中config文件,选择properties)的属性是针对Build而言的,这样就会导致两个Output目录不一致的问题。那么此时你选择 always的话,还是不会到testresult的OUTput目录中。这样,在访问相应会用到的xml文件时候,就会出现找不到文件的情况。从而报错。【解决】首先可通过vs的Test菜单项,选择Edit test setting编辑你使用到的testsetting,(当然也可以找到solution中的solution Items文件夹编辑其中的testsetting)。有了前面的原因分析。我们可以很容易的分析出,这里我们主要是变更输出目录即可,只要将两输出目录调整一致即可。我在这里是这么做的,在General中选择user define schema,并且去掉Append date-time stamp项,这个是为了让test result的output目录固定。然后这里设置的prefix定义了test result中的目录。然后,再选择unittest project的属性,在bulid标签处,将output directory改掉,选择为我们之前test result设置的output。这样两个output目录一致后,就一切正常了

3. Systemctl 详解

Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。

systemctl 是 Systemd 的主命令,用于管理系统。

systemd-analyze 命令用于查看启动耗时。

hostnamectl 命令用于查看当前主机的信息。

localectl 命令用于查看本地化设置。

timedatectl 命令用于查看当前时区设置。

loginctl 命令用于查看当前登录的用户。

Systemd 可以管理所有系统资源。不同的资源统称为 Unit(单位)。

Unit 一共分成12种。

systemctl list-units 命令可以查看当前系统的所有 Unit 。

systemctl status 命令用于查看系统状态和单个 Unit 的状态。

除了 status 命令, systemctl 还提供了三个查询状态的简单方法,主要供脚本内部的判断语句使用。

对于用户来说,最常用的是下面这些命令,用于启动和停止 Unit(主要是 service)。

Unit 之间存在依赖关系:A 依赖于 B,就意味着 Systemd 在启动 A 的时候,同时会去启动 B。

systemctl list-dependencies 命令列出一个 Unit 的所有依赖。

上面命令的输出结果之中,有些依赖是 Target 类型(详见下文),默认不会展开显示。如果要展开 Target,就需要使用 –all 参数。

每一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit 。

Systemd 默认从目录 /etc/systemd/system/ 读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录 /usr/lib/systemd/system/ ,真正的配置文件存放在那个目录。

systemctl enable 命令用于在上面两个目录之间,建立符号链接关系。

如果配置文件里面设置了开机启动, systemctl enable 命令相当于激活开机启动。

与之对应的, systemctl disable 命令用于在两个目录之间,撤销符号链接关系,相当于撤销开机启动。

配置文件的后缀名,就是该 Unit 的种类,比如 sshd.socket 。如果省略,Systemd 默认后缀名为 .service ,所以 sshd 会被理解成 sshd.service 。

systemctl list-unit-files 命令用于列出所有配置文件。

这个命令会输出一个列表。

这个列表显示每个配置文件的状态,一共有四种。

注意,从配置文件的状态无法看出,该 Unit 是否正在运行。这必须执行前面提到的 systemctl status 命令。

一旦修改配置文件,就要让 SystemD 重新加载配置文件,然后重新启动,否则修改不会生效。

配置文件就是普通的文本文件,可以用文本编辑器打开。

systemctl cat 命令可以查看配置文件的内容。

从上面的输出可以看到,配置文件分成几个区块。每个区块的第一行,是用方括号表示的区别名,比如 [Unit] 。注意,配置文件的区块名和字段名,都是大小写敏感的。

每个区块内部是一些等号连接的键值对。

注意,键值对的等号两侧不能有空格。

[Unit] 区块通常是配置文件的第一个区块,用来定义 Unit 的元数据,以及配置与其他 Unit 的关系。它的主要字段如下。

[Install] 通常是配置文件的最后一个区块,用来定义如何启动,以及是否开机启动。它的主要字段如下。

[Service] 区块用来 Service 的配置,只有 Service 类型的 Unit 才有这个区块。它的主要字段如下。

Unit 配置文件的完整字段清单,请参考 官方文档 。

启动计算机的时候,需要启动大量的 Unit。如果每一次启动,都要一一写明本次启动需要哪些 Unit,显然非常不方便。Systemd 的解决方案就是 Target。

简单说,Target 就是一个 Unit 组,包含许多相关的 Unit 。启动某个 Target 的时候,Systemd 就会启动里面所有的 Unit。从这个意义上说,Target 这个概念类似于”状态点”,启动某个 Target 就好比启动到某种状态。

传统的 init 启动模式里面,有 RunLevel 的概念,跟 Target 的作用很类似。不同的是,RunLevel 是互斥的,不可能多个 RunLevel 同时启动,但是多个 Target 可以同时启动。

Target 与 传统 RunLevel 的对应关系如下。

它与 init 进程的主要差别如下。

(1)默认的 RunLevel (在 /etc/inittab 文件设置)现在被默认的 Target 取代,位置是 /etc/systemd/system/default.target ,通常符号链接到 graphical.target (图形界面)或者 multi-user.target (多用户命令行)。

(2)启动脚本的位置 ,以前是 /etc/init.d 目录,符号链接到不同的 RunLevel 目录 (比如 /etc/rc3.d 、 /etc/rc5.d 等),现在则存放在 /lib/systemd/system 和 /etc/systemd/system 目录。

(3)配置文件的位置 ,以前 init 进程的配置文件是 /etc/inittab ,各种服务的配置文件存放在 /etc/sysconfig 目录。现在的配置文件主要存放在 /lib/systemd 目录,在 /etc/systemd 目录里面的修改可以覆盖原始设置。

Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用 journalctl 一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是 /etc/systemd/journald.conf 。

journalctl 功能强大,用法非常多。


赞 (0)