CGroup
相关控制组(CGroup)的其他信息。
@@ -283,6 +273,8 @@ systemctl disable name.service
例如在开机时禁用蓝牙服务启动,命令如下:
```
-# systemctl disable bluetooth.servicerm '/etc/systemd/system/dbus-org.bluez.service'rm '/etc/systemd/system/bluetooth.target.wants/bluetooth.service'
+# systemctl disable bluetooth.service
+Removed /etc/systemd/system/bluetooth.target.wants/bluetooth.service.
+Removed /etc/systemd/system/dbus-org.bluez.service.
```
diff --git "a/content/zh/docs/Administration/\347\256\241\347\220\206\350\275\257\344\273\266\345\214\205.md" "b/content/zh/docs/Administration/\347\256\241\347\220\206\350\275\257\344\273\266\345\214\205.md"
index b7fea44a5661778e4711b01a6781d16dccd588ec..d41c5b8766be296512600e9a172235e3d81230d4 100644
--- "a/content/zh/docs/Administration/\347\256\241\347\220\206\350\275\257\344\273\266\345\214\205.md"
+++ "b/content/zh/docs/Administration/\347\256\241\347\220\206\350\275\257\344\273\266\345\214\205.md"
@@ -7,7 +7,7 @@
您可以使用rpm包名称、缩写或者描述搜索需要的RPM包,使用命令如下:
```
-dnf search
+dnf search term
```
示例如下:
diff --git "a/content/zh/docs/Administration/\347\275\221\345\215\241down\346\216\211\344\271\213\345\220\216-IPv6\345\234\260\345\235\200\344\270\242\345\244\261.md" "b/content/zh/docs/Administration/\347\275\221\345\215\241down\346\216\211\344\271\213\345\220\216-IPv6\345\234\260\345\235\200\344\270\242\345\244\261.md"
new file mode 100644
index 0000000000000000000000000000000000000000..cb5f33a9fd89fd4814000b4ca81f49a6e013f3aa
--- /dev/null
+++ "b/content/zh/docs/Administration/\347\275\221\345\215\241down\346\216\211\344\271\213\345\220\216-IPv6\345\234\260\345\235\200\344\270\242\345\244\261.md"
@@ -0,0 +1,10 @@
+# 网卡down掉之后,IPv6地址丢失
+
+## 问题现象
+
+通过ip link down+up网卡或ifconfig down+up网卡命令,将网卡down掉之后再上线,查看网卡上配置的ip地址,发现ipv4地址不丢失,而配置的IPv6地址丢失。
+
+## 原因分析
+
+内核中的处理逻辑为如果网卡设置为down状态,会清空所有IPv4及IPv6地址,将网卡重新up之后,ipv4地址自动恢复,网卡上自动配置的IPv6链路本地地址也会恢复,但是其他IPv6地址默认会丢失。如果需要保留这些IPv6地址,可以通过“sysctl -w net.ipv6.conf.<网卡名\>.keep\_addr\_on\_down=1”来实现。
+
diff --git "a/content/zh/docs/Administration/\350\256\276\347\275\256\346\216\245\345\217\243\350\256\276\345\244\207MTU\345\200\274.md" "b/content/zh/docs/Administration/\350\256\276\347\275\256\346\216\245\345\217\243\350\256\276\345\244\207MTU\345\200\274.md"
index d3f1c0296ae9b22f82cbbc5e8d8ebb1490efe924..195ebf5e6dacb153e906a12f02458ae5a65545db 100644
--- "a/content/zh/docs/Administration/\350\256\276\347\275\256\346\216\245\345\217\243\350\256\276\345\244\207MTU\345\200\274.md"
+++ "b/content/zh/docs/Administration/\350\256\276\347\275\256\346\216\245\345\217\243\350\256\276\345\244\207MTU\345\200\274.md"
@@ -9,32 +9,44 @@ IPv6场景中会发现整个路由路径中的最小mtu的值作为当前链接
如果在配置了IPv6地址的接口上设置mtu的值小于1280(IPv6 PMTU设置的最小值),则会导致该接口的IPv6地址被删除。并且无法再次添加IPv6地址。所以在IPv6场景中,对接口设备的mtu的配置一定要大于等于1280。具体现象如下:
```
-[root@localhost ~]# ip addr show ens4
-3: ens4: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
+# ip addr show enp3s0
+3: enp3s0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:62:xx:xx brd ff:ff:ff:ff:xx:xx
- inet 10.41.125.236/16 brd 10.41.255.255 scope global noprefixroute dynamic ens4
+ inet 10.41.125.236/16 brd 10.41.255.255 scope global noprefixroute dynamic enp3s0
valid_lft 38663sec preferred_lft 38663sec
inet6 2001:222::2/64 scope global
valid_lft forever preferred_lft forever
-[root@localhost ~]# ip link set dev ens4 mtu 1200
-[root@localhost ~]# ip addr show ens4
-3: ens4: mtu 1200 qdisc pfifo_fast state UP group default qlen 1000
+```
+
+```
+# ip link set dev enp3s0 mtu 1200
+# ip addr show enp3s0
+3: enp3s0: mtu 1200 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:62:xx:xx brd ff:ff:ff:ff:xx:xx
- inet 10.41.125.236/16 brd 10.41.255.255 scope global noprefixroute dynamic ens4
+ inet 10.41.125.236/16 brd 10.41.255.255 scope global noprefixroute dynamic enp3s0
valid_lft 38642sec preferred_lft 38642sec
-[root@localhost ~]# ip addr add 2001:222::2/64 dev ens4
+```
+
+```
+# ip addr add 2001:222::2/64 dev enp3s0
RTNETLINK answers: No buffer space available
-[root@localhost ~]# ip link set dev ens4 mtu 1500
-[root@localhost ~]# ip addr show ens4
-3: ens4: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
+```
+
+```
+# ip link set dev enp3s0 mtu 1500
+# ip addr show enp3s0
+3: enp3s0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:62:xx:xx brd ff:ff:ff:ff:xx:xx
- inet 10.41.125.236/16 brd 10.41.255.255 scope global noprefixroute dynamic ens4
+ inet 10.41.125.236/16 brd 10.41.255.255 scope global noprefixroute dynamic enp3s0
valid_lft 38538sec preferred_lft 38538sec
-[root@localhost ~]# ip addr add 2001:222::2/64 dev ens4
-[root@localhost ~]# ip addr show ens4
-3: ens4: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
+```
+
+```
+# ip addr add 2001:222::2/64 dev enp3s0
+# ip addr show enp3s0
+3: enp3s0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:62:xx:xx brd ff:ff:ff:ff:xx:xx
- inet 10.41.125.236/16 brd 10.41.255.255 scope global noprefixroute dynamic ens4
+ inet 10.41.125.236/16 brd 10.41.255.255 scope global noprefixroute dynamic enp3s0
valid_lft 38531sec preferred_lft 38531sec
inet6 2001:222::2/64 scope global
valid_lft forever preferred_lft forever
diff --git "a/content/zh/docs/Administration/\350\256\276\347\275\256\346\227\245\346\234\237\345\222\214\346\227\266\351\227\264.md" "b/content/zh/docs/Administration/\350\256\276\347\275\256\346\227\245\346\234\237\345\222\214\346\227\266\351\227\264.md"
index 34b481bf0c97e8f960415664535a530bdac1bb33..2288c228feda36a940cdacfd12036d02fb6cbf0b 100644
--- "a/content/zh/docs/Administration/\350\256\276\347\275\256\346\227\245\346\234\237\345\222\214\346\227\266\351\227\264.md"
+++ "b/content/zh/docs/Administration/\350\256\276\347\275\256\346\227\245\346\234\237\345\222\214\346\227\266\351\227\264.md"
@@ -1,5 +1,5 @@
# 设置日期和时间
-本节介绍如何通过 timedatectl、date、hwclock 命令来设置系统的日期、时间和时区等。
+本节介绍如何通过timedatectl、date、hwclock命令来设置系统的日期、时间和时区等。
diff --git "a/content/zh/docs/Administration/\350\256\276\347\275\256\347\275\221\347\273\234\350\277\236\346\216\245.md" "b/content/zh/docs/Administration/\350\256\276\347\275\256\347\275\221\347\273\234\350\277\236\346\216\245.md"
index d29c793b14758be9b044c734a50bd0b69122cfe8..2ea139d266b4043d1a3099e6a2e075017829fe1c 100644
--- "a/content/zh/docs/Administration/\350\256\276\347\275\256\347\275\221\347\273\234\350\277\236\346\216\245.md"
+++ "b/content/zh/docs/Administration/\350\256\276\347\275\256\347\275\221\347\273\234\350\277\236\346\216\245.md"
@@ -4,10 +4,11 @@
```
# nmcli con show
-NAME UUID TYPE DEVICE
-Ethernet f66c5ab9-8e65-4687-ac72-7211650d3fe4 802-3-ethernet --
-ens3 86395ace-4594-4778-a74b-5f589ad5b406 802-3-ethernet ens3
-WiFi a63b31a9-faf2-4e8e-9509-f8813599ed8a 802-11-wireless wlan0
+
+NAME UUID TYPE DEVICE
+enp4s0 5afce939-400e-42fd-91ee-55ff5b65deab ethernet enp4s0
+enp3s0 c88d7b69-f529-35ca-81ab-aa729ac542fd ethernet enp3s0
+virbr0 ba552da6-f014-49e3-91fa-ec9c388864fa bridge virbr0
```
> **说明:**
@@ -17,10 +18,12 @@ WiFi a63b31a9-faf2-4e8e-9509-f8813599ed8a 802-11-wireless wlan0
```
# nmcli dev status
-DEVICE TYPE STATE CONNECTION
-ens3 ethernet disconnected --
-ens6 ethernet disconnected --
-lo loopback unmanaged --
-```
+DEVICE TYPE STATE CONNECTION
+enp3s0 ethernet connected enp3s0
+enp4s0 ethernet connected enp4s0
+virbr0 bridge connected virbr0
+lo loopback unmanaged --
+virbr0-nic tun unmanaged --
+```
diff --git "a/content/zh/docs/Administration/\350\256\276\347\275\256\350\257\255\350\250\200\347\216\257\345\242\203.md" "b/content/zh/docs/Administration/\350\256\276\347\275\256\350\257\255\350\250\200\347\216\257\345\242\203.md"
index 06bf99174d62934fb0a040908dd428671d7223e3..d795617f4b9db63d87a5734ffed0625d99145820 100644
--- "a/content/zh/docs/Administration/\350\256\276\347\275\256\350\257\255\350\250\200\347\216\257\345\242\203.md"
+++ "b/content/zh/docs/Administration/\350\256\276\347\275\256\350\257\255\350\250\200\347\216\257\345\242\203.md"
@@ -31,27 +31,12 @@ localectl list-locales
```
$ localectl list-locales | grep zh
-zh_CN
-zh_CN.gb18030
-zh_CN.gb2312
-zh_CN.gbk
-zh_CN.utf8
-zh_HK
-zh_HK.big5hkscs
-zh_HK.utf8
-zh_SG
-zh_SG.gb2312
-zh_SG.gbk
-zh_SG.utf8
-zh_TW
-zh_TW.big5
-zh_TW.euctw
-zh_TW.utf8
+zh_CN.UTF-8
```
## 设置语言环境
-要设置语言环境,在root权限下执行如下命令,其中 _locale_ 是您要设置的语言类型,请根据实际情况修改:
+要设置语言环境,在root权限下执行如下命令,其中_locale_是您要设置的语言类型,请根据实际情况修改。修改后需要重新登录才能生效。
```
localectl set-locale LANG=locale
@@ -60,6 +45,6 @@ localectl set-locale LANG=locale
例如设置为简体中文语言环境,在root权限下执行如下命令:
```
-# localectl set-locale LANG=zh_CN.utf8
+# localectl set-locale LANG=zh_CN.UTF-8
```
diff --git "a/content/zh/docs/Administration/\350\256\276\347\275\256\351\224\256\347\233\230.md" "b/content/zh/docs/Administration/\350\256\276\347\275\256\351\224\256\347\233\230.md"
index 76f04b02fe06d06f3a3aa1d4fd563ad960c7c28e..7218b6a24ce31ddc0572108655082fe774ae22f5 100644
--- "a/content/zh/docs/Administration/\350\256\276\347\275\256\351\224\256\347\233\230.md"
+++ "b/content/zh/docs/Administration/\350\256\276\347\275\256\351\224\256\347\233\230.md"
@@ -36,7 +36,7 @@ cn
## 设置键盘布局
-设置键盘布局,在root权限下执行如下命令,其中map是您想要设置的键盘类型,请根据实际情况修改:
+设置键盘布局,在root权限下执行如下命令,其中_map_是您想要设置的键盘类型,请根据实际情况修改:
```
localectl set-keymap map
diff --git "a/content/zh/docs/Administration/\351\200\232\350\277\207ifcfg\346\226\207\344\273\266\351\205\215\347\275\256\347\275\221\347\273\234.md" "b/content/zh/docs/Administration/\351\200\232\350\277\207ifcfg\346\226\207\344\273\266\351\205\215\347\275\256\347\275\221\347\273\234.md"
index 2c44c25191bfa96bcffe4d2e24ad02933bd7a9fa..7f09c068a94346ab4e4b799f805582e64a863f3d 100644
--- "a/content/zh/docs/Administration/\351\200\232\350\277\207ifcfg\346\226\207\344\273\266\351\205\215\347\275\256\347\275\221\347\273\234.md"
+++ "b/content/zh/docs/Administration/\351\200\232\350\277\207ifcfg\346\226\207\344\273\266\351\205\215\347\275\256\347\275\221\347\273\234.md"
@@ -2,19 +2,32 @@
## 配置静态网络
-以 eth0 网络接口进行静态网络设置为例,通过修改 ifcfg 文件实现,在 /etc/sysconfig/network-scripts/ 目录中生成名为 ifcfg-eth0 的文件中,修改参数配置,示例如下:
+以enp4s0网络接口进行静态网络设置为例,通过修改ifcfg文件实现,在/etc/sysconfig/network-scripts/目录中生成名为ifcfg-enp4s0的文件中,修改参数配置,示例如下:
```
-DEVICE=eth0
+
+TYPE=Ethernet
+PROXY_METHOD=none
+BROWSER_ONLY=no
BOOTPROTO=none
-ONBOOT=yes
+IPADDR=192.168.0.10
PREFIX=24
-IPADDR=10.0.1.27
+DEFROUTE=yes
+IPV4_FAILURE_FATAL=no
+IPV6INIT=yes
+IPV6_AUTOCONF=yes
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
+NAME=enp4s0static
+UUID=08c3a30e-c5e2-4d7b-831f-26c3cdc29293
+DEVICE=enp4s0
+ONBOOT=yes
```
## 配置动态网络
-要通过 ifcfg 文件为名为 em1 的接口配置动态网络,请按照如下操作在/etc/sysconfig/network-scripts/ 目录中生成名为 ifcfg-em1 的文件,示例如下:
+要通过ifcfg文件为名为em1的接口配置动态网络,请按照如下操作在/etc/sysconfig/network-scripts/目录中生成名为 ifcfg-em1 的文件,示例如下:
```
DEVICE=em1
@@ -22,24 +35,24 @@ BOOTPROTO=dhcp
ONBOOT=yes
```
-要配置一个向 DHCP 服务器发送不同的主机名的接口,请在 ifcfg 文件中新增一行内容,如下所示:
+要配置一个向DHCP服务器发送不同的主机名的接口,请在ifcfg文件中新增一行内容,如下所示:
```
DHCP_HOSTNAME=hostname
```
-要配置忽略由 DHCP 服务器发送的路由,防止网络服务使用从 DHCP 服务器接收的 DNS 服务器更新 /etc/resolv.conf。请在 ifcfg 文件中新增一行内容,如下所示:
+要配置忽略由DHCP服务器发送的路由,防止网络服务使用从DHCP服务器接收的DNS服务器更新/etc/resolv.conf。请在ifcfg文件中新增一行内容,如下所示:
```
PEERDNS=no
```
-要配置一个接口使用具体 DNS 服务器,请将参数 PEERDNS=no,并在 ifcfg 文件中添加以下行:
+要配置一个接口使用具体DNS服务器,请将参数PEERDNS=no,并在ifcfg文件中添加以下行:
```
DNS1=ip-address
DNS2=ip-address
```
-其中 ip-address 是 DNS 服务器的地址。这样就会让网络服务使用指定的 DNS 服务器更新/etc/resolv.conf。
+其中ip-address是DNS服务器的地址。这样就会让网络服务使用指定的DNS服务器更新/etc/resolv.conf。
diff --git "a/content/zh/docs/Administration/\351\203\250\347\275\262\350\277\234\347\253\257repo\346\272\220.md" "b/content/zh/docs/Administration/\351\203\250\347\275\262\350\277\234\347\253\257repo\346\272\220.md"
index 62527ed4dda286df06b37385ddf21000273a50f6..2a4c039a9a5d266fd1d23cb139befc0afdb03ba8 100644
--- "a/content/zh/docs/Administration/\351\203\250\347\275\262\350\277\234\347\253\257repo\346\272\220.md"
+++ "b/content/zh/docs/Administration/\351\203\250\347\275\262\350\277\234\347\253\257repo\346\272\220.md"
@@ -2,5 +2,3 @@
安装操作系统openEuler1.0(openEuler-1.0-aarch64-dvd.iso),在openEuler1.0上通过nginx部署repo源。
-
-
diff --git "a/content/zh/docs/Administration/\351\205\215\347\275\256\345\212\250\346\200\201IP\350\277\236\346\216\245.md" "b/content/zh/docs/Administration/\351\205\215\347\275\256\345\212\250\346\200\201IP\350\277\236\346\216\245.md"
index 56e78ebda90b63ac4390945685b6c18caf81afd5..1e88e6e229a3b133b56ad8b638fe64db39c60dc2 100644
--- "a/content/zh/docs/Administration/\351\205\215\347\275\256\345\212\250\346\200\201IP\350\277\236\346\216\245.md"
+++ "b/content/zh/docs/Administration/\351\205\215\347\275\256\345\212\250\346\200\201IP\350\277\236\346\216\245.md"
@@ -11,8 +11,8 @@ nmcli connection add type ethernet con-name connection-name ifname interface-nam
例如创建名为net-test的动态连接配置文件,使用以下命令:
```
-# nmcli con add type ethernet con-name net-test ifname ens3
-Connection 'net-test' (86395ace-4594-4778-a74b-5f589ad5b406) successfully added.
+# nmcli connection add type ethernet con-name net-test ifname enp3s0
+Connection 'net-test' (a771baa0-5064-4296-ac40-5dc8973967ab) successfully added.
```
NetworkManager 会将参数 connection.autoconnect 设定为 yes,并将设置保存到 “/etc/sysconfig/network-scripts/ifcfg-net-test”文件中,在该文件中会将 ONBOOT 设置为 yes。
@@ -30,10 +30,12 @@ Connection successfully activated (D-Bus active path:/org/freedesktop/NetworkMan
```
# nmcli device status
-EVICE TYPE STATE CONNECTION
-ens3 ethernet connected net-test
-ens6 ethernet disconnected --
-lo loopback unmanaged --
+DEVICE TYPE STATE CONNECTION
+enp4s0 ethernet connected enp4s0
+enp3s0 ethernet connected net-test
+virbr0 bridge connected virbr0
+lo loopback unmanaged --
+virbr0-nic tun unmanaged --
```
更改主机发送到 DHCP 服务器的主机名,则需要修改 dhcp-hostname 属性,使用如下命令:
diff --git "a/content/zh/docs/Administration/\351\205\215\347\275\256\351\235\231\346\200\201IP\350\277\236\346\216\245.md" "b/content/zh/docs/Administration/\351\205\215\347\275\256\351\235\231\346\200\201IP\350\277\236\346\216\245.md"
index ae7606be184f4943ce036edea0ccce3568969b2d..f70b8b3ca44c8b1afe9273ffad9ee4ef392cbd4f 100644
--- "a/content/zh/docs/Administration/\351\205\215\347\275\256\351\235\231\346\200\201IP\350\277\236\346\216\245.md"
+++ "b/content/zh/docs/Administration/\351\205\215\347\275\256\351\235\231\346\200\201IP\350\277\236\346\216\245.md"
@@ -14,13 +14,13 @@ nmcli connection add type ethernet con-name connection-name ifname interface-nam
例如创建名为 net-static的静态连接配置文件,使用以下命令:
```
-# nmcli con add type ethernet con-name net-static ifname ens6 ip4 192.168.0.10/24 gw4 192.168.0.254
+# nmcli con add type ethernet con-name net-static ifname enp3s0 ip4 192.168.0.10/24 gw4 192.168.0.254
```
还可为该设备同时指定 IPv6 地址和网关,示例如下:
```
-# nmcli con add type ethernet con-name test-lab ifname ens6 ip4 192.168.0.10/24 gw4 192.168.0.254 ip6 abbe::**** gw6 2001:***::*
+# nmcli con add type ethernet con-name test-lab ifname enp3s0 ip4 192.168.0.10/24 gw4 192.168.0.254 ip6 abbe::**** gw6 2001:***::*
Connection 'net-static' (63aa2036-8665-f54d-9a92-c3035bad03f7) successfully added.
```
@@ -43,7 +43,7 @@ NetworkManager 会将其内部参数 ipv4.method 设定为 manual,将 connecti
激活新的网络连接,使用以下命令:
```
-# nmcli con up net-static ifname ens6
+# nmcli con up net-static ifname enp3s0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
```
@@ -51,10 +51,12 @@ Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkMa
```
# nmcli device status
-EVICE TYPE STATE CONNECTION
-ens3 ethernet connected net-test
-ens6 ethernet connected net-static
-lo loopback unmanaged --
+DEVICE TYPE STATE CONNECTION
+enp4s0 ethernet connected enp4s0
+enp3s0 ethernet connected net-static
+virbr0 bridge connected virbr0
+lo loopback unmanaged --
+virbr0-nic tun unmanaged --
```
查看配置的连接详情,使用以下命令(使用 -p, --pretty 选项在输出结果中添加标题和分段):
@@ -64,18 +66,28 @@ lo loopback unmanaged --
===============================================================================
Connection profile details (net-static )
===============================================================================
-connection.id: net-static
-connection.uuid: 63aa2036-8665-f54d-9a92-********
-connection.interface-name: ens6
-connection.type: 802-3-ethernet
-connection.autoconnect: yes
-connection.timestamp: ***********
-connection.read-only: no
-connection.permissions:
-connection.zone: --
-connection.master: --
-connection.slave-type: --
-connection.secondaries:
-connection.gateway-ping-timeout: 0[output truncated]
+connection.id: net-static
+connection.uuid: b9f18801-6084-4aee-af28-c8f0598ff5e1
+connection.stable-id: --
+connection.type: 802-3-ethernet
+connection.interface-name: enp3s0
+connection.autoconnect: yes
+connection.autoconnect-priority: 0
+connection.autoconnect-retries: -1 (default)
+connection.multi-connect: 0 (default)
+connection.auth-retries: -1
+connection.timestamp: 1578988781
+connection.read-only: no
+connection.permissions: --
+connection.zone: --
+connection.master: --
+connection.slave-type: --
+connection.autoconnect-slaves: -1 (default)
+connection.secondaries: --
+connection.gateway-ping-timeout: 0
+connection.metered: unknown
+connection.lldp: default
+connection.mdns: -1 (default)
+connection.llmnr: -1 (default)
```
diff --git "a/content/zh/docs/Administration/\351\205\215\347\275\256\351\235\231\346\200\201\350\267\257\347\224\261.md" "b/content/zh/docs/Administration/\351\205\215\347\275\256\351\235\231\346\200\201\350\267\257\347\224\261.md"
index 3da68b4bda795e734b1ed63a40a43bde7b542ac4..e85199eb9c98244aa4a5f87796f704105df63365 100644
--- "a/content/zh/docs/Administration/\351\205\215\347\275\256\351\235\231\346\200\201\350\267\257\347\224\261.md"
+++ "b/content/zh/docs/Administration/\351\205\215\347\275\256\351\235\231\346\200\201\350\267\257\347\224\261.md"
@@ -3,25 +3,25 @@
- 使用nmcli命令为网络连接配置静态路由,使用命令如下:
```
- # nmcli connection modify eth0 +ipv4.routes "192.168.122.0/24 10.10.10.1"
+ # nmcli connection modify enp3s0 +ipv4.routes "192.168.122.0/24 10.10.10.1"
```
- 使用编辑器配置静态路由,使用如下命令:
```
- # nmcli con edit type ethernet con-name ens3
+ # nmcli con edit type ethernet con-name enp3s0
===| nmcli interactive connection editor |===
Adding a new '802-3-ethernet' connection
Type 'help' or '?' for available commands.
- Type 'describe [>setting<.>prop<]' for detailed property description.
+ Type 'describe [.]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> set ipv4.routes 192.168.122.0/24 10.10.10.1
nmcli>
nmcli> save persistent
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
Do you still want to save? [yes] yes
- Connection 'ens3' (704a5666-8cbd-4d89-b5f9-fa65a3dbc916) successfully saved.
+ Connection 'enp3s0' (1464ddb4-102a-4e79-874a-0a42e15cc3c0) successfully saved.
nmcli> quit
```
diff --git "a/content/zh/docs/Administration/\351\235\231\346\200\201\350\267\257\347\224\261\345\217\212\351\273\230\350\256\244\347\275\221\345\205\263.md" "b/content/zh/docs/Administration/\351\235\231\346\200\201\350\267\257\347\224\261\345\217\212\351\273\230\350\256\244\347\275\221\345\205\263.md"
index d13142c6739e5c6f030f6e03d8e70f490cea77b3..a66aca5267e44eb8a536cb3cfef1d24005032b93 100644
--- "a/content/zh/docs/Administration/\351\235\231\346\200\201\350\267\257\347\224\261\345\217\212\351\273\230\350\256\244\347\275\221\345\205\263.md"
+++ "b/content/zh/docs/Administration/\351\235\231\346\200\201\350\267\257\347\224\261\345\217\212\351\273\230\350\256\244\347\275\221\345\205\263.md"
@@ -12,9 +12,11 @@ ip route [ add | del | change | append | replace ] destination-address
```
# ip route
-default via 192.168.122.1 dev ens9 proto static metric 1024
-192.168.122.0/24 dev ens9 proto kernel scope link src 192.168.122.107
-192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.126
+default via 192.168.0.1 dev enp3s0 proto dhcp metric 100
+default via 192.168.0.1 dev enp4s0 proto dhcp metric 101
+192.168.0.0/16 dev enp3s0 proto kernel scope link src 192.168.202.248 metric 100
+192.168.0.0/16 dev enp4s0 proto kernel scope link src 192.168.203.12 metric 101
+192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
```
在主机地址中添加一个静态路由,在 root 权限下,使用以下命令:
@@ -28,10 +30,10 @@ ip route add 192.168.2.1 via 10.0.0.1 [dev ifname]
要在网络中添加一个静态路由,即代表 IP 地址范围的 IP 地址,请作为 root 运行以下命令:
```
-ip route add 192.168.2.0/24 via 10.0.0.1 [dev ifname]
+ip route add 192.168.2.0/24 via 10.0.0.1 [dev interface-name]
```
-其中 192.168.2.1 是目标网络的 IP 地址,10.0.0.1 是网络前缀。
+其中 192.168.2.1 是目标网络的 IP 地址,10.0.0.1 是网络前缀,_interface-name_为网卡名称。
## 配置默认网关
diff --git "a/content/zh/docs/Administration/\351\252\214\350\257\201web\346\234\215\345\212\241\346\230\257\345\220\246\346\220\255\345\273\272\346\210\220\345\212\237.md" "b/content/zh/docs/Administration/\351\252\214\350\257\201web\346\234\215\345\212\241\346\230\257\345\220\246\346\220\255\345\273\272\346\210\220\345\212\237.md"
index 83bc3e4b196b4ba5cb00a11404dde4ab157afc66..b4d6b16aec69cc77d555a0b3f5b5b739df370b4f 100644
--- "a/content/zh/docs/Administration/\351\252\214\350\257\201web\346\234\215\345\212\241\346\230\257\345\220\246\346\220\255\345\273\272\346\210\220\345\212\237.md"
+++ "b/content/zh/docs/Administration/\351\252\214\350\257\201web\346\234\215\345\212\241\346\230\257\345\220\246\346\220\255\345\273\272\346\210\220\345\212\237.md"
@@ -61,7 +61,6 @@ Web服务器搭建完成后,可以通过如下方式验证是否搭建成功
echo $?
```
-
- 使用Windows系统验证
打开浏览器,在地址栏输入如下地址,如果能正常访问网页,说明httpd服务器搭建成功。
diff --git a/content/zh/docs/Container/Exec.md b/content/zh/docs/Container/Exec.md
index 39ebac1c16230313ae2c7fc7e00c70040e55a9a9..1a15e28036e6cf471d93aafe4bda2be2a7691129 100644
--- a/content/zh/docs/Container/Exec.md
+++ b/content/zh/docs/Container/Exec.md
@@ -17,57 +17,57 @@ rpc Exec(ExecRequest) returns (ExecResponse) {}
## 参数: ExecRequest
- 参数成员
-
- 描述
-
-
- string container_id
-
- 容器ID
-
-
- repeated string cmd
-
- 待执行的命令
-
-
- bool tty
-
- 是否在TTY中执行命令
-
-
- bool stdin
-
- 是否流式标准输入
-
-
- bool stdout
-
- 是否流式标准输出
-
-
- bool stderr
-
- 是否流式输出标准错误
-
-
-
+ 参数成员
+
+ 描述
+
+
+ string container_id
+
+ 容器ID
+
+
+ repeated string cmd
+
+ 待执行的命令
+
+
+ bool tty
+
+ 是否在TTY中执行命令
+
+
+ bool stdin
+
+ 是否流式标准输入
+
+
+ bool stdout
+
+ 是否流式标准输出
+
+
+ bool stderr
+
+ 是否流式输出标准错误
+
+
+
## 返回值: ExecResponse
- 返回值
-
- 描述
-
-
- string url
-
- exec流服务器的完全限定URL
-
-
-
+ 返回值
+
+ 描述
+
+
+ string url
+
+ exec流服务器的完全限定URL
+
+
+
diff --git a/content/zh/docs/Container/ExecSync.md b/content/zh/docs/Container/ExecSync.md
index 1c73dc668f265df9a1e8eeb2baf4e99b9e392c68..b7f8b07c11c0aaef73df81033e1150631daaa887 100644
--- a/content/zh/docs/Container/ExecSync.md
+++ b/content/zh/docs/Container/ExecSync.md
@@ -34,7 +34,7 @@ rpc ExecSync(ExecSyncRequest) returns (ExecSyncResponse) {}
int64 timeout
- 停止命令的超时时间(秒)。 默认值:0(无超时限制)。 未使用
+ 停止命令的超时时间(秒)。 默认值:0(无超时限制)。 暂不支持
diff --git a/content/zh/docs/Container/ListContainerStats.md b/content/zh/docs/Container/ListContainerStats.md
index e2515938491363bc9748767c76eb3f324f719ec2..e87db4ecbc19abe837d7c790c931293599d4a290 100644
--- a/content/zh/docs/Container/ListContainerStats.md
+++ b/content/zh/docs/Container/ListContainerStats.md
@@ -36,7 +36,7 @@ rpc ListContainerStats(ListContainerStatsRequest) returns (ListContainerStatsRes
repeated ContainerStats stats
- 容器信息的列表,具体内容参考左侧链接。注:disk和inodes只支持oci格式镜像起的容器查询
+ 容器信息的列表,具体内容参考左侧链接。注:disk和inodes只支持oci格式镜像启动的容器查询
diff --git a/content/zh/docs/Container/create.md b/content/zh/docs/Container/create.md
index a4079c302fc3714b0ec43d158ced0919d369f0b2..842456908f78183005d721a0e086d661cbd7d932 100644
--- a/content/zh/docs/Container/create.md
+++ b/content/zh/docs/Container/create.md
@@ -307,7 +307,7 @@
--restart=""
设置容器退出时候的重启规则,当前1.3.1版本支持3个规则:
-no:当容器挂掉时,不重启。 on-failure:当容器退出码为非0时重启容器,这个规则可以附加最大重启次数,如on-failure:5,最多重启5次。 always:无论退出码是什么都退出。
+no:当容器停止时,不重启。 on-failure:当容器退出码为非0时重启容器,这个规则可以附加最大重启次数,如on-failure:5,最多重启5次。 always:无论退出码是什么都退出。
--read-only
diff --git "a/content/zh/docs/Container/daemon-umask\351\205\215\347\275\256.md" "b/content/zh/docs/Container/daemon-umask\351\205\215\347\275\256.md"
index 06e553ccdd98f37cfacfbd8511007ff213a1529b..171fe4c3cf8610987dd797f5a043d529f709e919 100644
--- "a/content/zh/docs/Container/daemon-umask\351\205\215\347\275\256.md"
+++ "b/content/zh/docs/Container/daemon-umask\351\205\215\347\275\256.md"
@@ -4,7 +4,7 @@
docker启动容器时的默认umask值为0027,可以在dockerd启动时,使用--exec-opt native.umask=normal参数将容器启动时的umask修改为0022。
-> **注意:**
+> **须知:**
>如果docker create/run也配置了native.umask参数,则以docker create/run中的配置为准。
详细的配置见[docker create](create.md#ZH-CN_TOPIC_0184808242)和[docker run](run.md#ZH-CN_TOPIC_0184808254)章节的参数说明。
diff --git "a/content/zh/docs/Container/daemon\350\277\220\350\241\214\347\233\256\345\275\225\351\205\215\347\275\256.md" "b/content/zh/docs/Container/daemon\350\277\220\350\241\214\347\233\256\345\275\225\351\205\215\347\275\256.md"
index b3ea06cffad93e50d30325f884a109b4b5079e49..e9994c55a9016b6bec6b76146c5a601d85e7557e 100644
--- "a/content/zh/docs/Container/daemon\350\277\220\350\241\214\347\233\256\345\275\225\351\205\215\347\275\256.md"
+++ "b/content/zh/docs/Container/daemon\350\277\220\350\241\214\347\233\256\345\275\225\351\205\215\347\275\256.md"
@@ -2,11 +2,11 @@
用户需要明白重新指定各种运行目录和文件(包括--graph、--exec-root等),可能会存在目录冲突,或文件属性变换,对应用的正常使用造成影响。
-> **注意:**
+> **须知:**
>用户指定的目录或文件应为docker专用,避免冲突导致的文件属性变化带来安全问题。
- 以--graph为例,当我们使用/new/path/作为daemon新的Root Dir时,如果/new/path/下已经存在文件,且目录或文件名与docker需要使用的目录或文件名冲突(例如: containers、hooks、tmp等目录)时,docker可能会更新原有目录或文件的属性,包括属主、权限等为自己的属主和权限。
-> **注意:**
+> **须知:**
>从docker-17.05开始,--graph参数被标记为Deprecated,用新的参数--data-root替代。
diff --git "a/content/zh/docs/Container/proc\346\226\207\344\273\266\347\263\273\347\273\237\351\232\224\347\246\273\357\274\210lxcfs\357\274\211.md" "b/content/zh/docs/Container/proc\346\226\207\344\273\266\347\263\273\347\273\237\351\232\224\347\246\273\357\274\210lxcfs\357\274\211.md"
index 757436cd8898e88a4a94d18327bebfd926294247..f7680ce363c72ccd52474065aab927005c00c802 100644
--- "a/content/zh/docs/Container/proc\346\226\207\344\273\266\347\263\273\347\273\237\351\232\224\347\246\273\357\274\210lxcfs\357\274\211.md"
+++ "b/content/zh/docs/Container/proc\346\226\207\344\273\266\347\263\273\347\273\237\351\232\224\347\246\273\357\274\210lxcfs\357\274\211.md"
@@ -132,4 +132,3 @@ isulad-lxcfs-toolkit [OPTIONS] COMMAND [COMMAND_OPTIONS]
```
-
diff --git a/content/zh/docs/Container/public_sys-resources/icon-notice.gif b/content/zh/docs/Container/public_sys-resources/icon-notice.gif
index 49bb8ed90917b6e0d13abe0b6b81a5a6367b5974..86024f61b691400bea99e5b1f506d9d9aef36e27 100644
Binary files a/content/zh/docs/Container/public_sys-resources/icon-notice.gif and b/content/zh/docs/Container/public_sys-resources/icon-notice.gif differ
diff --git a/content/zh/docs/Container/update.md b/content/zh/docs/Container/update.md
index 425cf7f0623e6a428ae9c6fdf6df63ca510f459d..365ccf932280bc712d9963f6bcccf2547a2374ff 100644
--- a/content/zh/docs/Container/update.md
+++ b/content/zh/docs/Container/update.md
@@ -74,7 +74,7 @@
--restart=""
设置容器退出时候的重启规则,当前1.3.1版本支持3个规则:
-no:当容器挂掉时,不重启。 on-failure:当容器退出码为非0时重启容器,这个规则可以附加最大重启次数,如on-failure:5,最多重启5次。 always:无论退出码是什么都退出。
+no:当容器停止时,不重启。 on-failure:当容器退出码为非0时重启容器,这个规则可以附加最大重启次数,如on-failure:5,最多重启5次。 always:无论退出码是什么都退出。
--help
diff --git a/content/zh/docs/Container/zh-cn_bookmap_0183409509.md b/content/zh/docs/Container/zh-cn_bookmap_0183409509.md
index f793b3709d7898b2af78096b7b4183002df59874..fdf5e4d5b7a69c103f5e4978d9ab999ce5002a3f 100644
--- a/content/zh/docs/Container/zh-cn_bookmap_0183409509.md
+++ b/content/zh/docs/Container/zh-cn_bookmap_0183409509.md
@@ -1,5 +1,6 @@
# openEuler 1.0 容器用户指南
+- [法律声明](法律声明.md)
- [前言](前言.md)
- [iSula容器引擎](iSula容器引擎.md)
- [概述](概述.md)
@@ -197,6 +198,7 @@
- [限制Blkio资源](限制Blkio资源.md)
- [限制文件描述符资源](限制文件描述符资源.md)
+ - [为安全容器配置网络](为安全容器配置网络.md)
- [监控安全容器](监控安全容器.md)
- [附录](附录-25.md)
@@ -223,8 +225,9 @@
- [普通用户大量部署容器场景下的配置注意事项](普通用户大量部署容器场景下的配置注意事项.md)
- [存储驱动配置](存储驱动配置.md)
- - [配置devicemapper存储驱动](配置devicemapper存储驱动.md)
- - [配置日志](配置日志.md)
+ - [配置overlay2存储驱动](配置overlay2存储驱动.md)
+ - [配置devicemapper存储驱动](配置devicemapper存储驱动.md)
+
- [强杀docker相关后台进程的影响](强杀docker相关后台进程的影响.md)
- [信号量残留](信号量残留.md)
- [网卡残留](网卡残留.md)
@@ -250,12 +253,12 @@
- [命令行参考](命令行参考.md)
- [容器引擎](容器引擎.md)
- [容器管理](容器管理-32.md)
- - [attach](attach-1.md)
+ - [attach](attach.md)
- [commit](commit.md)
- [cp](cp.md)
- [create](create.md)
- [diff](diff.md)
- - [exec](exec-1.md)
+ - [exec](exec.md)
- [export](export.md)
- [inspect](inspect.md)
- [logs](logs.md)
diff --git "a/content/zh/docs/Container/\344\270\272\345\256\211\345\205\250\345\256\271\345\231\250\351\205\215\347\275\256\347\275\221\347\273\234.md" "b/content/zh/docs/Container/\344\270\272\345\256\211\345\205\250\345\256\271\345\231\250\351\205\215\347\275\256\347\275\221\347\273\234.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2c687926bd9363201d665055f661c1cf1e5b68fa
--- /dev/null
+++ "b/content/zh/docs/Container/\344\270\272\345\256\211\345\205\250\345\256\271\345\231\250\351\205\215\347\275\256\347\275\221\347\273\234.md"
@@ -0,0 +1,235 @@
+# 为安全容器配置网络
+
+## tap设备网络支持
+
+安全容器技术是基于Qemu VM实现的,对于物理机系统来说,安全容器就相当于是一个VM,所以安全容器可以在Neutron网络中将VM通过TAP技术接入外部网络。我们这里不需要关心TAP设备的创建和网桥对接等问题,只需要将指定的TAP设备(host已经存在)热插进pause容器的VM,并更新网卡信息即可。
+
+相关命令行如下:
+
+1. **为已经启动的容器添加一个tap网卡(interface)**
+
+ ```
+ $ cat ./test-iface.json | kata-runtime kata-network add-iface 6ec7a98 -
+ ```
+
+ 其中:6ec7a98是容器ID的截断,test-infs.json是描述网卡信息的文件,举例如下:
+
+ ```
+ {
+ "device": "tap-test",
+ "name": "eth-test",
+ "IPAddresses": [
+ {
+ "address": "172.16.0.3",
+ "mask": "16"
+ }
+ ],
+ "hwAddr":"02:42:20:6f:a3:69",
+ "mtu": 1500,
+ "vhostUserSocket":"/usr/local/var/run/openvswitch/vhost-user1",
+ "queues":5
+ }
+ ```
+
+ 上述json文件中各个字段的含义说明如下:
+
+
+ 字段
+
+ 是否可选
+
+ 说明
+
+
+
+ device
+
+ 必选
+
+ 设置网卡的主机端名字。支持字母、数字、下划线“_”、“-” 以及“.”字符,必须以字母开头,且长度不超过15。需要确保同一个宿主机上device不能重复。
+
+
+ name
+
+ 必选
+
+ 设置网卡的容器内名称。支持字母、数字、下划线“_”、“-” 以及“.”字符,必须以字母开头,且长度不超过15。需要确保同一个Sandbox内name不能重复。
+
+
+ IPAddresses
+
+ 可选
+
+ 设置网卡的IP地址。暂时支持一张网卡配置一个IP,如果不配置IP,则不会在容器内部配置IP。
+
+
+ hwAddr
+
+ 必选
+
+ 设置网卡的mac地址值。
+
+
+ mtu
+
+ 必选
+
+ 设置网卡的mtu值。允许范围为[46, 9600]之间
+
+
+ vhostUserSocket
+
+ 可选
+
+ 设置dpdk轮询socket路径。路径最大长度128字节,命名规则支持数字、字母、“-”。必须以字母开头。
+
+
+ queues
+
+ 可选
+
+ 设置网卡多队列的队列数目。如果不配置,默认为0。
+
+
+
+
+
+ > **说明:**
+ >当网卡添加成功时,如果为其指定了IP地址,则kata会为新添加的网卡添加一条destination为同网段地址的默认路由,如上例中添加网卡之后容器内有如下路由被添加:
+ >```
+ >[root@6ec7a98 /]# ip route
+ >172.16.0.0/16 dev eth-test proto kernel scope link src 172.16.0.3
+ >```
+
+2. **列出已经添加的网卡**
+
+ ```
+ $ kata-runtime kata-network list-ifaces 6ec7a98
+ [{"name":"eth-test","mac":"02:42:20:6f:a3:69","ip":["172.16.0.3/16"],"mtu":1500}]
+ ```
+
+ 可以查询到我们刚才添加的网卡信息。
+
+3. **为指定网卡添加一条路由**
+
+ ```
+ $ cat ./test-route.json | kata-runtime kata-network add-route 6ec7a98 -
+ [{"dest":"default","gateway":"172.16.0.1","device":"eth-test"}]
+ ```
+
+ 字段说明如下:
+
+ - dest:设置路由对应的网段。格式为/,必选。分如下3种情况:
+ 1. 配置/;
+ 2. 只配置,则默认掩码为32;
+ 3. 若配置了"dest":"default",默认无dest,需传入gateway。
+
+ - gateway:设置路由的下一跳网关。设置"dest":"default"时,gateway必选;其他情况可选。
+ - device:必选。设置路由对应的网卡名称,最长支持15字符。
+
+ > **说明:**
+ >如果为容器内的回环设备lo添加路由时,路由配置文件中的"device"字段对应的设备名称为"lo"。
+
+4. **删除指定路由**
+
+ ```
+ $ cat ./test-route.json | kata-runtime kata-network del-route 6ec7a98 -
+ ```
+
+ test-route.json字段与添加路由输入json文件的字段相同。
+
+ > **说明:**
+ >- 输入字段中dest为必选,device/gateway均为可选。kata根据不同字段进行模糊匹配,删除对应的路由规则。例如指定了dest为某个IP,则所有该IP的规则都会被删除。
+ >- 如果删除的是容器内回环设备lo的路由时,路由配置文件中的"device"字段对应的设备名称为"lo"。
+
+5. **删除已经添加的网卡**
+
+ ```
+ $ cat ./test-iface.json | kata-runtime kata-network del-iface 6ec7a98 -
+ ```
+
+ > **说明:**
+ >删除网卡时,仅根据网卡容器内名称(name字段)来删除。即便填写其他字段,kata也不会使用。
+
+
+以上为常用场景和命令行示例,具体命令行接口见附录[接口列表](接口列表.md#ZH-CN_TOPIC_0184808188)。
+
+## kata IPVS子系统
+
+安全容器提供添加ipvs命令的接口,支持对容器设置ipvs规则。功能包含对虚拟服务的添加/编辑/删除、对真实服务器的添加/编辑/删除、查询ipvs服务信息、设置连接超时、清理系统连接缓存,并支持对规则的批量导入。
+
+1. 为容器添加一个虚拟服务地址
+
+ ```
+ kata-runtime kata-ipvs ipvsadm --parameters "--add-service --tcp-service 172.17.0.7:80 --scheduler rr --persistent 3000"
+ ```
+
+2. 修改容器虚拟服务参数
+
+ ```
+ kata-runtime kata-ipvs ipvsadm --parameters "--edit-service --tcp-service 172.17.0.7:80 --scheduler rr --persistent 5000"
+ ```
+
+3. 删除容器虚拟服务地址
+
+ ```
+ kata-runtime kata-ipvs ipvsadm --parameters "--delete-service --tcp-service 172.17.0.7:80"
+ ```
+
+4. 为虚拟服务地址添加一个真实服务器
+
+ ```
+ kata-runtime kata-ipvs ipvsadm --parameters "--add-server --tcp-service 172.17.0.7:80 --real-server 172.17.0.4:80 --weight 100"
+ ```
+
+5. 修改容器真实服务器参数
+
+ ```
+ kata-runtime kata-ipvs ipvsadm --parameters "--edit-server --tcp-service 172.17.0.7:80 --real-server 172.17.0.4:80 --weight 200"
+ ```
+
+6. 删除容器真实服务器
+
+ ```
+ kata-runtime kata-ipvs ipvsadm --parameters "--delete-server --tcp-service 172.17.0.7:80 --real-server 172.17.0.4:80"
+ ```
+
+7. 查询服务信息
+
+ ```
+ kata-runtime kata-ipvs ipvsadm --parameters "--list"
+ ```
+
+8. 逐条导入耗时太久,可将规则写入文件后,批量导入
+
+ ```
+ kata-runtime kata-ipvs ipvsadm --restore - < <规则文件路径>
+ ```
+
+ > **说明:**
+ >单条添加时默认使用NAT模式,批量导入时添加真实服务器需手动添加-m参数使用NAT模式。
+ >规则文件内容示例:
+ >-A -t 10.10.11.12:100 -s rr -p 3000
+ >-a -t 10.10.11.12:100 -r 172.16.0.1:80 -m
+ >-a -t 10.10.11.12:100 -r 172.16.0.1:81 -m
+ >-a -t 10.10.11.12:100 -r 172.16.0.1:82 -m
+
+9. 清理系统连接缓存
+
+ ```
+ kata-runtime kata-ipvs cleanup --parameters "--orig-dst 172.17.0.4 --protonum tcp"
+ ```
+
+10. 为tcp/tcpfin/udp连接设置超时
+
+ ```
+ kata-runtime kata-ipvs ipvsadm --parameters "--set 100 100 200"
+ ```
+
+ > **说明:**
+ >1. 每个容器支持iptables规则数量最大为20000条(5k service,3个server/service),add-service和add-server都算作规则。
+ >2. 批量导入前需清空已有规则。
+ >3. 不存在并发测试场景。
+ >4. 以上为常用命令示例,具体命令行接口见附录[接口列表](接口列表.md#ZH-CN_TOPIC_0184808188)。
+
+
diff --git "a/content/zh/docs/Container/\344\273\216\351\225\234\345\203\217\344\273\223\345\272\223\346\213\211\345\217\226\351\225\234\345\203\217.md" "b/content/zh/docs/Container/\344\273\216\351\225\234\345\203\217\344\273\223\345\272\223\346\213\211\345\217\226\351\225\234\345\203\217.md"
index f7e68ba11ce6d5c7350a83b14a472be669e594fe..a43956054e42ec8ef8c4e307a575698ab430818c 100644
--- "a/content/zh/docs/Container/\344\273\216\351\225\234\345\203\217\344\273\223\345\272\223\346\213\211\345\217\226\351\225\234\345\203\217.md"
+++ "b/content/zh/docs/Container/\344\273\216\351\225\234\345\203\217\344\273\223\345\272\223\346\213\211\345\217\226\351\225\234\345\203\217.md"
@@ -4,7 +4,7 @@
从镜像仓库拉取镜像到本地。
-## 描述
+## 用法
```
lcrc pull [OPTIONS] NAME[:TAG|@DIGEST]
diff --git "a/content/zh/docs/Container/\344\273\216\351\225\234\345\203\217\344\273\223\345\272\223\351\200\200\345\207\272\347\231\273\345\275\225.md" "b/content/zh/docs/Container/\344\273\216\351\225\234\345\203\217\344\273\223\345\272\223\351\200\200\345\207\272\347\231\273\345\275\225.md"
index 8fa83822fffff36890530b0f2a92d155de77fb77..0fdd08c97f70fbde56d00b733135f6f73bb03df3 100644
--- "a/content/zh/docs/Container/\344\273\216\351\225\234\345\203\217\344\273\223\345\272\223\351\200\200\345\207\272\347\231\273\345\275\225.md"
+++ "b/content/zh/docs/Container/\344\273\216\351\225\234\345\203\217\344\273\223\345\272\223\351\200\200\345\207\272\347\231\273\345\275\225.md"
@@ -12,7 +12,7 @@ lcrc logout SERVER
## 参数
-login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表2 logout命令参数列表"。
+logout命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表2 logout命令参数列表"。
## 示例
diff --git "a/content/zh/docs/Container/\344\275\277\347\224\250\346\214\207\345\257\274-11.md" "b/content/zh/docs/Container/\344\275\277\347\224\250\346\214\207\345\257\274-11.md"
index 2cb133d219924f32acfd964d24496606afcc21db..f7e041c5a5ea043300a2db5601a7f513faecfc2c 100644
--- "a/content/zh/docs/Container/\344\275\277\347\224\250\346\214\207\345\257\274-11.md"
+++ "b/content/zh/docs/Container/\344\275\277\347\224\250\346\214\207\345\257\274-11.md"
@@ -7,69 +7,71 @@ lcrc run -itd --security-opt seccomp=/path/to/seccomp/profile.json rnd-dockerhub
```
> **说明:**
->1. 创建容器时通过--security-opt将配置文件传给容器时,采用默认配置文件(/etc/isulad/seccomp\_default.json)
->2. 创建容器时--security-opt设置为unconfined时,对容器不过滤系统调用
->3. “/path/to/seccomp/profile.json”需要是绝对路径。
+>1. 创建容器时通过--security-opt将配置文件传给容器时,采用默认配置文件(/etc/isulad/seccomp\_default.json)。
+>2. 创建容器时--security-opt设置为unconfined时,对容器不过滤系统调用。
+>3. “/path/to/seccomp/profile.json”需要是绝对路径。
## 获取普通容器的默认seccomp配置
- 启动一个普通容器(或者是带--cap-add的容器),并查看默认权限配置:
-```
-cat /etc/isulad/seccomp_default.json | python -m json.tool > profile.json
-```
+ ```
+ cat /etc/isulad/seccomp_default.json | python -m json.tool > profile.json
+ ```
+
+ 可以看到"seccomp"字段中,有很多的"syscalls",在此基础上,仅提取syscalls的部分,参考定制seccomp配置文件,进行定制化操作。
+
+ ```
+ "defaultAction": "SCMP_ACT_ERRNO",
+ "syscalls": [
+ {
+ "action": "SCMP_ACT_ALLOW",
+ "name": "accept"
+ },
+ {
+ "action": "SCMP_ACT_ALLOW",
+ "name": "accept4"
+ },
+ {
+ "action": "SCMP_ACT_ALLOW",
+ "name": "access"
+ },
+ {
+ "action": "SCMP_ACT_ALLOW",
+ "name": "alarm"
+ },
+ {
+ "action": "SCMP_ACT_ALLOW",
+ "name": "bind"
+ },
+ ]...
+ ```
-可以看到"seccomp"字段中,有很多的"syscalls",在此基础上,仅提取syscalls的部分,参考定制seccomp配置文件,进行定制化操作。
-
-```
-"defaultAction": "SCMP_ACT_ERRNO",
-"syscalls": [
-{
-"action": "SCMP_ACT_ALLOW",
-"name": "accept"
-},
-{
-"action": "SCMP_ACT_ALLOW",
-"name": "accept4"
-},
-{
-"action": "SCMP_ACT_ALLOW",
-"name": "access"
-},
-{
-"action": "SCMP_ACT_ALLOW",
-"name": "alarm"
-},
-{
-"action": "SCMP_ACT_ALLOW",
-"name": "bind"
-},
-]...
-```
- 查看转换为lxc可识别的seccomp配置
-```
-cat /var/lib/lcrd/engines/lcr/74353e38021c29314188e29ba8c1830a4677ffe5c4decda77a1e0853ec8197cd/seccomp
-```
+ ```
+ cat /var/lib/lcrd/engines/lcr/74353e38021c29314188e29ba8c1830a4677ffe5c4decda77a1e0853ec8197cd/seccomp
+ ```
+
+ ```
+ ...
+ waitpid allow
+ write allow
+ writev allow
+ ptrace allow
+ personality allow [0,0,SCMP_CMP_EQ,0]
+ personality allow [0,8,SCMP_CMP_EQ,0]
+ personality allow [0,131072,SCMP_CMP_EQ,0]
+ personality allow [0,131080,SCMP_CMP_EQ,0]
+ personality allow [0,4294967295,SCMP_CMP_EQ,0]
+ ...
+ ```
-```
-...
-waitpid allow
-write allow
-writev allow
-ptrace allow
-personality allow [0,0,SCMP_CMP_EQ,0]
-personality allow [0,8,SCMP_CMP_EQ,0]
-personality allow [0,131072,SCMP_CMP_EQ,0]
-personality allow [0,131080,SCMP_CMP_EQ,0]
-personality allow [0,4294967295,SCMP_CMP_EQ,0]
-...
-```
## 定制seccomp配置文件
-在启动容器的时候使用--security-opt引入seccomp配置文件,容器实例会按照配置文件规则进行限制系统API的运行。首先按照获取普通容器的默认seccomp配置获取到全集模板,然后按照本节定制配置文件,启动容器:
+在启动容器的时候使用--security-opt引入seccomp配置文件,容器实例会按照配置文件规则进行限制系统API的运行。首先获取普通容器的默认seccomp,得到完整模板,然后按照本节定制配置文件,启动容器:
```
lcrc run --rm -it --security-opt seccomp:/path/to/seccomp/profile.json rnd-dockerhub.huawei.com/official/busybox
@@ -90,7 +92,7 @@ lcrc run --rm -it --security-opt seccomp:/path/to/seccomp/profile.json rnd-docke
}
```
-> **注意:**
+> **须知:**
>- defaultAction、syscalls:对应的action的类型是一样的,但其值是不能一样的,目的就是让所有的syscal都有一个默认的action,并且如果syscalls数组中有明确的定义,就以syscalls中的为准,由于defaultAction、action的值不一样,就能保证action不会有冲突。当前支持的action有:
> "SCMP\_ACT\_ERRNO":禁止,并打印错误信息。
> "SCMP\_ACT\_ALLOW":允许。
diff --git "a/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-10.md" "b/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-10.md"
index a2c7ffe6283d791ba3e32ad44425c1e11dae218e..d6b0c7ed71f844ade360c066ecfdc4c5dd35737b 100644
--- "a/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-10.md"
+++ "b/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-10.md"
@@ -1,4 +1,4 @@
# 使用限制
-- seccomp可能会影响性能,设置seccomp之前需要对场景进行评估,确定必要时加入。
+- seccomp可能会影响性能,设置seccomp之前需要对场景进行评估,确定必要时加入seccomp配置。
diff --git "a/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-13.md" "b/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-13.md"
index d27a44d9fa18c401d8526605c4aeea156188c597..95c6430a395d132222ff620c93b60e803870051c 100644
--- "a/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-13.md"
+++ "b/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-13.md"
@@ -19,6 +19,6 @@
"CAP_AUDIT_WRITE"
```
-- 默认的权能配置,包含了CAP\_SETUID和CAP\_FSETID,如host和容器共享目录,容器可对共享目录的二进制文件进行+s为设置,host上的普通用户可使用其进行提权。CAP\_AUDIT\_WRITE,容器可以对host写入,存在一定的风险,如果使用场景不需要,推荐在启动容器的时候使用--cap-drop将其删除。
-- 增加Capabilities意味着容器进程具备更大的能力,同时也会开发更多的系统调用接口,自然具备更强的破坏能力。
+- 默认的权能配置,包含了CAP\_SETUID和CAP\_FSETID,如host和容器共享目录,容器可对共享目录的二进制文件进行文件权限设置,host上的普通用户可能使用该特性进行提权攻击。CAP\_AUDIT\_WRITE,容器可以对host写入,存在一定的风险,如果使用场景不需要,推荐在启动容器的时候使用--cap-drop将其删除。
+- 增加Capabilities意味着容器进程具备更大的能力,同时也会开放更多的系统调用接口。
diff --git "a/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-17.md" "b/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-17.md"
index 0460b6547847f5db6cb39acf956b71910398c1ec..6b06af8f50dfbe05fc6ed5f1bd9389f6a8c3a7f5 100644
--- "a/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-17.md"
+++ "b/content/zh/docs/Container/\344\275\277\347\224\250\351\231\220\345\210\266-17.md"
@@ -1,13 +1,13 @@
# 使用限制
-- hook-spec指定的路径必须是绝对路径;
-- hook-spec指定的文件必须存在;
-- hook-spec指定的路径对应的必须是普通文本文件,格式为json;
-- hook-spec指定的文件大小不能超过10MB;
-- hooks配置的path必须为绝对路径;
-- hooks配置的path指定文件必须存在;
-- hooks配置的path指定文件必须有可执行权限;
-- hooks配置的path指定文件的owner必须是root;
-- hooks配置的path指定文件必须只有root有写权限;
+- hook-spec指定的路径必须是绝对路径。
+- hook-spec指定的文件必须存在。
+- hook-spec指定的路径对应的必须是普通文本文件,格式为json。
+- hook-spec指定的文件大小不能超过10MB。
+- hooks配置的path字段必须为绝对路径。
+- hooks配置的path字段指定文件必须存在。
+- hooks配置的path字段指定文件必须有可执行权限。
+- hooks配置的path字段指定文件的owner必须是root。
+- hooks配置的path字段指定文件必须只有root有写权限。
- hooks配置的timeout必须大于0。
diff --git "a/content/zh/docs/Container/\344\277\256\346\224\271\346\223\215\344\275\234.md" "b/content/zh/docs/Container/\344\277\256\346\224\271\346\223\215\344\275\234.md"
index 920fba2297b47f1d2b5d685c0984f7d621bad59c..ba9c4b698e28e1f501ee75e044b6439650c77629 100644
--- "a/content/zh/docs/Container/\344\277\256\346\224\271\346\223\215\344\275\234.md"
+++ "b/content/zh/docs/Container/\344\277\256\346\224\271\346\223\215\344\275\234.md"
@@ -14,7 +14,7 @@ docker exec进入容器执行的第一个命令为 bash 命令时,当退出 ex
## docker cp
-1. 使用docker cp向容器中拷贝文件时,docker ps以及所有对这个容器的操作都将等待docker cp 结束之后才能进行。
+1. 使用docker cp向容器中拷贝文件时,docker ps以及所有对这个容器的操作都将等待docker cp结束之后才能进行。
2. 容器以非root用户运行,当使用docker cp命令复制主机上的一个非root权限的文件到容器时,文件在容器中的权限角色会变成root。docker cp与cp命令不同,docker cp会修改复制到容器中文件的uid和gid为root。
## docker login
diff --git "a/content/zh/docs/Container/\345\201\234\346\255\242\344\270\216\345\210\240\351\231\244\345\256\271\345\231\250.md" "b/content/zh/docs/Container/\345\201\234\346\255\242\344\270\216\345\210\240\351\231\244\345\256\271\345\231\250.md"
index fd307ad784d26387e9256d1befe9b53865a7bc3e..a7d28efd2fc570c8084ba2b0838bdb6ab1a88226 100644
--- "a/content/zh/docs/Container/\345\201\234\346\255\242\344\270\216\345\210\240\351\231\244\345\256\271\345\231\250.md"
+++ "b/content/zh/docs/Container/\345\201\234\346\255\242\344\270\216\345\210\240\351\231\244\345\256\271\345\231\250.md"
@@ -6,16 +6,22 @@
[root@localhost ~]# docker stop container1
```
+也可以用docker kill来杀死容器达到停止容器的目的:
+
+```
+[root@localhost ~]# docker kill container1
+```
+
当容器停止之后,可以使用docker rm删除容器:
```
[root@localhost ~]# docker rm container1
```
-另外,也可以用docker kill来杀死容器达到停止容器的目的:
+当然,使用docker rm -f 强制删除容器也是可以的:
```
-[root@localhost ~]# docker kill container1
+[root@localhost ~]# docker rm -f container1
```
## 注意事项
diff --git "a/content/zh/docs/Container/\345\201\234\346\255\242\345\256\271\345\231\250.md" "b/content/zh/docs/Container/\345\201\234\346\255\242\345\256\271\345\231\250.md"
index d1ecb60244e185b7c1d6de7b341405f742d5f4ea..e0722d5fa52f302c24c104132a32eb3295b0149a 100644
--- "a/content/zh/docs/Container/\345\201\234\346\255\242\345\256\271\345\231\250.md"
+++ "b/content/zh/docs/Container/\345\201\234\346\255\242\345\256\271\345\231\250.md"
@@ -48,23 +48,18 @@ stop命令支持参数参考下表。
- 指定t参数且t<0时,请确保自己容器的应用会处理stop信号。
- Stop的原理:
+ Stop的原理:Stop会首先给容器发送Stop 信号(SIGTERM),然后等待一定的时间(这个时间就是用户输入的 t),过了指定时间如果容器还仍处于运行状态,那么就发送kill信号(SIGKILL)强杀。
- Stop会首先给容器发送Stop 信号(SIGTERM)
- 然后等待一定的时间(这个时间就是用户输入的 t)
-
- 过了指定时间,如果容器还仍处于运行状态,那么就发送kill信号(SIGKILL),强杀。
-
- 输入参数t的含义:
+- 输入参数t的含义:
t<0 : 表示一直等待,不管多久都等待程序优雅退出,既然用户这么输入了,表示对自己的应用比较放心,认为自己的程序有 合理的stop信号的处理机制。
- t=0 : 表示不等,立即发送kill -9 到容器。
+ t=0 : 表示不等,立即发送kill -9 到容器。
- t\>0 : 表示等一定的时间,如果容器还未退出,就发送kill -9 到容器。
+ t\>0 : 表示等一定的时间,如果容器还未退出,就发送kill -9 到容器。
- 所以如果用户使用t<0 \(比如t=-1\),请确保自己容器的应用会正确处理SIGTERM. 如果容器忽略了该信号,会导致lcrc stop一直卡住。
+ 所以如果用户使用t<0 (比如t=-1),请确保自己容器的应用会正确处理SIGTERM. 如果容器忽略了该信号,会导致lcrc stop一直卡住。
## 示例
diff --git "a/content/zh/docs/Container/\345\205\261\344\272\253\345\206\205\345\255\230\351\200\232\351\201\223.md" "b/content/zh/docs/Container/\345\205\261\344\272\253\345\206\205\345\255\230\351\200\232\351\201\223.md"
index 55e25901919d82d56efe8f5080ae72fbde8c87f1..f5ca13571af51f1895655b4f725c44133f53476f 100644
--- "a/content/zh/docs/Container/\345\205\261\344\272\253\345\206\205\345\255\230\351\200\232\351\201\223.md"
+++ "b/content/zh/docs/Container/\345\205\261\344\272\253\345\206\205\345\255\230\351\200\232\351\201\223.md"
@@ -50,7 +50,7 @@ dd: error writing '/testdir/test.file': No space left on device
```
> **说明:**
->- 使用\--host-channel大小限制时,若在容器内创建共享文件,则会受到容器内的内存配额限制(在容器内存使用达到极限时可能会产生oom)。
+>- 使用--host-channel大小限制时,若在容器内创建共享文件,则会受到容器内的内存配额限制(在容器内存使用达到极限时可能会产生oom)。
>- 若用户在主机端创建共享文件,则不受容器内的内存配额限制。
->- 若用户需要在容器内创建共享文件,且业务为内存密集型,可以通过设置容器内存配额为在原本基础上加上\--host-channel配置的大小来消除影响。
+>- 若用户需要在容器内创建共享文件,且业务为内存密集型,可以通过设置容器内存配额为在原本基础上加上--host-channel配置的大小来消除影响。
diff --git "a/content/zh/docs/Container/\345\205\263\350\201\224\347\273\204\344\273\266audit.md" "b/content/zh/docs/Container/\345\205\263\350\201\224\347\273\204\344\273\266audit.md"
index 7a84c95680e86d6b334f69bcf457396122dcdfd8..cd8b147fc83973aabc624ace1c4606d42a2fbf37 100644
--- "a/content/zh/docs/Container/\345\205\263\350\201\224\347\273\204\344\273\266audit.md"
+++ "b/content/zh/docs/Container/\345\205\263\350\201\224\347\273\204\344\273\266audit.md"
@@ -13,22 +13,20 @@ docker支持配置audit,但不是强制的。例如:
-w /etc/docker/daemon.json -k docker
```
-配置docker的audit,好处在于可以记录更多信息便于审计,但从安全角度来看,它对防攻击并没有实质性的作用。另一方面,上面的配置会导致严重的效率问题,出现系统非常卡顿的情况。以“-w /var/lib/docker -k docker”为例:
+配置docker的audit,好处在于可以记录更多信息便于审计,但从安全角度来看,它对防攻击并没有实质性的作用。另一方面,audit配置会导致严重的效率问题,可能导致系统卡顿,生产环境中请谨慎使用。
+
+下面以“-w /var/lib/docker -k docker”为例,演示docker audit的配置:
```
-[root@localhost signal]# cat /etc/audit/rules.d/audit.rules|grep docker
--w /var/lib/docker/ -k docker
-[root@localhost signal]# auditctl -R /etc/audit/rules.d/audit.rules |grep docker
-[root@localhost signal]# auditctl -l|grep docker
--w /var/lib/docker/ -p rwxa -k docker
+[root@localhost signal]# cat /etc/audit/rules.d/audit.rules | grep docker -w /var/lib/docker/ -k docker
+[root@localhost signal]# auditctl -R /etc/audit/rules.d/audit.rules | grep docker
+[root@localhost signal]# auditctl -l | grep docker -w /var/lib/docker/ -p rwxa -k docker
```
> **说明:**
->-p \[r|w|x|a\] 和-w一起使用,观察用户对这个目录的读、写、执行或者属性变化(如时间戳变化)。这样的话,在/var/lib/docker目录下的任何文件、目录操作,都会打印日志到audit.log中,从而会有太多的日志往audit.log中记录,会严重地影响auditd, 比如内存、cpu占用等等,进而影响os的运行。例如:每次执行"ls /var/lib/docker/containers"都会有类似如下日志记录到/var/log/audit/audit.log中。
+>-p \[r|w|x|a\] 和-w一起使用,观察用户对这个目录的读、写、执行或者属性变化(如时间戳变化)。这样的话,在/var/lib/docker目录下的任何文件、目录操作,都会打印日志到audit.log中,从而会有太多的日志往audit.log中记录,会严重地影响auditd, 比如内存、cpu占用等,进而影响os的运行。例如:每次执行"ls /var/lib/docker/containers"都会有类似如下日志记录到/var/log/audit/audit.log中。
```
type=SYSCALL msg=audit(1517656451.457:8097): arch=c000003e syscall=257 success=yes exit=3 a0=ffffffffffffff9c a1=1b955b0 a2=90800 a3=0 items=1 ppid=17821 pid=1925 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts6 ses=4 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="docker"type=CWD msg=audit(1517656451.457:8097): cwd="/root"type=PATH msg=audit(1517656451.457:8097): item=0 name="/var/lib/docker/containers" inode=1049112 dev=fd:00 mode=040700 ouid=0 ogid=0 rdev=00:00 obj=unconfined_u:object_r:container_var_lib_t:s0 objtype=NORMAL
```
-因此,配置docker的audit弊大于利,建议生产环境不要配制。如果确实需要,建议仅选择重要的来配置。
-
diff --git "a/content/zh/docs/Container/\345\210\227\345\207\272\351\225\234\345\203\217-4.md" "b/content/zh/docs/Container/\345\210\227\345\207\272\351\225\234\345\203\217-4.md"
index e284e64abc4d41b4de806c19660be3a2936b33dd..a954f1443c616bc714f1948818c54ce87f97a13a 100644
--- "a/content/zh/docs/Container/\345\210\227\345\207\272\351\225\234\345\203\217-4.md"
+++ "b/content/zh/docs/Container/\345\210\227\345\207\272\351\225\234\345\203\217-4.md"
@@ -12,7 +12,7 @@ lcrc images [OPTIONS]
## 参数
-login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表6 images命令参数列表"。
+images命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表6 images命令参数列表"。
## 示例
diff --git "a/content/zh/docs/Container/\345\210\227\345\207\272\351\225\234\345\203\217.md" "b/content/zh/docs/Container/\345\210\227\345\207\272\351\225\234\345\203\217.md"
index f0c408376d3119247cc9f0ff4be7d8833215c6ea..bbce52c9d12e57d8029a6dc5e9432060c870bb96 100644
--- "a/content/zh/docs/Container/\345\210\227\345\207\272\351\225\234\345\203\217.md"
+++ "b/content/zh/docs/Container/\345\210\227\345\207\272\351\225\234\345\203\217.md"
@@ -12,7 +12,7 @@ lcrc images
## 参数
-login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表6 images命令参数列表"。
+images命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表6 images命令参数列表"。
## 示例
diff --git "a/content/zh/docs/Container/\345\210\233\345\273\272\345\256\271\345\231\250-29.md" "b/content/zh/docs/Container/\345\210\233\345\273\272\345\256\271\345\231\250-29.md"
index b3160df21871bd315a4a5ef4d8b5309b20f66197..0cd3b8133f91f85be10f8ccb2c7bffe51d04c974 100644
--- "a/content/zh/docs/Container/\345\210\233\345\273\272\345\256\271\345\231\250-29.md"
+++ "b/content/zh/docs/Container/\345\210\233\345\273\272\345\256\271\345\231\250-29.md"
@@ -8,7 +8,7 @@
[root@localhost ~]# docker pull ubuntu
```
-该命令行将在docker官方的镜像库中下载ubunt:latest(命令行中没指定TAG,所以使用默认的TAG名latest),镜像在下载过程中将检测所依赖的层本地是否存在,如果存在就跳过。从私有镜像库下载镜像时,请带上registry描述,例如:假如我们建立了一个私有镜像库,地址为192.168.1.110:5000,里面有一些常用镜像。使用下面命令行从私有镜像库中下载镜像。
+该命令行将在docker官方的镜像库中下载ubunt:latest(命令行中没指定TAG,所以使用默认的TAG名latest),镜像在下载过程中将检测所依赖的层本地是否存在,如果存在就跳过。从私有镜像库下载镜像时,请带上registry描述,例如:假如建立了一个私有镜像库,地址为192.168.1.110:5000,里面有一些常用镜像。使用下面命令行从私有镜像库中下载镜像。
```
[root@localhost ~]# docker pull 192.168.1.110:5000/ubuntu
@@ -78,7 +78,7 @@ hello world
## 容器网络连接
-默认情况下,容器可以访问外部,而外部要访问容器需要通过端口映射,下面以在docker中运行私有镜像库服务registry为例。下面的命令行中-P使registry镜像中开放的端口暴露给主机。
+默认情况下,容器可以访问外部网络,而外部网络访问容器时需要通过端口映射,下面以在docker中运行私有镜像库服务registry为例。下面的命令行中-P使registry镜像中开放的端口暴露给主机。
```
[root@localhost ~]# docker run --name=container_registry -d -P registry
@@ -92,7 +92,7 @@ container\_registry这个容器已经启动了,但是并不知道容器中的
5000/tcp -> 0.0.0.0:49155
```
-从输出可以看出,容器内的5000端口映射到了主机的49155端口。通过主机IP:49155就可以访问registry服务了,在浏览器中输入192.168.1.183:49155(192.168.1.183为主机的IP)就可以返回registry的版本信息。
+从输出可以看出,容器内的5000端口映射到了主机的49155端口。通过主机IP:49155就可以访问registry服务了,在浏览器中输入http://localhost:49155就可以返回registry的版本信息。
在运行registry镜像的时候还可以直接指定端口映射如:
@@ -168,10 +168,15 @@ docker run --name=container_registry -d -p 5000:5000 registry
```
+- **容器基础镜像中systemd使用限制**
+
+ 通过基础镜像创建的容器在使用过程中,容器基础镜像中的systemd仅用于系统容器,普通容器不支持使用。
+
+
## 并发性能
- docker内部的消息缓冲有一个上限,超过这个上限就会将消息丢弃,因此在并发执行命令时建议不要超过1000条命令,否则有可能会造成docker内部消息丢失,从而造成容器无法启动等严重问题。
-- 并发创建容器并对容器执行restart时会偶现“oci runtime error: container init still running”报错,这是因为containerd对事件等待队列进行了性能优化,容器stop过程中执行runc delete,尝试在1s内kill掉容器的init进程,如果1s内init进程还没有被kill掉的话runc会返回该错误。由于containerd的GC(垃圾回收机制)每隔10s会回收之前runc delete的残留资源, 所以并不影响下次对容器的操作,一般出现上述报错的话等待4\~5s之后再次启动容器就可以了。
+- 并发创建容器并对容器执行restart时会偶现“oci runtime error: container init still running”报错,这是因为containerd对事件等待队列进行了性能优化,容器stop过程中执行runc delete,尝试在1s内kill掉容器的init进程,如果1s内init进程还没有被kill掉的话runc会返回该错误。由于containerd的GC(垃圾回收机制)每隔10s会回收之前runc delete的残留资源, 所以并不影响下次对容器的操作,一般出现上述报错的话等待4\~5s之后再次启动容器即可。
## 安全特性解读
@@ -262,7 +267,7 @@ docker run --name=container_registry -d -p 5000:5000 registry
16. CAP\_SYS\_RESOURCE
- 容器可以绕过对其的一些资源限制,比如磁盘空间资源限制、keymaps数量限制、pipe-size-max限制等等,造成一定意义的DoS攻击。
+ 容器可以绕过对其的一些资源限制,比如磁盘空间资源限制、keymaps数量限制、pipe-size-max限制等,造成一定意义的DoS攻击。
17. CAP\_SYS\_TIME
diff --git "a/content/zh/docs/Container/\345\210\233\345\273\272\351\225\234\345\203\217.md" "b/content/zh/docs/Container/\345\210\233\345\273\272\351\225\234\345\203\217.md"
index 5be3a149986854ced831ac10fa38af9a1ec3b981..c11c562d6b495e920ebe1a46e9cd61e319b563b7 100644
--- "a/content/zh/docs/Container/\345\210\233\345\273\272\351\225\234\345\203\217.md"
+++ "b/content/zh/docs/Container/\345\210\233\345\273\272\351\225\234\345\203\217.md"
@@ -6,7 +6,7 @@ docker pull、docker build、docker commit、docker import、docker load都可
1. 避免并发docker load和docker rmi操作。 如果同时满足如下两个条件,可能导致并发性问题:
- - 某个镜像存在在系统中。
+ - 某个镜像存在于系统中。
- 同时对该镜像进行docker rmi和docker load操作。
所以使用时应该避免这种场景(注:所有的镜像创建操作如tag,build,load和rmi并发都有可能会导致类似的错误,应该尽量避免这类操作与rmi的并发)。
diff --git "a/content/zh/docs/Container/\345\210\240\351\231\244\351\225\234\345\203\217-6.md" "b/content/zh/docs/Container/\345\210\240\351\231\244\351\225\234\345\203\217-6.md"
index 5723b105c67da668c80155e960210eba29b22c1e..1f34412fe87884ee0a40006ac12fc9c59cb25526 100644
--- "a/content/zh/docs/Container/\345\210\240\351\231\244\351\225\234\345\203\217-6.md"
+++ "b/content/zh/docs/Container/\345\210\240\351\231\244\351\225\234\345\203\217-6.md"
@@ -12,7 +12,7 @@ lcrc rmi [OPTIONS] IMAGE [IMAGE...]
## 参数
-login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表4 rmi命令参数列表"。
+rmi命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表4 rmi命令参数列表"。
## 示例
diff --git "a/content/zh/docs/Container/\345\210\240\351\231\244\351\225\234\345\203\217.md" "b/content/zh/docs/Container/\345\210\240\351\231\244\351\225\234\345\203\217.md"
index 2a5463af06d895474e40414fbb4e795f1eb7bf9e..26eb28c8d43ad9bc3b3ea50165f008eb23c409eb 100644
--- "a/content/zh/docs/Container/\345\210\240\351\231\244\351\225\234\345\203\217.md"
+++ "b/content/zh/docs/Container/\345\210\240\351\231\244\351\225\234\345\203\217.md"
@@ -12,7 +12,7 @@ lcrc rmi [OPTIONS] IMAGE [IMAGE...]
## 参数
-login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表4 rmi命令参数列表"。
+rmi命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表4 rmi命令参数列表"。
## 示例
diff --git "a/content/zh/docs/Container/\345\212\240\350\275\275\351\225\234\345\203\217-3.md" "b/content/zh/docs/Container/\345\212\240\350\275\275\351\225\234\345\203\217-3.md"
index 044f84264a25a341e078e5bad7ee051dae724f9c..2e95a0a0079fcc7abfe3c045ccc7bc338c916fc7 100644
--- "a/content/zh/docs/Container/\345\212\240\350\275\275\351\225\234\345\203\217-3.md"
+++ "b/content/zh/docs/Container/\345\212\240\350\275\275\351\225\234\345\203\217-3.md"
@@ -12,7 +12,7 @@ lcrc load [OPTIONS] --input=FILE --type=TYPE
## 参数
-login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表5 load命令参数列表"。
+load命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表5 load命令参数列表"。
## 示例
diff --git "a/content/zh/docs/Container/\345\212\240\350\275\275\351\225\234\345\203\217.md" "b/content/zh/docs/Container/\345\212\240\350\275\275\351\225\234\345\203\217.md"
index 9144cd3dbaa172913b0524bf246267b917584eda..674948343b2dedeff573b822051532cff780a65f 100644
--- "a/content/zh/docs/Container/\345\212\240\350\275\275\351\225\234\345\203\217.md"
+++ "b/content/zh/docs/Container/\345\212\240\350\275\275\351\225\234\345\203\217.md"
@@ -2,7 +2,7 @@
## 描述
-从一个tar包加载镜像。该tar包必须是使用docker save命令导出的tar包或格式一致的tar包,并且该tar包只能包含一个镜像。
+从一个tar包加载镜像。该tar包必须是使用docker save命令导出的tar包或格式一致的tar包。
## 用法
@@ -12,7 +12,7 @@ lcrc load [OPTIONS]
## 参数
-login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表5 load命令参数列表"。
+load命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表5 load命令参数列表"。
## 示例
diff --git "a/content/zh/docs/Container/\345\215\270\350\275\275.md" "b/content/zh/docs/Container/\345\215\270\350\275\275.md"
index a6e8c6d75daae5029b6223d7317bcf5b364672f7..417e3094abd5b63a378d83ad746d98164d4d46fe 100644
--- "a/content/zh/docs/Container/\345\215\270\350\275\275.md"
+++ "b/content/zh/docs/Container/\345\215\270\350\275\275.md"
@@ -1,14 +1,24 @@
# 卸载
-1. 卸载安装包:
+卸载iSulad的操作步骤如下:
-```
-$ sudo yum remove iSulad
-```
+1. 卸载iSulad及其依赖软件包
+ - 若使用yum方式安装,卸载的参考命令如下:
-2. 镜像、容器、volumes以及相关配置文件不会自动删除,需要手动删除:
+ ```
+ $ sudo yum remove iSulad
+ ```
+
+ - 若使用rpm方式安装,需卸载iSulad及其依赖包,卸载单个RPM包的参考命令如下:
+
+ ```
+ sudo rpm -ihv iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm
+ ```
+
+2. 镜像、容器、volumes以及相关配置文件不会自动删除,需要手动删除。参考命令如下:
+
+ ```
+ $ sudo rm -rf /var/lib/iSulad
+ ```
-```
-$ sudo rm -rf /var/lib/iSulad
-```
diff --git "a/content/zh/docs/Container/\345\217\214\345\220\221\350\256\244\350\257\201.md" "b/content/zh/docs/Container/\345\217\214\345\220\221\350\256\244\350\257\201.md"
index c41e34a817f4d3f98678772b97b416e995bc7f7f..7b569eea3fe5a1de77c6d3d868041c4072e11441 100644
--- "a/content/zh/docs/Container/\345\217\214\345\220\221\350\256\244\350\257\201.md"
+++ "b/content/zh/docs/Container/\345\217\214\345\220\221\350\256\244\350\257\201.md"
@@ -8,15 +8,13 @@
要支持该功能,需要镜像仓库支持该功能,同时isulad也需要做相应的配置:
-1、修改isulad的配置\(默认路径/etc/isulad/daemon.json\),将配置里的use-decrypted-key项配置为false。
+1. 修改isulad的配置\(默认路径/etc/isulad/daemon.json\),将配置里的use-decrypted-key项配置为false。
+2. 需要将相关的证书放置到/etc/isulad/certs.d目录下对应的镜像仓库命名的文件夹下,证书具体的生成方法见docker的官方链接:
+ - [https://docs.docker.com/engine/security/certificates/](https://docs.docker.com/engine/security/certificates/)
+ - [https://docs.docker.com/engine/security/https/](https://docs.docker.com/engine/security/https/)
-2、需要将相关的证书放置到/etc/isulad/certs.d目录下对应的镜像仓库命名的文件夹下,证书具体的生成方法见docker的官方链接:
-https://docs.docker.com/engine/security/certificates/
-
-https://docs.docker.com/engine/security/https/
-
-3、执行systemctl restart lcrd重启isulad
+1. 执行systemctl restart lcrd重启isulad。
## 参数
diff --git "a/content/zh/docs/Container/\345\220\257\345\212\250\345\256\211\345\205\250\345\256\271\345\231\250.md" "b/content/zh/docs/Container/\345\220\257\345\212\250\345\256\211\345\205\250\345\256\271\345\231\250.md"
index c3785becb5c4edd40ad802c133d8e896ae2fbf81..4d18fb148b93430f9d56267652782ec0b6d70b1d 100644
--- "a/content/zh/docs/Container/\345\220\257\345\212\250\345\256\211\345\205\250\345\256\271\345\231\250.md"
+++ "b/content/zh/docs/Container/\345\220\257\345\212\250\345\256\211\345\205\250\345\256\271\345\231\250.md"
@@ -26,7 +26,6 @@
此处获取pod的sandbox-id。
-
- 创建业务容器并加入到这个pod中。
```
diff --git "a/content/zh/docs/Container/\345\221\275\344\273\244\350\241\214\345\217\202\346\225\260\350\257\264\346\230\216.md" "b/content/zh/docs/Container/\345\221\275\344\273\244\350\241\214\345\217\202\346\225\260\350\257\264\346\230\216.md"
index c0b6245e8eff47fdc8e46253a6d9703b338221af..fff3cd27e1e2078e5387abc24bfa8619ff84c6d0 100644
--- "a/content/zh/docs/Container/\345\221\275\344\273\244\350\241\214\345\217\202\346\225\260\350\257\264\346\230\216.md"
+++ "b/content/zh/docs/Container/\345\221\275\344\273\244\350\241\214\345\217\202\346\225\260\350\257\264\346\230\216.md"
@@ -106,26 +106,33 @@
**表 5** load命令参数列表
- 命令
+ 命令
- 说明
+ 参数
+
+ 说明
- load
-
-
-
+ load
+
+ -H, --host (仅 lcrc支持)
- 指定要连接的LCRD socket文件路径
+ 指定要连接的LCRD socket文件路径
- 从配置文件上输入
+ -i, --input
+
+ 指定从哪里导入镜像。如果是docker类型,则为镜像压缩包路径,如果是embedded类型,则为镜像manifest路径。
- 不使用默认的镜像名称,而是使用TAG指定的名称,type为docker类型时支持该参数
+ --tag
+
+ 不使用默认的镜像名称,而是使用TAG指定的名称,type为docker类型时支持该参数
- 镜像类型,取值为embedded或docker(默认值)
+ -t, --type
+
+ 镜像类型,取值为embedded或docker(默认值)
@@ -160,19 +167,19 @@
**表 7** inspect命令参数列表
- 命令
+ 命令
- 参数
+ 参数
- 说明
+ 说明
- inspect
+ inspect
- -H, --host
+ -H, --host
- 指定要连接的LCRD socket文件路径
+ 指定要连接的LCRD socket文件路径
-f, --format
diff --git "a/content/zh/docs/Container/\345\234\250\345\256\271\345\231\250\344\270\255\346\211\247\350\241\214\346\226\260\345\221\275\344\273\244.md" "b/content/zh/docs/Container/\345\234\250\345\256\271\345\231\250\344\270\255\346\211\247\350\241\214\346\226\260\345\221\275\344\273\244.md"
index 550215280cf1cc2e617c98ff2d9c52912b5b13e5..f16ac5c06069d43e0502599059af4d2f4e149fe4 100644
--- "a/content/zh/docs/Container/\345\234\250\345\256\271\345\231\250\344\270\255\346\211\247\350\241\214\346\226\260\345\221\275\344\273\244.md"
+++ "b/content/zh/docs/Container/\345\234\250\345\256\271\345\231\250\344\270\255\346\211\247\350\241\214\346\226\260\345\221\275\344\273\244.md"
@@ -24,7 +24,8 @@ exec命令支持参数参考下表。
说明
- exec
+ exec
+
-d, --detach
@@ -51,6 +52,11 @@ exec命令支持参数参考下表。
分配伪终端(备注:目前LCRD尚不使用此功能)
+ -u, --user
+
+ 指定用户登录容器执行命令
+
+
diff --git "a/content/zh/docs/Container/\345\234\272\346\231\257\350\257\264\346\230\216.md" "b/content/zh/docs/Container/\345\234\272\346\231\257\350\257\264\346\230\216.md"
index a879af216018233b2a17e754eb16f3bb5e151cb3..86f2a35c29f36a78c690601cd0b5362959e82322 100644
--- "a/content/zh/docs/Container/\345\234\272\346\231\257\350\257\264\346\230\216.md"
+++ "b/content/zh/docs/Container/\345\234\272\346\231\257\350\257\264\346\230\216.md"
@@ -1,4 +1,4 @@
# 场景说明
-iSulad默认启动的是普通容器,普通容器适合启动普通进程,其权限非常受限,仅具备/etc/default/lcrd/config.json中capabilities所定义的默认权限。当需要特权操作(比如/sys)下的设备时,需要特权容器完成这些操作,使用该特性,容器内的root将拥有宿主机的root权限, 否则,容器内的root在只是宿主机的普通用户权限。
+iSulad默认启动的是普通容器,普通容器适合启动普通进程,其权限非常受限,仅具备/etc/default/lcrd/config.json中capabilities所定义的默认权限。当需要特权操作时(比如操作/sys下的设备),需要特权容器完成这些操作,使用该特性,容器内的root将拥有宿主机的root权限, 否则,容器内的root在只是宿主机的普通用户权限。
diff --git "a/content/zh/docs/Container/\345\255\230\345\202\250\350\257\264\346\230\216.md" "b/content/zh/docs/Container/\345\255\230\345\202\250\350\257\264\346\230\216.md"
index ec82d976c150f36bb9db389602f971e36b8196e3..38241d4eb2ec3dfc5c77ec027256d33dba1fb11f 100644
--- "a/content/zh/docs/Container/\345\255\230\345\202\250\350\257\264\346\230\216.md"
+++ "b/content/zh/docs/Container/\345\255\230\345\202\250\350\257\264\346\230\216.md"
@@ -13,7 +13,7 @@
/etc/default/lcrd/
- 存放lcrd的OCI配置文件和钩子模板文件,文件夹下的配置文件权限设置为0640,sysmonitor检查脚本权限为550
+ 存放lcrd的OCI配置文件和钩子模板文件,文件夹下的配置文件权限设置为0640,sysmonitor检查脚本权限为0550
*
diff --git "a/content/zh/docs/Container/\345\255\230\345\202\250\351\251\261\345\212\250\351\205\215\347\275\256.md" "b/content/zh/docs/Container/\345\255\230\345\202\250\351\251\261\345\212\250\351\205\215\347\275\256.md"
index bac4497f938c609d7e2e4d903c0024055af4dd38..bae58726d671e13e088d5e60f372b715e0737afc 100644
--- "a/content/zh/docs/Container/\345\255\230\345\202\250\351\251\261\345\212\250\351\205\215\347\275\256.md"
+++ "b/content/zh/docs/Container/\345\255\230\345\202\250\351\251\261\345\212\250\351\205\215\347\275\256.md"
@@ -1,82 +1 @@
-# 存储驱动配置
-
-如果将overlay2作为graphdriver,在容器中第一次修改镜像中的文件时,若该文件的大小大于系统剩余的空间,修改将会失败。因为即使修改很小,也要把这个文件完整的拷贝到上层,剩余空间不足导致失败。
-
-overlay2文件系统相比普通文件系统天然存在一些行为差异,归纳如下:
-
-1. 内核版本
- - overlay2只兼容原生4.0以上内核,建议配合使用ext4文件系统.
-
-2. Copy-UP性能问题
- - 修改lower层文件会触发文件复制到upper层,其中数据块复制和fsync比较耗时。
-
-3. rename目录问题
- - 只有源路径和目标路径都在merged层时,才允许rename系统调用,否则rename系统调用会报错-EXDEV。
- - 内核4.10引入了redirect dir特性来修复rename问题,对应内核选项为 CONFIG\_OVERLAY\_FS\_REDIRECT\_DIR。
-
-4. Hard link break问题
- - 当lower层目录中有多个硬链接,在merged层写入数据会触发Copy-UP,导致硬链接断开。
- - 内核4.13引入了index feature来修复这个问题,对应内核选项为 CONFIG\_OVERLAY\_FS\_INDEX。注意这个选项没有前向兼容性,不支持热升级。
-
-5. st\_dev和st\_ino变化
- - 触发Copy-UP之后,用户只能看到merged层中的新文件,inode会变化。虽然attr和xattr可以复制,但st\_dev和st\_ino具有唯一性,不可复制。这会导致stat和ls查看 到相应的变化。
-
-6. fd变化
- - Copy-UP之前,以只读模式打开文件得到描述符fd1,Copy-UP之后,打开同名文件得到文件描述符fd2, 二者实际指向不同的文件。向fd2写入的数据不会在fd1中体现。
-
-
-## 异常场景-挂载点被覆盖
-
-挂载关系:在问题容器的挂载点的下面,存在一个/var/lib/docker/overlay2的挂载点:
-
-```
-[root@localhost ~]# mount -l | grep overlay
-overlay on /var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785/merged type overlay (rw,relatime,seclabel,lowerdir=/var/lib/docker/overlay2/l/JL5PZQLNDCIBU3ZOG3LPPDBHIJ:/var/lib/docker/overlay2/l/ELRPYU4JJG4FDPRLZJCZZE4UO6,upperdir=/var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785/diff,workdir=/var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785/work)
-/dev/mapper/dm-root on /var/lib/docker/overlay2 type ext4 (rw,relatime,seclabel,data=ordered)
-```
-
-此时,业务仍然可以正常运行,并不会影响业务。
-
-## 注意事项
-
-- 部分容器生命周期管理的操作会报找不到相应的rootfs或者相关的可执行文件。
-- 如果容器的健康检查配置的是执行容器内的可执行文件,也会报错,导致容器的健康检查失败。
-
-## 修复方案
-
-- 修复方案一
- 1. 确定当前docker所使用graphdriver:
-
- ```
- docker info | grep "Storage Driver"
- ```
-
- 2. 查询当前的挂载点:
-
- ```
- Devicemapper: mount -l | grep devicemapper
- Overlay2: mount -l | grep overlay2
- ```
-
- 输出格式为: A on B type C \(D\)
-
- - A:块设备名称或overlay
- - B:挂载点
- - C:文件系统类型
- - D:挂载属性
-
- 3. 从下往上逐一umount这些挂载点B。
- 4. 然后全部docker restart这些容器,或者删除所有容器。
- 5. 重启docker。
-
- ```
- systemctl restart docker
- ```
-
-
-
-- 修复方案二
- 1. 业务迁移
- 2. 节点重启
-
-
+# 存储驱动配置
diff --git "a/content/zh/docs/Container/\345\256\211\350\243\205\346\226\271\346\263\225.md" "b/content/zh/docs/Container/\345\256\211\350\243\205\346\226\271\346\263\225.md"
index aec40934cc70581eee9adf1f6952375420a8033f..aabfbeceac8be10c9c03b1074ead6c622b7bb0ef 100644
--- "a/content/zh/docs/Container/\345\256\211\350\243\205\346\226\271\346\263\225.md"
+++ "b/content/zh/docs/Container/\345\256\211\350\243\205\346\226\271\346\263\225.md"
@@ -1,18 +1,20 @@
# 安装方法
-iSulad可以通过以下两种方式进行安装:
+iSulad可以通过yum或rpm命令两种方式安装,由于yum会自动安装依赖,而rpm命令需要手动安装所有依赖,所以推荐使用yum安装。
-- 执行以下命令进行安装\(推荐\):
+这里给出两种安装方式的操作方法。
+
+- (推荐)使用yum安装iSulad,参考命令如下:
```
$ sudo yum install -y iSulad
```
-- 下载iSulad及其所有依赖库的RPM包手动安装:
+- 使用rpm安装iSulad,需要下载iSulad及其所有依赖库的RPM包,然后手动安装。安装单个iSulad的RPM包(依赖包安装方式相同),参考命令如下:
```
- $ sudo rpm -ihv iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.openEulerxxx.aarch64.rpm
+ $ sudo rpm -ihv iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm
```
diff --git "a/content/zh/docs/Container/\345\256\271\345\231\250\344\270\216\344\270\273\346\234\272\344\271\213\351\227\264\346\225\260\346\215\256\346\213\267\350\264\235.md" "b/content/zh/docs/Container/\345\256\271\345\231\250\344\270\216\344\270\273\346\234\272\344\271\213\351\227\264\346\225\260\346\215\256\346\213\267\350\264\235.md"
index adacb6625849592eec03552a16cac8b8816d6cc0..b6062cb949228f15419d32e7e359034e992c00ff 100644
--- "a/content/zh/docs/Container/\345\256\271\345\231\250\344\270\216\344\270\273\346\234\272\344\271\213\351\227\264\346\225\260\346\215\256\346\213\267\350\264\235.md"
+++ "b/content/zh/docs/Container/\345\256\271\345\231\250\344\270\216\344\270\273\346\234\272\344\271\213\351\227\264\346\225\260\346\215\256\346\213\267\350\264\235.md"
@@ -56,6 +56,8 @@ cp命令支持参数参考下表。
```
+- iSulad 在cp拷贝过程中,会将容器freeze住,在拷贝完成后,恢复容器运行。
+
## 示例
将主机/test/host目录拷贝到容器21fac8bb9ea8的/test目录下。
diff --git "a/content/zh/docs/Container/\345\256\271\345\231\250\345\206\205reboot-shutdown.md" "b/content/zh/docs/Container/\345\256\271\345\231\250\345\206\205reboot-shutdown.md"
index 8e40f602bc15121abee9680022a6790af19d5ff5..f9463eaf4b9273ebf155d7b2bfbf850f306ceb5a 100644
--- "a/content/zh/docs/Container/\345\256\271\345\231\250\345\206\205reboot-shutdown.md"
+++ "b/content/zh/docs/Container/\345\256\271\345\231\250\345\206\205reboot-shutdown.md"
@@ -20,6 +20,7 @@
--restart
字符串变量。 可取指定值: on-reboot:表示重启系统容器。
+
diff --git "a/content/zh/docs/Container/\345\256\271\345\231\250\347\256\241\347\220\206-32.md" "b/content/zh/docs/Container/\345\256\271\345\231\250\347\256\241\347\220\206-32.md"
index 6d8a56002764be8ded0fd82e53844b9e80173aae..b22b28f923255b379578ac1ccc8248d129278d62 100644
--- "a/content/zh/docs/Container/\345\256\271\345\231\250\347\256\241\347\220\206-32.md"
+++ "b/content/zh/docs/Container/\345\256\271\345\231\250\347\256\241\347\220\206-32.md"
@@ -24,7 +24,6 @@
容器相关
-
容器生命周期管理
@@ -86,7 +85,6 @@
容器检视工具
-
ps
@@ -212,7 +210,6 @@
其他
-
events
diff --git "a/content/zh/docs/Container/\346\216\245\345\217\243-16.md" "b/content/zh/docs/Container/\346\216\245\345\217\243-16.md"
index ba08800ecf4be9f4501ae9fe566e8133b26c2bdb..c6732eb13049fb78314f51ad2debc3412448aa31 100644
--- "a/content/zh/docs/Container/\346\216\245\345\217\243-16.md"
+++ "b/content/zh/docs/Container/\346\216\245\345\217\243-16.md"
@@ -2,15 +2,15 @@
lcrd和lcrc都提供了hook的接口,lcrd提供了默认的hook配置,会作用于所有容器;而lcrc提供的hook接口,只会作用于当前创建的容器。
-lcrd提供的默认OCI hooks接口:
+lcrd提供的默认OCI hooks配置:
-- 通过/etc/isulad/daemon.json配置文件的hook-spec配置项设置hook配置的文件路径:"hook-spec": "/etc/default/lcrd/hooks/default.json"
-- 通过lcrd --hook-spec参数设置hook配置的文件路径
+- 通过/etc/isulad/daemon.json配置文件的hook-spec配置项设置hook配置的文件路径:"hook-spec": "/etc/default/lcrd/hooks/default.json"。
+- 通过lcrd --hook-spec参数设置hook配置的文件路径。
-lcrc提供的OCI hooks接口:
+lcrc提供的OCI hooks配置:
-- lcrc create --hook-spec:指定hook配置的json文件的路径
-- lcrc run --hook-spec:指定hook配置的json文件的路径
+- lcrc create --hook-spec:指定hook配置的json文件的路径。
+- lcrc run --hook-spec:指定hook配置的json文件的路径。
run的配置其实也是在create阶段生效了。
diff --git "a/content/zh/docs/Container/\346\216\245\345\217\243-2.md" "b/content/zh/docs/Container/\346\216\245\345\217\243-2.md"
index b5c10aeb4cee6e7a045dcfc353d823d62ea96f80..7cc2263d32b982693499a41c295c7e0051a7e699 100644
--- "a/content/zh/docs/Container/\346\216\245\345\217\243-2.md"
+++ "b/content/zh/docs/Container/\346\216\245\345\217\243-2.md"
@@ -513,7 +513,7 @@
-- **PodSandboxStatus**
+
描述Podsandbox的状态信息
@@ -855,7 +855,7 @@
SELinuxOption selinux_options
- SELinux context(可选配置项) 未使用
+ SELinux context(可选配置项) 暂不支持
Int64Value run_as_user
@@ -880,7 +880,7 @@
string apparmor_profile
- 容器的AppArmor配置文件 未使用
+ 容器的AppArmor配置文件 暂不支持
string seccomp_profile_path
@@ -1285,22 +1285,22 @@
- ContainerAttributes attributes
+ ContainerAttributes attributes
容器的信息
- CpuUsage cpu
+ CpuUsage cpu
CPU使用情况
- MemoryUsage memory
+ MemoryUsage memory
内存使用情况
- FilesystemUsage writable_layer
+ FilesystemUsage writable_layer
可写层使用情况
@@ -1324,7 +1324,7 @@
容器的ID
- ContainerMetadata metadata
+ ContainerMetadata metadata
容器的metadata
@@ -1650,3 +1650,9 @@
+
+- **[Runtime服务](Runtime服务.md)**
+
+- **[Image服务](Image服务.md)**
+
+
diff --git "a/content/zh/docs/Container/\346\217\217\350\277\260-1.md" "b/content/zh/docs/Container/\346\217\217\350\277\260-1.md"
index 2f3b3ec7362dc6c7da24f4a49331d083d4d9ace9..8274aae78c5e968f310b5da8cf115f6033fd9b3b 100644
--- "a/content/zh/docs/Container/\346\217\217\350\277\260-1.md"
+++ "b/content/zh/docs/Container/\346\217\217\350\277\260-1.md"
@@ -6,9 +6,9 @@ CRI API 接口是由kubernetes 推出的容器运行时接口,CRI定义了容
当前实现CRI版本为v1alpha1版本,官方API描述文件如下:
-[https://github.com/kubernetes/kubernetes/blob/release-1.9/pkg/kubelet/apis/cri/v1alpha1/runtime/api.proto](https://github.com/kubernetes/kubernetes/blob/release-1.9/pkg/kubelet/apis/cri/v1alpha1/runtime/api.proto),
+[https://github.com/kubernetes/kubernetes/blob/release-1.14/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto](https://github.com/kubernetes/kubernetes/blob/release-1.14/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto),
-ISulad使用的为pass使用的1.9.7版本API描述文件,与官方API略有出入,以本文档描述的接口为准。
+ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出入,以本文档描述的接口为准。
> **说明:**
>CRI接口websocket流式服务,服务端监听地址为127.0.0.1,端口为10251,为固定端口,不支持外部配置。
diff --git "a/content/zh/docs/Container/\346\234\200\345\244\247\345\217\245\346\237\204\346\225\260\351\231\220\345\210\266.md" "b/content/zh/docs/Container/\346\234\200\345\244\247\345\217\245\346\237\204\346\225\260\351\231\220\345\210\266.md"
index 71b9a0e29aa948673af866bffc7ed56973749798..580f0743301100c38a99cdb1f2ea5a1738821501 100644
--- "a/content/zh/docs/Container/\346\234\200\345\244\247\345\217\245\346\237\204\346\225\260\351\231\220\345\210\266.md"
+++ "b/content/zh/docs/Container/\346\234\200\345\244\247\345\217\245\346\237\204\346\225\260\351\231\220\345\210\266.md"
@@ -45,8 +45,7 @@
容器启动指定--files-limit参数,并检查files.limit参数是否成功写入:
```
-[root@localhost ~]# lcrc run -tid --files-limit 1024 --system-container --external-rootfs /tmp/root-fs empty init
-01e82fcf97d4937aa1d96eb8067f9f23e4707b92de152328c3fc0ecb5f64e91d
+[root@localhost ~]# lcrc run -tid --files-limit 1024 --system-container --external-rootfs /tmp/root-fs empty init 01e82fcf97d4937aa1d96eb8067f9f23e4707b92de152328c3fc0ecb5f64e91d
[root@localhost ~]# lcrc exec -it 01e82fcf97d4 bash
[root@localhost ~]# cat /sys/fs/cgroup/files/files.limit
1024
diff --git "a/content/zh/docs/Container/\346\237\245\350\257\242\345\215\225\344\270\252\345\256\271\345\231\250\344\277\241\346\201\257.md" "b/content/zh/docs/Container/\346\237\245\350\257\242\345\215\225\344\270\252\345\256\271\345\231\250\344\277\241\346\201\257.md"
index a171d18bac0359cf7430894dbe0fe33cf26e50bf..ce7da8c358fbc75e4b3987f69ae47dd0d3b7ccbe 100644
--- "a/content/zh/docs/Container/\346\237\245\350\257\242\345\215\225\344\270\252\345\256\271\345\231\250\344\277\241\346\201\257.md"
+++ "b/content/zh/docs/Container/\346\237\245\350\257\242\345\215\225\344\270\252\345\256\271\345\231\250\344\277\241\346\201\257.md"
@@ -47,7 +47,7 @@ inspect命令支持参数参考下表。
## 约束限制
-- 轻量级容器不支持format为”\{\{.State\}\}”的格式化输出,提示只支持”\{\{json .State\}\}”的json格式化输出。当inspect镜像时,不支持-f参数。
+- 轻量级容器不支持format为“\{\{.State\}\}”的格式化输出,支持“\{\{json .State\}\}”的json格式化输出。当inspect镜像时,不支持-f参数。
## 示例
diff --git "a/content/zh/docs/Container/\346\237\245\350\257\242\346\211\200\346\234\211\345\256\271\345\231\250\344\277\241\346\201\257.md" "b/content/zh/docs/Container/\346\237\245\350\257\242\346\211\200\346\234\211\345\256\271\345\231\250\344\277\241\346\201\257.md"
index 83cd255216fed2eb60d8133df5bfdab5a29f53d9..dbb230027d74e1a43596cfabf2e3ff14f2661e8e 100644
--- "a/content/zh/docs/Container/\346\237\245\350\257\242\346\211\200\346\234\211\345\256\271\345\231\250\344\277\241\346\201\257.md"
+++ "b/content/zh/docs/Container/\346\237\245\350\257\242\346\211\200\346\234\211\345\256\271\345\231\250\344\277\241\346\201\257.md"
@@ -24,9 +24,11 @@ ps命令支持参数参考下表。
说明
- ps
+ ps
+
+
-a, --all
@@ -48,6 +50,16 @@ ps命令支持参数参考下表。
增加筛选过滤条件
+ --format
+
+ 按照模板声明的方式输出数据
+
+
+ --no-trunc
+
+ 不对容器ID进行截断打印
+
+
@@ -57,6 +69,12 @@ ps命令支持参数参考下表。
```
$ lcrc ps -a
-STATUS PID IMAGE COMMAND EXIT_CODE RESTART_COUNT STARTAT FINISHAT RUNTIME ID NAMES running 21164 busybox "sh" 0 0 23 minutes ago 2 hours ago lcr c75284634bee c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a
+
+ID IMAGE STATUS PID COMMAND EXIT_CODE RESTART_COUNT STARTAT FINISHAT RUNTIME NAMES
+e84660aa059c rnd-dockerhub.huawei.com/official/busybox running 304765 "sh" 0 0 13 minutes ago - lcr e84660aa059cafb0a77a4002e65cc9186949132b8e57b7f4d76aa22f28fde016
+$ lcrc ps -a --format "table {{.ID}} {{.Image}}" --no-trunc
+ID IMAGE
+e84660aa059cafb0a77a4002e65cc9186949132b8e57b7f4d76aa22f28fde016 rnd-dockerhub.huawei.com/official/busybox
+
```
diff --git "a/content/zh/docs/Container/\346\243\200\350\247\206\351\225\234\345\203\217-5.md" "b/content/zh/docs/Container/\346\243\200\350\247\206\351\225\234\345\203\217-5.md"
index 590a0f3c36248d5c434904ae13f0485cddb24505..81e252d73166d972853c8eed3b9db2be36aad9ce 100644
--- "a/content/zh/docs/Container/\346\243\200\350\247\206\351\225\234\345\203\217-5.md"
+++ "b/content/zh/docs/Container/\346\243\200\350\247\206\351\225\234\345\203\217-5.md"
@@ -12,7 +12,7 @@ lcrc inspect [options] CONTAINER|IMAGE [CONTAINER|IMAGE...]
## 参数
-login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表7 inspect命令参数列表"。
+inspect命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表7 inspect命令参数列表"。
## 示例
diff --git "a/content/zh/docs/Container/\346\243\200\350\247\206\351\225\234\345\203\217.md" "b/content/zh/docs/Container/\346\243\200\350\247\206\351\225\234\345\203\217.md"
index 05135611b55f74cd412b9929af638dc951ff506c..3307a517b4d75e1572ca4844f49c1caa3a24bdba 100644
--- "a/content/zh/docs/Container/\346\243\200\350\247\206\351\225\234\345\203\217.md"
+++ "b/content/zh/docs/Container/\346\243\200\350\247\206\351\225\234\345\203\217.md"
@@ -12,7 +12,7 @@ lcrc inspect [options] CONTAINER|IMAGE [CONTAINER|IMAGE...]
## 参数
-login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表7 inspect命令参数列表"。
+inspect命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表7 inspect命令参数列表"。
## 示例
diff --git "a/content/zh/docs/Container/\346\263\225\345\276\213\345\243\260\346\230\216.md" "b/content/zh/docs/Container/\346\263\225\345\276\213\345\243\260\346\230\216.md"
new file mode 100644
index 0000000000000000000000000000000000000000..6ebb0e5226c8f8430df29f6070b92968d4fb6db7
--- /dev/null
+++ "b/content/zh/docs/Container/\346\263\225\345\276\213\345\243\260\346\230\216.md"
@@ -0,0 +1,14 @@
+# 法律声明
+
+**版权所有 © 2020 华为技术有限公司。**
+
+您对“本文档”的复制、使用、修改及分发受知识共享\(Creative Commons\)署名—相同方式共享4.0国际公共许可协议\(以下简称“CC BY-SA 4.0”\)的约束。为了方便用户理解,您可以通过访问[https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) 了解CC BY-SA 4.0的概要 \(但不是替代\)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode)。
+
+**商标声明**
+
+openEuler为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
+
+**免责声明**
+
+本文档仅作为使用指导,除非适用法强制规定或者双方有明确书面约定, 华为技术有限公司对本文档中的所有陈述、信息和建议不做任何明示或默示的声明或保证,包括但不限于不侵权,时效性或满足特定目的的担保。
+
diff --git "a/content/zh/docs/Container/\347\224\250\346\210\267\346\235\203\351\231\220\346\216\247\345\210\266.md" "b/content/zh/docs/Container/\347\224\250\346\210\267\346\235\203\351\231\220\346\216\247\345\210\266.md"
index 37822cdba4a69eadc332d3f05cc3ccb656049408..3071f1dee3124710466840ebf9e5eac113e8f9d1 100644
--- "a/content/zh/docs/Container/\347\224\250\346\210\267\346\235\203\351\231\220\346\216\247\345\210\266.md"
+++ "b/content/zh/docs/Container/\347\224\250\346\210\267\346\235\203\351\231\220\346\216\247\345\210\266.md"
@@ -91,18 +91,18 @@
4. 然后需要配置策略,对于基本授权流程,所有策略都位于一个配置文件下/var/lib/authz-broker/policy.json。该配置文件支持动态修改,更改时不需要重新启动插件,只需要向authz进程发送SIGHUP信号。文件格式是每行一个策略JSON对象。每行只有一个匹配。具体的策略配置示例如下:
- - 所有用户都可以运行所有iSulad命令:\{"name":"policy\_0","users":\[""\],"actions":\[""\]\}
- - Alice可以运行所有iSulad命令:\{"name":"policy\_1","users":\["alice"\],"actions":\[""\]\}
- - 空用户都可以运行所有iSulad命令: \{"name":"policy\_2","users":\[""\],"actions":\[""\]\}
- - Alice和Bob可以创建新的容器:\{"name":"policy\_3","users":\["alice","bob"\],"actions":\["container\_create"\]\}
- - service\_account可以读取日志并运行docker top:\{"name":"policy\_4","users":\["service\_account"\],"actions":\["container\_logs","container\_top"\]\}
- - Alice可以执行任何container操作:\{"name":"policy\_5","users":\["alice"\],"actions":\["container"\]\}
- - Alice可以执行任何container操作,但请求的种类只能是get:\{"name":"policy\_5","users":\["alice"\],"actions":\["container"\], "readonly":true \}
+ - 所有用户都可以运行所有iSulad命令:\{"name":"policy\_0","users":\[""\],"actions":\[""\]\}。
+ - Alice可以运行所有iSulad命令:\{"name":"policy\_1","users":\["alice"\],"actions":\[""\]\}。
+ - 空用户都可以运行所有iSulad命令: \{"name":"policy\_2","users":\[""\],"actions":\[""\]\}。
+ - Alice和Bob可以创建新的容器:\{"name":"policy\_3","users":\["alice","bob"\],"actions":\["container\_create"\]\}。
+ - service\_account可以读取日志并运行docker top:\{"name":"policy\_4","users":\["service\_account"\],"actions":\["container\_logs","container\_top"\]\}。
+ - Alice可以执行任何container操作:\{"name":"policy\_5","users":\["alice"\],"actions":\["container"\]\}。
+ - Alice可以执行任何container操作,但请求的种类只能是get:\{"name":"policy\_5","users":\["alice"\],"actions":\["container"\], "readonly":true \}。
> **说明:**
- >- 配置中匹配action支持正则表达式
- >- users不支持正则表达式
- >- users不能有重复用户,即同一用户不能被多条规则匹配
+ >- 配置中匹配action支持正则表达式。
+ >- users不支持正则表达式。
+ >- users不能有重复用户,即同一用户不能被多条规则匹配。
5. 配置并更新完之后,客户端配置TLS参数连接容器引擎,即是以受限的权限访问。
diff --git "a/content/zh/docs/Container/\347\231\273\345\275\225\345\210\260\351\225\234\345\203\217\344\273\223\345\272\223.md" "b/content/zh/docs/Container/\347\231\273\345\275\225\345\210\260\351\225\234\345\203\217\344\273\223\345\272\223.md"
index e9e42af3e2d24d6e8662c175231bab36bafe48b6..a8ccb6ae8c90c74268f797ca782f773c31019687 100644
--- "a/content/zh/docs/Container/\347\231\273\345\275\225\345\210\260\351\225\234\345\203\217\344\273\223\345\272\223.md"
+++ "b/content/zh/docs/Container/\347\231\273\345\275\225\345\210\260\351\225\234\345\203\217\344\273\223\345\272\223.md"
@@ -18,6 +18,7 @@ login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表1
```
$ lcrc login -u abc my.csp-edge.com:5000
+
Login Succeeded
```
diff --git "a/content/zh/docs/Container/\347\255\211\345\276\205\345\256\271\345\231\250\351\200\200\345\207\272.md" "b/content/zh/docs/Container/\347\255\211\345\276\205\345\256\271\345\231\250\351\200\200\345\207\272.md"
index 862d70f1fe2abcf617ac0baa80303490a786bbf5..d39bed005221c808316d099ce6fa4474eea6df71 100644
--- "a/content/zh/docs/Container/\347\255\211\345\276\205\345\256\271\345\231\250\351\200\200\345\207\272.md"
+++ "b/content/zh/docs/Container/\347\255\211\345\276\205\345\256\271\345\231\250\351\200\200\345\207\272.md"
@@ -41,7 +41,7 @@ wait命令支持参数参考下表。
## 示例
-重启单个容器
+等待单个容器退出
```
$ lcrc wait c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a
diff --git "a/content/zh/docs/Container/\347\263\273\347\273\237\346\216\211\347\224\265\345\275\261\345\223\215.md" "b/content/zh/docs/Container/\347\263\273\347\273\237\346\216\211\347\224\265\345\275\261\345\223\215.md"
index e6fa60a5aca0324536c0f3fdd2a3b83d943e68ee..5c896b65f6b0af6d3645dde47f3fd9f236899889 100644
--- "a/content/zh/docs/Container/\347\263\273\347\273\237\346\216\211\347\224\265\345\275\261\345\223\215.md"
+++ "b/content/zh/docs/Container/\347\263\273\347\273\237\346\216\211\347\224\265\345\275\261\345\223\215.md"
@@ -1,7 +1,17 @@
# 系统掉电影响
-当系统出现意外掉电或系统panic等可能导致系统无法及时做磁盘刷新的危险操作情况时,可能导致docker daemon的部分状态尚未刷新到磁盘导致重启后docker daemon状态不正常,可能出现的问题有(包括但不限于):
+主机意外掉电或系统panic等场景下,由于docker daemon的状态无法及时刷新到磁盘,导致重启后docker daemon状态不正常,可能出现的问题有(包括但不限于):
+
+- 掉电前创建的容器,重启后docker ps -a看不到,该问题是因为该容器的状态文件没有刷新到磁盘,从而导致重启后daemon无法获取到该容器的状态(镜像、卷、网络等也可能会有类似问题)。
+- 掉电前某个文件正处于写入状态,尚未完全写入,重启后daemon重新加载该文件发现文件格式不正常或内容不完整,导致重启加载出错。
+- 针对掉电时会破坏docker DB的情况,在重启节点时会清理data-root下面的db文件。因此重启前创建的如下信息在重启后会被删除:
+ - network,用docker network创建的资源会在重启后清除。
+ - volume,用 docker volume创建的资源会在重启后删除。
+ - 构建缓存,构建缓存信息会在重启后删除。
+ - containerd保存的元数据,由于启动容器会重建containerd元数据,重启节点会清理containerd中保存的元数据。
+
+ > **说明:**
+ >用户若选择采用手动清理恢复环境的方式,可通过配置环境变量“DISABLE\_CRASH\_FILES\_DELETE=true”屏蔽daemon掉电重启时db文件清理功能。
+
-- 掉电前创建了容器,重启后docker ps -a看不到,该问题是因为该容器的状态文件没有刷新到磁盘,从而导致重启后daemon无法获取到该容器状态导致(其他状态如镜像、卷、网络等也可能会有类似问题)。
-- 掉电前某个文件正处于写入状态,尚未完全写入,重启后daemon重新加载该文件发现文件格式不正常或内容不完整,导致的错误。
diff --git "a/content/zh/docs/Container/\347\272\246\346\235\237\351\231\220\345\210\266.md" "b/content/zh/docs/Container/\347\272\246\346\235\237\351\231\220\345\210\266.md"
index cb3280ea0354721bc7faea403ae4c90bef56afbb..4be947f61d2d1013a2bab036ba43260ba7918b3d 100644
--- "a/content/zh/docs/Container/\347\272\246\346\235\237\351\231\220\345\210\266.md"
+++ "b/content/zh/docs/Container/\347\272\246\346\235\237\351\231\220\345\210\266.md"
@@ -12,34 +12,35 @@
- 为daemon指定各种运行目录时的注意事项
- 以--root为例,当我们使用/new/path/作为daemon新的Root Dir时,如果/new/path/下已经存在文件,且目录或文件名与lcrd需要使用的目录或文件名冲突(例如:engines、mnt等目录)时,lcrd可能会更新原有目录或文件的属性,包括属主、权限等为自己的属主和权限。
+ 以--root为例,当使用/new/path/作为daemon新的Root Dir时,如果/new/path/下已经存在文件,且目录或文件名与lcrd需要使用的目录或文件名冲突(例如:engines、mnt等目录)时,lcrd可能会更新原有目录或文件的属性,包括属主、权限等为自己的属主和权限。
所以,用户需要明白重新指定各种运行目录和文件,会对冲突目录、文件属性的影响。建议用户指定的新目录或文件为lcrd专用,避免冲突导致的文件属性变化以及带来的安全问题。
- 日志文件管理:
- > **注意:**
+ > **须知:**
>日志功能对接: iSulad由systemd管理,日志也由systemd管理,然后传输给rsyslogd。rsyslog默认会对写日志速度有限制,可以通过修改/etc/rsyslog.conf文件,增加"$imjournalRatelimitInterval 0"配置项,然后重启rsyslogd的服务即可。
- 命令行参数解析限制
使用iSulad命令行接口时,其参数解析方式与docker略有不同,对于命令行中带参数的flag,不管使用长flag还是短flag,只会将该flag后第一个空格或与flag直接相连接的'='后的字符串作为flag的参数,具体如下:
- 1\) 使用短flag时,与破折号-连接的字符串中的每个字符都被当作短flag(当有=号时,=号后的字符串当成=号前的短flag的参数)。
+ 1. 使用短flag时,与“-”连接的字符串中的每个字符都被当作短flag(当有=号时,=号后的字符串当成=号前的短flag的参数)。
- lcrc run -du=root busybox 等价于 lcrc run -du root busybox 或 lcrc run -d -u=root busybox 或 lcrc run -d -u root busybox ,当使用lcrc run -du:root时,由于-:不是有效的短flag,因此会报错。前述的命令行也等价于lcrc run -ud root busybox,但不推荐这种使用方式,可能带来语义困扰。
+ lcrc run -du=root busybox 等价于 lcrc run -du root busybox 或 lcrc run -d -u=root busybox 或 lcrc run -d -u root busybox ,当使用lcrc run -du:root时,由于-:不是有效的短flag,因此会报错。前述的命令行也等价于lcrc run -ud root busybox,但不推荐这种使用方式,可能带来语义困扰。
- 2)使用长flag时,与双破折号--连接的字符串作为一个整体当成长flag,若包含=号,则=号前的字符串为长flag,=号后的为参数。
+ 1. 使用长flag时,与“--”连接的字符串作为一个整体当成长flag,若包含=号,则=号前的字符串为长flag,=号后的为参数。
- ```
- lcrc run --user=root busybox
- ```
+ ```
+ lcrc run --user=root busybox
+ ```
- 等价于
+ 等价于
+
+ ```
+ lcrc run --user root busybox
+ ```
- ```
- lcrc run --user root busybox
- ```
- 启动一个lcrd容器,不能够以非root用户进行lcrc run -i/-t/-ti以及lcrc attach/exec操作。
diff --git "a/content/zh/docs/Container/\350\216\267\345\217\226\345\256\271\345\231\250\346\227\245\345\277\227.md" "b/content/zh/docs/Container/\350\216\267\345\217\226\345\256\271\345\231\250\346\227\245\345\277\227.md"
index 831c4518bac8b23ce6b045987cf43a15ce14fd15..54fdf95f8d9da5f7becf0dd5764c248297e6bad9 100644
--- "a/content/zh/docs/Container/\350\216\267\345\217\226\345\256\271\345\231\250\346\227\245\345\277\227.md"
+++ "b/content/zh/docs/Container/\350\216\267\345\217\226\345\256\271\345\231\250\346\227\245\345\277\227.md"
@@ -47,7 +47,7 @@ logs命令支持参数参考下表。
## 约束限制
-- 容器串口logs日志记录功能,默认为关闭状态,需要开启可以通过 lcrc create --log-opt disable-log=false 或 lcrc run --log-opt disable-log=false 开启。
+- 容器串口logs日志记录功能,默认为开启状态,需要关闭可以通过 lcrc create --log-opt disable-log=true 或 lcrc run --log-opt disable-log=true 关闭。
## 示例
diff --git "a/content/zh/docs/Container/\350\277\220\350\241\214\345\256\271\345\231\250.md" "b/content/zh/docs/Container/\350\277\220\350\241\214\345\256\271\345\231\250.md"
index aa1bebdb463c2db74c50577d3a373cfa8d733c2e..2b0c6a61a59da972e4581bb63bbeafd60a5ebd40 100644
--- "a/content/zh/docs/Container/\350\277\220\350\241\214\345\256\271\345\231\250.md"
+++ "b/content/zh/docs/Container/\350\277\220\350\241\214\345\256\271\345\231\250.md"
@@ -24,7 +24,7 @@ run命令支持参数参考下表。
说明
- run
+ run
--annotation
@@ -79,6 +79,11 @@ run命令支持参数参考下表。
设置环境变量
+ --env-file
+
+ 通过文件配置环境变量
+
+
--entrypoint
启动容器时要运行的入口点
@@ -242,6 +247,7 @@ run命令支持参数参考下表。
--entrypoint 参数指定不存在的入口参数
+- 使用--volume参数时,由于容器启动时会对/dev/ptmx设备进行删除重建,因此请勿将/dev目录挂载至容器/dev目录,应使用--device对/dev下的设备在容器中进行挂载
- 禁止使用echo的方式向run命令的stdin输入数据,会导致客户端卡死。应该直接将echo的值作为命令行参数传给容器
```
@@ -295,12 +301,12 @@ run命令支持参数参考下表。
- > **注意:**
+ > **须知:**
>第一种情况,先挂载/home/test1,然后挂载/home/test2,这种情况会导致/home/test1的内容覆盖掉原来/mnt下面的内容,这样可能导致/mnt下面不存在abc目录,这样会导致挂载/home/test2到/mnt/abc失败。
>第二种情况,先挂载/home/test2,然后挂载/home/test1。这种情况,第二次的挂载会把/mnt的内容替换为/home/test1的内容,这样第一次挂载的/home/test2到/mnt/abc的内容就看不到了。
>因此,不支持第一种使用方式;第二种使用用户需要了解这种数据无法访问的风险
- > **注意:**
+ > **须知:**
>- 高并发场景(并发启动200容器)下,glibc的内存管理机制会导致内存空洞以及虚拟内存较大(例如10GB)的问题。该问题是高并发场景下glibc内存管理机制的限制,而不是内存泄露,不会导致内存消耗无限增大。可以通过设置MALLOC\_ARENA\_MAX环境变量来减少虚拟内存的问题,而且可以增大减少物理内存的概率。但是这个环境变量会导致iSulad的并发性能下降,需要用户根据实际情况做配置。
> ```
> 参考实践情况,平衡性能和内存,可以设置MALLOC_ARENA_MAX为4。(在arm64服务器上面对iSulad的性能影响在10%以内)
diff --git "a/content/zh/docs/Container/\351\203\250\347\275\262\346\226\271\345\274\217.md" "b/content/zh/docs/Container/\351\203\250\347\275\262\346\226\271\345\274\217.md"
index c25ca90c30120251b95b6e3eb5909d49899ad700..1ee0c75c18608d2db1f52e5982cd702c99ef330e 100644
--- "a/content/zh/docs/Container/\351\203\250\347\275\262\346\226\271\345\274\217.md"
+++ "b/content/zh/docs/Container/\351\203\250\347\275\262\346\226\271\345\274\217.md"
@@ -7,408 +7,410 @@
- **命令行方式**
-在启动服务的时候,直接通过命令行进行配置。其配置选项可通过以下命令查阅:
+ 在启动服务的时候,直接通过命令行进行配置。其配置选项可通过以下命令查阅:
-```
-$ lcrd --help
-lightweight container runtime daemon
+ ```
+ $ lcrd --help
+ lightweight container runtime daemon
+
+ Usage: lcrd [global options]
+
+ GLOBAL OPTIONS:
+
+ --authorization-plugin Use authorization plugin
+ --cgroup-parent Set parent cgroup for all containers
+ --cni-bin-dir The full path of the directory in which to search for CNI plugin binaries. Default: /opt/cni/bin
+ --cni-conf-dir The full path of the directory in which to search for CNI config files. Default: /etc/cni/net.d
+ --default-ulimit Default ulimits for containers (default [])
+ -e, --engine Select backend engine
+ -g, --graph Root directory of the LCRD runtime
+ -G, --group Group for the unix socket(default is lcrd)
+ --help Show help
+ --hook-spec Default hook spec file applied to all containers
+ -H, --host The socket name used to create gRPC server
+ --image-layer-check Check layer intergrity when needed
+ --image-opt-timeout Max timeout(default 5m) for image operation
+ --insecure-registry Disable TLS verification for the given registry
+ --insecure-skip-verify-enforce Force to skip the insecure verify(default false)
+ --log-driver Set daemon log driver, such as: file
+ -l, --log-level Set log level, the levels can be: FATAL ALERT CRIT ERROR WARN NOTICE INFO DEBUG TRACE
+ --log-opt Set daemon log driver options, such as: log-path=/tmp/logs/ to set directory where to store daemon logs
+ --native.umask Default file mode creation mask (umask) for containers
+ --network-plugin Set network plugin, default is null, suppport null and cni
+ -p, --pidfile Save pid into this file
+ --pod-sandbox-image The image whose network/ipc namespaces containers in each pod will use. (default "rnd-dockerhub.huawei.com/library/pause-${machine}:3.0")
+ --registry-mirrors Registry to be prepended when pulling unqualified images, can be specified multiple times
+ --start-timeout timeout duration for waiting on a container to start before it is killed
+ -S, --state Root directory for execution state files
+ --storage-driver Storage driver to use(default overlay2)
+ -s, --storage-opt Storage driver options
+ --tls Use TLS; implied by --tlsverify
+ --tlscacert Trust certs signed only by this CA (default "/root/.iSulad/ca.pem")
+ --tlscert Path to TLS certificate file (default "/root/.iSulad/cert.pem")
+ --tlskey Path to TLS key file (default "/root/.iSulad/key.pem")
+ --tlsverify Use TLS and verify the remote
+ --use-decrypted-key Use decrypted private key by default(default true)
+ -V, --version Print the version
+ ```
-Usage: lcrd [global options]
+ 示例: 启动lcrd,并将日志级别调整成DEBUG
-GLOBAL OPTIONS:
+ ```
+ $ lcrd -l DEBUG
+ ```
- --authorization-plugin Use authorization plugin
- --cgroup-parent Set parent cgroup for all containers
- --cni-bin-dir The full path of the directory in which to search for CNI plugin binaries. Default: /opt/cni/bin
- --cni-conf-dir The full path of the directory in which to search for CNI config files. Default: /etc/cni/net.d
- --default-ulimit Default ulimits for containers (default [])
- -e, --engine Select backend engine
- -g, --graph Root directory of the LCRD runtime
- -G, --group Group for the unix socket(default is lcrd)
- --help Show help
- --hook-spec Default hook spec file applied to all containers
- -H, --host The socket name used to create gRPC server
- --image-layer-check Check layer intergrity when needed
- --image-opt-timeout Max timeout(default 5m) for image operation
- --insecure-registry Disable TLS verification for the given registry
- --insecure-skip-verify-enforce Force to skip the insecure verify(default false)
- --log-driver Set daemon log driver, such as: file
- -l, --log-level Set log level, the levels can be: FATAL ALERT CRIT ERROR WARN NOTICE INFO DEBUG TRACE
- --log-opt Set daemon log driver options, such as: log-path=/tmp/logs/ to set directory where to store daemon logs
- --native.umask Default file mode creation mask (umask) for containers
- --network-plugin Set network plugin, default is null, suppport null and cni
- -p, --pidfile Save pid into this file
- --pod-sandbox-image The image whose network/ipc namespaces containers in each pod will use. (default "rnd-dockerhub.huawei.com/library/pause-${machine}:3.0")
- --registry-mirrors Registry to be prepended when pulling unqualified images, can be specified multiple times
- --start-timeout timeout duration for waiting on a container to start before it is killed
- -S, --state Root directory for execution state files
- --storage-driver Storage driver to use(default overlay2)
- -s, --storage-opt Storage driver options
- --tls Use TLS; implied by --tlsverify
- --tlscacert Trust certs signed only by this CA (default "/root/.iSulad/ca.pem")
- --tlscert Path to TLS certificate file (default "/root/.iSulad/cert.pem")
- --tlskey Path to TLS key file (default "/root/.iSulad/key.pem")
- --tlsverify Use TLS and verify the remote
- --use-decrypted-key Use decrypted private key by default(default true)
- -V, --version Print the version
-```
-
-示例: 启动lcrd,并将日志级别调整成DEBUG
-
-```
-$ lcrd -l DEBUG
-```
- **配置文件方式**
-lcrd配置文件为/etc/isulad/daemon.json,各配置字段说明如下:
+ lcrd配置文件为/etc/isulad/daemon.json,各配置字段说明如下:
+
+
+ 配置参数
+
+ 配置文件示例
+
+ 参数解释
+
+ 备注
+
+
+
+ -e, --engine
+
+ "engine": "lcr"
+
+ LCRD的运行时,默认是lcr
+
+ 无
+
+
+ -G, --group
+
+ "group": "lcrd"
+
+ socket所属组
+
+ 无
+
+
+ --hook-spec
+
+ "hook-spec": "/etc/default/lcrd/hooks/default.json"
+
+ 针对所有容器的默认钩子配置文件
+
+ 无
+
+
+ -H, --host
+
+ "hosts": "unix:///var/run/lcrd.sock"
+
+ 通信方式
+
+ 除本地socket外,还支持tcp://ip:port方式,port范围(0-65535,排除被占用端口)
+
+
+ --log-driver
+
+ "log-driver": "file"
+
+ 日志驱动配置
+
+ 无
+
+
+ -l, --log-level
+
+ "log-level": "ERROR"
+
+ 设置日志输出级别
+
+ 无
+
+
+ --log-opt
+
+ "log-opts": {
+ "log-file-mode": "0600",
+ "log-path": "/var/lib/lcrd",
+ "max-file": "1",
+ "max-size": "30KB"
+ }
+
+ 日志相关的配置
+
+ 可以指定max-file,max-size,log-path。max-file指日志文件个数;max-size指日志触发防爆的阈值,若max-file为1,max-size失效;log-path指定日志文件存储路径;log-file-mode用于设置日志文件的读写权限,格式要求必须为八进制格式,如0666。
+
+
+ --start-timeout
+
+ "start-timeout": "2m"
+
+ 启动容器的耗时
+
+ 无
+
+
+ -p, --pidfile
+
+ "pidfile": "/var/run/lcrd.pid"
+
+ 保存pid的文件
+
+ 当启动一个容器引擎的时候不需要配置,当需要启动两个以上的容器引擎时才需要配置。
+
+
+ -g, --graph
+
+ "graph": "/var/lib/lcrd"
+
+ LCRD运行时的根目录
+
+
+ -S, --state
+
+ "state": "/var/run/lcrd"
+
+ 执行文件的根目录
+
+
+ --storage-driver
+
+ "storage-driver": "overlay2"
+
+ 镜像存储驱动,默认为overlay2
+
+ 当前只支持overlay2
+
+
+ -s, --storage-opt
+
+ "storage-opts": [ "overlay2.override_kernel_check=true" ]
+
+ 镜像存储驱动配置选项
+
+ 可使用的选项为:
+ overlay2.override_kernel_check=true # 忽略内核版本检查
+ overlay2.size=${size} # 设置rootfs quota限额为${size}大小
+ overlay2.basesize=${size} #等价于overlay2.size
+
+
+ --image-opt-timeout
+
+ "image-opt-timeout": "5m"
+
+ 镜像操作超时时间,默认为5m
+
+ 值为-1表示不限制超时。
+
+
+ --registry-mirrors
+
+ "registry-mirrors": [ "docker.io" ]
+
+ 镜像仓库地址
+
+ 无
+
+
+ --insecure-registry
+
+ "insecure-registries": [ ]
+
+ 不使用TLS校验的镜像仓库
+
+ 无
+
+
+ --native.umask
+
+ "native.umask": "secure"
+
+ 容器umask策略,默认"secure",normal为不安全配置
+
+ 设置容器umask值。
+ 支持配置空字符(使用默认值0027)、"normal"、"secure":
+ normal # 启动的容器umask值为0022
+ secure # 启动的容器umask值为0027(默认值)
+
+
+ --pod-sandbox-image
+
+ "pod-sandbox-image": "rnd-dockerhub.huawei.com/library/pause-aarch64:3.0"
+
+ pod默认使用镜像,默认为"rnd-dockerhub.huawei.com/library/pause-${machine}:3.0"
+
+ 无
+
+
+ --network-plugin
+
+ "network-plugin": ""
+
+ 指定网络插件,默认为空字符,表示无网络配置,创建的sandbox只有loop网卡。
+
+ 支持cni和空字符,其他非法值会导致lcrd启动失败。
+
+
+ --cni-bin-dir
+
+ "cni-bin-dir": ""
+
+ 指定cni插件依赖的二进制的存储位置
+
+ 默认为/opt/cni/bin
+
+
+ --cni-conf-dir
+
+ "cni-conf-dir": ""
+
+ 指定cni网络配置文件的存储位置
+
+ 默认为/etc/cni/net.d
+
+
+ --image-layer-check=false
+
+ "image-layer-check": false
+
+ 开启镜像层完整性检查功能,设置为true;关闭该功能,设置为false。默认为关闭。
+
+ lcrd启动时会检查镜像层的完整性,如果镜像层被破坏,则相关的镜像不可用。lcrd进行镜像完整性校验时,无法校验内容为空的文件和目录,以及链接文件。因此若镜像因掉电导致上述类型文件丢失,lcrd的镜像数据完整性校验可能无法识别。lcrd版本变更时需要检查是否支持该参数,如果不支持,需要从配置文件中删除。
+
+
+ --insecure-skip-verify-enforce=false
+
+ "insecure-skip-verify-enforce": false
+
+ Bool类型,是否强制跳过证书的主机名/域名验证,默认为false。当设置为true时,为不安全配置,会跳过证书的主机名/域名验证
+
+ 默认为false(不跳过),注意:因lcrd使用的yajl json 解析库限制,若在/etc/isulad/daemon.json配置文件中配置非Bool类型的其他符合json格式的值时,lcrd将使用默认值false。
+
+
+ --use-decrypted-key=true
+
+ "use-decrypted-key": true
+
+ Bool类型,指定是否使用不加密的私钥。指定为true,表示使用不加密的私钥;指定为false,表示使用的为加密后的私钥,即需要进行双向认证。
+
+ 默认配置为true(使用不加密的私钥),注意:因lcrd使用的yajl json 解析库限制,若在/etc/isulad/daemon.json配置文件中配置非Bool类型的其他符合json格式的值时,lcrd将使用默认值true。
+
+
+ --tls
+
+ "tls":false
+
+ Bool类型,是否使用TLS
+
+ 默认值为false, 仅用于-H tcp://IP:PORT方式
+
+
+ --tlsverify
+
+ "tlsverify":false
+
+ Bool类型,是否使用TLS,并验证远程访问
+
+ 仅用于-H tcp://IP:PORT方式
+
+
+ --tlscacert
+ --tlscert
+ --tlskey
+
+ "tls-config": {
+ "CAFile": "/root/.iSulad/ca.pem",
+ "CertFile": "/root/.iSulad/server-cert.pem",
+ "KeyFile":"/root/.iSulad/server-key.pem"
+ }
+
+ TLS证书相关的配置
+
+ 仅用于-H tcp://IP:PORT方式
+
+
+ --authorization-plugin
+
+ "authorization-plugin": "authz-broker"
+
+ 用户权限认证插件
+
+ 当前只支持authz-broker
+
+
+ --cgroup-parent
+
+ "cgroup-parent": "lxc/mycgroup"
+
+ 字符串类型,容器默认cgroup父路径
+
+ 指定daemon端容器默认的cgroup父路径,如果客户端指定了--cgroup-parent,以客户端参数为准。
+ 注意:如果启了一个容器A,然后启一个容器B,容器B的cgroup父路径指定为容器A的cgroup路径,在删除容器的时候需要先删除容器B再删除容器A,否则会导致cgroup资源残留。
+
+
+ --default-ulimits
+
+ "default-ulimits": {
+ "nofile": {
+ "Name": "nofile",
+ "Hard": 6400,
+ "Soft": 3200
+ }
+ }
+
+ ulimit指定限制的类型,soft值及hard值
+
+ 指定限制的资源类型,如“nofile”。两个字段名字必须相同,即都为nofile,否则会报错 。Hard指定的值需要大于等于Soft'。如果Hard字段或者Soft字段未设置,则默认该字段默认为0。
+
+
+
+
-
- 配置参数
-
- 配置文件示例
-
- 参数解释
-
- 备注
-
-
-
- -e, --engine
-
- "engine": "lcr"
-
- LCRD的运行时,默认是lcr
-
- 无
-
-
- -G, --group
-
- "group": "lcrd"
-
- socket所属组
-
- 无
-
-
- --hook-spec
-
- "hook-spec": "/etc/default/lcrd/hooks/default.json"
-
-针对所有容器的默认钩子配置文件
-
- 无
-
-
- -H, --host
-
- "hosts": "unix:///var/run/lcrd.sock"
-
- 通信方式
-
- 除本地socket外,还支持tcp://ip:port方式,port范围(0-65535,排除被占用端口)
-
-
- --log-driver
-
- "log-driver": "file"
-
- 日志驱动配置
-
- 无
-
-
- -l, --log-level
-
- "log-level": "ERROR"
-
- 设置日志输出级别
-
- 无
-
-
- --log-opt
-
- "log-opts": {
- "log-file-mode": "0600",
- "log-path": "/var/lib/lcrd",
- "max-file": "1",
- "max-size": "30KB"
- }
-
- 日志相关的配置
-
- 可以指定max-file,max-size,log-path。max-file指日志文件个数;max-size指日志触发防爆的阈值,若max-file为1,max-size失效;log-path指定日志文件存储路径;log-file-mode用于设置日志文件的读写权限,格式要求必须为八进制格式,如0666。
-
-
- --start-timeout
-
- "start-timeout": "2m"
-
- 启动容器的耗时
-
- 无
-
-
- -p, --pidfile
-
- "pidfile": "/var/run/lcrd.pid"
-
- 保存pid的文件
-
- 当启动一个容器引擎的时候不需要配置,当需要启动两个以上的容器引擎时才需要配置。
-
-
- -g, --graph
-
- "graph": "/var/lib/lcrd"
-
- LCRD运行时的根目录
-
-
- -S, --state
-
- "state": "/var/run/lcrd"
-
- 执行文件的根目录
-
-
- --storage-driver
-
- "storage-driver": "overlay2"
-
- 镜像存储驱动,默认为overlay2
-
- 当前只支持overlay2
-
-
- -s, --storage-opt
-
- "storage-opts": [ "overlay2.override_kernel_check=true" ]
-
- 镜像存储驱动配置选项
-
- 可使用的选项为:
- overlay2.override_kernel_check=true # 忽略内核版本检查
-overlay2.size=${size} # 设置rootfs quota限额为${size}大小
-overlay2.basesize=${size} #等价于overlay2.size
-
-
- --image-opt-timeout
-
- "image-opt-timeout": "5m"
-
- 镜像操作超时时间,默认为5m
-
- 值为-1表示不限制超时。
-
-
- --registry-mirrors
-
- "registry-mirrors": [ "docker.io" ]
-
- 镜像仓库地址
-
- 无
-
-
- --insecure-registry
-
- "insecure-registries": [ ]
-
- 不使用TLS校验的镜像仓库
-
- 无
-
-
- --native.umask
-
- "native.umask": "secure"
-
- 容器umask策略,默认"secure" ,normal为不安全配置
-
- 设置容器umask值。
- 支持配置空字符(使用默认值0027)、"normal"、"secure":
- normal # 启动的容器umask值为0022
-secure # 启动的容器umask值为0027(默认值)
-
-
- --pod-sandbox-image
-
- "pod-sandbox-image": "rnd-dockerhub.huawei.com/library/pause-aarch64:3.0"
-
- pod默认使用镜像,默认为"rnd-dockerhub.huawei.com/library/pause-${machine}:3.0"
-
- 无
-
-
- --network-plugin
-
- "network-plugin": ""
-
- 指定网络插件,默认为空字符,表示无网络配置,创建的sandbox只有loop网卡。
-
- 支持cni和空字符,其他非法值会导致lcrd启动失败。
-
-
- --cni-bin-dir
-
- "cni-bin-dir": ""
-
- 指定cni插件依赖的二进制的存储位置
-
- 默认为/opt/cni/bin
-
-
- --cni-conf-dir
-
- "cni-conf-dir": ""
-
- 指定cni网络配置文件的存储位置
-
- 默认为/etc/cni/net.d
-
-
- --image-layer-check=false
-
- "image-layer-check": false
-
- 开启镜像层完整性检查功能,设置为true;关闭该功能,设置为false。默认为关闭。
-
- lcrd启动时会检查镜像层的完整性,如果镜像层被破坏,则相关的镜像不可用。lcrd进行镜像完整性校验时,无法校验内容为空的文件和目录,以及链接文件。因此若镜像因掉电导致上述类型文件丢失,lcrd的镜像数据完整性校验可能无法识别。lcrd版本变更时需要检查是否支持该参数,如果不支持,需要从配置文件中删除。
-
-
- --insecure-skip-verify-enforce=false
-
- "insecure-skip-verify-enforce": false
-
- Bool类型,是否强制跳过证书的主机名/域名验证 ,默认为false。当设置为true时,为不安全配置,会跳过 证书的主机名/域名验证
-
- 默认为false(不跳过),注意:因lcrd使用的yajl json 解析库限制,若在/etc/isulad/daemon.json配置文件中配置非Bool类型的其他符合json格式的值时,lcrd将使用默认值false。
-
-
- --use-decrypted-key=true
-
- "use-decrypted-key": true
-
- Bool类型,指定是否使用不加密的私钥。指定为true,表示使用不加密的私钥;指定为false,表示使用的为加密后的私钥,即需要进行双向认证。
-
- 默认配置为true( 使用 不加密的私钥 ),注意:因lcrd使用的yajl json 解析库限制,若在/etc/isulad/daemon.json配置文件中配置非Bool类型的其他符合json格式的值时,lcrd将使用默认值true。
-
-
- --tls
-
- "tls":false
-
- Bool类型,是否使用TLS
-
- 默认值为false, 仅用于-H tcp://IP:PORT方式
-
-
- --tlsverify
-
- "tlsverify":false
-
- Bool类型,是否使用TLS,并验证远程访问
-
- 仅用于-H tcp://IP:PORT方式
-
-
- --tlscacert
- --tlscert
- --tlskey
-
- "tls-config": {
- "CAFile": "/root/.iSulad/ca.pem",
- "CertFile": "/root/.iSulad/server-cert.pem",
- "KeyFile":"/root/.iSulad/server-key.pem"
- }
-
- TLS证书相关的配置
-
- 仅用于-H tcp://IP:PORT方式
-
-
- --authorization-plugin
-
- "authorization-plugin": "authz-broker"
-
- 用户权限认证插件
-
- 当前只支持authz-broker
-
-
- --cgroup-parent
-
- "cgroup-parent": "lxc/mycgroup"
-
- 字符串类型,容器默认cgroup父路径
-
- 指定daemon端容器默认的cgroup父路径,如果客户端指定了--cgroup-parent,以客户端参数为准。
- 注意:如果启了一个容器A,然后启一个容器B,容器B的cgroup父路径指定为容器A的cgroup路径,在删除容器的时候需要先删除容器B再删除容器A,否则会导致cgroup资源残留。
-
-
- --default-ulimits
-
- "default-ulimits": {
- "nofile": {
- "Name": "nofile",
- "Hard": 6400,
- "Soft": 3200
- }
- }
-
- ulimit指定限制的类型,soft值及hard值
-
-指定限制的资源类型,如“nofile”。两个字段名字必须相同,即都为nofile,否则会报错 。Hard指定的值需要大于等于Soft'。如果Hard字段或者Soft字段未设置,则默认该字段默认为0。
-
-
-
-
+ 示例:
-示例:
+ ```
+ $ cat /etc/isulad/daemon.json
+ {
+ "group": "lcrd",
+ "graph": "/var/lib/lcrd",
+ "state": "/var/run/lcrd",
+ "engine": "lcr",
+ "log-level": "ERROR",
+ "pidfile": "/var/run/lcrd.pid",
+ "log-opts": {
+ "log-file-mode": "0600",
+ "log-path": "/var/lib/lcrd",
+ "max-file": "1",
+ "max-size": "30KB"
+ },
+ "log-driver": "stdout",
+ "hook-spec": "/etc/default/lcrd/hooks/default.json",
+ "start-timeout": "2m",
+ "storage-driver": "overlay2",
+ "storage-opts": [
+ "overlay2.override_kernel_check=true"
+ ],
+ "registry-mirrors": [
+ "docker.io"
+ ],
+ "insecure-registries": [
+ "rnd-dockerhub.huawei.com"
+ ],
+ "pod-sandbox-image": "",
+ "image-opt-timeout": "5m",
+ "native.umask": "secure",
+ "network-plugin": "",
+ "cni-bin-dir": "",
+ "cni-conf-dir": "",
+ "image-layer-check": false,
+ "use-decrypted-key": true,
+ "insecure-skip-verify-enforce": false
+ }
+ ```
-```
-$ cat /etc/isulad/daemon.json
-{
- "group": "lcrd",
- "graph": "/var/lib/lcrd",
- "state": "/var/run/lcrd",
- "engine": "lcr",
- "log-level": "ERROR",
- "pidfile": "/var/run/lcrd.pid",
- "log-opts": {
- "log-file-mode": "0600",
- "log-path": "/var/lib/lcrd",
- "max-file": "1",
- "max-size": "30KB"
- },
- "log-driver": "stdout",
- "hook-spec": "/etc/default/lcrd/hooks/default.json",
- "start-timeout": "2m",
- "storage-driver": "overlay2",
- "storage-opts": [
- "overlay2.override_kernel_check=true"
- ],
- "registry-mirrors": [
- "docker.io"
- ],
- "insecure-registries": [
- "rnd-dockerhub.huawei.com"
- ],
- "pod-sandbox-image": "",
- "image-opt-timeout": "5m",
- "native.umask": "secure",
- "network-plugin": "",
- "cni-bin-dir": "",
- "cni-conf-dir": "",
- "image-layer-check": false,
- "use-decrypted-key": true,
- "insecure-skip-verify-enforce": false
-}
-```
+ > **须知:**
+ >默认配置文件/etc/isulad/daemon.json仅供参考,请根据实际需要进行配置
-> **注意:**
->默认配置文件/etc/isulad/daemon.json仅供参考,请根据实际需要进行配置
diff --git "a/content/zh/docs/Container/\351\205\215\347\275\256TLS\350\256\244\350\257\201\344\270\216\345\274\200\345\220\257\350\277\234\347\250\213\350\256\277\351\227\256.md" "b/content/zh/docs/Container/\351\205\215\347\275\256TLS\350\256\244\350\257\201\344\270\216\345\274\200\345\220\257\350\277\234\347\250\213\350\256\277\351\227\256.md"
index a2c910ea1343ed70e31eae54e2d899cfe4633a62..cce1955fe161ad549338658129c9c447e5b8f03e 100644
--- "a/content/zh/docs/Container/\351\205\215\347\275\256TLS\350\256\244\350\257\201\344\270\216\345\274\200\345\220\257\350\277\234\347\250\213\350\256\277\351\227\256.md"
+++ "b/content/zh/docs/Container/\351\205\215\347\275\256TLS\350\256\244\350\257\201\344\270\216\345\274\200\345\220\257\350\277\234\347\250\213\350\256\277\351\227\256.md"
@@ -2,50 +2,98 @@
## 描述
-iSulad采用C/S模式进行设计,在默认情况,iSulad守护进程lcrd只监听本地/var/run/lcrd.sock,因此只能在本地通过客户端lcrc执行相关命令操作容器。为了能使lcrc可以远程访问容器,lcrd守护进程需要通过tcp:ip的方式监听远程访问的端口。然而,仅通过简单配置tcp ip:port进行监听,这样会导致所有的ip都可以通过调用lcrc -H tcp://:port与lcrd通信,容易导致安全问题,因此推荐使用更加安全的方式TLS\(**Transport Layer Security - 安全传输层协议**)进行远程访问。
+iSulad采用C/S模式进行设计,在默认情况,iSulad守护进程lcrd只侦听本地/var/run/lcrd.sock,因此只能在本地通过客户端lcrc执行相关命令操作容器。为了能使lcrc可以远程访问容器,lcrd守护进程需要通过tcp:ip的方式侦听远程访问的端口。然而,仅通过简单配置tcp ip:port进行侦听,这样会导致所有的ip都可以通过调用lcrc -H tcp://:port与lcrd通信,容易导致安全问题,因此推荐使用较安全版本的TLS\(**Transport Layer Security - 安全传输层协议**)方式进行远程访问。
## 生成TLS证书
-```
-#!/bin/bash
-set -e
-echo -n "Enter pass phrase:"
-read password
-echo -n "Enter public network ip:"
-read publicip
-echo -n "Enter host:"
-read HOST
-
-echo " => Using hostname: $publicip, You MUST connect to iSulad using this host!"
-
-mkdir -p $HOME/.iSulad
-cd $HOME/.iSulad
-rm -rf $HOME/.iSulad/*
-
-echo " => Generating CA key"
-openssl genrsa -passout pass:$password -aes256 -out ca-key.pem 4096
-echo " => Generating CA certificate"
-openssl req -passin pass:$password -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem -subj "/C=CN/ST=zhejiang/L=hangzhou/O=Huawei/OU=iSulad/CN=iSulad@huawei.com"
-echo " => Generating server key"
-openssl genrsa -passout pass:$password -out server-key.pem 4096
-echo " => Generating server CSR"
-openssl req -passin pass:$password -subj /CN=$HOST -sha256 -new -key server-key.pem -out server.csr
-echo subjectAltName = DNS:$HOST,IP:$publicip,IP:127.0.0.1 >> extfile.cnf
-echo extendedKeyUsage = serverAuth >> extfile.cnf
-echo " => Signing server CSR with CA"
-openssl x509 -req -passin pass:$password -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
-echo " => Generating client key"
-openssl genrsa -passout pass:$password -out key.pem 4096
-echo " => Generating client CSR"
-openssl req -passin pass:$password -subj '/CN=client' -new -key key.pem -out client.csr
-echo " => Creating extended key usage"
-echo extendedKeyUsage = clientAuth > extfile-client.cnf
-echo " => Signing client CSR with CA"
-openssl x509 -req -passin pass:$password -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile-client.cnf
-rm -v client.csr server.csr extfile.cnf extfile-client.cnf
-chmod -v 0400 ca-key.pem key.pem server-key.pem
-chmod -v 0444 ca.pem server-cert.pem cert.pem
-```
+- 明文私钥和证书生成方法示例
+
+ ```
+ #!/bin/bash
+ set -e
+ echo -n "Enter pass phrase:"
+ read password
+ echo -n "Enter public network ip:"
+ read publicip
+ echo -n "Enter host:"
+ read HOST
+
+ echo " => Using hostname: $publicip, You MUST connect to iSulad using this host!"
+
+ mkdir -p $HOME/.iSulad
+ cd $HOME/.iSulad
+ rm -rf $HOME/.iSulad/*
+
+ echo " => Generating CA key"
+ openssl genrsa -passout pass:$password -aes256 -out ca-key.pem 4096
+ echo " => Generating CA certificate"
+ openssl req -passin pass:$password -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem -subj "/C=CN/ST=zhejiang/L=hangzhou/O=Huawei/OU=iSulad/CN=iSulad@huawei.com"
+ echo " => Generating server key"
+ openssl genrsa -passout pass:$password -out server-key.pem 4096
+ echo " => Generating server CSR"
+ openssl req -passin pass:$password -subj /CN=$HOST -sha256 -new -key server-key.pem -out server.csr
+ echo subjectAltName = DNS:$HOST,IP:$publicip,IP:127.0.0.1 >> extfile.cnf
+ echo extendedKeyUsage = serverAuth >> extfile.cnf
+ echo " => Signing server CSR with CA"
+ openssl x509 -req -passin pass:$password -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
+ echo " => Generating client key"
+ openssl genrsa -passout pass:$password -out key.pem 4096
+ echo " => Generating client CSR"
+ openssl req -passin pass:$password -subj '/CN=client' -new -key key.pem -out client.csr
+ echo " => Creating extended key usage"
+ echo extendedKeyUsage = clientAuth > extfile-client.cnf
+ echo " => Signing client CSR with CA"
+ openssl x509 -req -passin pass:$password -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile-client.cnf
+ rm -v client.csr server.csr extfile.cnf extfile-client.cnf
+ chmod -v 0400 ca-key.pem key.pem server-key.pem
+ chmod -v 0444 ca.pem server-cert.pem cert.pem
+ ```
+
+
+- 加密私钥和证书请求文件生成方法示例
+
+ ```
+ #!/bin/bash
+
+ echo -n "Enter public network ip:"
+ read publicip
+ echo -n "Enter pass phrase:"
+ read password
+
+ # remove certificates from previous execution.
+ rm -f *.pem *.srl *.csr *.cnf
+
+
+ # generate CA private and public keys
+ echo 01 > ca.srl
+ openssl genrsa -aes256 -out ca-key.pem -passout pass:$password 2048
+ openssl req -subj '/C=CN/ST=zhejiang/L=hangzhou/O=Huawei/OU=iSulad/CN=iSulad@huawei.com' -new -x509 -days $DAYS -passin pass:$password -key ca-key.pem -out ca.pem
+
+ # create a server key and certificate signing request (CSR)
+ openssl genrsa -aes256 -out server-key.pem -passout pass:$PASS 2048
+ openssl req -new -key server-key.pem -out server.csr -passin pass:$password -subj '/CN=iSulad'
+
+ echo subjectAltName = DNS:iSulad,IP:${publicip},IP:127.0.0.1 > extfile.cnf
+ echo extendedKeyUsage = serverAuth >> extfile.cnf
+ # sign the server key with our CA
+ openssl x509 -req -days $DAYS -passin pass:$password -in server.csr -CA ca.pem -CAkey ca-key.pem -out server-cert.pem -extfile extfile.cnf
+
+ # create a client key and certificate signing request (CSR)
+ openssl genrsa -aes256 -out key.pem -passout pass:$password 2048
+ openssl req -subj '/CN=client' -new -key key.pem -out client.csr -passin pass:$password
+
+ # create an extensions config file and sign
+ echo extendedKeyUsage = clientAuth > extfile.cnf
+ openssl x509 -req -days 365 -passin pass:$password -in client.csr -CA ca.pem -CAkey ca-key.pem -out cert.pem -extfile extfile.cnf
+
+ # remove the passphrase from the client and server key
+ openssl rsa -in server-key.pem -out server-key.pem -passin pass:$password
+ openssl rsa -in key.pem -out key.pem -passin pass:$password
+
+ # remove generated files that are no longer required
+ rm -f ca-key.pem ca.srl client.csr extfile.cnf server.csr
+ ```
+
## 接口
@@ -65,21 +113,22 @@ chmod -v 0444 ca.pem server-cert.pem cert.pem
服务端支持的模式如下:
-- 模式1(验证客户端):tlsverify, tlscacert, tlscert, tlskey
-- 模式2(不验证客户端):tls, tlscert, tlskey
+- 模式1(验证客户端):tlsverify, tlscacert, tlscert, tlskey。
+- 模式2(不验证客户端):tls, tlscert, tlskey。
客户端支持的模式如下:
-- 模式1\(使用客户端证书进行身份验证,并根据给定的CA验证服务器\):tlsverify, tlscacert, tlscert, tlskey
-- 模式2\(验证服务器\):tlsverify, tlscacert
+- 模式1\(使用客户端证书进行身份验证,并根据给定的CA验证服务器\):tlsverify, tlscacert, tlscert, tlskey。
+- 模式2\(验证服务器\):tlsverify, tlscacert。
如果需要采用双向认证方式进行通讯,则服务端采用模式1,客户端采用模式1;
-如果需要采用单向认证方式进行通讯,则服务端采用模式2,客户端采用模式2;
+如果需要采用单向认证方式进行通讯,则服务端采用模式2,客户端采用模式2。
-> **注意:**
+> **须知:**
>- 采用RPM安装方式时,服务端配置可通过/etc/isulad/daemon.json以及/etc/sysconfig/iSulad配置修改
>- 相比非认证或者单向认证方式,双向认证具备更高的安全性,推荐使用双向认证的方式进行通讯
+>- GRPC开源组件日志不由iSulad进行接管,如果需要查看GRPC相关日志,请按需设置GRPC\_VERBOSITY和GRPC\_TRACE环境变量
## 示例
diff --git "a/content/zh/docs/Container/\351\205\215\347\275\256devicemapper\345\255\230\345\202\250\351\251\261\345\212\250.md" "b/content/zh/docs/Container/\351\205\215\347\275\256devicemapper\345\255\230\345\202\250\351\251\261\345\212\250.md"
index ef42ab5e2a143c6ffed569499cbe368b3982a5e0..d3c904a49aa367f0f62b31df2e8c449b038b9979 100644
--- "a/content/zh/docs/Container/\351\205\215\347\275\256devicemapper\345\255\230\345\202\250\351\251\261\345\212\250.md"
+++ "b/content/zh/docs/Container/\351\205\215\347\275\256devicemapper\345\255\230\345\202\250\351\251\261\345\212\250.md"
@@ -1,4 +1,24 @@
-# 配置devicemapper存储驱动
+# 配置devicemapper存储驱动
+
+用户如果需要使用devicemapper存储驱动,可以通过如下两种方式显示指定。
+
+- 编辑/etc/docker/daemon.json,通过storage-driver字段显示指定。
+
+ ```
+ cat /etc/docker/daemon.json
+ {
+ "storage-driver": "devicemapper"
+ }
+ ```
+
+
+- 编辑/etc/sysconfig/docker-storage,通过docker deamon启动参数显示指定。
+
+ ```
+ cat /etc/sysconfig/docker-storage
+ DOCKER_STORAGE_OPTIONS="--storage-driver=devicemapper"
+ ```
+
## 注意事项
@@ -16,6 +36,7 @@
- 使用devicemapper时推荐加上--storage-opt dm.use\_deferred\_deletion=true --storage-opt dm.use\_deferred\_removal=true。
- 使用devicemapper时,容器文件系统推荐使用ext4,需要在docker daemon的配置参数中加 上--storage-opt dm.fs=ext4。
- 当graphdriver为devicemapper时,如果metadata文件损坏且不可恢复,需要人工介入恢复。禁止直接操作或篡改daemon存储devicemapper的元数据。
+- 使用devicemapper lvm时,异常掉电导致的devicemapper thinpool损坏,无法保证thinpool损坏后可以修复,也不能保证数据的完整性,需重建thinpool。
**docker daemon开启了user namespace特性,切换devicemapper存储池时的注意事项**
diff --git "a/content/zh/docs/Container/\351\205\215\347\275\256overlay2\345\255\230\345\202\250\351\251\261\345\212\250.md" "b/content/zh/docs/Container/\351\205\215\347\275\256overlay2\345\255\230\345\202\250\351\251\261\345\212\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..62691877159f1b5f4fbef7395601a84d7a87bb64
--- /dev/null
+++ "b/content/zh/docs/Container/\351\205\215\347\275\256overlay2\345\255\230\345\202\250\351\251\261\345\212\250.md"
@@ -0,0 +1,118 @@
+# 配置overlay2存储驱动
+
+## 配置方法
+
+docker默认为使用overlay2存储驱动,也可以通过如下两种方式显示指定。
+
+- 编辑/etc/docker/daemon.json,通过storage-driver字段显示指定。
+
+ ```
+ cat /etc/docker/daemon.json
+ {
+ "storage-driver": "overlay2"
+ }
+ ```
+
+
+- 编辑/etc/sysconfig/docker-storage,通过docker deamon启动参数显示指定。
+
+ ```
+ cat /etc/sysconfig/docker-storage
+ DOCKER_STORAGE_OPTIONS="--storage-driver=overlay2"
+ ```
+
+
+## 注意事项
+
+- 部分容器生命周期管理的操作会报找不到相应的rootfs或者相关的可执行文件。
+- 如果容器的健康检查配置的是执行容器内的可执行文件,也会报错,导致容器的健康检查失败。
+
+- 如果将overlay2作为graphdriver,在容器中第一次修改镜像中的文件时,若该文件的大小大于系统剩余的空间,修改将会失败。因为即使修改很小,也要把这个文件完整的拷贝到上层,剩余空间不足导致失败。
+- overlay2文件系统相比普通文件系统天然存在一些行为差异,归纳如下:
+ - 内核版本
+
+ overlay2只兼容原生4.0以上内核,建议配合使用ext4文件系统。
+
+ - Copy-UP性能问题
+
+ 修改lower层文件会触发文件复制到upper层,其中数据块复制和fsync比较耗时。
+
+ - rename目录问题
+ - 只有源路径和目标路径都在merged层时,才允许rename系统调用,否则rename系统调用会报错-EXDEV。
+ - 内核4.10引入了redirect dir特性来修复rename问题,对应内核选项为CONFIG\_OVERLAY\_FS\_REDIRECT\_DIR。
+
+ 使用overlay2时,在文件系统中对于目录进行重命名时,因为EulerOS中/sys/module/overlay/parameters/redirect\_dir特性开关已设置为关闭状态,则会导致使用失败;如果用户要使用相关特性,需要用户手动设置/sys/module/overlay/parameters/redirect\_dir为“Y”。
+
+ - Hard link break问题
+ - 当lower层目录中有多个硬链接,在merged层写入数据会触发Copy-UP,导致硬链接断开。
+ - 内核4.13引入了index feature来修复这个问题,对应内核选项为 CONFIG\_OVERLAY\_FS\_INDEX。注意这个选项没有前向兼容性,不支持热升级。
+
+ - st\_dev和st\_ino变化
+
+ 触发Copy-UP之后,用户只能看到merged层中的新文件,inode会变化。虽然attr和xattr可以复制,但st\_dev和st\_ino具有唯一性,不可复制。这会导致stat和ls查看 到相应的变化。
+
+ - fd变化
+
+ Copy-UP之前,以只读模式打开文件得到描述符fd1,Copy-UP之后,打开同名文件得到文件描述符fd2, 二者实际指向不同的文件。向fd2写入的数据不会在fd1中体现。
+
+
+
+## 异常场景
+
+容器使用配置了overlay2存储驱动的过程中,可能出现挂载点被覆盖的异常情况。例如
+
+## 异常场景-挂载点被覆盖
+
+挂载关系:在问题容器的挂载点的下面,存在一个/var/lib/docker/overlay2的挂载点:
+
+```
+[root@localhost ~]# mount -l | grep overlay
+overlay on /var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785/merged type overlay (rw,relatime,seclabel,lowerdir=/var/lib/docker/overlay2/l/JL5PZQLNDCIBU3ZOG3LPPDBHIJ:/var/lib/docker/overlay2/l/ELRPYU4JJG4FDPRLZJCZZE4UO6,upperdir=/var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785/diff,workdir=/var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785/work)
+/dev/mapper/dm-root on /var/lib/docker/overlay2 type ext4 (rw,relatime,seclabel,data=ordered)
+```
+
+执行部分docker命令会遇到错误,比如:
+
+```
+[root@localhost ~]# docker rm 1348136d32
+docker rm: Error response from daemon: driver "overlay2" failed to remove root filesystem for 1348136d32: error while removing /var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785: invalid argument
+```
+
+此时,在主机侧可以发现对应容器的rootfs找不到,但这并不意味着rootfs丢失,只是被/var/lib/docker/overlay2挂载点覆盖,业务仍然可以正常运行,不受影响。修复方案可以参考如下:
+
+- 修复方案一
+ 1. 确定当前docker所使用graphdriver:
+
+ ```
+ docker info | grep "Storage Driver"
+ ```
+
+ 2. 查询当前的挂载点:
+
+ ```
+ Devicemapper: mount -l | grep devicemapper
+ Overlay2: mount -l | grep overlay2
+ ```
+
+ 输出格式为: A on B type C \(D\)
+
+ - A:块设备名称或overlay
+ - B:挂载点
+ - C:文件系统类型
+ - D:挂载属性
+
+ 3. 从下往上逐一umount这些挂载点B。
+ 4. 然后全部docker restart这些容器,或者删除所有容器。
+ 5. 重启docker。
+
+ ```
+ systemctl restart docker
+ ```
+
+
+
+- 修复方案二
+ 1. 业务迁移
+ 2. 节点重启
+
+
diff --git "a/content/zh/docs/Container/\351\205\215\347\275\256\345\256\271\345\231\250\345\206\205\347\232\204ulimit\345\200\274.md" "b/content/zh/docs/Container/\351\205\215\347\275\256\345\256\271\345\231\250\345\206\205\347\232\204ulimit\345\200\274.md"
index 2645486a2241ea8530499af8ddde5e4d02211281..f8aabaac0f5459798c25f91003f48f2ee40ce016 100644
--- "a/content/zh/docs/Container/\351\205\215\347\275\256\345\256\271\345\231\250\345\206\205\347\232\204ulimit\345\200\274.md"
+++ "b/content/zh/docs/Container/\351\205\215\347\275\256\345\256\271\345\231\250\345\206\205\347\232\204ulimit\345\200\274.md"
@@ -39,101 +39,101 @@
2. 通过daemon端参数或配置文件
- 详见[命令行接口](命令行参数说明.md)与[配置文件](zh-cn_topic_0184347952.md)中的--default-ulimits相关选项。
-
-
---ulimit可以对以下类型的资源进行限制。
-
-
- 类型
-
- 说明
-
- 取值范围
-
-
-
- core
-
- limits the core file size (KB)
-
- 64位整数(INT64),无单位。可以为0、负、其中-1表示UNLIMITED,即不做限制,其余的负数会被强制转换为一个大的正整数。
-
-
- cpu
-
- max CPU time (MIN)
-
-
- data
-
- max data size (KB)
-
-
- fsize
-
- maximum filesize (KB)
-
-
- locks
-
- max number of file locks the user can hold
-
-
- memlock
-
- max locked-in-memory address space (KB)
-
-
- msgqueue
-
- max memory used by POSIX message queues (bytes)
-
-
- nice
-
- nice priority
-
-
- nproc
-
- max number of processes
-
-
- rss
-
- max resident set size (KB)
-
-
- rtprio
-
- max realtime priority
-
-
- rttime
-
- realtime timeout
-
-
- sigpending
-
- max number of pending signals
-
-
- stack
-
- max stack size (KB)
-
-
- nofile
-
- max number of open file descriptors
-
- 64位整数(int64),无单位。不可以为负,负数被强转为大数,设置时会出现Operation not permitted
-
-
-
-
+ 详见"(命令行参数说明"与"部署方式"的--default-ulimits相关选项。
+
+ --ulimit可以对以下类型的资源进行限制。
+
+
+ 类型
+
+ 说明
+
+ 取值范围
+
+
+
+ core
+
+ limits the core file size (KB)
+
+ 64位整数(INT64),无单位。可以为0、负、其中-1表示UNLIMITED,即不做限制,其余的负数会被强制转换为一个大的正整数。
+
+
+ cpu
+
+ max CPU time (MIN)
+
+
+ data
+
+ max data size (KB)
+
+
+ fsize
+
+ maximum filesize (KB)
+
+
+ locks
+
+ max number of file locks the user can hold
+
+
+ memlock
+
+ max locked-in-memory address space (KB)
+
+
+ msgqueue
+
+ max memory used by POSIX message queues (bytes)
+
+
+ nice
+
+ nice priority
+
+
+ nproc
+
+ max number of processes
+
+
+ rss
+
+ max resident set size (KB)
+
+
+ rtprio
+
+ max realtime priority
+
+
+ rttime
+
+ realtime timeout
+
+
+ sigpending
+
+ max number of pending signals
+
+
+ stack
+
+ max stack size (KB)
+
+
+ nofile
+
+ max number of open file descriptors
+
+ 64位整数(int64),无单位。不可以为负,负数被强转为大数,设置时会出现Operation not permitted
+
+
+
+
+
## 示例
diff --git "a/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250.md" "b/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250.md"
index f638df8c932e1fcf169dca7b6c19aebadaa3a72f..8bfeacded2890073365f441b4af8a6e43d619c31 100644
--- "a/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250.md"
+++ "b/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250.md"
@@ -43,23 +43,17 @@ restart命令支持参数参考下表。
- 指定t参数且t<0时,请确保自己容器的应用会处理stop信号。
- restart 会首先调用stop停止容器:
+ restart会首先调用stop停止容器。stop会首先给容器发送stop信号(SIGTERM),然后等待一定的时间(这个时间就是用户输入的 t),过了一定时间如果容器仍处于运行状态,那么就发送kill信号(SIGKILL)强杀。
- stop会首先给容器发送stop信号(SIGTERM)
-
- 然后等待一定的时间(这个时间就是用户输入的 t)
-
- 过了一定时间,如果容器仍处于运行状态,那么就发送kill信号(SIGKILL),强杀。
-
- 输入参数t的含义:
+- 输入参数t的含义:
t<0 : 表示一直等待,不管多久都等待程序优雅退出,既然用户这么输入了,表示对自己的应用比较放心,认为自己的程序有合理的stop信号的处理机制。
- t=0 : 表示不等,立即发送kill -9 到容器。
+ t=0 : 表示不等,立即发送kill -9 到容器。
- t\>0 : 表示等一定的时间,如果容器还未退出,就发送kill -9 到容器。
+ t\>0 : 表示等一定的时间,如果容器还未退出,就发送kill -9 到容器。
- 所以如果用户使用t<0 \(比如t=-1\),请确保自己容器的应用会正确处理SIGTERM. 如果容器忽略了该信号,会导致lcrc restart一直卡住。
+ 所以如果用户使用t<0(比如t=-1),请确保自己容器的应用会正确处理SIGTERM. 如果容器忽略了该信号,会导致lcrc restart一直卡住。
## 示例
diff --git "a/content/zh/docs/Container/\351\231\220\345\210\266\345\206\205\345\255\230\350\265\204\346\272\220.md" "b/content/zh/docs/Container/\351\231\220\345\210\266\345\206\205\345\255\230\350\265\204\346\272\220.md"
index dcb1c91a465b2279134b42736b263f79ed85fe28..f7b93ba1ab23d86fa49ebc4c06a587800f8332a2 100644
--- "a/content/zh/docs/Container/\351\231\220\345\210\266\345\206\205\345\255\230\350\265\204\346\272\220.md"
+++ "b/content/zh/docs/Container/\351\231\220\345\210\266\345\206\205\345\255\230\350\265\204\346\272\220.md"
@@ -54,7 +54,7 @@
> **说明:**
>内存资源当前只支持热插,不支持内存热拔。
- kata-runtime中复用了**-m**选项实现了MEM热插的功能,通过统计Pod中所有容器的**-m**选项的和,然后确定需要热插多少内存到轻量级虚机中。
+ kata-runtime中复用了**-m**选项实现了MEM热插的功能,通过统计Pod中所有容器的**-m**选项的和,然后确定需要热插多少内存到轻量级虚机中,例如,
举例:
diff --git "a/content/zh/docs/Container/\351\231\220\345\210\266\345\256\271\345\231\250\345\206\205\346\226\207\344\273\266\345\217\245\346\237\204\346\225\260.md" "b/content/zh/docs/Container/\351\231\220\345\210\266\345\256\271\345\231\250\345\206\205\346\226\207\344\273\266\345\217\245\346\237\204\346\225\260.md"
index 30d1a08ba2c2ecdce17e2c627c8527a56aa7677b..a23df5bf86fa401db40945f7bde018339b5839f9 100644
--- "a/content/zh/docs/Container/\351\231\220\345\210\266\345\256\271\345\231\250\345\206\205\346\226\207\344\273\266\345\217\245\346\237\204\346\225\260.md"
+++ "b/content/zh/docs/Container/\351\231\220\345\210\266\345\256\271\345\231\250\345\206\205\346\226\207\344\273\266\345\217\245\346\237\204\346\225\260.md"
@@ -6,7 +6,7 @@
## 用法
-lcrc create/run时使用--files-limit来限制容器中可以打开的文件句柄数
+lcrc create/run时使用--files-limit来限制容器中可以打开的文件句柄数。
## 参数
diff --git "a/content/zh/docs/Container/\351\231\220\345\210\266\350\277\220\350\241\214\346\227\266\347\232\204IO\350\265\204\346\272\220.md" "b/content/zh/docs/Container/\351\231\220\345\210\266\350\277\220\350\241\214\346\227\266\347\232\204IO\350\265\204\346\272\220.md"
index 15b4d1ebb71a165352558f928eb1e913a56857c1..b0c7e048a7744a765a7fec0506539d95c9c67385 100644
--- "a/content/zh/docs/Container/\351\231\220\345\210\266\350\277\220\350\241\214\346\227\266\347\232\204IO\350\265\204\346\272\220.md"
+++ "b/content/zh/docs/Container/\351\231\220\345\210\266\350\277\220\350\241\214\346\227\266\347\232\204IO\350\265\204\346\272\220.md"
@@ -6,7 +6,7 @@
## 用法
-lcrc create/run时使用--device-read-bps/--device-write-bps :\[\]来限制容器中设备的读写速度。
+lcrc create/run时使用--device-read-bps/--device-write-bps :\[\]来限制容器中设备的读写速度。
## 参数
@@ -23,9 +23,9 @@ create/run时指定--device-read/write-bps参数。
- --device-read -bps / --device- write-bps
+ --device-read-bps/--device-write-bps
- 限制容器中设备的读 速度 /写速度
+ 限制容器中设备的读速度/写速度
64位整数(int64)。值为正整数,可以为0,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
diff --git a/content/zh/docs/Installation/FAQ.md b/content/zh/docs/Installation/FAQ.md
index 492cb870e38abf4b5e479784ad656b5a5c118b44..3985039492d9d0fdd25395b2e6a793ebd19bf835 100644
--- a/content/zh/docs/Installation/FAQ.md
+++ b/content/zh/docs/Installation/FAQ.md
@@ -1 +1 @@
-# FAQ
+# FAQ
diff --git "a/content/zh/docs/Installation/figures/NTP\346\234\215\345\212\241\345\231\250.png" "b/content/zh/docs/Installation/figures/NTP\346\234\215\345\212\241\345\231\250.png"
new file mode 100644
index 0000000000000000000000000000000000000000..90846591116efa658c485c48102ce61aeaf8e8df
Binary files /dev/null and "b/content/zh/docs/Installation/figures/NTP\346\234\215\345\212\241\345\231\250.png" differ
diff --git "a/content/zh/docs/Installation/figures/root\345\257\206\347\240\201-3.png" "b/content/zh/docs/Installation/figures/root\345\257\206\347\240\201-3.png"
new file mode 100644
index 0000000000000000000000000000000000000000..33cf136a5eb516078ed8e6f5ad19b570bc1da1d3
Binary files /dev/null and "b/content/zh/docs/Installation/figures/root\345\257\206\347\240\201-3.png" differ
diff --git a/content/zh/docs/Installation/figures/zh-cn_image_0214071107.png b/content/zh/docs/Installation/figures/zh-cn_image_0214071107.png
new file mode 100644
index 0000000000000000000000000000000000000000..86c61a4b8e2a5795baff2fc74629924d01d7b97b
Binary files /dev/null and b/content/zh/docs/Installation/figures/zh-cn_image_0214071107.png differ
diff --git a/content/zh/docs/Installation/figures/zh-cn_image_0214071156.jpg b/content/zh/docs/Installation/figures/zh-cn_image_0214071156.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3f0a0658e08010f4f453e558a41e31257783b416
Binary files /dev/null and b/content/zh/docs/Installation/figures/zh-cn_image_0214071156.jpg differ
diff --git a/content/zh/docs/Installation/figures/zh-cn_image_0216566635.png b/content/zh/docs/Installation/figures/zh-cn_image_0216566635.png
new file mode 100644
index 0000000000000000000000000000000000000000..2418510f855facae4b47129840894490a1eac7ca
Binary files /dev/null and b/content/zh/docs/Installation/figures/zh-cn_image_0216566635.png differ
diff --git a/content/zh/docs/Installation/figures/zh-cn_image_0216604773.png b/content/zh/docs/Installation/figures/zh-cn_image_0216604773.png
new file mode 100644
index 0000000000000000000000000000000000000000..d245d48dc07e2b01734e21ec1952e89fa9269bdb
Binary files /dev/null and b/content/zh/docs/Installation/figures/zh-cn_image_0216604773.png differ
diff --git a/content/zh/docs/Installation/figures/zh-cn_image_0216604774.png b/content/zh/docs/Installation/figures/zh-cn_image_0216604774.png
new file mode 100644
index 0000000000000000000000000000000000000000..a32856aa08e459ed0f51f8fcf4c2f51511c12095
Binary files /dev/null and b/content/zh/docs/Installation/figures/zh-cn_image_0216604774.png differ
diff --git a/content/zh/docs/Installation/figures/zh-cn_image_0216604776.png b/content/zh/docs/Installation/figures/zh-cn_image_0216604776.png
new file mode 100644
index 0000000000000000000000000000000000000000..13c32c3b06f625300a094638170704e96f2d94c4
Binary files /dev/null and b/content/zh/docs/Installation/figures/zh-cn_image_0216604776.png differ
diff --git a/content/zh/docs/Installation/figures/zh-cn_image_0216604777.png b/content/zh/docs/Installation/figures/zh-cn_image_0216604777.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e94532bc4804633e37db3d5332c409c937c64c2
Binary files /dev/null and b/content/zh/docs/Installation/figures/zh-cn_image_0216604777.png differ
diff --git "a/content/zh/docs/Installation/figures/\345\210\233\345\273\272\347\224\250\346\210\267-4.png" "b/content/zh/docs/Installation/figures/\345\210\233\345\273\272\347\224\250\346\210\267-4.png"
new file mode 100644
index 0000000000000000000000000000000000000000..a5407dd247737be8aa9727ca7e8d83ffb9e8146c
Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\210\233\345\273\272\347\224\250\346\210\267-4.png" differ
diff --git "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\345\274\225\345\257\274\347\225\214\351\235\242.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\345\274\225\345\257\274\347\225\214\351\235\242.png"
new file mode 100644
index 0000000000000000000000000000000000000000..e415db6abd2ed2256843600e3bf44f4511ff4859
Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\345\274\225\345\257\274\347\225\214\351\235\242.png" differ
diff --git "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\246\202\350\247\210-0.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\246\202\350\247\210-0.png"
new file mode 100644
index 0000000000000000000000000000000000000000..d7bb9ef4c4d6b906d4e87456681aaf59c2787c97
Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\246\202\350\247\210-0.png" differ
diff --git "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\272\220-2.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\272\220-2.png"
new file mode 100644
index 0000000000000000000000000000000000000000..16fe926ac0d1b0109c6572dcc9dd06ca2574ca79
Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\272\220-2.png" differ
diff --git "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\272\220.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\272\220.png"
index 1b6190e4b55f356cd4798e942874ceb80a835110..92a2bbf932c51745b9947f6469c5491770b1a252 100644
Binary files "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\272\220.png" and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\272\220.png" differ
diff --git "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\350\275\257\344\273\266.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\350\275\257\344\273\266.png"
index bd1bfaedf600ffbc92b4e56c3b37002208faea50..ae269accb94ccf02ccc65ac9098c5c486a8b02f5 100644
Binary files "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\350\275\257\344\273\266.png" and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\350\275\257\344\273\266.png" differ
diff --git "a/content/zh/docs/Installation/figures/\345\274\200\345\247\213\345\256\211\350\243\205-5.png" "b/content/zh/docs/Installation/figures/\345\274\200\345\247\213\345\256\211\350\243\205-5.png"
new file mode 100644
index 0000000000000000000000000000000000000000..15f69cfabed3148dc5cc8450bc25925f430f0004
Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\274\200\345\247\213\345\256\211\350\243\205-5.png" differ
diff --git "a/content/zh/docs/Installation/figures/\346\227\266\345\214\272.png" "b/content/zh/docs/Installation/figures/\346\227\266\345\214\272.png"
new file mode 100644
index 0000000000000000000000000000000000000000..728ad91c47791e2179907fc44bf895a4bb69e935
Binary files /dev/null and "b/content/zh/docs/Installation/figures/\346\227\266\345\214\272.png" differ
diff --git "a/content/zh/docs/Installation/figures/\350\257\255\350\250\200\346\224\257\346\214\201-1.png" "b/content/zh/docs/Installation/figures/\350\257\255\350\250\200\346\224\257\346\214\201-1.png"
new file mode 100644
index 0000000000000000000000000000000000000000..a5ad25e16bfd5fde821820c0042c65f1e13db288
Binary files /dev/null and "b/content/zh/docs/Installation/figures/\350\257\255\350\250\200\346\224\257\346\214\201-1.png" differ
diff --git a/content/zh/docs/Installation/installation.md b/content/zh/docs/Installation/installation.md
index a74c0970888ce1b81d76aad05e1afebb69efccf5..99a3d300d85e7ed25e402131d33f6ba3013f0dfd 100644
--- a/content/zh/docs/Installation/installation.md
+++ b/content/zh/docs/Installation/installation.md
@@ -1,3 +1 @@
-## 概述
-
本文档简要描述如何获取openEuler的安装包,并通过多种方式完成openEuler的默认安装。文中安装使用openEuler 1.0版本。
\ No newline at end of file
diff --git "a/content/zh/docs/Installation/openEuler\345\274\200\346\234\272\345\220\216\350\277\233\345\205\245emergency\346\250\241\345\274\217.md" "b/content/zh/docs/Installation/openEuler\345\274\200\346\234\272\345\220\216\350\277\233\345\205\245emergency\346\250\241\345\274\217.md"
new file mode 100644
index 0000000000000000000000000000000000000000..59890d36e35a8a922ce6d3902fd620bac72c69ee
--- /dev/null
+++ "b/content/zh/docs/Installation/openEuler\345\274\200\346\234\272\345\220\216\350\277\233\345\205\245emergency\346\250\241\345\274\217.md"
@@ -0,0 +1,39 @@
+# openEuler开机后进入emergency模式
+
+## 问题现象
+
+openEuler系统开机后进入emergency模式,如下图所示:
+
+
+
+## 原因分析
+
+操作系统文件系统损坏导致磁盘挂载失败,或者io压力过大导致磁盘挂载超时(超时时间为90秒)。
+
+系统异常掉电、物理磁盘io性能低等情况都可能导致该问题。
+
+## 解决方法
+
+1. 用户直接输入root账号的密码,登录系统。
+2. 使用fsck工具,检测并修复文件系统,然后重启。
+
+ > **说明:**
+ >fsck(file system check)用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。 用户可以通过“fsck.ext3 -h”、“fsck.ext4 -h”命令查看fsck的使用方法。
+
+
+另外,如果用户需要取消磁盘挂载超时时间,可以直接在“/etc/fstab”文件中添加“x-systemd.device-timeout=0”。如下:
+
+```
+#
+# /etc/fstab
+# Created by anaconda on Mon Sep 14 17:25:48 2015
+#
+# Accessible filesystems, by reference, are maintained under '/dev/disk'
+# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
+#
+/dev/mapper/openEuler-root / ext4 defaults,x-systemd.device-timeout=0 0 0
+UUID=afcc811f-4b20-42fc-9d31-7307a8cfe0df /boot ext4 defaults,x-systemd.device-timeout=0 0 0
+/dev/mapper/openEuler-home /home ext4 defaults 0 0
+/dev/mapper/openEuler-swap swap swap defaults 0 0
+```
+
diff --git a/content/zh/docs/Installation/zh-cn_bookmap_0214071143.md b/content/zh/docs/Installation/zh-cn_bookmap_0214071143.md
new file mode 100644
index 0000000000000000000000000000000000000000..1eaf5504f11a8cecd8c8bbfc597033f3d5370ecd
--- /dev/null
+++ b/content/zh/docs/Installation/zh-cn_bookmap_0214071143.md
@@ -0,0 +1,57 @@
+# 安装指南
+
+- [法律声明](法律声明.md)
+- [前言](前言.md)
+- [安装准备](安装准备.md)
+ - [获取安装源](获取安装源.md)
+ - [发布包完整性校验](发布包完整性校验.md)
+ - [硬件兼容支持](硬件兼容支持.md)
+ - [最小硬件要求](最小硬件要求.md)
+
+- [安装方式介绍](安装方式介绍.md)
+ - [通过光盘安装](通过光盘安装.md)
+
+- [安装指导](安装指导.md)
+ - [启动安装](启动安装.md)
+ - [通过图形化模式安装](通过图形化模式安装.md)
+ - [设置安装程序语言](设置安装程序语言.md)
+ - [进入安装界面](进入安装界面.md)
+ - [设置安装参数](设置安装参数.md)
+ - [设置键盘](设置键盘.md)
+ - [设置系统语言](设置系统语言.md)
+ - [设置时间和日期](设置时间和日期.md)
+ - [设置安装源](设置安装源.md)
+ - [选择安装软件](选择安装软件.md)
+ - [设置安装位置](设置安装位置.md)
+ - [设置网络和主机名](设置网络和主机名.md)
+
+ - [开始安装](开始安装.md)
+ - [安装过程配置](安装过程配置.md)
+ - [安装完成](安装完成.md)
+
+ - [通过文本模式安装](通过文本模式安装.md)
+ - [进入安装界面](进入安装界面-0.md)
+ - [设置安装参数](设置安装参数-1.md)
+ - [设置系统语言](设置系统语言-2.md)
+ - [设置时区、NTP服务](设置时区-NTP服务.md)
+ - [设置安装源](设置安装源-3.md)
+ - [选择安装软件](选择安装软件-4.md)
+ - [设置安装位置](设置安装位置-5.md)
+ - [设置网络](设置网络.md)
+ - [设置root密码](设置root密码.md)
+ - [创建用户](创建用户.md)
+
+ - [完成安装](完成安装.md)
+
+
+- [FAQ](FAQ.md)
+ - [安装openEuler时选择第二盘位为安装目标,操作系统无法启动](安装openEuler时选择第二盘位为安装目标-操作系统无法启动.md)
+ - [网络配置约束限制](网络配置约束限制.md)
+ - [openEuler开机后进入emergency模式](openEuler开机后进入emergency模式.md)
+ - [系统中存在无法激活的逻辑卷组时,重装系统失败](系统中存在无法激活的逻辑卷组时-重装系统失败.md)
+ - [选择安装源出现异常](选择安装源出现异常.md)
+ - [软件包依赖](软件包依赖.md)
+
+ - [如何手动开启kdump服务](如何手动开启kdump服务.md)
+
+
diff --git "a/content/zh/docs/Installation/\345\210\233\345\273\272\347\224\250\346\210\267.md" "b/content/zh/docs/Installation/\345\210\233\345\273\272\347\224\250\346\210\267.md"
index 9b0dd505c2646dc5c355bda0dc5bb28d9a601a16..da7f2845215fe91e9d512f859af544424f1808a4 100644
--- "a/content/zh/docs/Installation/\345\210\233\345\273\272\347\224\250\346\210\267.md"
+++ "b/content/zh/docs/Installation/\345\210\233\345\273\272\347\224\250\346\210\267.md"
@@ -1,12 +1,12 @@
-# 创建用户
+# 创建用户
-在[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)中输入“8”,然后按“Enter”,按照界面提示,创建用户、设置用户全名/用户名、用户密码、是否管理员、属组等信息。
+在“安装概览”页面中输入“8”,然后按“Enter”,按照界面提示,创建用户、设置用户全名/用户名、用户密码、是否管理员、属组等信息。
> **说明:**
->用户在新创建用户密码时,需要满足密码复杂度要求,否则会设置失败。建议密码的复杂度参照[密码复杂度](安装过程配置.md#zh-cn_topic_0186390266_zh-cn_topic_0122145909_sde5f91f1b197422180f50c693caff342)。
+>用户在新创建用户密码时,需要满足密码复杂度要求,否则会设置失败。建议密码的复杂度参照“安装指导 \> 通过图形化模式安装 \> 安装过程配置”章节中的“密码复杂度”。
**图 1** 创建用户
-
+
-设置完成后,在界面输入“c”,返回安装配置主页面。
+设置完成后,在界面输入“c”,返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\345\211\215\350\250\200.md" "b/content/zh/docs/Installation/\345\211\215\350\250\200.md"
index 34b2a6e85eb0e2465bcb070d381d6834044b384a..e97e34d5aed3519d13ed42fed1cb8b4373649cbc 100644
--- "a/content/zh/docs/Installation/\345\211\215\350\250\200.md"
+++ "b/content/zh/docs/Installation/\345\211\215\350\250\200.md"
@@ -1,8 +1,8 @@
-# 前言
+# 前言
## 概述
-本文档主要介绍openEuler 1.0的系统安装方法,包括图形化模式安装、文本模式安装和使用kickstart自动化安装三种方式,以指导用户顺利完成openEuler 1.0的系统安装。
+本文档主要介绍openEuler 1.0的系统安装方法,包括图形化模式安装、文本模式安装,以指导用户顺利完成openEuler 1.0的系统安装。
## 读者对象
@@ -13,18 +13,24 @@
在本文中可能出现下列标志,它们所代表的含义如下。
- 符号
-
- 说明
-
-
-
-
-
- 用于传递设备或环境安全警示信息,若不避免,可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。
- “注意”不涉及人身伤害。
-
-
-
-
- 符号
+
+ 说明
+
+
+
+
+
+ 用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。
+ “须知”不涉及人身伤害。
+
+
+
+
+ 对正文中重点信息的补充说明。
+ “说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。
+
+
+
+
+
diff --git "a/content/zh/docs/Installation/\345\217\221\345\270\203\345\214\205\345\256\214\346\225\264\346\200\247\346\240\241\351\252\214.md" "b/content/zh/docs/Installation/\345\217\221\345\270\203\345\214\205\345\256\214\346\225\264\346\200\247\346\240\241\351\252\214.md"
index a0a693e445948abefedb5b66f0f6154c23c8b35d..928d14cea3b13c5da408c49117f761b47153c13c 100644
--- "a/content/zh/docs/Installation/\345\217\221\345\270\203\345\214\205\345\256\214\346\225\264\346\200\247\346\240\241\351\252\214.md"
+++ "b/content/zh/docs/Installation/\345\217\221\345\270\203\345\214\205\345\256\214\346\225\264\346\200\247\346\240\241\351\252\214.md"
@@ -1,4 +1,4 @@
-# 发布包完整性校验
+# 发布包完整性校验
## 简介
diff --git "a/content/zh/docs/Installation/\345\220\257\345\212\250\345\256\211\350\243\205.md" "b/content/zh/docs/Installation/\345\220\257\345\212\250\345\256\211\350\243\205.md"
index a53e84a8c3525c942c473a2d9cedc5ff47d8767d..30fe272a203f891d1b55125d7b590e3f48ea1e23 100644
--- "a/content/zh/docs/Installation/\345\220\257\345\212\250\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/Installation/\345\220\257\345\212\250\345\256\211\350\243\205.md"
@@ -1,10 +1,9 @@
-# 启动安装
+# 启动安装
-在服务器的光驱中加载openEuler 1.0安装镜像后重启服务器,具体步骤如下。
+在服务器的光驱中加载openEuler 1.0安装镜像,重启服务器,具体步骤如下。
> **说明:**
->在安装开始前,需要保证服务器启动选项为光驱优先。
->安装步骤以BMC挂载虚拟光驱进行光盘安装的操作举例。通过物理光驱安装的操作简单,启动安装后的流程相同,此处不再说明。
+>在安装开始前,需要保证服务器启动选项为光驱优先。安装步骤以BMC挂载虚拟光驱进行光盘安装的操作举例。通过物理光驱安装的操作简单,启动安装后的流程相同,在此不再说明。
1. 在虚拟界面工具栏中,单击虚拟光驱工具如下图所示。
@@ -23,29 +22,25 @@
**图 3** 重启图标

-5. 系统使用引导介质完成引导后会显示引导菜单。该引导菜单除启动安装程序外还提供一些选项。安装系统时,默认采用Test this media & install openEuler 1.0方式进行安装。如果要选择默认选项之外的选项,请使用键盘中的“↑”和“↓”方向键进行选择,并在选项为高亮状态时按“Enter”。
+5. 系统使用引导介质完成引导后会显示引导菜单。该引导菜单除启动安装程序外还提供一些选项。安装系统时,默认采用“Install openEuler 1.0 with text mode”方式进行安装。如果要选择默认选项之外的选项,请使用键盘中的“↑”和“↓”方向键进行选择,并在选项为高亮状态时按“Enter”。
> **说明:**
- >- 如果60秒内未按“Enter”选择安装方式,系统将选择默认选项“Test this media & install openEuler 1.0”自动进入安装界面。
- >- 安装物理机时,如果使用键盘上下键无法选择启动选项,按"Enter"键无响应,可以单击BMC界面上的鼠标控制图标“”,设置“键鼠复位”。
+ >- 如果60秒内未按任何键,系统将从默认选项“Install openEuler 1.0 with text mode”自动进入安装界面。
+ >- 安装物理机时,如果使用键盘上下键无法选择启动选项,按“Enter”键无响应,可以单击BMC界面上的鼠标控制图标“”,设置“键鼠复位”。
**图 4** 安装引导界面
-
-
- 
+ 
安装引导选项说明如下:
- - Install openEuler 1.0 with GUI mode —— 在您的服务器上使用图形模式安装。详见[通过图形化模式安装](通过图形化模式安装.md)。
+ - Install openEuler 1.0 with GUI mode —— 在您的服务器上使用图形模式安装。详见“安装指导 \> 通过图形化模式安装”章节。
+ - Install openEuler 1.0 with text mode ——默认选项,在您的服务器上使用文本模式安装。安装的过程默认在系统的串口tty0中完成。详见“安装指导 \> 通过文本模式安装”章节。
- - Install openEuler 1.0 with text mode —— 默认选项,在您的服务器上使用文本模式安装。安装的过程默认在系统的串口tty0中完成。详见[通过文本模式安装](通过文本模式安装.md)。
- Test this media & install openEuler 1.0 —— 在您的服务器上使用图形安装程序安装,但在启动安装程序前会进行安装介质的完整性检查。
- - Trubleshooting —— 问题定位模式,系统无法正常安装时使用。进入问题定位模式后,可以选择进入简单图形安装模式(Install openEuler 1.0 in basic graphics mode)或救援模式(Rescue the openEuler system)。
-
- > **说明:**
- >- Install openEuler 1.0 in basic graphics mode为简单图形安装模式,该模式下在系统启动并运行之前不启动视频驱动程序。
- >- Rescue the openEuler system为救援模式,用于修复系统。该模式下输出定向到VNC或BMC(Baseboard Management Controller)端,串口不可用。
+ - Trubleshooting —— 问题定位模式,系统无法正常安装时使用。进入问题定位模式后,有如下两个选项。
+ - Install openEuler 1.0 in basic graphics mode —— 简单图形安装模式,该模式下在系统启动并运行之前不启动视频驱动程序。
+ - Rescue the openEuler system —— 救援模式,用于修复系统。该模式下输出定向到VNC或BMC(Baseboard Management Controller)端,串口不可用。
diff --git "a/content/zh/docs/Installation/\345\246\202\344\275\225\346\211\213\345\212\250\345\274\200\345\220\257kdump\346\234\215\345\212\241.md" "b/content/zh/docs/Installation/\345\246\202\344\275\225\346\211\213\345\212\250\345\274\200\345\220\257kdump\346\234\215\345\212\241.md"
index b6997cc4c81f96c5287d99ce0810ff2741ebc509..c6ac1e2f92368a2bc84fd969019a915c243afe24 100644
--- "a/content/zh/docs/Installation/\345\246\202\344\275\225\346\211\213\345\212\250\345\274\200\345\220\257kdump\346\234\215\345\212\241.md"
+++ "b/content/zh/docs/Installation/\345\246\202\344\275\225\346\211\213\345\212\250\345\274\200\345\220\257kdump\346\234\215\345\212\241.md"
@@ -1,18 +1,18 @@
-# 如何手动开启kdump服务
+# 如何手动开启kdump服务
## 问题现象
-执行命令systemctl status kdump,显示状态信息如下,提示无预留内存。
+执行systemctl status kdump命令,显示状态信息如下,提示无预留内存。
-
+
## 原因分析
-kdump需要预留出一段内存,运行kdump内核。当前无预留内存,无法运行kdump。
+kdump服务需要系统预留一段内存用于运行kdump内核,而当前系统没有为kdump服务预留内存,所以无法运行kdump服务。
## 解决方法
-**方法一:**已安装操作系统的场景
+已安装操作系统的场景
1. 修改/boot/efi/EFI/openEuler/grub.cfg,添加crashkernel=1024M,high。
2. 重启系统使配置生效。
@@ -24,22 +24,12 @@ kdump需要预留出一段内存,运行kdump内核。当前无预留内存,
若回显如下,即kdump的状态为active,说明kdump已使能,操作结束。
- 
+ 
-**方法二:**kickstart自动化安装场景
+## 参数说明
-kickstart安装过程中,在kickstart脚本的post段中,添加修改/boot/efi/EFI/openEuler/grub.cfg文件的命令,设置crashkernel=1024M,high。
-
-```
-%post
-#enable kdump
-sed -i "s/ ro / ro crashkernel=1024M,high /" /boot/efi/EFI/openEuler/grub.cfg
-%end
-```
-
-> **说明:**
->kdump内核预留内存参数说明如下:
+kdump内核预留内存参数说明如下:
**表 1** crashkernel参数说明
@@ -56,39 +46,39 @@ sed -i "s/ ro / ro crashkernel=1024M,high /" /boot/efi/EFI/openEuler/grub.cfg
crashkernel=X
- 在4G以下的物理内存预留X大小的内存给kdump使用。
+ 在4G以下的物理内存预留X大小的内存给kdump使用
无,用户根据实际情况调整
- 该配置方法只在4G以下内存预留,必须保证4G以下连续可用内存足够预留。
+ 该配置方法只在4G以下内存预留,必须保证4G以下连续可用内存足够预留
crashkernel=X@Y
- 在Y起始地址预留X大小的内存给kdump使用。
+ 在Y起始地址预留X大小的内存给kdump使用
- 无,用户根据实际情况调整。
+ 无,用户根据实际情况调整
- 需要确保Y起始地址的X大小内存未被其他模块预留。
+ 需要确保Y起始地址的X大小内存未被其他模块预留
crashkernel=X,high
- 在4G以下的物理内存中预留256M大小,在4G以上预留X大小内存给kdump使用。
+ 在4G以下的物理内存中预留256M大小,在4G以上预留X大小内存给kdump使用
- 无,用户根据实际情况调整,推荐值为1024M,high。
+ 无,用户根据实际情况调整,推荐值为1024M,high
- 确保4G以下内存有256M连续可用内存,4G以上有连续X大小内存可预留。实际预留内存大小为256M+X。
+ 确保4G以下内存有256M连续可用内存,4G以上有连续X大小内存可预留。实际预留内存大小为256M+X
crashkernel=X,low
crashkernel=Y,high
- 在4G以下的物理内存中预留X大小,在4G以上预留Y大小内存给kdump使用。
+ 在4G以下的物理内存中预留X大小,在4G以上预留Y大小内存给kdump使用
无,用户根据实际情况调整
- 需要确保4G以下有X大小连续可用内存,4G以上有Y大小连续可用内存。实际预留内存大小为X+Y。
+ 需要确保4G以下有X大小连续可用内存,4G以上有Y大小连续可用内存。实际预留内存大小为X+Y
diff --git "a/content/zh/docs/Installation/\345\256\211\350\243\205openEuler\346\227\266\351\200\211\346\213\251\347\254\254\344\272\214\347\233\230\344\275\215\344\270\272\345\256\211\350\243\205\347\233\256\346\240\207-\346\223\215\344\275\234\347\263\273\347\273\237\346\227\240\346\263\225\345\220\257\345\212\250.md" "b/content/zh/docs/Installation/\345\256\211\350\243\205openEuler\346\227\266\351\200\211\346\213\251\347\254\254\344\272\214\347\233\230\344\275\215\344\270\272\345\256\211\350\243\205\347\233\256\346\240\207-\346\223\215\344\275\234\347\263\273\347\273\237\346\227\240\346\263\225\345\220\257\345\212\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..b9124278f4a7255c358248dcde2407d72835ae1d
--- /dev/null
+++ "b/content/zh/docs/Installation/\345\256\211\350\243\205openEuler\346\227\266\351\200\211\346\213\251\347\254\254\344\272\214\347\233\230\344\275\215\344\270\272\345\256\211\350\243\205\347\233\256\346\240\207-\346\223\215\344\275\234\347\263\273\347\273\237\346\227\240\346\263\225\345\220\257\345\212\250.md"
@@ -0,0 +1,22 @@
+# 安装openEuler时选择第二盘位为安装目标,操作系统无法启动
+
+## 问题现象
+
+安装操作系统时,直接将系统安装到第二块磁盘sdb,重启系统后启动失败。
+
+## 原因分析
+
+当安装系统到第二块磁盘时,MBR和GRUB会默认安装到第二块磁盘sdb。这样会有下面两种情况:
+
+1. 如果第一块磁盘中有完整系统,则加载第一块磁盘中的系统启动。
+2. 如果第一块磁盘中没有完好的操作系统,则会导致硬盘启动失败。
+
+以上两种情况都是因为BIOS默认从第一块磁盘sda中加载引导程序启动系统,如果sda没有系统,则会导致启动失败。
+
+## 解决方法
+
+有以下两种解决方案:
+
+- 当系统处于安装过程中,在选择磁盘(选择第一块或者两块都选择)后,指定引导程序安装到第一块盘sda中。
+- 当系统已经安装完成,若BIOS支持选择从哪个磁盘启动,则可以通过修改BIOS中磁盘启动顺序,尝试重新启动系统。
+
diff --git "a/content/zh/docs/Installation/\345\256\211\350\243\205\345\207\206\345\244\207.md" "b/content/zh/docs/Installation/\345\256\211\350\243\205\345\207\206\345\244\207.md"
index 7b596bb224359754bfe26a039657f63fafd8fc40..52edbd9755c5b5a66671f43d94a557fe1b69c8c5 100644
--- "a/content/zh/docs/Installation/\345\256\211\350\243\205\345\207\206\345\244\207.md"
+++ "b/content/zh/docs/Installation/\345\256\211\350\243\205\345\207\206\345\244\207.md"
@@ -1,3 +1,3 @@
-# 安装准备
+# 安装准备
介绍安装前需要考虑软硬件兼容性状况,以及相关的配置和准备工作。
diff --git "a/content/zh/docs/Installation/\345\256\211\350\243\205\345\256\214\346\210\220.md" "b/content/zh/docs/Installation/\345\256\211\350\243\205\345\256\214\346\210\220.md"
index e83757814946295b02636f3b017698ec6a7b440c..47b0de197cbb73e1399ad5f09cc9e274444847fb 100644
--- "a/content/zh/docs/Installation/\345\256\211\350\243\205\345\256\214\346\210\220.md"
+++ "b/content/zh/docs/Installation/\345\256\211\350\243\205\345\256\214\346\210\220.md"
@@ -1,6 +1,6 @@
-# 安装完成
+# 安装完成
-此刻,openEuler已完成安装,如[图1](#zh-cn_topic_0186390267_zh-cn_topic_0122145917_fig1429512116338)所示。单击“重启”后系统将重新启动。
+此刻,openEuler已完成安装,如[图1](#zh-cn_topic_0186390267_zh-cn_topic_0122145917_fig1429512116338)所示。单击“重启”后,系统将重新启动。
**图 1** 完成安装

diff --git "a/content/zh/docs/Installation/\345\256\211\350\243\205\346\214\207\345\257\274.md" "b/content/zh/docs/Installation/\345\256\211\350\243\205\346\214\207\345\257\274.md"
index 5624122b6bc94c25d644c72b094ebea6256b8b27..3f9f0cc3b3e98cc68bd9ed940a1c6a5d18904b92 100644
--- "a/content/zh/docs/Installation/\345\256\211\350\243\205\346\214\207\345\257\274.md"
+++ "b/content/zh/docs/Installation/\345\256\211\350\243\205\346\214\207\345\257\274.md"
@@ -1,4 +1,3 @@
-# 安装指导
+# 安装指导
本章介绍如何通过光盘安装openEuler 1.0。
-
diff --git "a/content/zh/docs/Installation/\345\256\211\350\243\205\346\226\271\345\274\217\344\273\213\347\273\215.md" "b/content/zh/docs/Installation/\345\256\211\350\243\205\346\226\271\345\274\217\344\273\213\347\273\215.md"
index fbb191477357071771bb3760b2175b856e0d26c1..6fe2dbffa4f67a75dcb21dadf9b0b0278427670e 100644
--- "a/content/zh/docs/Installation/\345\256\211\350\243\205\346\226\271\345\274\217\344\273\213\347\273\215.md"
+++ "b/content/zh/docs/Installation/\345\256\211\350\243\205\346\226\271\345\274\217\344\273\213\347\273\215.md"
@@ -1,3 +1 @@
-# 安装方式介绍
-
-
+# 安装方式介绍
diff --git "a/content/zh/docs/Installation/\345\256\211\350\243\205\350\277\207\347\250\213\351\205\215\347\275\256.md" "b/content/zh/docs/Installation/\345\256\211\350\243\205\350\277\207\347\250\213\351\205\215\347\275\256.md"
index c32219783b70fcbeb445e086a818a0f80046c878..e20b2849233b5ab3ea1ad5a7068871e66befa360 100644
--- "a/content/zh/docs/Installation/\345\256\211\350\243\205\350\277\207\347\250\213\351\205\215\347\275\256.md"
+++ "b/content/zh/docs/Installation/\345\256\211\350\243\205\350\277\207\347\250\213\351\205\215\347\275\256.md"
@@ -1,4 +1,4 @@
-# 安装过程配置
+# 安装过程配置
开始安装后会出现进度页面,显示安装进度及所选软件包写入系统的进度。
@@ -55,9 +55,6 @@
单击“创建用户”,弹出创建用户的界面如[图3](#zh-cn_topic_0186390266_zh-cn_topic_0122145909_fig1237715313319)所示。输入用户名,并设置密码。另外您还可以通过“高级”选项设置用户主目录、用户组等,如[图4](#zh-cn_topic_0186390266_zh-cn_topic_0122145909_fig128716531312)所示。
-> **说明:**
->出于系统安全考虑,openEuler禁止root用户直接ssh远程登录。建议您在此创建普通用户,并将其加入wheel群组,以便您在系统安装完成后远程登录。
-
**图 3** 创建用户

diff --git "a/content/zh/docs/Installation/\345\256\214\346\210\220\345\256\211\350\243\205.md" "b/content/zh/docs/Installation/\345\256\214\346\210\220\345\256\211\350\243\205.md"
index b3bc95b936c0514a9f86671ac530b91be8768ba2..47acac71e57e1cddb0eb8f14e4ce39db03f3d045 100644
--- "a/content/zh/docs/Installation/\345\256\214\346\210\220\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/Installation/\345\256\214\346\210\220\345\256\211\350\243\205.md"
@@ -1,9 +1,9 @@
-# 完成安装
+# 完成安装
-在[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)上完成所有必填选项的配置后,界面上的警告\[!\]会消失。此时,在界面输入“b”,进行系统安装。
+在“安装概览”页面上完成所有必填选项的配置后,界面上的警告\[!\]会消失。此时,在界面输入“b”,进行系统安装。
**图 1** 开始安装
-
+
**图 2** 安装完成后按Enter键重启

diff --git "a/content/zh/docs/Installation/\345\274\200\345\247\213\345\256\211\350\243\205.md" "b/content/zh/docs/Installation/\345\274\200\345\247\213\345\256\211\350\243\205.md"
index 710ac0a3e34be0938dba25d4fdc8efb71e521290..7de1ba84dfe48f2e938e33d81fb6910059709d1f 100644
--- "a/content/zh/docs/Installation/\345\274\200\345\247\213\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/Installation/\345\274\200\345\247\213\345\256\211\350\243\205.md"
@@ -1,4 +1,4 @@
-# 开始安装
+# 开始安装
在安装界面上完成所有必填选项的配置后,界面上的警告会消失。此时,用户可以单击“开始安装”进行系统安装。
diff --git "a/content/zh/docs/Installation/\346\234\200\345\260\217\347\241\254\344\273\266\350\246\201\346\261\202.md" "b/content/zh/docs/Installation/\346\234\200\345\260\217\347\241\254\344\273\266\350\246\201\346\261\202.md"
index 568d392954f8c0f8d618cbee7c919867c5555bbe..36bcb4eee432b4be27abf0ae5e12f4ef74e12997 100644
--- "a/content/zh/docs/Installation/\346\234\200\345\260\217\347\241\254\344\273\266\350\246\201\346\261\202.md"
+++ "b/content/zh/docs/Installation/\346\234\200\345\260\217\347\241\254\344\273\266\350\246\201\346\261\202.md"
@@ -1,4 +1,4 @@
-# 最小硬件要求
+# 最小硬件要求
openEuler所需的最小硬件要求如[表1](#tff48b99c9bf24b84bb602c53229e2541)所示。
@@ -22,7 +22,7 @@ openEuler所需的最小硬件要求如[表1](#tff48b99c9bf24b84bb602c53229e2541
CPU
- 鲲鹏920系列CPU
+ 华为 鲲鹏920系列CPU
强烈建议同一集群计算节点物理服务器CPU为同一系列。
diff --git "a/content/zh/docs/Installation/\346\263\225\345\276\213\345\243\260\346\230\216.md" "b/content/zh/docs/Installation/\346\263\225\345\276\213\345\243\260\346\230\216.md"
new file mode 100644
index 0000000000000000000000000000000000000000..9b359e495cda93f94be4c3324052c61002aff8b1
--- /dev/null
+++ "b/content/zh/docs/Installation/\346\263\225\345\276\213\345\243\260\346\230\216.md"
@@ -0,0 +1,14 @@
+# 法律声明
+
+**版权所有 © 2020 华为技术有限公司。**
+
+您对“本文档”的复制、使用、修改及分发受知识共享\(Creative Commons\)署名—相同方式共享4.0国际公共许可协议\(以下简称“CC BY-SA 4.0”\)的约束。为了方便用户理解,您可以通过访问[https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) 了解CC BY-SA 4.0的概要 \(但不是替代\)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode)。
+
+**商标声明**
+
+openEuler为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
+
+**免责声明**
+
+本文档仅作为使用指导,除非适用法强制规定或者双方有明确书面约定, 华为技术有限公司对本文档中的所有陈述、信息和建议不做任何明示或默示的声明或保证,包括但不限于不侵权,时效性或满足特定目的的担保。
+
diff --git "a/content/zh/docs/Installation/\347\241\254\344\273\266\345\205\274\345\256\271\346\224\257\346\214\201.md" "b/content/zh/docs/Installation/\347\241\254\344\273\266\345\205\274\345\256\271\346\224\257\346\214\201.md"
index 786f0fd2066d3f5513070a661d45be0a2750d875..b8bfa90519224665b96dbdc56ce6e82f4005a82c 100644
--- "a/content/zh/docs/Installation/\347\241\254\344\273\266\345\205\274\345\256\271\346\224\257\346\214\201.md"
+++ "b/content/zh/docs/Installation/\347\241\254\344\273\266\345\205\274\345\256\271\346\224\257\346\214\201.md"
@@ -1,9 +1,9 @@
-# 硬件兼容支持
+# 硬件兼容支持
-openEuler安装时,应注意硬件兼容性方面的问题,当前已支持的服务器类型如[表1 支持的服务器类型](#table14948632047)所示。
+openEuler安装时,应注意硬件兼容性方面的问题,当前已支持的服务器类型如[表1](#table14948632047)所示。
> **说明:**
->- TaiShan 200服务器基于鲲鹏920处理器。
+>- TaiShan 200服务器基于华为鲲鹏920处理器。
>- 当前仅支持华为TaiShan服务器,后续将逐步增加对其他厂商服务器的支持。
**表 1** 支持的服务器类型
diff --git "a/content/zh/docs/Installation/\347\263\273\347\273\237\344\270\255\345\255\230\345\234\250\346\227\240\346\263\225\346\277\200\346\264\273\347\232\204\351\200\273\350\276\221\345\215\267\347\273\204\346\227\266-\351\207\215\350\243\205\347\263\273\347\273\237\345\244\261\350\264\245.md" "b/content/zh/docs/Installation/\347\263\273\347\273\237\344\270\255\345\255\230\345\234\250\346\227\240\346\263\225\346\277\200\346\264\273\347\232\204\351\200\273\350\276\221\345\215\267\347\273\204\346\227\266-\351\207\215\350\243\205\347\263\273\347\273\237\345\244\261\350\264\245.md"
new file mode 100644
index 0000000000000000000000000000000000000000..edd72d063fd9005ab3078da3bdc6292b5fccf7b5
--- /dev/null
+++ "b/content/zh/docs/Installation/\347\263\273\347\273\237\344\270\255\345\255\230\345\234\250\346\227\240\346\263\225\346\277\200\346\264\273\347\232\204\351\200\273\350\276\221\345\215\267\347\273\204\346\227\266-\351\207\215\350\243\205\347\263\273\347\273\237\345\244\261\350\264\245.md"
@@ -0,0 +1,48 @@
+# 系统中存在无法激活的逻辑卷组时,重装系统失败
+
+## 问题现象
+
+由于磁盘故障,系统中存在无法激活的逻辑卷组,重装系统出现异常。
+
+## 原因分析
+
+安装时有激活逻辑卷组的操作,无法激活时会抛出异常。
+
+## 解决方法
+
+重装系统前如果系统中存在无法激活的逻辑卷组,为了避免重装系统过程出现异常,需在重装前将逻辑卷组恢复到正常状态或者清除这些逻辑卷组。举例如下:
+
+- 恢复逻辑卷组状态
+ 1. 使用以下命令清除vg激活状态, 防止出现“Can't open /dev/sdc exclusively mounted filesystem”。
+
+ ```
+ vgchange -a n testvg32947
+ ```
+
+ 2. 根据备份文件重新创建pv。
+
+ ```
+ pvcreate --uuid JT7zlL-K5G4-izjB-3i5L-e94f-7yuX-rhkLjL --restorefile /etc/lvm/backup/testvg32947 /dev/sdc
+ ```
+
+ 3. 恢复vg信息。
+
+ ```
+ vgcfgrestore testvg32947
+ ```
+
+ 4. 重新激活vg。
+
+ ```
+ vgchange -ay testvg32947
+ ```
+
+
+- 清除逻辑卷组
+
+ ```
+ vgchange -a n testvg32947
+ vgremove -y testvg32947
+ ```
+
+
diff --git "a/content/zh/docs/Installation/\347\275\221\347\273\234\351\205\215\347\275\256\347\272\246\346\235\237\351\231\220\345\210\266.md" "b/content/zh/docs/Installation/\347\275\221\347\273\234\351\205\215\347\275\256\347\272\246\346\235\237\351\231\220\345\210\266.md"
new file mode 100644
index 0000000000000000000000000000000000000000..ea71ea5922a581021dddaa2b0e72be8ae45a4ce5
--- /dev/null
+++ "b/content/zh/docs/Installation/\347\275\221\347\273\234\351\205\215\347\275\256\347\272\246\346\235\237\351\231\220\345\210\266.md"
@@ -0,0 +1,25 @@
+# 网络配置约束限制
+
+NetworkManager、network两个服务均是网络服务管理包,两个服务之间存在部分功能重叠。
+
+- 如果使用NetworkManager管理服务,则必须使用nmcli命令或修改配置文件来配置网络(如IP、路由等),而不能使用ip/ifconfig/route命令来配置。
+
+ > **说明:**
+ >在开启NetworkManager服务的场景下,使用ip/ifconfig/route等命令配置网络,则一段时间后配置会被NetworkManager覆盖,导致 ip/ifconfig/route配置不生效。
+
+ 查看NetworkManager 服务是否开启:
+
+ ```
+ systemctl status NetworkManager
+ ```
+
+ > **说明:**
+ >nmcli命令使用参考“nmcli --help”或者“man nmcli”。
+
+- 如果要使用ip/ifconfig/route等命令来管理网络,请先关闭NetworkManager服务,使用如下命令:
+
+ ```
+ systemctl stop NetworkManager
+ ```
+
+
diff --git "a/content/zh/docs/Installation/\350\216\267\345\217\226\345\256\211\350\243\205\346\272\220.md" "b/content/zh/docs/Installation/\350\216\267\345\217\226\345\256\211\350\243\205\346\272\220.md"
index 1ea2703ee0e95510312a05197dd9aa1f7643fca9..04ee87a3586c02be4e115e66275448a0785269ba 100644
--- "a/content/zh/docs/Installation/\350\216\267\345\217\226\345\256\211\350\243\205\346\272\220.md"
+++ "b/content/zh/docs/Installation/\350\216\267\345\217\226\345\256\211\350\243\205\346\272\220.md"
@@ -1,7 +1,11 @@
-# 获取安装源
+# 获取安装源
-在安装开始前,您需要获取openEuler的发布包。
+在安装开始前,您需要获取openEuler的发布包和校验文件。
-> **说明:**
->软件包下载地址将在后续确认后提供。
+请按以下步骤获取openEuler的发布包:
+
+1. 登录[openEuler社区](https://openeuler.org)网站。
+2. 单击“下载”,显示下载列表。
+3. 单击“下载openEuler ISO”,将openEuler-1.0-aarch64-dvd.iso发布包下载到本地。
+4. 单击“如何检验请下载:”提示下的链接“openEuler-1.0-aarch64-dvd.iso.sha256sum”,将校验文件openEuler-1.0-aarch64-dvd.iso.sha256sum下载到本地。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256root\345\257\206\347\240\201.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256root\345\257\206\347\240\201.md"
index 30377e12f640e22d1fcf1e612ba48f05876213d3..451dea025f6646a1bcecb8946b22a5f62480cb45 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256root\345\257\206\347\240\201.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256root\345\257\206\347\240\201.md"
@@ -1,14 +1,14 @@
-# 设置root密码
+# 设置root密码
-在[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)中输入“7”,然后按“Enter”,设置root密码。
+在“安装概览”页面中输入“7”,然后按“Enter”,设置root密码。
> **说明:**
>- 强制用户在安装系统时设置root密码,否则无法安装通过。
>- root账户是用来执行关键系统管理任务,不建议您在日常工作及系统访问时使用root账户。
->- 用户在设置root用户密码或者新创建用户密码时,强烈建议按照密码复杂度要求设置。设置弱密码(不符合下文所述复杂度要求的密码)时系统会发出告警并询问是否仍然使用,输入“yes”可以强制设置弱密码,但是弱密码存在较大安全风险,请用户根据实际情况谨慎决策。建议密码的复杂度参照[密码复杂度](安装过程配置.md#zh-cn_topic_0186390266_zh-cn_topic_0122145909_sde5f91f1b197422180f50c693caff342)
+>- 用户在设置root用户密码或者新创建用户密码时,强烈建议按照密码复杂度要求设置。设置弱密码(不符合下文所述复杂度要求的密码)时系统会发出告警并询问是否仍然使用,输入“yes”可以强制设置弱密码,但是弱密码存在较大安全风险,请用户根据实际情况谨慎决策。建议密码的复杂度参照“安装指导 \> 通过图形化模式安装 \> 安装过程配置”章节中的“密码复杂度”。
**图 1** root密码
-
+
-设置完成后,在界面输入“c”,返回安装配置主页面。
+设置完成后,在界面输入“c”,返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\344\275\215\347\275\256-5.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\344\275\215\347\275\256-5.md"
index c9eccfdfbf45ad1e2cae0141b2cfdb6e3e5652f8..7932db464802b0a475877a8298080788a6154b89 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\344\275\215\347\275\256-5.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\344\275\215\347\275\256-5.md"
@@ -1,6 +1,6 @@
-# 设置安装位置
+# 设置安装位置
-在[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)中输入“5”,然后按“Enter”,设置操作系统的安装位置。安装程序会自动探测并显示可用安装位置信息,通常情况下,用户直接使用默认配置即可。
+在“安装概览”页面中输入“5”,然后按“Enter”,设置操作系统的安装位置。安装程序会自动探测并显示可用安装位置信息,通常情况下,用户直接使用默认配置即可。
**图 1** 安装位置

@@ -13,10 +13,9 @@
- **分区方案**
1. Standard Partition:标准分区。标准分区可包含文件系统或者 swap 空间,也可为软件 RAID 或者 LVM 物理卷提供容器。
- 2. Btrfs:Btrfs。Btrfs 是有多个类设备功能的文件系统。相比 ext2、ext3 和 ext4 文件系统,它可以处理并管理更多文件、更大型的文件以及更大的卷。
- 3. LVM:逻辑卷。逻辑卷管理(LVM)显示一个基本物理存储空间(比如硬盘或者 LUN)的简单裸机视图。可将物理存储中视为物理卷的分区分组成为卷组。可将每个卷组分成多个逻辑卷,每个逻辑卷模拟一个标准磁盘分区。因此,LVM 逻辑卷可作为包含多个物理磁盘的分区使用。
- 4. LVM Thin Provisioning:逻辑卷精简配置。使用精简配置,您可以管理可用空间的存储池,也称精简池,可在程序需要时将其分配给任意数量的设备。可在需要时动态扩展精简池以便有效分配存储空间。
+ 2. LVM:逻辑卷。逻辑卷管理(LVM)显示一个基本物理存储空间(比如硬盘或者 LUN)的简单裸机视图。可将物理存储中视为物理卷的分区分组成为卷组。可将每个卷组分成多个逻辑卷,每个逻辑卷模拟一个标准磁盘分区。因此,LVM 逻辑卷可作为包含多个物理磁盘的分区使用。
+ 3. LVM Thin Provisioning:逻辑卷精简配置。使用精简配置,您可以管理可用空间的存储池,也称精简池,可在程序需要时将其分配给任意数量的设备。可在需要时动态扩展精简池以便有效分配存储空间。
-设置完成后,在界面输入“c”,返回安装配置主页面。
+设置完成后,在界面输入“c”,返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\344\275\215\347\275\256.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\344\275\215\347\275\256.md"
index d8291ca893293025d541488c6e967985990b4f7e..dfde1ee810ac570f8d887bc1c5987a16b14028cd 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\344\275\215\347\275\256.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\344\275\215\347\275\256.md"
@@ -1,36 +1,39 @@
-# 设置安装位置
+# 设置安装位置
-在[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)页面中选择“安装位置”,设置操作系统的安装磁盘及分区。
+在“安装概览”页面中选择“安装位置”,设置操作系统的安装磁盘及分区。
-在[图1](#zh-cn_topic_0186390262_zh-cn_topic_0122145780_fig1279114364236)所示的页面中您可以看到计算机中的本地可用存储设备。您还可以通过单击“添加硬盘\(A\)”添加指定的附加设备或者网络设备。
+在[图1](#fig1195417125015)所示的页面中您可以看到计算机中的本地可用存储设备。您还可以通过单击“添加磁盘”,添加指定的附加设备或者网络设备。
-1. 在系统分区时,您可以手动配置分区,也可以选择让安装程序自动分区。如果是在未使用过的存储设备中执行全新安装,或者不需要保留该存储设备中任何数据,您选择可以选择“自动\(U\)”进行自动分区。
+**图 1** 安装目标位置
+
- > **说明:**
- >- 在进行分区时,出于系统性能和安全的考虑,建议您划分如下单独分区:/boot、/var、/var/log 、/var/log/audit、/home、/tmp。
- >- 系统如果配置了swap分区,当系统的物理内存不够用时,会使用swap分区。虽然 swap分区可以增大物理内存大小的限制,但是如果由于内存不足使用到swap分区,会增加系统的响应时间,性能变差。因此在物理内存充足或者性能敏感的系统中,不建议配置swap分区。
+## 存储配置
+在“安装目标位置”界面,您需要进行存储配置以便对系统分区。您可以手动配置分区,也可以选择让安装程序自动分区。
-**图 1** 安装目标位置
-
+> **说明:**
+>- 在进行分区时,出于系统性能和安全的考虑,建议您划分如下单独分区:/boot、/var、/var/log 、/var/log/audit、/home、/tmp。
+>- 系统如果配置了swap分区,当系统的物理内存不够用时,会使用swap分区。虽然 swap分区可以增大物理内存大小的限制,但是如果由于内存不足使用到swap分区,会增加系统的响应时间,性能变差。因此在物理内存充足或者性能敏感的系统中,不建议配置swap分区。
-1. 若用户需进行手动分区,选择“自定义\(C\)”按钮。
+**自动**
- **图 2** 手动分区
- 
+如果是在未使用过的存储设备中执行全新安装,或者不需要保留该存储设备中任何数据,建议选择“自动”进行自动分区。
- - 自动创建。
+**自定义**
- “点击这里自动创建它们\(C\)”,系统会根据可用的存储空间,自动分出4个挂载点:/boot 、/、/boot/efi、swap。
+若用户需进行手动分区,选择“自定义”按钮,并单击左上角“完成”,出现如下手动分区界面。
- - 手动创建。
+**图 2** 手动分区
+
- 点击“+”添加新挂载点,建议每个挂载点的期望容量不超过可用空间。
+在“手动分区”界面可以通过如下两种方式进行分区。
- > **说明:**
- >若设置的挂载点期望容量超过了可用空间,系统将剩余的可用空间全部分配给该挂载点。
+- 自动创建:在界面单击“点击这里自动创建它们”,系统会根据可用的存储空间,自动分出4个挂载点:/boot 、/、/boot/efi、swap。
+- 手动创建:单击“”添加新挂载点,建议每个挂载点的期望容量不超过可用空间。
+ > **说明:**
+ >若设置的挂载点期望容量超过了可用空间,系统将剩余的可用空间全部分配给该挂载点。
-设置完成后,请单击左上角“完成”返回[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)安装配置主页面。
+设置完成后,请单击左上角“完成”返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\345\217\202\346\225\260-1.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\345\217\202\346\225\260-1.md"
index ee983c4965df025ca36783de610978b637ff6466..2ddaaaf721bdc2079f467325530c77e55d6065fc 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\345\217\202\346\225\260-1.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\345\217\202\346\225\260-1.md"
@@ -1 +1 @@
-# 设置安装参数
+# 设置安装参数
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\345\217\202\346\225\260.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\345\217\202\346\225\260.md"
index 5c915508ae75aa07f8d400bf9695ec6fd6cf16c4..20011e0ce767950f3ef10b4a55fecbc495de53e9 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\345\217\202\346\225\260.md"
@@ -1,3 +1 @@
-# 设置安装参数
-
-
+# 设置安装参数
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\346\272\220-3.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\346\272\220-3.md"
index 008e390d1f36f7cb7e946a00cb13b7d56ef91c01..5f58374c20fbaffd8b2e990696ff0cb68a2a86c1 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\346\272\220-3.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\346\272\220-3.md"
@@ -1,16 +1,18 @@
-# 设置安装源
+# 设置安装源
-在[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)中输入“3”,然后按“Enter”,指定安装源的位置。您可以选择可本地访问的安装源,也可以选择网络位置,如下图所示。当前使用光盘安装,安装程序会自动探测并显示安装源信息,用户直接使用默认配置即可,不需要进行设置。
+在“安装概览”页面中输入“3”,然后按“Enter”,指定安装源的位置。
+
+您可以选择可本地访问的安装源,也可以选择网络位置,如下图所示。当前使用光盘安装,安装程序会自动探测并显示安装源信息,用户直接使用默认配置即可,不需要进行设置。
- CD/DVD:从挂载光驱获取安装源。
- local ISO file:从本地磁盘中获取iso文件。
- Network:通过http、https、ftp、nfs获取网路服务器上的的安装源。
**图 1** 安装源
-
+
-设置完成后,在界面输入“c”,返回安装配置主页面。
+设置完成后,在界面输入“c”,返回“安装概览”页面。
> **说明:**
->安装过程中,如果“设置安装源”有疑问,可参考FAQ[选择安装源出现异常](选择安装源出现异常.md)。
+>安装过程中,如果“设置安装源”有疑问,可参考“FAQ \> 选择安装源出现异常”。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\346\272\220.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\346\272\220.md"
index 811fc0006c8509e56c86959ede1abc2e5396ed83..54add7e6efba41983551c2ae8a43ef272e4e94d1 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\346\272\220.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\346\272\220.md"
@@ -1,14 +1,14 @@
-# 设置安装源
+# 设置安装源
-在[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)页面中选择“安装源”,指定安装源的位置。
+在“安装概览”页面中选择“安装源”,指定安装源的位置。
-您可以选择可本地访问的安装源,也可以选择网络服务器上的安装源,如[图1](#zh-cn_topic_0186390100_zh-cn_topic_0144427079_fig93633295132)所示。在光盘安装场景中,安装程序会自动探测并显示安装源信息,用户可以直接使用该默认配置。
+当使用完整光盘安装,安装程序会自动探测并显示安装源信息,用户直接使用默认配置即可,不需要进行设置,如[图1](#zh-cn_topic_0186390100_zh-cn_topic_0144427079_fig93633295132)所示。
**图 1** 安装源

-设置完成后,请单击左上角“完成”返回[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)安装配置主页面。
+设置完成后,请单击左上角“完成”返回“安装概览”页面。
> **说明:**
->安装过程中,如果“设置安装源”有疑问,可参考FAQ[选择安装源出现异常](选择安装源出现异常.md)。
+>安装过程中,如果“设置安装源”有疑问,可参考“FAQ \> 选择安装源出现异常”。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\347\250\213\345\272\217\350\257\255\350\250\200.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\347\250\213\345\272\217\350\257\255\350\250\200.md"
index ea823b4f81df565395f492367d95c41337495bb5..ae43674a3b671ced036f8d6cedb0680e5c9e1d09 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\347\250\213\345\272\217\350\257\255\350\250\200.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\345\256\211\350\243\205\347\250\213\345\272\217\350\257\255\350\250\200.md"
@@ -1,6 +1,4 @@
-# 设置安装程序语言
-
-在[图4](启动安装.md#fig1601161484619)选择【Install openEuler 1.0 with GUI mode】进入图形化模式安装。
+# 设置安装程序语言
启动安装后,在进入安装程序主界面之前,系统会提示用户设置安装过程中使用的语言。当前默认为英语,用户可根据实际情况进行调整,如[图1](#zh-cn_topic_0186390093_zh-cn_topic_0122145864_fig144630179151)所示,选择“中文”。
@@ -9,3 +7,5 @@
完成设置后,单击“继续”,进入安装设置主界面。
+如果您想退出安装,可以单击“退出”并在弹出的“您确定要退出安装程序吗?”对话框中单击“是”重新进入“安装引导界面”。
+
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\346\227\266\345\214\272-NTP\346\234\215\345\212\241.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\346\227\266\345\214\272-NTP\346\234\215\345\212\241.md"
index d2f0f90154eb61524c910b44fa60004a6399c320..14a5ff111adea710cc90a6baa33860a661f96ab1 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\346\227\266\345\214\272-NTP\346\234\215\345\212\241.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\346\227\266\345\214\272-NTP\346\234\215\345\212\241.md"
@@ -1,17 +1,15 @@
-# 设置时区、NTP服务
+# 设置时区、NTP服务
设置系统的时区(时间/日期)、配置NTP服务。
## 设置时区
-在[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)中,输入“2”并按“Enter”,进入配置时区和NTP服务界面。
+在“安装概览”页面中输入“2”并按“Enter”,进入配置时区和NTP服务界面。
-在[图1](#zh-cn_topic_0155778951_zh-cn_topic_0151920790_fc6f125c2c19540b0828071e05fe8b8db)所示界面中,输入“1”并按“Enter”,进入系统时区设置。用户可根据实际情况调整和设置系统的时区和城市。
+在[图1](#zh-cn_topic_0155778951_zh-cn_topic_0151920790_fc6f125c2c19540b0828071e05fe8b8db)所示界面中输入“1”并按“Enter”,进入系统时区设置。用户可根据实际情况调整和设置系统的时区和城市。
**图 1** 时区
-
-
-
+
选择城市时,由于城市数量较多将会分页显示。在出现“Press ENTER to continue”提示时,可以按“Enter”键以显示全部的城市信息。
@@ -20,14 +18,12 @@
## 设置NTP服务
-设置时区完成之后,回到系统安装主界面(如[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)所示),输入“2”并按“Enter”,进入配置时区和NTP服务界面。
+设置时区完成之后,回到系统安装主界面(如“安装概览”页面所示),输入“2”并按“Enter”,进入配置时区和NTP服务界面。
输入“2”并按“Enter”,配置NTP服务。
**图 3** NTP服务器
+
-
-
-
-设置完成后,在界面输入“c”,返回安装配置主页面。
+设置完成后,在界面输入“c”,返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\346\227\266\351\227\264\345\222\214\346\227\245\346\234\237.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\346\227\266\351\227\264\345\222\214\346\227\245\346\234\237.md"
index e61a769b203c16ebaba8ad9d09c99a4d8c2fe5b3..c934e090f8b0ae14e20db2b6de30a917c9be846e 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\346\227\266\351\227\264\345\222\214\346\227\245\346\234\237.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\346\227\266\351\227\264\345\222\214\346\227\245\346\234\237.md"
@@ -1,11 +1,13 @@
-# 设置时间和日期
+# 设置时间和日期
-在[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)页面中选择“时间和日期”,设置系统的时区、日期、时间等。
+在“安装概览”页面中选择“时间和日期”,设置系统的时区、日期、时间等。
设置时区时,用户可通过鼠标在地图上单击指定的城市,也可以通过页面顶部的“地区”和“城市”下拉菜单中进行选择,如[图1](#zh-cn_topic_0186390096_zh-cn_topic_0122145900_fig1260162652312)所示。
+如果您所在城市没有出现在地图或下拉菜单中,请选择同一时区中离您最近的城市。
+
**图 1** 日期和时间

-设置完成后,请单击左上角“完成”返回[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)安装配置主页面。
+设置完成后,请单击左上角“完成”返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\347\263\273\347\273\237\350\257\255\350\250\200-2.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\347\263\273\347\273\237\350\257\255\350\250\200-2.md"
index 54cf8f688471c9f4df281fcc2ef9e22ec18aa144..4cd514f9d320075b6bfb05a216b0cd385164c736 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\347\263\273\347\273\237\350\257\255\350\250\200-2.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\347\263\273\347\273\237\350\257\255\350\250\200-2.md"
@@ -1,9 +1,9 @@
-# 设置系统语言
+# 设置系统语言
-在[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)中输入“1”,然后按“Enter”,设置系统的语言。用户可根据实际情况进行调整,如下图所示。
+在“安装概览”页面中输入“1”,然后按“Enter”,设置系统的语言。用户可根据实际情况进行调整,如下图所示。
**图 1** 语言支持
-
+
-设置完成后,在界面输入“c”,返回安装配置主页面。
+设置完成后,在界面输入“c”,返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\347\263\273\347\273\237\350\257\255\350\250\200.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\347\263\273\347\273\237\350\257\255\350\250\200.md"
index cd6758caee236339c2b4b2039336499e745e9d90..6e59cd84b0bec8c89a70fc692d86cb39b221b6c9 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\347\263\273\347\273\237\350\257\255\350\250\200.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\347\263\273\347\273\237\350\257\255\350\250\200.md"
@@ -1,9 +1,9 @@
-# 设置系统语言
+# 设置系统语言
-在[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)页面中选择“语言支持”,设置系统的语言。用户可根据实际情况进行调整,如[图1](#zh-cn_topic_0186390098_zh-cn_topic_0122145772_fig187301927172619)所示,选择“中文”。
+在“安装概览”页面中选择“语言支持”,设置系统的语言。如[图1](#zh-cn_topic_0186390098_zh-cn_topic_0122145772_fig187301927172619)所示,用户也可根据实际情况进行调整,选择“中文”。
**图 1** 语言支持

-设置完成后,请单击左上角“完成”返回[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)安装配置主页面。
+设置完成后,请单击左上角“完成”返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\347\275\221\347\273\234.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\347\275\221\347\273\234.md"
index f4356409e75db7522c83b2cbc9889e684a4e4d23..a6c25971951995569da97d9463d46d55aa762675 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\347\275\221\347\273\234.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\347\275\221\347\273\234.md"
@@ -1,6 +1,6 @@
-# 设置网络
+# 设置网络
-在[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)中输入“6”,然后按“Enter”,设置系统的网络功能。用户可以设置主机名,以及配置网络设备。安装阶段可以不用配置,系统启动之后再进行配置。
+在“安装概览”页面中输入“6”,然后按“Enter”,设置系统的网络功能。用户可以设置主机名,以及配置网络设备。安装阶段可以不用配置,系统启动之后再进行配置。
**图 1** 网络配置

@@ -9,15 +9,15 @@
选择1)Set host name,输入主机名openEuler,然后按“Enter”。
-配置网卡
+- 配置网卡
在图中选个相应的网卡配置选项进行配置,默认IPv4 address=dhcp,IPv6 address=auto。

-- **网卡配置说明**
+网卡配置说明
-1. IPv4 address or "dhcp" for DHCP:配置IPv4的地址,默认值为dhcp,由dhcp服务器分IPv4地址。
+1. IPv4 address or "dhcp" for DHCP:配置IPv4的地址,默认值为dhcp,有dhcp服务器分配ip地址。
2. IPv4 netmask:配置IPv4的掩码
3. IPv4 gateway:配置IPv4的网关
4. IPv6 address or "auto" for automatic, "dhcp" for DHCP, "ignore" to turn off:配置IPv6地址,默认为auto。
@@ -26,5 +26,5 @@
7. Connect automatically after reboot:重启之后自动连接网络
8. Apply configuration in installer: 在安装程序中应用该配置
-设置完成后,在界面输入“c”,返回安装配置主页面。
+设置完成后,在界面输入“c”,返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\347\275\221\347\273\234\345\222\214\344\270\273\346\234\272\345\220\215.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\347\275\221\347\273\234\345\222\214\344\270\273\346\234\272\345\220\215.md"
index f6b5eef7421cdbf9342e46b62b73c6b08521c874..1e426c33d744e5f7bd4c7b1e9db4e4843b4cdfda 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\347\275\221\347\273\234\345\222\214\344\270\273\346\234\272\345\220\215.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\347\275\221\347\273\234\345\222\214\344\270\273\346\234\272\345\220\215.md"
@@ -1,13 +1,13 @@
-# 设置网络和主机名
+# 设置网络和主机名
-在[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)页面中选择“网络和主机名”,设置系统的网络功能。
+在“安装概览”页面中选择“网络和主机名”,设置系统的网络功能。
-安装程序会自动探测可本地访问的接口。探测到的接口列在左侧方框中,右侧显示相应的接口详情,如[图1](#zh-cn_topic_0186390264_zh-cn_topic_0122145831_fig123700157297)所示。用户可以通过页面右上角的开关开启或者关闭网络接口。
+安装程序会自动探测可本地访问的接口。探测到的接口列在左侧方框中,右侧显示相应的接口详情,如[图1](#zh-cn_topic_0186390264_zh-cn_topic_0122145831_fig123700157297)所示。用户可以通过页面右上角的开关,来开启或者关闭网络接口。用户还可以单击“配置”以配置选中的接口。
用户可在页面下方“主机名”字段输入主机名。主机名可以是完全限定域名(FQDN),其格式为hostname.domainname;也可以是简要主机名,其格式为hostname。
**图 1** 网络和主机名

-设置完成后,请单击左上角“完成”返回[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)安装配置主页面。
+设置完成后,请单击左上角“完成”返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\256\276\347\275\256\351\224\256\347\233\230.md" "b/content/zh/docs/Installation/\350\256\276\347\275\256\351\224\256\347\233\230.md"
index 37dee3e85ee937767ea54c5cdff3c56578ad1d09..50f520458078598003dc2c94bc5c30f0b5a2e6e8 100644
--- "a/content/zh/docs/Installation/\350\256\276\347\275\256\351\224\256\347\233\230.md"
+++ "b/content/zh/docs/Installation/\350\256\276\347\275\256\351\224\256\347\233\230.md"
@@ -1,6 +1,6 @@
-# 设置键盘
+# 设置键盘
-在[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)页面中选择“键盘”,用户可以在系统中添加或者删除多个键盘布局。
+在“安装概览”页面中选择“键盘”,用户可以在系统中添加或者删除多个键盘布局。
- 要查看键盘布局,请在左侧选框中单击选中该键盘布局,然后单击下面的“键盘”按钮。
- 要测试键盘布局,请在左侧选框中单击选中该键盘布局,然后单击右侧文本框内部,输入文本以确认所选键盘布局可正常工作。
@@ -8,5 +8,5 @@
**图 1** 键盘布局

-设置完成后,请单击左上角“完成”返回[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)安装配置主页面。
+设置完成后,请单击左上角“完成”返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\350\275\257\344\273\266\345\214\205\344\276\235\350\265\226.md" "b/content/zh/docs/Installation/\350\275\257\344\273\266\345\214\205\344\276\235\350\265\226.md"
new file mode 100644
index 0000000000000000000000000000000000000000..a1dc97ded41811be63d493e32277387953d1e5a0
--- /dev/null
+++ "b/content/zh/docs/Installation/\350\275\257\344\273\266\345\214\205\344\276\235\350\265\226.md"
@@ -0,0 +1,14 @@
+# 软件包依赖
+
+## 问题现象
+
+选择安装源后出现:"Error checking software selection"。
+
+## 原因分析
+
+这种现象是由于安装源中的软件包依赖存在问题。
+
+## 解决方法
+
+检查安装源是否存在异常。使用新的安装源。
+
diff --git "a/content/zh/docs/Installation/\350\277\233\345\205\245\345\256\211\350\243\205\347\225\214\351\235\242-0.md" "b/content/zh/docs/Installation/\350\277\233\345\205\245\345\256\211\350\243\205\347\225\214\351\235\242-0.md"
index 1e5574ea38dfb9d82f9fc241474cc64116e837e1..bb4b5b54d375933cd00e7c7054ee2ca15fd54e3a 100644
--- "a/content/zh/docs/Installation/\350\277\233\345\205\245\345\256\211\350\243\205\347\225\214\351\235\242-0.md"
+++ "b/content/zh/docs/Installation/\350\277\233\345\205\245\345\256\211\350\243\205\347\225\214\351\235\242-0.md"
@@ -1,14 +1,12 @@
-# 进入安装界面
+# 进入安装界面
-在[图4](启动安装.md#fig1601161484619)选择【Install openEuler 1.0 with text mode】进入文本模式安装。
+在“安装引导界面”中选择“Install openEuler 1.0 with text mode”进入文本模式安装。
-系统安装程序正常启动后,会进入[图1](#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)所示的安装设置主界面。用户可以进行时间、语言、安装源、网络、存储等相关设置。
+系统安装程序正常启动后,输入“2”会进入[图1](#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)所示的安装配置主界面。用户可以进行时间、语言、安装源、网络、存储等相关设置。
> **说明:**
>\[x\]表示此项已配置(或者系统默认已配置),可以根据需要进行设置;\[!\]表示此项未配置,在启动安装前必须完成配置。
**图 1** 安装概览
-
-
-
+
diff --git "a/content/zh/docs/Installation/\350\277\233\345\205\245\345\256\211\350\243\205\347\225\214\351\235\242.md" "b/content/zh/docs/Installation/\350\277\233\345\205\245\345\256\211\350\243\205\347\225\214\351\235\242.md"
index c8b2a14d93e8f1ca28e3278d9f6614324014dbcd..23137230e205da5684780f2704eda8c957cb5e6a 100644
--- "a/content/zh/docs/Installation/\350\277\233\345\205\245\345\256\211\350\243\205\347\225\214\351\235\242.md"
+++ "b/content/zh/docs/Installation/\350\277\233\345\205\245\345\256\211\350\243\205\347\225\214\351\235\242.md"
@@ -1,9 +1,10 @@
-# 进入安装界面
+# 进入安装界面
系统安装程序正常启动后,会进入[图1](#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)所示的安装设置主界面。用户可以进行时间、语言、安装源、网络、存储等相关设置。
-> **说明:**
->部分配置项会有告警符号,用户完成该选项配置后,告警符号消失。当界面上不存在告警符号时,用户才能开始安装。
+部分配置项会有告警符号,用户完成该选项配置后,告警符号消失。当界面上不存在告警符号时,用户才能单击“开始安装”进行系统安装。
+
+如果您想退出安装,可以单击“退出”并在弹出的“您确定要退出安装程序吗?”对话框中单击“是”重新进入“安装引导界面”。
**图 1** 安装概览

diff --git "a/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\346\272\220\345\207\272\347\216\260\345\274\202\345\270\270.md" "b/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\346\272\220\345\207\272\347\216\260\345\274\202\345\270\270.md"
new file mode 100644
index 0000000000000000000000000000000000000000..8ddc63a606844a9734d0f158e6513ad411c7bf25
--- /dev/null
+++ "b/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\346\272\220\345\207\272\347\216\260\345\274\202\345\270\270.md"
@@ -0,0 +1,5 @@
+# 选择安装源出现异常
+
+- **[软件包依赖](软件包依赖.md)**
+
+
diff --git "a/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\350\275\257\344\273\266-4.md" "b/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\350\275\257\344\273\266-4.md"
index b8c27b0e2e6a8aa6413a98695a8f4fafd7be5890..dc058aba03f7c47cf148539819f6cf4456d16f90 100644
--- "a/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\350\275\257\344\273\266-4.md"
+++ "b/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\350\275\257\344\273\266-4.md"
@@ -1,10 +1,8 @@
-# 选择安装软件
+# 选择安装软件
-在[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)中输入“4”,然后按“Enter”,指定需要安装的软件包。
+在“安装概览”页面中输入“4”,然后按“Enter”,指定需要安装的软件包。
- Minimal Install:最小环境。提供openEuler基本功能,默认为最小环境安装。
-- Custom Operating System:定制操作系统。为定制openEuler系统提供基本构建工具。
-- Server:服务器。提供一体化、易于管理的服务器安装工具。
用户需要根据实际的业务需求选择合适的安装环境,在安装环境界面输入”c“后,可以通过附加选项“Add-ons”来选择需要安装的软件包,如下图所示。
@@ -15,16 +13,12 @@
- Standard:标准。openEuler标准安装。
- Development Tools:开发工具。基本开发环境。
-- Graphical Administration Tools:图形管理工具。用于管理系统各个方面的图形系统管理工具。
- Headless Management:无图形终端系统管理工具。用于管理无图像终端系统的工具。
- Legacy UNIX Compatiblity:传统UNIX兼容性。用于从继承UNIX环境中迁移或者可用于该环境的兼容程序。
- Network Servers:网络服务器。这些软件包包括基于网络的服务器,例如DHCP、Kerberos和NIS。
- Scientific Support:科学计数法支持。用于数学和科学计算以及平行计算的工具。
- Security Tools:安全性工具。用于完整性和可信验证的安全性工具。
- System Tools:系统工具。这组软件包是各类系统工具的集合,如:连接SMB共享的客户;监控网络交通的工具。
-- Directory Server:目录服务器。机器和用户识别服务器。
-- Mail Server:邮件服务器。这些软件包允许您配置IMAP或Postfix邮件服务器。
-- Windows File Server:Windows文件服务器。该软件包组允许您在Linux和MS Windows(tm)系统间共享文件
-设置完成后,在界面输入“c”,返回安装配置主页面。
+设置完成后,在界面输入“c”,返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\350\275\257\344\273\266.md" "b/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\350\275\257\344\273\266.md"
index b2b73b8cf953c89fa0322b440a14578397eae626..978eda54b34a429b342b55754e7a6dd039e316a4 100644
--- "a/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\350\275\257\344\273\266.md"
+++ "b/content/zh/docs/Installation/\351\200\211\346\213\251\345\256\211\350\243\205\350\275\257\344\273\266.md"
@@ -1,6 +1,6 @@
-# 选择安装软件
+# 选择安装软件
-在[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)页面中选择“软件选择”,指定需要安装的软件包。
+在“安装概览”页面中选择“软件选择”,指定需要安装的软件包。
用户需要根据实际的业务需求,在左侧选择一个“最小安装”,在右侧选择安装环境的附加选项,如[图1](#zh-cn_topic_0186390261_zh-cn_topic_0122145865_fig03031519101414)所示。
@@ -8,7 +8,7 @@

> **说明:**
->在最小安装的环境下,并非安装源中所有的包都会安装。如果用户需要使用包未安装,可将安装源挂载到本地制作repo源,通过DNF工具单独安装。
+>在最小安装的环境下,并非安装源中所有的包都会安装。如果用户需要使用的包未安装,可将安装源挂载到本地制作repo源,通过DNF工具单独安装。
-设置完成后,请单击左上角“完成”返回[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)安装配置主页面。
+设置完成后,请单击左上角“完成”返回“安装概览”页面。
diff --git "a/content/zh/docs/Installation/\351\200\232\350\277\207\345\205\211\347\233\230\345\256\211\350\243\205.md" "b/content/zh/docs/Installation/\351\200\232\350\277\207\345\205\211\347\233\230\345\256\211\350\243\205.md"
index 44c2b4dbe908f8cdb8783794d20c171efdccae8e..307a8e23817e587d954d02b10b8fbda8d3ef49fa 100644
--- "a/content/zh/docs/Installation/\351\200\232\350\277\207\345\205\211\347\233\230\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/Installation/\351\200\232\350\277\207\345\205\211\347\233\230\345\256\211\350\243\205.md"
@@ -1,4 +1,4 @@
-# 通过光盘安装
+# 通过光盘安装
本节介绍如何使用或者制作光盘安装源,并介绍相应的操作步骤,指导用户进行安装。
diff --git "a/content/zh/docs/Installation/\351\200\232\350\277\207\345\233\276\345\275\242\345\214\226\346\250\241\345\274\217\345\256\211\350\243\205.md" "b/content/zh/docs/Installation/\351\200\232\350\277\207\345\233\276\345\275\242\345\214\226\346\250\241\345\274\217\345\256\211\350\243\205.md"
index 2423783464cbbc6e7d7289a505d9aaeec31ba2f0..b7abb1e81a4172f32a1594824accdd81bec52a1e 100644
--- "a/content/zh/docs/Installation/\351\200\232\350\277\207\345\233\276\345\275\242\345\214\226\346\250\241\345\274\217\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/Installation/\351\200\232\350\277\207\345\233\276\345\275\242\345\214\226\346\250\241\345\274\217\345\256\211\350\243\205.md"
@@ -1,2 +1,11 @@
-# 通过图形化模式安装
+# 通过图形化模式安装
+在“安装引导界面”中选择“Install openEuler 1.0 with GUI mode”进入图形化模式安装。
+
+可以通过键盘操作图形化安装程序。
+
+- “Tab”、“shift Tab”:界面控件(按钮、区域框、复选框等)间的移动。
+- “↑”、“↓”方向键:列表里的移动。
+- “←”、“→”方向键:水平工具条和表条间移动。
+- “空格”、“Enter”:选择或删除高亮显示的选项、展开或折叠下拉菜单。
+- “Alt”+“快捷键”:选择快捷键所在的控件,其中快捷键可通过按住Alt高亮(加下划线)显示。
diff --git "a/content/zh/docs/Installation/\351\200\232\350\277\207\346\226\207\346\234\254\346\250\241\345\274\217\345\256\211\350\243\205.md" "b/content/zh/docs/Installation/\351\200\232\350\277\207\346\226\207\346\234\254\346\250\241\345\274\217\345\256\211\350\243\205.md"
index 7f8268b7aa3623bdc83a6d2b6e333d474bad6e64..90aebd96679baf891055bda91f7e0a3be24270bd 100644
--- "a/content/zh/docs/Installation/\351\200\232\350\277\207\346\226\207\346\234\254\346\250\241\345\274\217\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/Installation/\351\200\232\350\277\207\346\226\207\346\234\254\346\250\241\345\274\217\345\256\211\350\243\205.md"
@@ -1 +1 @@
-# 通过文本模式安装
+# 通过文本模式安装
diff --git "a/content/zh/docs/Releasenotes/OpenSSL\345\212\240\351\200\237\345\231\250.md" "b/content/zh/docs/Releasenotes/OpenSSL\345\212\240\351\200\237\345\231\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..d35de9ad36b9f7590ff4e723c670d39775329cd7
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/OpenSSL\345\212\240\351\200\237\345\231\250.md"
@@ -0,0 +1,19 @@
+# OpenSSL加速器
+
+OpenSSL加速器搭载在 Kunpeng 920 处理器上联合提供硬件加速引擎功能,可适用于大数据、数据加密、智能安防、Web服务及分布式存储等应用场景。
+
+- 通过加速 SSL/TLS 应用和数据压缩,显著降低处理器消耗,提高处理器效率。
+- 通过 OpenSSL、zlib 标准接口实现业务快速迁移。
+
+主要支持以下算法:
+
+- 摘要算法 SM3
+- 对称加密算法 SM4,支持CTR/XTS/CBC模式
+
+ > **说明:**
+ >SM4-XTS模式仅支持内核态使用。
+
+- 对称加密算法 AES, 支持 ECB/CTR/XTS/CBC 模式
+- 非对称算法 RSA,支持异步模型,支持 Key Sizes 1024/2048/3072/4096
+- 压缩解压缩算法,支持 zlib/gzip
+
diff --git "a/content/zh/docs/Releasenotes/openEuler-1-0-\347\211\210\346\234\254\345\217\221\350\241\214\350\257\264\346\230\216.md" "b/content/zh/docs/Releasenotes/openEuler-1-0-\347\211\210\346\234\254\345\217\221\350\241\214\350\257\264\346\230\216.md"
index 426937faf8683f4449c77c96191ccf529dbe2f7e..ba3ad5d03141ff4c0fd75fc8423bdfac7e66910e 100644
--- "a/content/zh/docs/Releasenotes/openEuler-1-0-\347\211\210\346\234\254\345\217\221\350\241\214\350\257\264\346\230\216.md"
+++ "b/content/zh/docs/Releasenotes/openEuler-1-0-\347\211\210\346\234\254\345\217\221\350\241\214\350\257\264\346\230\216.md"
@@ -1,6 +1,6 @@
# openEuler 1.0 版本发行说明
-openEuler 开源项目是社区驱动的免费 Linux 软件项目,致力于打造国产操作系统生态。openEuler 开源项目提供了方便的源码和发布包下载途径,包括 openEuler 开源操作系统、虚拟化、容器、编译器等。为了推动软件的自由、免费,所有人可以通过 openEuler 开源社区免费获取对应软件。我们非常欢迎广大爱好者能够积极参与到社区中来,发挥自己的能力和想象力,相互协作,共同参与社区的建设。
+openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。同时,openEuler是一个面向全球的操作系统开源社区,通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。
openEuler 1.0 是社区对外发布的第一个版本,本次发行说明提供了版本相关基础能力的介绍,主要包括:
@@ -8,4 +8,3 @@ openEuler 1.0 是社区对外发布的第一个版本,本次发行说明提供
- 基础参数说明
- 技术特性
-
diff --git a/content/zh/docs/Releasenotes/release_notes.md b/content/zh/docs/Releasenotes/release_notes.md
index 7e3182c7126896b0069c5984ff1ab279a093c70a..80c12111db1070276a5095c74a04aa29e076d10f 100644
--- a/content/zh/docs/Releasenotes/release_notes.md
+++ b/content/zh/docs/Releasenotes/release_notes.md
@@ -1,3 +1 @@
-## 概述
-
本文介绍 openEuler 1.0 版本的发行说明。
\ No newline at end of file
diff --git "a/content/zh/docs/Releasenotes/\345\206\205\346\240\270.md" "b/content/zh/docs/Releasenotes/\345\206\205\346\240\270.md"
index 338ede0bbcb6afcb4ba19c867f722122749a5274..f5a617032c08c8a887320365cd8b543ce2bcd637 100644
--- "a/content/zh/docs/Releasenotes/\345\206\205\346\240\270.md"
+++ "b/content/zh/docs/Releasenotes/\345\206\205\346\240\270.md"
@@ -1,8 +1,8 @@
# 内核
-openEuler 1.0 采用 kernel 版本 4.19。Linux Kernel 4.19 是一个 LTS 版本,提供长期支持并持续更新版本,以保障用户的 Linux 操作系统安全、可靠。
+openEuler 1.0 采用 kernel 版本为 4.19。Linux Kernel 4.19 是一个 LTS 版本,提供长期支持并持续更新版本,以保障用户的 Linux 操作系统安全、可靠。
-该版本主要新功能列举如下:
+该版本主要新功能如下:
- 支持鲲鹏920 系列 CPU
- 支持 eBPF 功能,支持 AF\_XDP
diff --git "a/content/zh/docs/Releasenotes/\345\256\271\345\231\250.md" "b/content/zh/docs/Releasenotes/\345\256\271\345\231\250.md"
index 914ba86a9353174c6cccbfa3a2bb8239fa250820..642a0606d458ca55a9eeb539f9cf2339bdb69927 100644
--- "a/content/zh/docs/Releasenotes/\345\256\271\345\231\250.md"
+++ "b/content/zh/docs/Releasenotes/\345\256\271\345\231\250.md"
@@ -6,9 +6,40 @@ openEuler 1.0 中提供容器运行的基础平台 iSula。iSula 基础容器平
## iSulad
-iSula 在居住中南美洲亚马逊丛林的巴西原住民眼里,它是一种非常强大的蚂蚁,学术上称为“子弹蚁”,因为被它咬一口,犹如被子弹打到那般疼痛,它是世界上最强大的昆虫之一。iSulad 作为轻量化的容器底座,可以为多种场景提供最灵活、最稳定、最安全的底层支撑,与子弹蚂蚁"小个头、大能量"的形象不谋而合。
+iSula 在居住于中南美洲亚马逊丛林的巴西原住民眼里,它是一种非常强大的蚂蚁,学术上称为“子弹蚁”,因为被它咬一口,犹如被子弹打到那般疼痛,它是世界上最强大的昆虫之一。iSulad 作为轻量化的容器底座,可以为多种场景提供最灵活、最稳定、最安全的底层支撑,与子弹蚂蚁“小个头、大能量”的形象不谋而合。
-iSula 通用容器引擎(iSulad)是一种新的容器解决方案,提供统一的架构设计来满足CT和IT领域的不同需求。相比 Golang 编写的 Docker,轻量级容器具有轻、灵、巧、快的特点,不受硬件规格和架构的限制,底噪开销更小,可应用领域更为广泛。
+iSula 通用容器引擎(iSulad)是一种新的容器解决方案,提供统一的架构设计来满足CT和IT领域的不同需求。轻量级容器具有轻、灵、巧、快的特点,不受硬件规格和架构的限制,底噪开销更小,可应用领域更为广泛。
+
+**iSulad重点能力如下:**
+
+**容器镜像管理**
+
+容器镜像是容器运行的基础,在主机上以分层的形式存放,运行前通过联合挂载的方式挂载成统一视图的rootfs供容器使用。容器的镜像管理包括镜像的拉取、导入、删除以及查询。
+
+**容器管理**
+
+容器管理功能提供用户创建、运行、停止、删除、重启等操作容器的能力。
+
+**CNI网络**
+
+实现CRI接口对接CNI网络的能力,包括CNI网络配置文件的解析、CNI网络的加入和退出。
+
+**CRI接口**
+
+CRI API 接口是由kubernetes 推出的容器运行时接口,CRI定义了容器和镜像的服务接口。iSulad支持CRI接口,实现和kubernetes 的对接。
+
+**容器资源管理**
+
+对容器使用资源进行动态管理:
+
+- namespace共享
+- 限制运行时的CPU资源
+- 限制运行时的内存资源
+- 限制运行时的IO资源
+- 限制容器rootfs存储空间
+- 限制容器内文件句柄数
+- 限制容器内可以创建的进程/线程数
+- 配置容器内的ulimit值
## Docker
@@ -24,7 +55,15 @@ openEuler 1.0 集成 moby 18.09 版本,并在版本基础上进行了 bugfix
安全容器是使用虚拟化层进行容器间的隔离,同一个主机上不同的容器间运行互相不受影响。
-iSula 容器平台支持创建安全容器,使用 kata-container 作为容器的运行时。openEuler 1.0 集成 kata-container1.7 版本,在社区版本的基础上,进行了稳定性和可靠性加固,增加了异构计算支持,更适于生产环境的 Host CGroup 配置与 DPDK/SPDK 高性能网络、存储支持。
+iSula 容器平台支持创建安全容器,使用 kata-container 作为容器的运行时。
+
+openEuler 1.0 集成了 kata-container 1.7 版本,该版本主要特性如下:
+
+- 在社区版本的基础上,进行了稳定性和可靠性加固
+- 重构了社区Host Cgroup资源限制方案,支持CPU、Memory和Blkio资源限制,更适用于生产环境
+- 更灵活的网络配置方案,支持通过kata-network接口创建和更新网卡和路由表
+- 支持DPDK/SPDK高性能网络
+- 支持容器网络状态信息监控
## 系统容器
@@ -32,3 +71,38 @@ iSula 容器平台支持创建安全容器,使用 kata-container 作为容器
iSula 容器平台支持创建系统容器,并能支持在系统容器内动态调整设备、运行资源,且提供更优秀的 user namespace 隔离。
+**系统容器相比于普通容器,提供了如下增强特性:**
+
+**本地文件系统启动**
+
+普通容器只能通过远端pull镜像到本地启动,pull镜像过程可能会因网络问题导致耗时较长,而系统容器支持本地文件系统启动,可实现快速部署
+
+**容器内运行systemd**
+
+系统容器与普通容器最大的差异就在于容器的init进程启动,普通容器无法实现容器启动时自动拉起systemd,而系统容器具备这个能力
+
+**增强隔离性**
+
+- 支持使用lxcfs插件实现容器内资源视图隔离,同时支持lxcfs插件热插拔和高可用
+- 支持多对应user namespace,实现容器和主机uid/gid隔离
+- 支持配置容器内namespace化内核参数可读写,在容器内可动态配置namespace化内核参数值
+
+**控制容器访问权限**
+
+支持通过TLS认证方式来对用户身份进行验证,并通过对接authz插件服务控制用户的操作权限
+
+**容器资源动态管理**
+
+- 动态添加/删除/更新容器内的设备
+- 动态添加/删除/更新容器内的网卡
+- 动态添加/删除容器内的路由
+- 动态添加/删除容器内的卷
+
+**其它特性列表**
+
+- 环境变量持久化
+- 限制容器内句柄数
+- 执行reboot/shudown命令
+- 动态加载内核模块
+- 共享内存通信
+
diff --git "a/content/zh/docs/Releasenotes/\346\212\200\346\234\257\347\211\271\346\200\247.md" "b/content/zh/docs/Releasenotes/\346\212\200\346\234\257\347\211\271\346\200\247.md"
index 166e2bab33525687c0cb3c159ee3266ded36071b..f50700857577f2a91c8b482b50135b63e1688a01 100644
--- "a/content/zh/docs/Releasenotes/\346\212\200\346\234\257\347\211\271\346\200\247.md"
+++ "b/content/zh/docs/Releasenotes/\346\212\200\346\234\257\347\211\271\346\200\247.md"
@@ -1,3 +1,29 @@
# 技术特性
+- **[系统安装](系统安装.md)**
+
+- **[系统定制](系统定制.md)**
+
+- **[文件系统](文件系统.md)**
+
+- **[内核](内核.md)**
+
+- **[系统管理](系统管理.md)**
+
+- **[编译器](编译器.md)**
+
+- **[OpenSSL加速器](OpenSSL加速器.md)**
+
+- **[系统安全](系统安全.md)**
+
+- **[系统调测](系统调测.md)**
+
+- **[虚拟化](虚拟化.md)**
+
+- **[容器](容器.md)**
+
+- **[支持鲲鹏生态](支持鲲鹏生态.md)**
+
+- **[写作摸板](写作摸板.md)**
+
diff --git "a/content/zh/docs/Releasenotes/\346\226\207\344\273\266\347\263\273\347\273\237.md" "b/content/zh/docs/Releasenotes/\346\226\207\344\273\266\347\263\273\347\273\237.md"
index fbc4aafede132c638b8ac380478e137efcd64c22..37abf7705bafb8fc0a2fc885acdfc4ceba557d18 100644
--- "a/content/zh/docs/Releasenotes/\346\226\207\344\273\266\347\263\273\347\273\237.md"
+++ "b/content/zh/docs/Releasenotes/\346\226\207\344\273\266\347\263\273\347\273\237.md"
@@ -2,9 +2,29 @@
## 支持 ext4 文件系统
-openEuler 1.0 中使用的默认文件系统是 ext4,兼容 ext3/ext2 文件系统。
+openEuler 1.0 中使用的默认文件系统是 ext4,ext4 向下兼容于 ext3/ext2 文件系统,可以将 ext3/ext2 挂载为 ext4 分区。
+
+ext4 的主要特性:
+
+- ext4 最大支持的文件系统是 1EB,单一最大文件值是 16TB。
+- ext4 使用 extent 树代替了ext3/ext2 的逻辑块映射,减少了元数据块的使用,提高了处理大型文件的效率。
+- ext4 使用延迟块分配机制,仅当文件从高速缓存写入磁盘时才真正为数据分配磁盘块,有利于改善大文件的碎片化。
+- ext4 支持日志校验和,以确认日志块是否遭到损坏,提升可靠性。
+- ext4 支持惰性初始化,启用 lazyinit 特性后,会在后台挂载过程中逐步初始化inode表,这将显著加快创建 ext4 文件系统的速度。
+- ext4 支持快速 fsck,在 ext4 中每个 inode 表将会存储未使用的 inode 列表,在 fsck 时将会跳过这些inode,加速 fsck。
+- ext4 支持三种日志模式:journal(可靠性最高)、ordered、writeback(性能最好)。
+
+另外,openEuler 也对 ext4 进行了一些bug修复和优化,主要优化点如下:
+
+- ext4 和 sysmonitor相结合,支持 ext4 文件系统的故障告警通知。
## 支持 XFS 文件系统
-openEuler 1.0 支持高性能的日志文件系统 XFS。
+openEuler 1.0 支持高性能的日志文件系统 XFS,并提供了专门用于 XFS 备份和恢复的工具 xfsdump 和 xfsrestore 。XFS 需要关注的主要特性如下:
+
+- XFS 的设计完全基于扩展,最大支持的文件系统和文件大小是8EB - 1字节。
+- 使用B+树的数据结构来提升IO灵活性,如将B+树用于 inode 和 block 管理等。
+- 将块设备分割成多个AG(分配组),允许多个线程并行在不同的分配组上进行IO操作,提升并行能力。
+- 支持延迟分配,在内存中记录事务,在数据真正写入磁盘之前分配磁盘块。
+- 支持自描述 metadata 的元数据校验,防止在意外断电时元数据遭到损坏。
diff --git "a/content/zh/docs/Releasenotes/\346\263\225\345\276\213\345\243\260\346\230\216.md" "b/content/zh/docs/Releasenotes/\346\263\225\345\276\213\345\243\260\346\230\216.md"
new file mode 100644
index 0000000000000000000000000000000000000000..684a9e13231179752383cfc6d48c27ba0725e21b
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\346\263\225\345\276\213\345\243\260\346\230\216.md"
@@ -0,0 +1,14 @@
+# 法律声明
+
+**版权所有 © 2020 华为技术有限公司。**
+
+您对“本文档”的复制、使用、修改及分发受知识共享\(Creative Commons\)署名—相同方式共享4.0国际公共许可协议\(以下简称“CC BY-SA 4.0”\)的约束。为了方便用户理解,您可以通过访问[https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) 了解CC BY-SA 4.0的概要 \(但不是替代\)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode)。
+
+**商标声明**
+
+openEuler为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
+
+**免责声明**
+
+本文档仅作为使用指导,除非适用法强制规定或者双方有明确书面约定, 华为技术有限公司对本文档中的所有陈述、信息和建议不做任何明示或默示的声明或保证,包括但不限于不侵权,时效性或满足特定目的的担保。
+
diff --git "a/content/zh/docs/Releasenotes/\347\256\200\344\273\213.md" "b/content/zh/docs/Releasenotes/\347\256\200\344\273\213.md"
index 1d48f902f4a151e9ad3bd769bdd392e52358e3bf..ba1c3a4a501f12105a0e03fc6fe9e0f4235febbf 100644
--- "a/content/zh/docs/Releasenotes/\347\256\200\344\273\213.md"
+++ "b/content/zh/docs/Releasenotes/\347\256\200\344\273\213.md"
@@ -2,7 +2,7 @@
## openEuler 1.0 介绍
-openEuler 1.0 版本是 openEuler 开源项目对外发布的第一个版本,提供了一款安全稳定的高性能 Linux 服务器操作系统。openEuler 1.0 基于 Linux 主线内核 4.19 版本,进行了 bug 修改、漏洞修复等工作,并加入一些具备创新性的功能特性。
+openEuler 1.0 版本是 openEuler 开源项目对外发布的第一个版本,是一款安全稳定的高性能 Linux 服务器操作系统。openEuler 1.0 基于 Linux 主线内核 4.19 版本,进行了 bug 修改、漏洞修复等工作,并加入一些具备创新性的功能特性。
## 最小硬件要求
@@ -13,31 +13,31 @@ openEuler 1.0 版本是 openEuler 开源项目对外发布的第一个版本,
部件名称
- 最小硬件要求
+ 最小硬件要求
- 说明
+ 说明
CPU
- 鲲鹏 920(架构为AArch64)
+ 鲲鹏 920(架构为AArch64)
- 强烈建议同一集群计算节点物理服务器的CPU为同一系列。
+ 强烈建议同一集群计算节点物理服务器的CPU为同一系列。
内存
- 不小于8GB
+ 不小于8GB
- -
+ -
硬盘
- 不小于10GB(为了获得更好的应用体验,建议不小于120GB)
+ 不小于10GB(为了获得更好的应用体验,建议不小于120GB)
- 支持IDE、SATA、SAS等接口的硬盘。
+ 支持IDE、SATA、SAS等接口的硬盘。
diff --git "a/content/zh/docs/Releasenotes/\347\263\273\347\273\237\345\256\232\345\210\266.md" "b/content/zh/docs/Releasenotes/\347\263\273\347\273\237\345\256\232\345\210\266.md"
new file mode 100644
index 0000000000000000000000000000000000000000..6f5027f21ec41925c927e22ef40f8a156af5b381
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\347\263\273\347\273\237\345\256\232\345\210\266.md"
@@ -0,0 +1,2 @@
+# 系统定制
+
diff --git "a/content/zh/docs/Releasenotes/\347\263\273\347\273\237\347\256\241\347\220\206.md" "b/content/zh/docs/Releasenotes/\347\263\273\347\273\237\347\256\241\347\220\206.md"
index 9220d599e63c5258228269443377356f8153f9e8..dd241a4024392cc8c2fe5c46b9f39090a15b9908 100644
--- "a/content/zh/docs/Releasenotes/\347\263\273\347\273\237\347\256\241\347\220\206.md"
+++ "b/content/zh/docs/Releasenotes/\347\263\273\347\273\237\347\256\241\347\220\206.md"
@@ -7,5 +7,8 @@ openEuler 1.0 使用 systemd 进行系统和服务的管理,systemd 与 SysV
- 采用 CGroup 来跟踪和管理进程的生命周期:systemd 则利用 Linux 内核的 CGroup 特性来完成跟踪的任务。停止服务时,通过查询 CGroup,systemd 可以确保找到所有的相关进程,从而干净地停止服务。
- 能够对系统进行快照和恢复:systemd 快照提供将当前系统的运行状态保存并恢复的能力。
- 日志服务:systemd 自带日志服务 journald,相比于 syslog 服务具备一些优点,比如:采用二进制格式保存所有日志信息,更安全;无需自己编写复杂脆弱的字符串分析处理程序。用户可以使用 journalctl 命令来查看日志信息。
-- openEuler 修复问题:修复 udev 重命名冲突,加入等待和 retry 机制,确保命名成功。
+
+openEuler 1.0 修复问题:
+
+- 修复 udev 重命名冲突,加入等待和 retry 机制,确保命名成功。
diff --git "a/content/zh/docs/Releasenotes/\347\263\273\347\273\237\350\260\203\346\265\213.md" "b/content/zh/docs/Releasenotes/\347\263\273\347\273\237\350\260\203\346\265\213.md"
index 82b933278c1b17624b683992efb41c100ddc3950..5669074ba44ce07f0a29ec432238cffac5235d7f 100644
--- "a/content/zh/docs/Releasenotes/\347\263\273\347\273\237\350\260\203\346\265\213.md"
+++ "b/content/zh/docs/Releasenotes/\347\263\273\347\273\237\350\260\203\346\265\213.md"
@@ -1,5 +1,17 @@
# 系统调测
+## 支持kdump
+
+Kdump 是 Linux 内核态异常后的一种转储内存数据的机制。Kdump 服务启动时预先加载的 kdump 内核,通过这个小内核,重新挂载系统分区,通过 kdump工具,将崩溃内核的内存以转储vmcore文件的方式保存到系统盘上,开发和维护工程师可以利用 crash 工具打开 vmcore,分析系统崩溃原因。
+
+能够触发 kdump 包含:内核地址访问异常(oops)、系统内核严重异常(panic)、内核态死循环(软件狗狗叫)、长时间关中断(NMI狗狗叫)、系统内存耗尽(oom)。
+
+**特性增强**
+
+- 支持 AArch64 架构下同时使用高低端内存启动 kdump 服务
+- 支持传递更长的启动参数给 kdump 内核(由512字符增加到1536字符)
+- 支持更大的物理内存地址空间(100TB)
+
## 支持性能调测工具(Perf)
Perf 是一个功能强大的性能分析工具,可以实现对程序硬件事件、软件事件、内核 tracepoint 及硬件断点等性能指标的监视,这些性能指标可以帮助程序员定位性能瓶颈,方便进行性能调优。
diff --git "a/content/zh/docs/Releasenotes/\347\274\226\350\257\221\345\231\250.md" "b/content/zh/docs/Releasenotes/\347\274\226\350\257\221\345\231\250.md"
index 58a307aa48ab60b20f1d28aff34b34c39eca2776..ea3f9d55d33f15c027e891305034a57914401a91 100644
--- "a/content/zh/docs/Releasenotes/\347\274\226\350\257\221\345\231\250.md"
+++ "b/content/zh/docs/Releasenotes/\347\274\226\350\257\221\345\231\250.md"
@@ -1,27 +1,46 @@
# 编译器
-## Huawei GCC
+## GCC
-基于 GCC 7.3.0 进行 bug 修复、特性增强,包括了 C、C++、Fortran 的前端,也包括了这些语言的库(如libstdc++、libgcc等)。
+GCC 7.3.0 包括了 C、C++、Fortran 的前端,也包括了这些语言的库(如libstdc++、libgcc等),openEuler 1.0 配套编译器为 GCC 7.3.0,并在此基础上进行了特性增强和漏洞修复,其主要更新如下:
-该版本主要特性如下:
+**特性增强**
-- 支持鲲鹏920 TaiShanV110 微架构优化
-- 支持 softFDO 反馈优化
-- 支持 AArch64 长跳转功能
-- 支持循环 unroll-and-jam
-- 支持循环交换优化
-- 修复 GCC 安全漏洞 CVE-2018-12886
+- 针对鲲鹏920的 TaishanV110 核,支持该TaiShan核微架构下的流水线优化
+- 支持 softFDO(soft Feedback-Directed Optimization)反馈优化
+- 支持 FGO(Feature Guided Optimization)反馈优化
+- 支持 AArch64 后端下的长跳转(Long Call)功能
+- 支持循环优化 loop unroll and jam,将多层循环中的外层循环展开,并将展开后的多个内层循环合并
+- 支持循环优化 loop interchange,将多层循环中的内外层循环进行交换
-## Huawei OpenJDK
+**漏洞修复**
-JDK(Java Development Kit)是 Java 开发者进行 Java 开发所必须的软件包,包含 JRE(Java Runtime Environment)和编译、调测工具。Huawei OpenJDK 在 OpenJDK 的基础上进行了 GC 优化、并发稳定性增强、安全增强等动作,提高 Java 应用程序在 ARM 上的性能和稳定性,满足客户在大数据等场景的计算需求。
+修复如下GCC安全漏洞
-Huawei OpenJDK当前版本特性列举如下:
+- 修复ARM后端下栈保护功能在特殊场景中能够被黑客绕过保护的安全漏洞(CVE-2018-12886)
+- 修复POWER9后端下多次调用\_\_builtin\_darn函数的返回值相同的安全漏洞(CVE-2019-15847)
-- 兼容Java SE 8
-- 引入叶子结点技术,优化ParallelScavengeGC
+## OpenJDK
+
+JDK(Java Development Kit)是 Java 开发者进行 Java 开发所必须的软件包,包含 JRE(Java Runtime Environment)和编译、调测工具。openEuler 1.0 配套 JDK 为 OpenJDK 8, 并在此基础上进行了 GC 优化、并发稳定性增强、安全性增强等,提高了 Java 应用程序在 ARM 上的性能和稳定性,其主要特性和更新如下:
+
+**特性**
+
+- 兼容Java SE 8 & JDK 8
+
+**特性增强**
+
+- 删除 GC 中冗余的 read/write barrier
- 针对 ARM 弱内存模型进行了稳定性增强
-- 优化Bits.get实现
-- 支持 JavaFX
+
+**问题修复**
+
+- 在ARM v8.1上默认禁用UseLSE选项
+- 避免了因为没有提前加载ClassLoader.findLibrary和System.loadLibrary而导致的潜在的死锁问题 \(JDK-8231584\)
+- 解决了一个容易遇到的javac检查超类时无限递归的bug(\(JDK-8214345)
+- 修复了在heapdump时可能遇到的crash问题(JDK-8194246)
+- 修复了getCanonicalPath在处理"//"时遇到的crash问题(JDK-8194154)
+- 修复了一个AbstractQueuedSynchronizer可能存在的锁竞争问题(JDK-8191483)
+- 修复创建一个NTLM连接抛空指针异常的问题(JDK-8151788)
+- DateTimeFormatter支持"yyyyMMddHHmmssSSS"日期格式解析(JDK-8031085)
diff --git "a/content/zh/docs/Releasenotes/\350\231\232\346\213\237\345\214\226.md" "b/content/zh/docs/Releasenotes/\350\231\232\346\213\237\345\214\226.md"
index 27b742d4379b5f569de133ddf48799728c371490..66b4cb42385996c5e03badd958f6fe5889d38902 100644
--- "a/content/zh/docs/Releasenotes/\350\231\232\346\213\237\345\214\226.md"
+++ "b/content/zh/docs/Releasenotes/\350\231\232\346\213\237\345\214\226.md"
@@ -14,11 +14,11 @@ openEuler 1.0 中配套 Qemu 为 4.0.0 版本,相比早期版本修复了诸
**设备支持**
-- PCI/PCIe:支持新的 pcie-root-port 设备,新的 virt 类型主板默认 disable 了 PCIe-to-PCI-bridge 上的 SHPC,默认使用 ACPI 热插拔
+- PCI/PCIe:支持新的 pcie-root-port 设备,新的 virt 类型主板默认 disable 了 PCIe-to-PCI-bridge 上的 SHPC
- 支持 SMMUv3 模拟(soft-iommu\)
-- virt 类型主板开始支持 256 个处理器
-- 将 ECMA Region 扩大到 256M,支持更多的 PCI 设备
-- Virt4.0 guest machine type 支持超过 1TB RAM
+- virt 类型主板开始支持 512 虚拟CPU (注意不支持单个虚拟机的CPU数量超过所在的物理机的CPU数量)
+- 将 PCIe ECAM Region 扩大到 256M,支持更多的 PCI 设备
+- virt4.0 guest machine type 支持超过 1TB RAM
**性能优化**
@@ -26,11 +26,11 @@ openEuler 1.0 中配套 Qemu 为 4.0.0 版本,相比早期版本修复了诸
## KVM
-基于 4.1.9 版本内核的KVM进行 bug 修复、社区新特性回合和特性增强,重点能力如下:
+基于 4.19 版本内核的KVM进行 bug 修复、社区新特性回合和特性增强,重点能力如下:
**虚拟机动态IPA**
-openEuler 1.0 通过修改 Stage2 页表的分级、布局,支持用户态配置动态的IPA位数,可以支持最多48位IPA。
+openEuler 1.0 通过修改 Stage2 页表的分级、布局,支持用户态配置动态的IPA位数,可以支持最多48位IPA
**Stage2 1G大页支持**
@@ -38,7 +38,7 @@ openEuler 1.0 通过修改 Stage2 页表的分级、布局,支持用户态配
**Perf性能统计支持ARM虚拟化**
-支持命令“perf kvm stat record/report”,在虚拟机或 vCPU 粒度统计 exit、trap 的类型、次数和时间。
+支持命令“perf kvm stat record/report”,在虚拟机或 vCPU 粒度统计 exit、trap 的类型、次数和时间
**iscsi kworker自适应IO性能提升**
diff --git a/content/zh/docs/SecHarden/secHarden.md b/content/zh/docs/SecHarden/secHarden.md
index ef6ab14506ac4953c3a3d141b6a6a90173cd52c9..211d438768e6126b4c9b5a00d955bdf63ea512b4 100644
--- a/content/zh/docs/SecHarden/secHarden.md
+++ b/content/zh/docs/SecHarden/secHarden.md
@@ -1,3 +1 @@
-## 概述
-
本文档给出openEuler的加固介绍和加固方法,指导用户进行安全加固。
\ No newline at end of file
diff --git a/content/zh/docs/SecHarden/zh-cn_bookmap_0192073180.md b/content/zh/docs/SecHarden/zh-cn_bookmap_0192073180.md
index 087ab6203ce9dec43d60bef0f84e5d35a712be7b..9014a51fe298c7e4d7af760bcacb9dbdb8633f35 100644
--- a/content/zh/docs/SecHarden/zh-cn_bookmap_0192073180.md
+++ b/content/zh/docs/SecHarden/zh-cn_bookmap_0192073180.md
@@ -1,5 +1,6 @@
# openEuler 1.0 安全加固指南
+- [法律声明](法律声明.md)
- [前言](前言.md)
- [操作系统加固概述](操作系统加固概述.md)
- [加固目的](加固目的.md)
diff --git "a/content/zh/docs/SecHarden/\346\223\215\344\275\234\347\263\273\347\273\237\345\212\240\345\233\272\346\246\202\350\277\260.md" "b/content/zh/docs/SecHarden/\346\223\215\344\275\234\347\263\273\347\273\237\345\212\240\345\233\272\346\246\202\350\277\260.md"
index e4763d6a276e75b87f34994af6a8bc9a2b51474d..c81e70d8eec6c90c9f624bf8dc4ff1beda818e07 100644
--- "a/content/zh/docs/SecHarden/\346\223\215\344\275\234\347\263\273\347\273\237\345\212\240\345\233\272\346\246\202\350\277\260.md"
+++ "b/content/zh/docs/SecHarden/\346\223\215\344\275\234\347\263\273\347\273\237\345\212\240\345\233\272\346\246\202\350\277\260.md"
@@ -1,5 +1,3 @@
# 操作系统加固概述
介绍对openEuler系统进行加固的目的和加固方案。
-
-
diff --git "a/content/zh/docs/SecHarden/\346\226\207\344\273\266\346\235\203\351\231\220.md" "b/content/zh/docs/SecHarden/\346\226\207\344\273\266\346\235\203\351\231\220.md"
index 479e52939819babed23ff684b1a5ff7ba0cb5231..0dbe215b014d57964f21981d7c036107b176b54d 100644
--- "a/content/zh/docs/SecHarden/\346\226\207\344\273\266\346\235\203\351\231\220.md"
+++ "b/content/zh/docs/SecHarden/\346\226\207\344\273\266\346\235\203\351\231\220.md"
@@ -1,4 +1 @@
# 文件权限
-
-
-
diff --git "a/content/zh/docs/SecHarden/\346\263\225\345\276\213\345\243\260\346\230\216.md" "b/content/zh/docs/SecHarden/\346\263\225\345\276\213\345\243\260\346\230\216.md"
new file mode 100644
index 0000000000000000000000000000000000000000..d2ceedbd8bd3409e052cd420991a5343ef63116d
--- /dev/null
+++ "b/content/zh/docs/SecHarden/\346\263\225\345\276\213\345\243\260\346\230\216.md"
@@ -0,0 +1,14 @@
+# 法律声明
+
+**版权所有 © 2020 华为技术有限公司。**
+
+您对“本文档”的复制、使用、修改及分发受知识共享\(Creative Commons\)署名—相同方式共享4.0国际公共许可协议\(以下简称“CC BY-SA 4.0”\)的约束。为了方便用户理解,您可以通过访问[https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) 了解CC BY-SA 4.0的概要 \(但不是替代\)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode)。
+
+**商标声明**
+
+openEuler为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
+
+**免责声明**
+
+本文档仅作为使用指导,除非适用法强制规定或者双方有明确书面约定, 华为技术有限公司对本文档中的所有陈述、信息和建议不做任何明示或默示的声明或保证,包括但不限于不侵权,时效性或满足特定目的的担保。
+
diff --git "a/content/zh/docs/SecHarden/\351\231\204\345\275\225.md" "b/content/zh/docs/SecHarden/\351\231\204\345\275\225.md"
index a4d7088ca4ac68956530e7eb5892622e6ab95a88..ceb5302f63bd17c095f4b2e80e8242ffd0804b88 100644
--- "a/content/zh/docs/SecHarden/\351\231\204\345\275\225.md"
+++ "b/content/zh/docs/SecHarden/\351\231\204\345\275\225.md"
@@ -2,4 +2,3 @@
介绍文件权限的含义和umask值的含义。
-
diff --git a/content/zh/docs/Virtualization/figures/zh-cn_image_0218587435.png b/content/zh/docs/Virtualization/figures/zh-cn_image_0218587435.png
new file mode 100644
index 0000000000000000000000000000000000000000..d245d48dc07e2b01734e21ec1952e89fa9269bdb
Binary files /dev/null and b/content/zh/docs/Virtualization/figures/zh-cn_image_0218587435.png differ
diff --git a/content/zh/docs/Virtualization/figures/zh-cn_image_0218587436.png b/content/zh/docs/Virtualization/figures/zh-cn_image_0218587436.png
new file mode 100644
index 0000000000000000000000000000000000000000..a32856aa08e459ed0f51f8fcf4c2f51511c12095
Binary files /dev/null and b/content/zh/docs/Virtualization/figures/zh-cn_image_0218587436.png differ
diff --git "a/content/zh/docs/Virtualization/figures/\350\231\232\346\213\237\345\214\226\346\236\266\346\236\204.png" "b/content/zh/docs/Virtualization/figures/\350\231\232\346\213\237\345\214\226\346\236\266\346\236\204.png"
new file mode 100644
index 0000000000000000000000000000000000000000..f187c3d3de35a19cf836f11dc1cc98c9a85787a9
Binary files /dev/null and "b/content/zh/docs/Virtualization/figures/\350\231\232\346\213\237\345\214\226\346\236\266\346\236\204.png" differ
diff --git a/content/zh/docs/Virtualization/public_sys-resources/icon-notice.gif b/content/zh/docs/Virtualization/public_sys-resources/icon-notice.gif
index 49bb8ed90917b6e0d13abe0b6b81a5a6367b5974..86024f61b691400bea99e5b1f506d9d9aef36e27 100644
Binary files a/content/zh/docs/Virtualization/public_sys-resources/icon-notice.gif and b/content/zh/docs/Virtualization/public_sys-resources/icon-notice.gif differ
diff --git a/content/zh/docs/Virtualization/virtualization.md b/content/zh/docs/Virtualization/virtualization.md
index 020976f22f2854abb9c699d9d82616b33c043f82..936a54e96cdab99468bf904bb7fd53e74d1c2fc3 100644
--- a/content/zh/docs/Virtualization/virtualization.md
+++ b/content/zh/docs/Virtualization/virtualization.md
@@ -1,3 +1 @@
-## 概述
-
本文档给出虚拟化介绍,并给出基于openEuler的虚拟化安装方法以及如何使用虚拟化,让用户了解虚拟化,并指导用户和管理员安装和使用虚拟化。
\ No newline at end of file
diff --git a/content/zh/docs/Virtualization/zh-cn_bookmap_0183145741.md b/content/zh/docs/Virtualization/zh-cn_bookmap_0183145741.md
index 01f69122849c68ddccba42b48d86643e1fbd22b1..699caf794f8fd47fbf8794763c8e51559b019874 100644
--- a/content/zh/docs/Virtualization/zh-cn_bookmap_0183145741.md
+++ b/content/zh/docs/Virtualization/zh-cn_bookmap_0183145741.md
@@ -1,5 +1,6 @@
-# openEuler 1.0 虚拟化用户指南
+# 虚拟化用户指南
+- [法律声明](法律声明.md)
- [前言](前言.md)
- [认识虚拟化](认识虚拟化.md)
- [安装指南](安装指南.md)
@@ -37,6 +38,8 @@
- [在线修改虚拟机配置](在线修改虚拟机配置.md)
- [查询虚拟机信息](查询虚拟机信息.md)
- [登录虚拟机](登录虚拟机.md)
+ - [使用VNC密码登录](使用VNC密码登录.md)
+ - [配置VNC TLS登录](配置VNC-TLS登录.md)
- [热迁移虚拟机](热迁移虚拟机.md)
diff --git "a/content/zh/docs/Virtualization/\344\275\277\347\224\250VNC\345\257\206\347\240\201\347\231\273\345\275\225.md" "b/content/zh/docs/Virtualization/\344\275\277\347\224\250VNC\345\257\206\347\240\201\347\231\273\345\275\225.md"
index 24b28cb1c96fcfd90ab3036821532ad63ef61e85..4897873d71f1afdcee498b182ff863c912e92cca 100644
--- "a/content/zh/docs/Virtualization/\344\275\277\347\224\250VNC\345\257\206\347\240\201\347\231\273\345\275\225.md"
+++ "b/content/zh/docs/Virtualization/\344\275\277\347\224\250VNC\345\257\206\347\240\201\347\231\273\345\275\225.md"
@@ -6,7 +6,7 @@
## 前提条件
-使用Real VncViewer、TightVNC等客户端登录虚拟机,在登录虚拟机之前需要获取如下信息:
+使用RealVNC、TightVNC等客户端登录虚拟机,在登录虚拟机之前需要获取如下信息:
- 虚拟机所在主机的IP地址。
- 确保客户端所在的环境可以访问到主机的网络。
diff --git "a/content/zh/docs/Virtualization/\345\205\266\344\273\226\345\270\270\347\224\250\350\256\276\345\244\207.md" "b/content/zh/docs/Virtualization/\345\205\266\344\273\226\345\270\270\347\224\250\350\256\276\345\244\207.md"
index a28b735c17f3e25dc022f036d5bf7c66f2ceeb3b..0282dc1ef9e385231e8af83a40c9842018db57b9 100644
--- "a/content/zh/docs/Virtualization/\345\205\266\344\273\226\345\270\270\347\224\250\350\256\276\345\244\207.md"
+++ "b/content/zh/docs/Virtualization/\345\205\266\344\273\226\345\270\270\347\224\250\350\256\276\345\244\207.md"
@@ -13,7 +13,7 @@
- video:媒体设备
- 属性type:媒体设备类型。常用属性值为virtio、vga、cirrus。
+ 属性type:媒体设备类型。常用属性值为virtio。
子元素model:video的子元素,用于指定媒体设备类型。
diff --git "a/content/zh/docs/Virtualization/\345\205\266\345\256\203\345\270\270\347\224\250\350\256\276\345\244\207.md" "b/content/zh/docs/Virtualization/\345\205\266\345\256\203\345\270\270\347\224\250\350\256\276\345\244\207.md"
new file mode 100644
index 0000000000000000000000000000000000000000..0282dc1ef9e385231e8af83a40c9842018db57b9
--- /dev/null
+++ "b/content/zh/docs/Virtualization/\345\205\266\345\256\203\345\270\270\347\224\250\350\256\276\345\244\207.md"
@@ -0,0 +1,57 @@
+# 其它常用设备
+
+## 概述
+
+除存储设备、网络设备外,XML配置文件中还需要指定一些其他外部设备,本节介绍这些元素的配置方法。
+
+## 元素介绍
+
+- serial:串口设备
+
+ 属性type:用于指定串口类型。常用属性值为pty、tcp、pipe、file。
+
+
+- video:媒体设备
+
+ 属性type:媒体设备类型。常用属性值为virtio。
+
+ 子元素model:video的子元素,用于指定媒体设备类型。
+
+- input:输出设备
+
+ 属性type:指定输出设备类型。常用属性值为tabe、keyboard,分别表示输出设备为写字板、键盘。
+
+ 属性bus:指定挂载的总线。常用属性值为USB。
+
+- emulator:模拟器应用路径
+- graphics:图形设备
+
+ 属性type:指定图形设备类型。常用属性值为vnc。
+
+ 属性listen:指定侦听的IP地址。
+
+
+## 配置示例
+
+例如,在下面的示例中,配置了虚拟机的模拟器路径,pty串口、virtio媒体设备、USB写字板、USB键盘以及VNC图形设备。
+
+> **说明:**
+>graphics的type配置为VNC时,建议配置属性passwd,即使用VNC登录时的密码。
+
+```
+
+ ...
+
+ /usr/libexec/qemu-kvm
+
+
+
+
+
+
+
+ ...
+
+
+```
+
diff --git "a/content/zh/docs/Virtualization/\345\207\206\345\244\207\350\231\232\346\213\237\346\234\272\347\275\221\347\273\234.md" "b/content/zh/docs/Virtualization/\345\207\206\345\244\207\350\231\232\346\213\237\346\234\272\347\275\221\347\273\234.md"
index 465037d325c74227792da716200e63b9302a572d..8347fe62c444f15b6bf28ec8db4b50a00b5363b6 100644
--- "a/content/zh/docs/Virtualization/\345\207\206\345\244\207\350\231\232\346\213\237\346\234\272\347\275\221\347\273\234.md"
+++ "b/content/zh/docs/Virtualization/\345\207\206\345\244\207\350\231\232\346\213\237\346\234\272\347\275\221\347\273\234.md"
@@ -46,7 +46,6 @@
# dhclient br0
```
-
- 如果没有DHCP服务器,给br0配置静态IP,例如设置静态IP为192.168.1.2,子网掩码为255.255.255.0。
```
@@ -181,7 +180,6 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc
# dhclient br0
```
-
- 如果没有DHCP服务器,给br0配置静态IP,例如192.168.1.2。
```
diff --git "a/content/zh/docs/Virtualization/\345\211\215\350\250\200.md" "b/content/zh/docs/Virtualization/\345\211\215\350\250\200.md"
index 8a8945c1e9fe9229f57f9c7128e8784f1be1f18f..ca4599194d76da542e80edd87570dd4d15635c5e 100644
--- "a/content/zh/docs/Virtualization/\345\211\215\350\250\200.md"
+++ "b/content/zh/docs/Virtualization/\345\211\215\350\250\200.md"
@@ -15,16 +15,16 @@
-
+
- 用于传递设备或环境安全警示信息,若不避免,可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。
- “注意”不涉及人身伤害。
+ 用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。
+ “须知”不涉及人身伤害。
-
+
- 用于突出重要/关键信息、最佳实践和小窍门等。
- “说明”不是安全警示信息,不涉及人身、设备及环境伤害。
+ 对正文中重点信息的补充说明。
+ “说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。
diff --git "a/content/zh/docs/Virtualization/\346\200\273\347\272\277\351\205\215\347\275\256.md" "b/content/zh/docs/Virtualization/\346\200\273\347\272\277\351\205\215\347\275\256.md"
index 3f9f0d129105d2a17e97e5362afd9490eed4d06e..9218716675d0ec223a7accf14e66f45bc00fa912 100644
--- "a/content/zh/docs/Virtualization/\346\200\273\347\272\277\351\205\215\347\275\256.md"
+++ "b/content/zh/docs/Virtualization/\346\200\273\347\272\277\351\205\215\347\275\256.md"
@@ -157,7 +157,7 @@ controller:控制器元素,表示一个总线。
...
-
+
```
diff --git "a/content/zh/docs/Virtualization/\346\263\225\345\276\213\345\243\260\346\230\216.md" "b/content/zh/docs/Virtualization/\346\263\225\345\276\213\345\243\260\346\230\216.md"
new file mode 100644
index 0000000000000000000000000000000000000000..1f014e41b412eb515ecacbba459a8530a0fad040
--- /dev/null
+++ "b/content/zh/docs/Virtualization/\346\263\225\345\276\213\345\243\260\346\230\216.md"
@@ -0,0 +1,14 @@
+# 法律声明
+
+**版权所有 © 2020 华为技术有限公司。**
+
+您对“本文档”的复制、使用、修改及分发受知识共享\(Creative Commons\)署名—相同方式共享4.0国际公共许可协议\(以下简称“CC BY-SA 4.0”\)的约束。为了方便用户理解,您可以通过访问[https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) 了解CC BY-SA 4.0的概要 \(但不是替代\)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode)。
+
+**商标声明**
+
+openEuler为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
+
+**免责声明**
+
+本文档仅作为使用指导,除非适用法强制规定或者双方有明确书面约定, 华为技术有限公司对本文档中的所有陈述、信息和建议不做任何明示或默示的声明或保证,包括但不限于不侵权,时效性或满足特定目的的担保。
+
diff --git "a/content/zh/docs/Virtualization/\350\256\244\350\257\206\350\231\232\346\213\237\345\214\226.md" "b/content/zh/docs/Virtualization/\350\256\244\350\257\206\350\231\232\346\213\237\345\214\226.md"
index 69c71823d0b74060feb9cb1083d7beab14ab64b6..29ec1d5a5b2f78ecb2b882eeb8df8c8ab9d5eb6a 100644
--- "a/content/zh/docs/Virtualization/\350\256\244\350\257\206\350\231\232\346\213\237\345\214\226.md"
+++ "b/content/zh/docs/Virtualization/\350\256\244\350\257\206\350\231\232\346\213\237\345\214\226.md"
@@ -2,14 +2,12 @@
## 简介
-在计算机技术中,虚拟化是一种资源管理技术,它将计算机的各种实体资源(处理器、内存、磁盘、网络适配器等)予以抽象,转换后呈现可供分割、组合为一个或多个计算机配置环境。这种资源管理技术打破了实体结构不可分割的障碍,使这些资源在虚拟化后不受现有资源的架设方式、地域或物理配置限制,从而让用户可以更好地应用计算机硬件资源,提高资源利用率。
+在计算机技术中,虚拟化是一种资源管理技术,它将计算机的各种实体资源(处理器、内存、磁盘、网络适配器等)予以抽象,转换后呈现并可供分割、组合为一个或多个计算机配置环境。这种资源管理技术打破了实体结构不可分割的障碍,使这些资源在虚拟化后不受现有资源的架设方式、地域或物理配置限制,从而让用户可以更好地应用计算机硬件资源,提高资源利用率。
-虚拟化使得一台物理服务器上可以运行多台虚拟机,虚拟机共享物理机的处理器、内存、I/O资源等,但逻辑上虚拟机之间是互相隔离的。在虚拟化技术中,通常将这个物理服务器称为宿主机,宿主机上运行的虚拟机也叫客户机,虚拟机内部运行的操作系统称为客户机操作系统。在宿主机和虚拟机之间存在一层叫虚拟化层的软件,用于实现虚拟硬件的模拟,通常这个虚拟化层被称为虚拟机监控器,如下图所示:
+虚拟化使得一台物理服务器上可以运行多台虚拟机,虚拟机共享物理机的处理器、内存、I/O资源等,但逻辑上虚拟机之间是互相隔离的。在虚拟化技术中,通常将这个物理服务器称为宿主机,宿主机上运行的虚拟机也叫客户机,虚拟机内部运行的操作系统称为客户机操作系统。在宿主机和虚拟机之间存在一层叫虚拟化层的软件,用于实现虚拟硬件的模拟,通常这个虚拟化层被称为虚拟机监视器,如下图所示:
**图 1** 虚拟化架构
-
-
-
+
## 虚拟化架构
@@ -83,7 +81,7 @@ openEuler软件包中提供的虚拟化相关组件:
- 更高的资源利用率
- 虚拟化可支持实现物理资源和资源池的动态共享,提高资源利用率,特别是针对那些平均需求远低于需要为其提供专用资源的不同负载。
+ 虚拟化可支持实现物理资源和资源池的动态共享,提高资源利用率。
## openEuler虚拟化
diff --git "a/content/zh/docs/Virtualization/\351\205\215\347\275\256Guest-NUMA.md" "b/content/zh/docs/Virtualization/\351\205\215\347\275\256Guest-NUMA.md"
index fbe9468f22deffd78bdc94c1fa16279c4cb8a85f..91a9ff7787bda6c0f4eee0c9a427d75dad979a9e 100644
--- "a/content/zh/docs/Virtualization/\351\205\215\347\275\256Guest-NUMA.md"
+++ "b/content/zh/docs/Virtualization/\351\205\215\347\275\256Guest-NUMA.md"
@@ -31,6 +31,6 @@
> **说明:**
>- numa项提供虚拟机内部呈现NUMA拓扑功能,“cell id”表示vNode编号,“cpus”表示vCPU编号,“memory”表示对应vNode上的内存大小。
>- 如果希望通过Guest NUMA提供更好的性能,则需要配置numatune和cputune,使vCPU和对应的内存分布在同一个物理NUMA NODE上:
-> - numatune中的“cellid”和numa中的“cell id”是对应的;“mode”可以配置为“strict”(严格从指定node上申请内存,内存不够则失败)、“preferred”(优先从某一node上申请内存,如果不够则从其他node上申请)、“interleave”(从指定的node上交叉申请内存);“nodeset”表示指定物理NUMA NODE。
-> - cputune中需要将同一cell id中的vCPU绑定到与memnode相同的物理NUMA NODE上。
+>- numatune中的“cellid”和numa中的“cell id”是对应的;“mode”可以配置为“strict”(严格从指定node上申请内存,内存不够则失败)、“preferred”(优先从某一node上申请内存,如果不够则从其他node上申请)、“interleave”(从指定的node上交叉申请内存);“nodeset”表示指定物理NUMA NODE。
+>- cputune中需要将同一cell id中的vCPU绑定到与memnode相同的物理NUMA NODE上。
diff --git "a/content/zh/docs/Virtualization/\351\205\215\347\275\256Host-NUMA.md" "b/content/zh/docs/Virtualization/\351\205\215\347\275\256Host-NUMA.md"
index 0ad7b5fa146cf337cceee8f1cc32dcf84e67150f..9be01110bfa71dbfdb1e5c598f6f22e988b1b18e 100644
--- "a/content/zh/docs/Virtualization/\351\205\215\347\275\256Host-NUMA.md"
+++ "b/content/zh/docs/Virtualization/\351\205\215\347\275\256Host-NUMA.md"
@@ -2,7 +2,7 @@
为提升虚拟机性能,在虚拟机启动前,用户可以通过虚拟机XML配置文件为虚拟机指定主机的NUMA节点,使虚拟机内存分配在指定的NUMA节点上。本特性一般与vCPU绑定一起使用,从而避免vCPU远端访问内存。
-> **注意:**
+> **须知:**
>如果在指定的NODE上内存不够时,启动虚拟机会失败,并且存在系统OOM(Out Of Memory)强制关闭进程的可能性。
## 操作步骤
diff --git "a/content/zh/docs/Virtualization/\351\252\214\350\257\201\345\256\211\350\243\205\346\230\257\345\220\246\346\210\220\345\212\237.md" "b/content/zh/docs/Virtualization/\351\252\214\350\257\201\345\256\211\350\243\205\346\230\257\345\220\246\346\210\220\345\212\237.md"
index ff36c64c1fc20aa023a244acd5adb46a7c7b26cf..1508f1a861a1ab42b43ba1b2bfe88749f04bee2f 100644
--- "a/content/zh/docs/Virtualization/\351\252\214\350\257\201\345\256\211\350\243\205\346\230\257\345\220\246\346\210\220\345\212\237.md"
+++ "b/content/zh/docs/Virtualization/\351\252\214\350\257\201\345\256\211\350\243\205\346\230\257\345\220\246\346\210\220\345\212\237.md"
@@ -14,7 +14,7 @@
若上述文件存在,说明内核支持KVM虚拟化。若上述文件不存在,则说明系统内核编译时未开启KVM虚拟化,需要更换支持KVM虚拟化的Linux内核。
-2. 确认qemu是否安装成功。若安装成功则可以看到qemu-kvm软件包信息,命令和回显如下:
+2. 确认qemu是否安装成功。若安装成功则可以看到qemu软件包信息,命令和回显如下:
```
# rpm -qi qemu
diff --git a/content/zh/menu/index.md b/content/zh/menu/index.md
index fc49de50f0cbb12c238db802ca28c8580d7d18dd..910c2634ca5514d2b721123285652a76acf67a79 100644
--- a/content/zh/menu/index.md
+++ b/content/zh/menu/index.md
@@ -1,24 +1,8 @@
---
headless: true
---
-- [发行说明]({{< relref "/docs/Releasenotes/release_notes.md" >}})
- - [openEuler 1.0 版本发行说明]({{< relref "/docs/Releasenotes/openEuler-1-0-版本发行说明.md" >}})
- - [简介]({{< relref "/docs/Releasenotes/简介.md" >}})
- - [基础参数说明]({{< relref "/docs/Releasenotes/基础参数说明.md" >}})
- - [技术特性]({{< relref "/docs/Releasenotes/技术特性.md" >}})
- - [系统安装]({{< relref "/docs/Releasenotes/系统安装.md" >}})
- - [定制/裁减]({{< relref "/docs/Releasenotes/定制-裁减.md" >}})
- - [文件系统]({{< relref "/docs/Releasenotes/文件系统.md" >}})
- - [内核]({{< relref "/docs/Releasenotes/内核.md" >}})
- - [系统管理]({{< relref "/docs/Releasenotes/系统管理.md" >}})
- - [编译器]({{< relref "/docs/Releasenotes/编译器.md" >}})
- - [系统安全]({{< relref "/docs/Releasenotes/系统安全.md" >}})
- - [系统调测]({{< relref "/docs/Releasenotes/系统调测.md" >}})
- - [虚拟化]({{< relref "/docs/Releasenotes/虚拟化.md" >}})
- - [容器]({{< relref "/docs/Releasenotes/容器.md" >}})
- - [支持鲲鹏生态]({{< relref "/docs/Releasenotes/支持鲲鹏生态.md" >}})
-
- [安装指南]({{< relref "/docs/Installation/installation.md" >}})
+ - [法律声明]({{< relref "/docs/Installation/法律声明.md" >}})
- [前言]({{< relref "/docs/Installation/前言.md" >}})
- [安装准备]({{< relref "/docs/Installation/安装准备.md" >}})
- [获取安装源]({{< relref "/docs/Installation/获取安装源.md" >}})
@@ -27,7 +11,6 @@ headless: true
- [最小硬件要求]({{< relref "/docs/Installation/最小硬件要求.md" >}})
- [安装方式介绍]({{< relref "/docs/Installation/安装方式介绍.md" >}})
- [通过光盘安装]({{< relref "/docs/Installation/通过光盘安装.md" >}})
- - [使用PXE通过网络安装]({{< relref "/docs/Installation/使用PXE通过网络安装.md" >}})
- [安装指导]({{< relref "/docs/Installation/安装指导.md" >}})
- [启动安装]({{< relref "/docs/Installation/启动安装.md" >}})
- [通过图形化模式安装]({{< relref "/docs/Installation/通过图形化模式安装.md" >}})
@@ -56,14 +39,17 @@ headless: true
- [设置root密码]({{< relref "/docs/Installation/设置root密码.md" >}})
- [创建用户]({{< relref "/docs/Installation/创建用户.md" >}})
- [完成安装]({{< relref "/docs/Installation/完成安装.md" >}})
- - [使用kickstart自动化安装]({{< relref "/docs/Installation/使用kickstart自动化安装.md" >}})
- - [总体介绍]({{< relref "/docs/Installation/总体介绍.md" >}})
- - [半自动化安装指导]({{< relref "/docs/Installation/半自动化安装指导.md" >}})
- - [全自动化安装指导]({{< relref "/docs/Installation/全自动化安装指导.md" >}})
- - [FAQ]({{< relref "/docs/Installation/FAQ.md" >}})
+ - [FAQ]({{< relref "/docs/Installation/FAQ.md" >}})
+ - [安装openEuler时选择第二盘位为安装目标,操作系统无法启动]({{< relref "/docs/Installation/安装openEuler时选择第二盘位为安装目标-操作系统无法启动.md" >}})
+ - [网络配置约束限制]({{< relref "/docs/Installation/网络配置约束限制.md" >}})
+ - [openEuler开机后进入emergency模式]({{< relref "/docs/Installation/openEuler开机后进入emergency模式.md" >}})
+ - [系统中存在无法激活的逻辑卷组时,重装系统失败]({{< relref "/docs/Installation/系统中存在无法激活的逻辑卷组时-重装系统失败.md" >}})
+ - [选择安装源出现异常]({{< relref "/docs/Installation/选择安装源出现异常.md" >}})
+ - [软件包依赖]({{< relref "/docs/Installation/软件包依赖.md" >}})
- [如何手动开启kdump服务]({{< relref "/docs/Installation/如何手动开启kdump服务.md" >}})
- [管理员指南]({{< relref "/docs/Administration/administration.md" >}})
+ - [法律声明]({{< relref "/docs/Administration/法律声明.md" >}})
- [前言]({{< relref "/docs/Administration/前言.md" >}})
- [基础配置]({{< relref "/docs/Administration/基础配置.md" >}})
- [通过命令设置]({{< relref "/docs/Administration/通过命令设置.md" >}})
@@ -79,7 +65,6 @@ headless: true
- [修改用户账号]({{< relref "/docs/Administration/修改用户账号.md" >}})
- [删除用户]({{< relref "/docs/Administration/删除用户.md" >}})
- [管理员账户授权]({{< relref "/docs/Administration/管理员账户授权.md" >}})
- - [创建多个管理员账户]({{< relref "/docs/Administration/创建多个管理员账户.md" >}})
- [为普通用户分配特权]({{< relref "/docs/Administration/为普通用户分配特权.md" >}})
- [使用DNF管理软件包]({{< relref "/docs/Administration/使用DNF管理软件包.md" >}})
- [配置DNF]({{< relref "/docs/Administration/配置DNF.md" >}})
@@ -118,8 +103,8 @@ headless: true
- [静态路由及默认网关]({{< relref "/docs/Administration/静态路由及默认网关.md" >}})
- [配置主机名]({{< relref "/docs/Administration/配置主机名.md" >}})
- [简介]({{< relref "/docs/Administration/简介-0.md" >}})
- - [使用hostnamectl配置主机名]({{< relref "/docs/Administration/使用-hostnamectl-配置主机名.md" >}})
- - [使用 nmcli 配置主机名]({{< relref "/docs/Administration/使用-nmcli-配置主机名.md" >}})
+ - [使用hostnamectl配置主机名]({{< relref "/docs/Administration/使用hostnamectl配置主机名.md" >}})
+ - [使用nmcli配置主机名]({{< relref "/docs/Administration/使用nmcli配置主机名.md" >}})
- [配置网络绑定]({{< relref "/docs/Administration/配置网络绑定.md" >}})
- [使用nmcli]({{< relref "/docs/Administration/使用nmcli-1.md" >}})
- [使用命令行]({{< relref "/docs/Administration/使用命令行-2.md" >}})
@@ -137,6 +122,11 @@ headless: true
- [IPv4的dhclient守护进程持久化配置]({{< relref "/docs/Administration/IPv4的dhclient守护进程持久化配置.md" >}})
- [iproute相关命令配置IPv4与IPv6时的差异说明]({{< relref "/docs/Administration/iproute相关命令配置IPv4与IPv6时的差异说明.md" >}})
- [NetworkManager服务配置差异说明]({{< relref "/docs/Administration/NetworkManager服务配置差异说明.md" >}})
+ - [FAQ]({{< relref "/docs/Administration/FAQ.md" >}})
+ - [iscsi-initiator-utils不支持登录fe80 IPv6地址]({{< relref "/docs/Administration/iscsi-initiator-utils不支持登录fe80-IPv6地址.md" >}})
+ - [网卡down掉之后,IPv6地址丢失]({{< relref "/docs/Administration/网卡down掉之后-IPv6地址丢失.md" >}})
+ - [bond口已具有多个IPv6地址时,添加或删除IPv6地址耗时过久]({{< relref "/docs/Administration/bond口已具有多个IPv6地址时-添加或删除IPv6地址耗时过久.md" >}})
+ - [Rsyslog在IPv4和IPv6混合使用场景中日志传输延迟]({{< relref "/docs/Administration/Rsyslog在IPv4和IPv6混合使用场景中日志传输延迟.md" >}})
- [搭建服务]({{< relref "/docs/Administration/搭建服务.md" >}})
- [搭建repo服务器]({{< relref "/docs/Administration/搭建repo服务器.md" >}})
- [概述]({{< relref "/docs/Administration/概述.md" >}})
@@ -173,6 +163,7 @@ headless: true
- [验证web服务是否搭建成功]({{< relref "/docs/Administration/验证web服务是否搭建成功.md" >}})
- [安全加固指南]({{< relref "/docs/SecHarden/secHarden.md" >}})
+ - [法律声明]({{< relref "/docs/SecHarden/法律声明.md" >}})
- [前言]({{< relref "/docs/SecHarden/前言.md" >}})
- [操作系统加固概述]({{< relref "/docs/SecHarden/操作系统加固概述.md" >}})
- [加固目的]({{< relref "/docs/SecHarden/加固目的.md" >}})
@@ -180,39 +171,40 @@ headless: true
- [加固影响]({{< relref "/docs/SecHarden/加固影响.md" >}})
- [加固指导]({{< relref "/docs/SecHarden/加固指导.md" >}})
- [系统服务]({{< relref "/docs/SecHarden/系统服务.md" >}})
- - [加固SSH服务]({{< relref "/docs/SecHarden/加固SSH服务.md" >}})
+ - [加固SSH服务]({{< relref "/docs/SecHarden/加固SSH服务.md" >}})
- [文件权限]({{< relref "/docs/SecHarden/文件权限.md" >}})
- - [设置文件的权限和属主]({{< relref "/docs/SecHarden/设置文件的权限和属主.md" >}})
- - [删除无主文件]({{< relref "/docs/SecHarden/删除无主文件.md" >}})
- - [处理空链接文件]({{< relref "/docs/SecHarden/处理空链接文件.md" >}})
- - [设置守护进程的umask值]({{< relref "/docs/SecHarden/设置守护进程的umask值.md" >}})
- - [为全局可写目录添加粘滞位属性]({{< relref "/docs/SecHarden/为全局可写目录添加粘滞位属性.md" >}})
- - [删除非授权文件的全局可写属性]({{< relref "/docs/SecHarden/删除非授权文件的全局可写属性.md" >}})
- - [限制at命令的使用权限]({{< relref "/docs/SecHarden/限制at命令的使用权限.md" >}})
- - [限制cron命令的使用权限]({{< relref "/docs/SecHarden/限制cron命令的使用权限.md" >}})
+ - [设置文件的权限和属主]({{< relref "/docs/SecHarden/设置文件的权限和属主.md" >}})
+ - [删除无主文件]({{< relref "/docs/SecHarden/删除无主文件.md" >}})
+ - [处理空链接文件]({{< relref "/docs/SecHarden/处理空链接文件.md" >}})
+ - [设置守护进程的umask值]({{< relref "/docs/SecHarden/设置守护进程的umask值.md" >}})
+ - [为全局可写目录添加粘滞位属性]({{< relref "/docs/SecHarden/为全局可写目录添加粘滞位属性.md" >}})
+ - [删除非授权文件的全局可写属性]({{< relref "/docs/SecHarden/删除非授权文件的全局可写属性.md" >}})
+ - [限制at命令的使用权限]({{< relref "/docs/SecHarden/限制at命令的使用权限.md" >}})
+ - [限制cron命令的使用权限]({{< relref "/docs/SecHarden/限制cron命令的使用权限.md" >}})
- [内核参数]({{< relref "/docs/SecHarden/内核参数.md" >}})
- - [加固内核参数]({{< relref "/docs/SecHarden/加固内核参数.md" >}})
+ - [加固内核参数]({{< relref "/docs/SecHarden/加固内核参数.md" >}})
- [授权认证]({{< relref "/docs/SecHarden/授权认证.md" >}})
- - [设置网络远程登录的警告信息]({{< relref "/docs/SecHarden/设置网络远程登录的警告信息.md" >}})
- - [禁止通过CTRL+ALT+DEL重启系统]({{< relref "/docs/SecHarden/禁止通过CTRL+ALT+DEL重启系统.md" >}})
- - [设置终端的自动退出时间]({{< relref "/docs/SecHarden/设置终端的自动退出时间.md" >}})
- - [设置用户的默认umask值为077]({{< relref "/docs/SecHarden/设置用户的默认umask值为077.md" >}})
- - [设置GRUB2加密口令]({{< relref "/docs/SecHarden/设置GRUB2加密口令.md" >}})
- - [安全单用户模式]({{< relref "/docs/SecHarden/安全单用户模式.md" >}})
- - [禁止交互式启动]({{< relref "/docs/SecHarden/禁止交互式启动.md" >}})
+ - [设置网络远程登录的警告信息]({{< relref "/docs/SecHarden/设置网络远程登录的警告信息.md" >}})
+ - [禁止通过CTRL+ALT+DEL重启系统]({{< relref "/docs/SecHarden/禁止通过CTRL+ALT+DEL重启系统.md" >}})
+ - [设置终端的自动退出时间]({{< relref "/docs/SecHarden/设置终端的自动退出时间.md" >}})
+ - [设置用户的默认umask值为077]({{< relref "/docs/SecHarden/设置用户的默认umask值为077.md" >}})
+ - [设置GRUB2加密口令]({{< relref "/docs/SecHarden/设置GRUB2加密口令.md" >}})
+ - [安全单用户模式]({{< relref "/docs/SecHarden/安全单用户模式.md" >}})
+ - [禁止交互式启动]({{< relref "/docs/SecHarden/禁止交互式启动.md" >}})
- [账户口令]({{< relref "/docs/SecHarden/账户口令.md" >}})
- - [屏蔽系统帐户]({{< relref "/docs/SecHarden/屏蔽系统帐户.md" >}})
- - [限制使用su命令的帐户]({{< relref "/docs/SecHarden/限制使用su命令的帐户.md" >}})
- - [设置口令复杂度]({{< relref "/docs/SecHarden/设置口令复杂度.md" >}})
- - [设置口令有效期]({{< relref "/docs/SecHarden/设置口令有效期.md" >}})
- - [设置口令的加密算法]({{< relref "/docs/SecHarden/设置口令的加密算法.md" >}})
- - [登录失败超过三次后锁定]({{< relref "/docs/SecHarden/登录失败超过三次后锁定.md" >}})
- - [加固su命令]({{< relref "/docs/SecHarden/加固su命令.md" >}})
+ - [屏蔽系统帐户]({{< relref "/docs/SecHarden/屏蔽系统帐户.md" >}})
+ - [限制使用su命令的帐户]({{< relref "/docs/SecHarden/限制使用su命令的帐户.md" >}})
+ - [设置口令复杂度]({{< relref "/docs/SecHarden/设置口令复杂度.md" >}})
+ - [设置口令有效期]({{< relref "/docs/SecHarden/设置口令有效期.md" >}})
+ - [设置口令的加密算法]({{< relref "/docs/SecHarden/设置口令的加密算法.md" >}})
+ - [登录失败超过三次后锁定]({{< relref "/docs/SecHarden/登录失败超过三次后锁定.md" >}})
+ - [加固su命令]({{< relref "/docs/SecHarden/加固su命令.md" >}})
- [附录]({{< relref "/docs/SecHarden/附录.md" >}})
- [文件和目录权限含义]({{< relref "/docs/SecHarden/文件和目录权限含义.md" >}})
- [umask值含义]({{< relref "/docs/SecHarden/umask值含义.md" >}})
- [容器用户指南]({{< relref "/docs/Container/container.md" >}})
+ - [法律声明]({{< relref "/docs/Container/法律声明.md" >}})
- [前言]({{< relref "/docs/Container/前言.md" >}})
- [iSula容器引擎]({{< relref "/docs/Container/iSula容器引擎.md" >}})
- [概述]({{< relref "/docs/Container/概述.md" >}})
@@ -378,6 +370,7 @@ headless: true
- [限制内存资源]({{< relref "/docs/Container/限制内存资源.md" >}})
- [限制Blkio资源]({{< relref "/docs/Container/限制Blkio资源.md" >}})
- [限制文件描述符资源]({{< relref "/docs/Container/限制文件描述符资源.md" >}})
+ - [为安全容器配置网络]({{< relref "/docs/Container/为安全容器配置网络.md" >}})
- [监控安全容器]({{< relref "/docs/Container/监控安全容器.md" >}})
- [附录]({{< relref "/docs/Container/附录-25.md" >}})
- [configuration.toml配置说明]({{< relref "/docs/Container/configuration-toml配置说明.md" >}})
@@ -464,6 +457,7 @@ headless: true
- [version]({{< relref "/docs/Container/version.md" >}})
- [虚拟化用户指南]({{< relref "/docs/Virtualization/virtualization.md" >}})
+ - [法律声明]({{< relref "/docs/Virtualization/法律声明.md" >}})
- [前言]({{< relref "/docs/Virtualization/前言.md" >}})
- [认识虚拟化]({{< relref "/docs/Virtualization/认识虚拟化.md" >}})
- [安装指南]({{< relref "/docs/Virtualization/安装指南.md" >}})
@@ -484,7 +478,7 @@ headless: true
- [存储设备]({{< relref "/docs/Virtualization/存储设备.md" >}})
- [网络设备]({{< relref "/docs/Virtualization/网络设备.md" >}})
- [总线配置]({{< relref "/docs/Virtualization/总线配置.md" >}})
- - [其他常用设备]({{< relref "/docs/Virtualization/其他常用设备.md" >}})
+ - [其它常用设备]({{< relref "/docs/Virtualization/其它常用设备.md" >}})
- [其他常见配置项]({{< relref "/docs/Virtualization/其他常见配置项.md" >}})
- [XML配置文件示例]({{< relref "/docs/Virtualization/XML配置文件示例.md" >}})
- [管理虚拟机]({{< relref "/docs/Virtualization/管理虚拟机.md" >}})
diff --git "a/rdocs/openEuler 1.0 \345\256\211\350\243\205\346\214\207\345\215\227.pdf" "b/rdocs/openEuler 1.0 \345\256\211\350\243\205\346\214\207\345\215\227.pdf"
new file mode 100644
index 0000000000000000000000000000000000000000..39bbed8dc2cb9b0da48b4be46b0d551c4957e637
Binary files /dev/null and "b/rdocs/openEuler 1.0 \345\256\211\350\243\205\346\214\207\345\215\227.pdf" differ
diff --git "a/rdocs/openEuler 1.0 \347\256\241\347\220\206\345\221\230\346\214\207\345\215\227.pdf" "b/rdocs/openEuler 1.0 \347\256\241\347\220\206\345\221\230\346\214\207\345\215\227.pdf"
new file mode 100644
index 0000000000000000000000000000000000000000..517bd0809ad5150642d59223afed7bfefcf34480
Binary files /dev/null and "b/rdocs/openEuler 1.0 \347\256\241\347\220\206\345\221\230\346\214\207\345\215\227.pdf" differ
diff --git "a/rdocs/openEuler 1.0 \350\231\232\346\213\237\345\214\226\347\224\250\346\210\267\346\214\207\345\215\227.pdf" "b/rdocs/openEuler 1.0 \350\231\232\346\213\237\345\214\226\347\224\250\346\210\267\346\214\207\345\215\227.pdf"
new file mode 100644
index 0000000000000000000000000000000000000000..15f3ac91558c5bcde270930c84874a332fce2e83
Binary files /dev/null and "b/rdocs/openEuler 1.0 \350\231\232\346\213\237\345\214\226\347\224\250\346\210\267\346\214\207\345\215\227.pdf" differ