diff --git a/content/zh/docs/Administration/FAQ.md b/content/zh/docs/Administration/FAQ.md new file mode 100644 index 0000000000000000000000000000000000000000..7ae384fc87ab704f27ff55521d351b4df994ffd3 --- /dev/null +++ b/content/zh/docs/Administration/FAQ.md @@ -0,0 +1 @@ +# FAQ diff --git "a/content/zh/docs/Administration/IPv6\344\275\277\347\224\250\345\267\256\345\274\202\350\257\264\346\230\216\357\274\210vs-IPv4\357\274\211.md" "b/content/zh/docs/Administration/IPv6\344\275\277\347\224\250\345\267\256\345\274\202\350\257\264\346\230\216\357\274\210vs-IPv4\357\274\211.md" index 5d606527845eed66509175dd08886f69610ebdbe..f1219662bf04282ee19df10abb655c10dcd7f618 100644 --- "a/content/zh/docs/Administration/IPv6\344\275\277\347\224\250\345\267\256\345\274\202\350\257\264\346\230\216\357\274\210vs-IPv4\357\274\211.md" +++ "b/content/zh/docs/Administration/IPv6\344\275\277\347\224\250\345\267\256\345\274\202\350\257\264\346\230\216\357\274\210vs-IPv4\357\274\211.md" @@ -1,4 +1 @@ # IPv6使用差异说明(vs IPv4) - - - diff --git "a/content/zh/docs/Administration/Rsyslog\345\234\250IPv4\345\222\214IPv6\346\267\267\345\220\210\344\275\277\347\224\250\345\234\272\346\231\257\344\270\255\346\227\245\345\277\227\344\274\240\350\276\223\345\273\266\350\277\237.md" "b/content/zh/docs/Administration/Rsyslog\345\234\250IPv4\345\222\214IPv6\346\267\267\345\220\210\344\275\277\347\224\250\345\234\272\346\231\257\344\270\255\346\227\245\345\277\227\344\274\240\350\276\223\345\273\266\350\277\237.md" new file mode 100644 index 0000000000000000000000000000000000000000..90d0342ce01b7ad122a0837050885aade78a7051 --- /dev/null +++ "b/content/zh/docs/Administration/Rsyslog\345\234\250IPv4\345\222\214IPv6\346\267\267\345\220\210\344\275\277\347\224\250\345\234\272\346\231\257\344\270\255\346\227\245\345\277\227\344\274\240\350\276\223\345\273\266\350\277\237.md" @@ -0,0 +1,23 @@ +# Rsyslog在IPv4和IPv6混合使用场景中日志传输延迟 + +## 问题现象 + +rsyslog客户端配置文件同时配置IPv4和IPv6地址,且端口配置相同的情况下,服务端收集log时会概率性出现日志打印延迟。 + +## 原因分析 + +延迟是因为rsyslog内部存在缓冲队列机制,默认情况下需要缓冲区队列达到一定数量才会写入文件。 + +## 解决方法 + +可通过配置Direct模式,关闭缓冲队列机制解决该问题。在rsyslog远程传输服务端的/etc/rsyslog.d目录下新增的远程传输配置文件中,最开头增加如下配置: + +``` +$ActionQueueType Direct +$MainMsgQueueType Direct +``` + +>![](public_sys-resources/icon-note.gif) **说明:** +>- Direct模式减少队列大小为1,所以在队列中会保留1条日志到下次日志打印; +>- Direct模式会降低服务器端的rsyslog性能。 + diff --git a/content/zh/docs/Administration/administration.md b/content/zh/docs/Administration/administration.md index eb3e1841ba96f79ceabc13f7f0ca283ee9e2b473..09347f82a869c83508ba7eb52b5144912afebbac 100644 --- a/content/zh/docs/Administration/administration.md +++ b/content/zh/docs/Administration/administration.md @@ -1,3 +1 @@ -## 概述 - 本文档提供了openEuler系统常用的管理员操作,方便管理员更好地使用openEuler。 \ No newline at end of file diff --git "a/content/zh/docs/Administration/bond\345\217\243\345\267\262\345\205\267\346\234\211\345\244\232\344\270\252IPv6\345\234\260\345\235\200\346\227\266-\346\267\273\345\212\240\346\210\226\345\210\240\351\231\244IPv6\345\234\260\345\235\200\350\200\227\346\227\266\350\277\207\344\271\205.md" "b/content/zh/docs/Administration/bond\345\217\243\345\267\262\345\205\267\346\234\211\345\244\232\344\270\252IPv6\345\234\260\345\235\200\346\227\266-\346\267\273\345\212\240\346\210\226\345\210\240\351\231\244IPv6\345\234\260\345\235\200\350\200\227\346\227\266\350\277\207\344\271\205.md" new file mode 100644 index 0000000000000000000000000000000000000000..7464e543310d0f2c3f4e38eda5bb70fbe63f5ad0 --- /dev/null +++ "b/content/zh/docs/Administration/bond\345\217\243\345\267\262\345\205\267\346\234\211\345\244\232\344\270\252IPv6\345\234\260\345\235\200\346\227\266-\346\267\273\345\212\240\346\210\226\345\210\240\351\231\244IPv6\345\234\260\345\235\200\350\200\227\346\227\266\350\277\207\344\271\205.md" @@ -0,0 +1,20 @@ +# bond口已具有多个IPv6地址时,添加或删除IPv6地址耗时过久 + +## 问题现象 + +下列方式配置或删除(包括flush)IPv6地址方式,X为动态变化的低16位,并且配置在bond口时,耗时会随已配置的IPv6地址数量成数倍增加。例如由4个物理网卡组成的bond口添加IPv6地址时,单线程添加删除3000 IPv6地址均需大概5分钟,而普通物理网卡耗时在10秒内。 + +``` +ip a add/del 192:168::18:X/64 dev DEVICE +``` + +## 原因分析 + +bond口在添加IPv6地址时,会生成IPv6组播地址,并进行同步到所有的物理网卡上,此耗时会随IPv6数量增加而增加,导致耗时过长。 + +## 解决方法 + +IPv6的组播地址是由IPv6地址的低24位与33-33-ff组合生成,组播地址过多会导致添加删除耗时增加,如果生成的组播地址为少量,耗时不会受此影响。 + +建议添加IPv6地址时,可保持低24位一致,保持高位变动,单网卡中仅需一个网段的一个地址即可与外部正常通信,此配置更符合常规使用。 + diff --git a/content/zh/docs/Administration/figures/zh-cn_image_0218587971.png b/content/zh/docs/Administration/figures/zh-cn_image_0218587971.png new file mode 100644 index 0000000000000000000000000000000000000000..d245d48dc07e2b01734e21ec1952e89fa9269bdb Binary files /dev/null and b/content/zh/docs/Administration/figures/zh-cn_image_0218587971.png differ diff --git a/content/zh/docs/Administration/figures/zh-cn_image_0182317355.png b/content/zh/docs/Administration/figures/zh-cn_image_0218587972.png similarity index 100% rename from content/zh/docs/Administration/figures/zh-cn_image_0182317355.png rename to content/zh/docs/Administration/figures/zh-cn_image_0218587972.png diff --git "a/content/zh/docs/Administration/iscsi-initiator-utils\344\270\215\346\224\257\346\214\201\347\231\273\345\275\225fe80-IPv6\345\234\260\345\235\200.md" "b/content/zh/docs/Administration/iscsi-initiator-utils\344\270\215\346\224\257\346\214\201\347\231\273\345\275\225fe80-IPv6\345\234\260\345\235\200.md" new file mode 100644 index 0000000000000000000000000000000000000000..e9a407381826ae30c6117b1b54832ff0ad6eeaf0 --- /dev/null +++ "b/content/zh/docs/Administration/iscsi-initiator-utils\344\270\215\346\224\257\346\214\201\347\231\273\345\275\225fe80-IPv6\345\234\260\345\235\200.md" @@ -0,0 +1,14 @@ +# iscsi-initiator-utils不支持登录fe80 IPv6地址 + +## 问题现象 + +客户端通过IPv6登录iscsi服务端时,使用如“iscsiadm -m node -p ipv6address -l”的命令格式登录,如果是全局地址(global address),直接替换将命令范例中的“ipv6address”替换为全局地址即可;但如果是链路本地地址(link-local address,fe80开头的IPv6地址)则无法使用,因为iscsi-initiator-utils目前机制还不支持用链路本地地址(link-local address)地址登录iscsi服务端。 + +## 原因分析 + +如果使用格式如“iscsiadm -m node -p fe80::xxxx -l”登录,会登录超时返回,这是因为使用链路本地地址必须指定接口,否则使用iscsi\_io\_tcp\_connect函数调用connect函数会失败,并且产生标准错误码22。 + +如果使用格式如“iscsiadm -m node -p fe80::xxxx%enp3s0 -l”登录时,iscsi\_addr\_match函数会将地址“fe80::xxxx%enp3s0”与服务端返回的node信息中的地址“fe80::xxxx”对比,对比结果不匹配,导致登录失败。 + +因此,**iscsi-initiator-utils目前机制还不支持用链路本地地址(link-local address)地址登录iscsi服务端**。 + diff --git "a/content/zh/docs/Administration/nmcli\344\273\213\347\273\215.md" "b/content/zh/docs/Administration/nmcli\344\273\213\347\273\215.md" index 147ccee08247ef81bb7b94d4b47516e4ccdec6f4..48cd8978051d1c853088761b37394869012de7b5 100644 --- "a/content/zh/docs/Administration/nmcli\344\273\213\347\273\215.md" +++ "b/content/zh/docs/Administration/nmcli\344\273\213\347\273\215.md" @@ -41,10 +41,9 @@ nmcli是NetworkManager的一个命令行工具,它提供了使用命令行配 - 使用nmcli工具启动和停止网络接口,例如: ``` - nmcli con up id bond0 - nmcli con up id port0 - nmcli dev disconnect iface bond0 - nmcli dev disconnect iface ens3 + + nmcli connection up id enp3s0 + nmcli device disconnect enp3s0 ``` diff --git a/content/zh/docs/Administration/public_sys-resources/icon-notice.gif b/content/zh/docs/Administration/public_sys-resources/icon-notice.gif index 49bb8ed90917b6e0d13abe0b6b81a5a6367b5974..86024f61b691400bea99e5b1f506d9d9aef36e27 100644 Binary files a/content/zh/docs/Administration/public_sys-resources/icon-notice.gif and b/content/zh/docs/Administration/public_sys-resources/icon-notice.gif differ diff --git "a/content/zh/docs/Administration/repo\346\272\220\351\203\250\347\275\262.md" "b/content/zh/docs/Administration/repo\346\272\220\351\203\250\347\275\262.md" index 21802a0537c322f2d16a39add0c4b6e5b6190e8d..2ebe51c802e2c5bb011a4d5bb8d833c8da6fe9f9 100644 --- "a/content/zh/docs/Administration/repo\346\272\220\351\203\250\347\275\262.md" +++ "b/content/zh/docs/Administration/repo\346\272\220\351\203\250\347\275\262.md" @@ -34,7 +34,7 @@ iptables -I INPUT -p tcp --dport 80 -j ACCEPT ``` -4. nginx服务设置好之后,即可通过ip直接访问网页,如[图 1](#zh-cn_topic_0151921017_fig1880404110396): +4. nginx服务设置好之后,即可通过ip直接访问网页,如[图1](#zh-cn_topic_0151921017_fig1880404110396): **图 1** nginx部署成功 ![](figures/nginx部署成功.png "nginx部署成功") diff --git a/content/zh/docs/Administration/zh-cn_bookmap_0182172876.md b/content/zh/docs/Administration/zh-cn_bookmap_0182172876.md index 011dc71a8e97affb86cb6f8ce02badd95047eef9..72797f4d989879826310ac94f252ae59e7df8a8b 100644 --- a/content/zh/docs/Administration/zh-cn_bookmap_0182172876.md +++ b/content/zh/docs/Administration/zh-cn_bookmap_0182172876.md @@ -1,5 +1,6 @@ # openEuler 1.0 管理员指南 +- [法律声明](法律声明.md) - [前言](前言.md) - [基础配置](基础配置.md) - [通过命令设置](通过命令设置.md) @@ -18,7 +19,6 @@ - [修改用户账号](修改用户账号.md) - [删除用户](删除用户.md) - [管理员账户授权](管理员账户授权.md) - - [创建多个管理员账户](创建多个管理员账户.md) - [为普通用户分配特权](为普通用户分配特权.md) @@ -69,8 +69,8 @@ - [配置主机名](配置主机名.md) - [简介](简介-0.md) - - [使用 hostnamectl 配置主机名](使用-hostnamectl-配置主机名.md) - - [使用 nmcli 配置主机名](使用-nmcli-配置主机名.md) + - [使用hostnamectl配置主机名](使用hostnamectl配置主机名.md) + - [使用nmcli配置主机名](使用nmcli配置主机名.md) - [配置网络绑定](配置网络绑定.md) - [使用nmcli](使用nmcli-1.md) @@ -92,6 +92,14 @@ - [iproute相关命令配置IPv4与IPv6时的差异说明](iproute相关命令配置IPv4与IPv6时的差异说明.md) - [NetworkManager服务配置差异说明](NetworkManager服务配置差异说明.md) + - [FAQ](FAQ.md) + - [iscsi-initiator-utils不支持登录fe80 IPv6地址](iscsi-initiator-utils不支持登录fe80-IPv6地址.md) + - [网卡down掉之后,IPv6地址丢失](网卡down掉之后-IPv6地址丢失.md) + - [bond口已具有多个IPv6地址时,添加或删除IPv6地址耗时过久](bond口已具有多个IPv6地址时-添加或删除IPv6地址耗时过久.md) + - [Rsyslog在IPv4和IPv6混合使用场景中日志传输延迟](Rsyslog在IPv4和IPv6混合使用场景中日志传输延迟.md) + + + - [搭建服务](搭建服务.md) - [搭建repo服务器](搭建repo服务器.md) - [概述](概述.md) diff --git "a/content/zh/docs/Administration/\344\270\272\346\231\256\351\200\232\347\224\250\346\210\267\345\210\206\351\205\215\347\211\271\346\235\203.md" "b/content/zh/docs/Administration/\344\270\272\346\231\256\351\200\232\347\224\250\346\210\267\345\210\206\351\205\215\347\211\271\346\235\203.md" index 0173395ab6f52032a9467d97b455991784c2c18f..bd3245408aa79cbc6860f39605241c2110705fd8 100644 --- "a/content/zh/docs/Administration/\344\270\272\346\231\256\351\200\232\347\224\250\346\210\267\345\210\206\351\205\215\347\211\271\346\235\203.md" +++ "b/content/zh/docs/Administration/\344\270\272\346\231\256\351\200\232\347\224\250\346\210\267\345\210\206\351\205\215\347\211\271\346\235\203.md" @@ -2,7 +2,7 @@ 使用sudo命令可以允许普通用户执行管理员账户才能执行的命令。 -sudo命令允许已经在/etc/sudoers文件中指定的用户运行管理员账户命令。例如,一个已经获得许可的普通用户可以运行: +sudo命令允许已经在/etc/sudoers文件中指定的用户运行管理员账户命令。例如,一个已经获得许可的普通用户可以运行如下命令: ``` sudo /usr/sbin/useradd newuserl @@ -60,8 +60,15 @@ POWERUSER ALL=ALL,!/bin/su 其中: -- User\_Alias ADMIN=ted1:POWERUSER=globus,ted2:定义了两个别名ADMIN和POWERUSER。 -- ADMIN ALL=ALL:说明在所有主机上,ADMIN都可以以root身份执行所有命令。 +- User\_Alias ADMIN=ted1:POWERUSER=globus,ted2 -- POWERUSER ALL=ALL,!/bin/su:给POWERUSER除了运行su命令外等同ADMIN的权限。 + 定义了两个别名ADMIN和POWERUSER + +- ADMIN ALL=ALL + + 说明在所有主机上,ADMIN都可以以root身份执行所有命令 + +- POWERUSER ALL=ALL,!/bin/su + + 给POWERUSER除了运行su命令外等同ADMIN的权限 diff --git "a/content/zh/docs/Administration/\344\275\277\347\224\250-ip-\345\221\275\344\273\244\351\205\215\347\275\256\347\275\221\347\273\234.md" "b/content/zh/docs/Administration/\344\275\277\347\224\250-ip-\345\221\275\344\273\244\351\205\215\347\275\256\347\275\221\347\273\234.md" index f5e95fdcb1dd218d72ce23a3b625d8298c4476ed..19886149017abb166d651bb21c932daf5f44f8f8 100644 --- "a/content/zh/docs/Administration/\344\275\277\347\224\250-ip-\345\221\275\344\273\244\351\205\215\347\275\256\347\275\221\347\273\234.md" +++ "b/content/zh/docs/Administration/\344\275\277\347\224\250-ip-\345\221\275\344\273\244\351\205\215\347\275\256\347\275\221\347\273\234.md" @@ -1,30 +1,31 @@ # 使用 ip 命令配置网络 -使用 ip 命令为接口配置地址,命令格式如下: +使用ip命令为接口配置地址,命令格式如下,其中_interface-name_为网卡名称。 ``` -ip addr [ add | del ] address dev ifname +ip addr [ add | del ] address dev interface-name ``` ## 配置静态地址 -在 root 权限下,配置设置 IP 地址,使用示例如下: +在root权限下,配置设置IP地址,使用示例如下: ``` -# ip address add 192.168.0.10/24 dev eth0 -The address assignment of a specific device can be viewed as follows: +# ip address add 192.168.0.10/24 dev enp3s0 ``` 查看配置结果,使用如下命令: ``` -# ip addr show dev eth0 -2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 - link/ether f0:de:f1:7b:6e:5f brd ff:ff:ff:ff:**:** - inet 192.168.0.10/24 brd 192.168.0.255 scope global global eth0 - valid_lft 58682sec preferred_lft 58682sec - inet6 fe80::f2de:f1ff:fe7b:6e5f/64 scope link - valid_lft forever preferred_lft forever +# ip addr show dev enp3s0 +2: enp3s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 + link/ether 52:54:00:aa:ad:4a brd ff:ff:ff:ff:ff:ff + inet 192.168.202.248/16 brd 192.168.255.255 scope global dynamic noprefixroute enp3s0 + valid_lft 9547sec preferred_lft 9547sec + inet 192.168.0.10/24 scope global enp3s0 + valid_lft forever preferred_lft forever + inet6 fe80::32e8:cc22:9db2:f4d4/64 scope link noprefixroute + valid_lft forever preferred_lft forever ``` ## 配置多个地址 @@ -32,13 +33,19 @@ The address assignment of a specific device can be viewed as follows: ip 命令支持为同一接口分配多个地址,可重复多次使用 ip 命令实现分配多个地址。使用示例如下: ``` -# ip address add 192.168.2.223/24 dev eth1 -# ip address add 192.168.4.223/24 dev eth1 +# ip address add 192.168.2.223/24 dev enp4s0 +# ip address add 192.168.4.223/24 dev enp4s0 # ip addr -3: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000 - link/ether 52:54:00:fb:77:9e brd ff:ff:ff:ff:**:** - inet 192.168.2.223/24 scope global eth1 - inet 192.168.4.223/24 scope global eth1 +3: enp4s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 + link/ether 52:54:00:aa:da:e2 brd ff:ff:ff:ff:ff:ff + inet 192.168.203.12/16 brd 192.168.255.255 scope global dynamic noprefixroute enp4s0 + valid_lft 8389sec preferred_lft 8389sec + inet 192.168.2.223/24 scope global enp4s0 + valid_lft forever preferred_lft forever + inet 192.168.4.223/24 scope global enp4s0 + valid_lft forever preferred_lft forever + inet6 fe80::1eef:5e24:4b67:f07f/64 scope link noprefixroute + valid_lft forever preferred_lft forever ``` >![](public_sys-resources/icon-note.gif) **说明:** diff --git "a/content/zh/docs/Administration/\344\275\277\347\224\250-nmcli-\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" "b/content/zh/docs/Administration/\344\275\277\347\224\250-nmcli-\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" deleted file mode 100644 index 5287cf12876735668eb163e124354726217d02ef..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Administration/\344\275\277\347\224\250-nmcli-\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" +++ /dev/null @@ -1,20 +0,0 @@ -# 使用 nmcli 配置主机名 - -查询 static 主机名,使用如下命令: - -``` -# nmcli general hostname -``` - -在root权限下,将 static 主机名设定为 host-server,使用如下命令: - -``` -# nmcli general hostname host-server -``` - -要让系统 hostnamectl 感知到 static 主机名的更改,在root权限下,重启 hostnamed服务,使用如下命令: - -``` -# systemctl restart systemd-hostnamed -``` - diff --git "a/content/zh/docs/Administration/\344\275\277\347\224\250DNF\347\256\241\347\220\206\350\275\257\344\273\266\345\214\205.md" "b/content/zh/docs/Administration/\344\275\277\347\224\250DNF\347\256\241\347\220\206\350\275\257\344\273\266\345\214\205.md" index 3900c93000133f1192a8100ef0e92996957b31c2..d43509094d15f9715cdba29d507461dc79ae3d5e 100644 --- "a/content/zh/docs/Administration/\344\275\277\347\224\250DNF\347\256\241\347\220\206\350\275\257\344\273\266\345\214\205.md" +++ "b/content/zh/docs/Administration/\344\275\277\347\224\250DNF\347\256\241\347\220\206\350\275\257\344\273\266\345\214\205.md" @@ -4,7 +4,7 @@ DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查 >![](public_sys-resources/icon-note.gif) **说明:** >- DNF与YUM完全兼容,提供了YUM兼容的命令行以及为扩展和插件提供的API。 ->- 使用DNF,需要管理员权限,本章所有命令,在管理员权限下执行。 +>- 使用DNF需要管理员权限,本章所有命令需要在管理员权限下执行。 diff --git "a/content/zh/docs/Administration/\344\275\277\347\224\250date\345\221\275\344\273\244\350\256\276\347\275\256.md" "b/content/zh/docs/Administration/\344\275\277\347\224\250date\345\221\275\344\273\244\350\256\276\347\275\256.md" index 871df034a951e43787eec9a671b8c825944881da..2ddf2dccb9cbc6e5f8f5c29759c8b67977b739c0 100644 --- "a/content/zh/docs/Administration/\344\275\277\347\224\250date\345\221\275\344\273\244\350\256\276\347\275\256.md" +++ "b/content/zh/docs/Administration/\344\275\277\347\224\250date\345\221\275\344\273\244\350\256\276\347\275\256.md" @@ -56,7 +56,7 @@ date +"format"

%Y

-

年份以YYYY格式(例如 2015)。

+

年份以YYYY格式(例如 2019)。

%Z

@@ -66,7 +66,7 @@ date +"format"

%F

-

日期整体格式为YYYY-MM-DD(例如 2015-7-15),等同%Y-%m-%d。

+

日期整体格式为YYYY-MM-DD(例如 2019-7-15),等同%Y-%m-%d。

%T

@@ -83,21 +83,21 @@ date +"format" ``` $ date - 2015年 08月 17日 星期一 17:26:34 CST + 2019年 08月 17日 星期一 17:26:34 CST ``` - 显示当前的日期和UTC时间。 ``` $ date --utc - 2015年 08月 17日 星期一 09:26:18 UTC + 2019年 08月 17日 星期一 09:26:18 UTC ``` - 自定义date命令的输出。 ``` $ date +"%Y-%m-%d %H:%M" - 2015-08-17 17:24 + 2019-08-17 17:24 ``` @@ -129,9 +129,9 @@ date --set HH:MM:SS --utc date --set YYYY-MM-DD ``` -例如修改当前的日期为2015年11月2日,命令如下: +例如修改当前的日期为2019年11月2日,命令如下: ``` -# date --set 2015-11-02 +# date --set 2019-11-02 ``` diff --git "a/content/zh/docs/Administration/\344\275\277\347\224\250-hostnamectl-\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" "b/content/zh/docs/Administration/\344\275\277\347\224\250hostnamectl\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" similarity index 53% rename from "content/zh/docs/Administration/\344\275\277\347\224\250-hostnamectl-\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" rename to "content/zh/docs/Administration/\344\275\277\347\224\250hostnamectl\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" index 194784fbaa1cad90f9c8334f55622763a767d9b2..472fe3e93ee3161a1a91f0dafc6e6f01ff0f8020 100644 --- "a/content/zh/docs/Administration/\344\275\277\347\224\250-hostnamectl-\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" +++ "b/content/zh/docs/Administration/\344\275\277\347\224\250hostnamectl\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" @@ -1,59 +1,59 @@ -# 使用 hostnamectl 配置主机名 - -## 查看所有主机名 - -查看当前的主机名,使用如下命令: - -``` -# hostnamectl status -``` - ->![](public_sys-resources/icon-note.gif) **说明:** ->如果命令未指定任何选项,则默认使用 status 选项。 - -## 设定所有主机名 - -在root权限下,设定系统中的所有主机名,使用如下命令: - -``` -# hostnamectl set-hostname name -``` - -## 设定特定主机名 - -在root权限下,通过不同的参数来设定特定主机名,使用如下命令: - -``` -# hostnamectl set-hostname name [option...] -``` - -其中 option 可以是 --pretty、--static、 --transient 中的一个或多个选项。 - -如果 --static 或 --transient 与 --pretty 选项一同使用时,则会将 static 和 transient 主机名简化为 pretty 主机名格式,使用 “-” 替换空格,并删除特殊字符。 - -当设定 pretty 主机名时,如果主机名中包含空格或单引号,需要使用引号。命令示例如下: - -``` -# hostnamectl set-hostname "Stephen's notebook" --pretty -``` - -## 清除特定主机名 - -要清除特定主机名,并将其还原为默认形式,在root权限下,使用如下命令: - -``` -# hostnamectl set-hostname "" [option...] -``` - -其中 "" 是空白字符串,option 是 --pretty、--static 和 --transient 中的一个或多个选项。 - -## 远程更改主机名 - -在远程系统中运行 hostnamectl 命令时,要使用 -H, --host 选项,使用如下命令:: - -``` -# hostnamectl set-hostname -H [username]@hostname -``` - -其中 hostname 是要配置的远程主机,username 为自选项,hostnamectl 会通过 SSH 连接到远程系统。 - +# 使用hostnamectl配置主机名 + +## 查看所有主机名 + +查看当前的主机名,使用如下命令: + +``` +# hostnamectl status +``` + +>![](public_sys-resources/icon-note.gif) **说明:** +>如果命令未指定任何选项,则默认使用status选项。 + +## 设定所有主机名 + +在root权限下,设定系统中的所有主机名,使用如下命令: + +``` +# hostnamectl set-hostname name +``` + +## 设定特定主机名 + +在root权限下,通过不同的参数来设定特定主机名,使用如下命令: + +``` +# hostnamectl set-hostname name [option...] +``` + +其中option可以是--pretty、--static、--transient中的一个或多个选项。 + +如果--static或--transient与--pretty选项一同使用时,则会将static和transient主机名简化为pretty主机名格式,使用“-”替换空格,并删除特殊字符。 + +当设定pretty主机名时,如果主机名中包含空格或单引号,需要使用引号。命令示例如下: + +``` +# hostnamectl set-hostname "Stephen's notebook" --pretty +``` + +## 清除特定主机名 + +要清除特定主机名,并将其还原为默认形式,在root权限下,使用如下命令: + +``` +# hostnamectl set-hostname "" [option...] +``` + +其中 "" 是空白字符串,option是--pretty、--static和-transient中的一个或多个选项。 + +## 远程更改主机名 + +在远程系统中运行hostnamectl命令时,要使用-H,--host 选项,使用如下命令: + +``` +# hostnamectl set-hostname -H [username]@hostname +``` + +其中hostname是要配置的远程主机,username为自选项,hostnamectl会通过SSH连接到远程系统。 + diff --git "a/content/zh/docs/Administration/\344\275\277\347\224\250nmcli-1.md" "b/content/zh/docs/Administration/\344\275\277\347\224\250nmcli-1.md" index d4f01b2a6d43814ad6911fa838b8a9f5c8033a03..f8e445332a2bd067119254c6666cff867b641a02 100644 --- "a/content/zh/docs/Administration/\344\275\277\347\224\250nmcli-1.md" +++ "b/content/zh/docs/Administration/\344\275\277\347\224\250nmcli-1.md" @@ -1,6 +1,6 @@ # 使用nmcli -- 创建名为 mybond0 的绑定,使用示例如下: +- 创建名为mybond0的绑定,使用示例如下: ``` # nmcli con add type bond con-name mybond0 ifname mybond0 mode activebackup @@ -9,25 +9,25 @@ - 添加从属接口,使用示例如下: ``` - # nmcli con add type bond-slave ifname ens7 master mybond0 + # nmcli con add type bond-slave ifname enp3s0 master mybond0 ``` 要添加其他从属接口,重复上一个命令,并在命令中使用新的接口,使用示例如下: ``` - # nmcli con add type bond-slave ifname ens3 master mybond0 - Connection 'bond-slave-ens3' (05e56afc-b953-41a9-b3f9-0791eb49f7d3) successfully added. + # nmcli con add type bond-slave ifname enp4s0 master mybond0 + Connection 'bond-slave-enp4s0' (05e56afc-b953-41a9-b3f9-0791eb49f7d3) successfully added. ``` - 要启动绑定,则必须首先启动从属接口,使用示例如下: ``` - # nmcli con up bond-slave-ens7 + # nmcli con up bond-slave-enp3s0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/14) ``` ``` - # nmcli con up bond-slave-ens3 + # nmcli con up bond-slave-enp4s0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/15) ``` diff --git "a/content/zh/docs/Administration/\344\275\277\347\224\250nmcli\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" "b/content/zh/docs/Administration/\344\275\277\347\224\250nmcli\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" new file mode 100644 index 0000000000000000000000000000000000000000..b8cc591e97ea3797616c8be7ccfd689d4f233611 --- /dev/null +++ "b/content/zh/docs/Administration/\344\275\277\347\224\250nmcli\351\205\215\347\275\256\344\270\273\346\234\272\345\220\215.md" @@ -0,0 +1,20 @@ +# 使用nmcli配置主机名 + +查询static主机名,使用如下命令: + +``` +# nmcli general hostname +``` + +在root权限下,将static主机名设定为host-server,使用如下命令: + +``` +# nmcli general hostname host-server +``` + +要让系统hostnamectl感知到static主机名的更改,在root权限下,重启hostnamed服务,使用如下命令: + +``` +# systemctl restart systemd-hostnamed +``` + diff --git "a/content/zh/docs/Administration/\344\275\277\347\224\250timedatectl\345\221\275\344\273\244\350\256\276\347\275\256.md" "b/content/zh/docs/Administration/\344\275\277\347\224\250timedatectl\345\221\275\344\273\244\350\256\276\347\275\256.md" index 56d8fcecc2b02448accfe758871762190e3b5ece..9ba35a5c771ce3d49d857fadd63fdc30507b7407 100644 --- "a/content/zh/docs/Administration/\344\275\277\347\224\250timedatectl\345\221\275\344\273\244\350\256\276\347\275\256.md" +++ "b/content/zh/docs/Administration/\344\275\277\347\224\250timedatectl\345\221\275\344\273\244\350\256\276\347\275\256.md" @@ -23,13 +23,13 @@ System clock synchronized: no ## 修改时间 -修改当前的时间,在root权限下执行如下命令,其中 _HH_ 代表小时,_MM_ 代表分钟,_SS_ 代表秒,请根据实际情况修改: +修改当前的时间,在root权限下执行如下命令,其中_HH_代表小时,_MM_代表分钟,_SS_代表秒,请根据实际情况修改: ``` timedatectl set-time HH:MM:SS ``` -例如修改当前的时间为 15点57分24秒,命令如下: +例如修改当前的时间为15点57分24秒,命令如下: ``` # timedatectl set-time 15:57:24 @@ -37,16 +37,16 @@ timedatectl set-time HH:MM:SS ## 修改日期 -修改当前的日期,在root权限下执行如下命令,其中_ YYYY _代表年份_,MM _代表月份,_DD_ 代表某天,请根据实际情况修改: +修改当前的日期,在root权限下执行如下命令,其中_YYYY_代表年份_,MM_代表月份,_DD_代表某天,请根据实际情况修改: ``` timedatectl set-time YYYY-MM-DD ``` -例如修改当前的日期为2015年8月14号,命令如下: +例如修改当前的日期为2019年8月14号,命令如下: ``` -# timedatectl set-time '2015-08-14' +# timedatectl set-time '2019-08-14' ``` ## 修改时区 @@ -57,7 +57,7 @@ timedatectl set-time YYYY-MM-DD timedatectl list-timezones ``` -要修改当前的时区,在root权限下执行如下命令,其中 _time\_zone_ 是您想要设置的时区,请根据实际情况修改: +要修改当前的时区,在root权限下执行如下命令,其中_time\_zone_是您想要设置的时区,请根据实际情况修改: ``` timedatectl set-timezone time_zone @@ -98,7 +98,7 @@ Asia/Tokyo ## 通过远程服务器进行时间同步 -您可以启用NTP远程服务器进行系统时钟的自动同步。是否启用NTP,可在root权限下执行如下命令进行设置。其中 _boolean_ 可取值 yes 和 no,分别表示启用和不启用NTP进行系统时钟自动同步,请根据实际情况修改: +您可以启用NTP远程服务器进行系统时钟的自动同步。是否启用NTP,可在root权限下执行如下命令进行设置。其中 _boolean_ 可取值yes和no,分别表示启用和不启用NTP进行系统时钟自动同步,请根据实际情况修改: ``` timedatectl set-ntp boolean diff --git "a/content/zh/docs/Administration/\344\277\256\346\224\271\347\224\250\346\210\267\350\264\246\345\217\267.md" "b/content/zh/docs/Administration/\344\277\256\346\224\271\347\224\250\346\210\267\350\264\246\345\217\267.md" index 0687443769b21e5c618b77f4bb11720b96745079..322e859bb2fc141a8e042dc7d7a6f7520625848e 100644 --- "a/content/zh/docs/Administration/\344\277\256\346\224\271\347\224\250\346\210\267\350\264\246\345\217\267.md" +++ "b/content/zh/docs/Administration/\344\277\256\346\224\271\347\224\250\346\210\267\350\264\246\345\217\267.md" @@ -2,16 +2,16 @@ ## 修改密码 -普通用户可以用passwd修改自己的密码,只有管理员才能用passwd usename为其他用户修改密码。 +普通用户可以用passwd修改自己的密码,只有管理员才能用passwd username为其他用户修改密码。 ## 修改用户shell设置 -使用chsh命令可以修改自己的shell,只有管理员才能用chsh usename为其他用户修改shell设置。 +使用chsh命令可以修改自己的shell,只有管理员才能用chsh username为其他用户修改shell设置。 -用户也可以使用usermod命令修改shell信息,在root权限下执行如下命令,其中 _new\_shell\_path_ 为目标shell路径,_usename_ 为要修改用户的用户名,请根据实际情况修改: +用户也可以使用usermod命令修改shell信息,在root权限下执行如下命令,其中_new\_shell\_path_为目标shell路径,_username_为要修改用户的用户名,请根据实际情况修改: ``` -usermod -s [new_shell_path] usename +usermod -s new_shell_path username ``` 例如,将用户user\_example的shell改为csh,命令如下: @@ -22,10 +22,10 @@ usermod -s [new_shell_path] usename ## 修改主目录 -- 修改主目录,可以在root权限下执行如下命令,其中_ new\_home\_directory_ 为目标主目录的路径,_usename_ 为要修改用户的用户名,请根据实际情况修改: +- 修改主目录,可以在root权限下执行如下命令,其中_new\_home\_directory_ 为已创建的目标主目录的路径,_username_为要修改用户的用户名,请根据实际情况修改: ``` - usermod -d [new_home_directory] usename + usermod -d new_home_directory username ``` 例如,将用户user\_example的主目录更改为/home/user\_example,命令如下: @@ -37,29 +37,25 @@ usermod -s [new_shell_path] usename - 如果想将现有主目录的内容转移到新的目录,应该使用-m选项,命令如下: ``` - usermod -d new_home_directory -m usename - ``` - - ``` - usermod -d /new/home -m usename + usermod -d new_home_directory -m username ``` ## 修改UID -修改用户ID,在root权限下执行如下命令,其中_UID _代表目标用户ID,_ usename_ 代表用户名,请根据实际情况修改: +修改用户ID,在root权限下执行如下命令,其中_UID_代表目标用户ID,_username_ 代表用户名,请根据实际情况修改: ``` -usermod -u UID usename +usermod -u UID username ``` 该用户主目录中所拥有的文件和目录都将自动修改UID设置。但是,对于主目录外所拥有的文件,只能使用chown命令手动修改所有权。 ## 修改账号的有效期 -如果使用了影子口令,则可以在root权限下,执行如下命令来修改一个账号的有效期,其中_MM、DD、YY _分别代表月份、天和年份,_usename_ 代表用户名,请根据实际情况修改: +如果使用了影子口令,则可以在root权限下,执行如下命令来修改一个账号的有效期,其中_MM、DD、YY _分别代表月份、天和年份,_username_ 代表用户名,请根据实际情况修改: ``` -usermod -e MM/DD/YY usename +usermod -e MM/DD/YY username ``` diff --git "a/content/zh/docs/Administration/\344\277\256\346\224\271\351\205\215\347\275\256\346\226\207\344\273\266.md" "b/content/zh/docs/Administration/\344\277\256\346\224\271\351\205\215\347\275\256\346\226\207\344\273\266.md" index 8968d37036cec743f195fc8a1dfee1b72291f3b4..651afc1c52a1b6069d23ee54364a1c8aceaa769f 100644 --- "a/content/zh/docs/Administration/\344\277\256\346\224\271\351\205\215\347\275\256\346\226\207\344\273\266.md" +++ "b/content/zh/docs/Administration/\344\277\256\346\224\271\351\205\215\347\275\256\346\226\207\344\273\266.md" @@ -1,6 +1,8 @@ # 修改配置文件 -DNF 的主要配置文件是 /etc/dnf/dnf.conf,这个文件里面包含“main”部分,保存着 DNF 的全局设置;用户也可以在其中添加一个或者多个“repository”部分,用来设置需要安装的软件源位置。在/etc/yum.repos.d 目录中有一些 repo 源相关文件,它们定义了各个仓库。 +DNF 的主要配置文件是 /etc/dnf/dnf.conf,该文件中“main”部分保存着 DNF 的全局设置;用户可以在该文件中通过添加一个或者多个“repository”部分的方式来设置需要安装的软件源位置。 + +另外,在/etc/yum.repos.d 目录中保存着一个或多个repo 源相关文件,它们定义了不同的“repository”。 软件源的配置一般有两种方式,一种是直接配置 /etc/dnf/dnf.conf 文件,另外一种是在 /etc/yum.repos.d 目录下增加 .repo 文件。 @@ -49,7 +51,7 @@ best=True

best

-

升级包时,总是尝试安装其最高版本,甚至只是发现它的一些deps不可满足。 如果要直接在存储库中遇到损坏的依赖项,请启用此选项。 默认值为TRUE。

+

升级包时,总是尝试安装其最高版本,如果最高版本无法安装,则提示无法安装的原因并停止安装。 默认值为True

obsoletes

diff --git "a/content/zh/docs/Administration/\345\206\205\346\240\270\346\224\257\346\214\201socket\347\233\270\345\205\263\347\263\273\347\273\237\350\260\203\347\224\250.md" "b/content/zh/docs/Administration/\345\206\205\346\240\270\346\224\257\346\214\201socket\347\233\270\345\205\263\347\263\273\347\273\237\350\260\203\347\224\250.md" index d12a17a2f7109e113a32fcfa2705432e1ad07621..20f6124582adf591aa96b0a12e06104b3bcb2eb8 100644 --- "a/content/zh/docs/Administration/\345\206\205\346\240\270\346\224\257\346\214\201socket\347\233\270\345\205\263\347\263\273\347\273\237\350\260\203\347\224\250.md" +++ "b/content/zh/docs/Administration/\345\206\205\346\240\270\346\224\257\346\214\201socket\347\233\270\345\205\263\347\263\273\347\273\237\350\260\203\347\224\250.md" @@ -28,7 +28,7 @@ struct sockaddr_in6 { int port = 1234; int sk_fd; int iff_index = 0; -char iff_name[100] = "eth0"; +char iff_name[100] = "enp3s0"; char * ll_addr[100] = "fe80::123:456:789"; struct sockaddr_in6 server_addr; diff --git "a/content/zh/docs/Administration/\345\210\233\345\273\272\344\273\216\345\261\236\346\216\245\345\217\243.md" "b/content/zh/docs/Administration/\345\210\233\345\273\272\344\273\216\345\261\236\346\216\245\345\217\243.md" index 302c9289feaa9243ddf13e4f83e03a31671cdb7c..a4f706cb5f15bcafc906a3239afd3ccbd76ad0fd 100644 --- "a/content/zh/docs/Administration/\345\210\233\345\273\272\344\273\216\345\261\236\346\216\245\345\217\243.md" +++ "b/content/zh/docs/Administration/\345\210\233\345\273\272\344\273\216\345\261\236\346\216\245\345\217\243.md" @@ -2,15 +2,26 @@ 创建频道绑定接口后,必须在从属接口的配置文件中添加 MASTER 和 SLAVE 指令。 -例如将两个网络接口 eth0 和 eth1 以频道方式绑定,示例如下: +例如将两个网络接口enp3s0 和 enp4s0 以频道方式绑定,其配置文件示例分别如下: + +``` + +TYPE=Ethernet +NAME=bond-slave-enp3s0 +UUID=3b7601d1-b373-4fdf-a996-9d267d1cac40 +DEVICE=enp3s0 +ONBOOT=yes +MASTER=bond000000 +SLAVE=yes +``` ``` -DEVICE=ethN -NAME=bond0-slave TYPE=Ethernet -BOOTPROTO=none +NAME=bond-slave-enp4s0 +UUID=00f0482c-824f-478f-9479-abf947f01c4a +DEVICE=enp4s0 ONBOOT=yes -MASTER=bond0 +MASTER=bond000000 SLAVE=yes ``` diff --git "a/content/zh/docs/Administration/\345\210\233\345\273\272\345\244\232\344\270\252\347\256\241\347\220\206\345\221\230\350\264\246\346\210\267.md" "b/content/zh/docs/Administration/\345\210\233\345\273\272\345\244\232\344\270\252\347\256\241\347\220\206\345\221\230\350\264\246\346\210\267.md" deleted file mode 100644 index 57c61f811be00394825cc2fdaf0f1c11e9045609..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Administration/\345\210\233\345\273\272\345\244\232\344\270\252\347\256\241\347\220\206\345\221\230\350\264\246\346\210\267.md" +++ /dev/null @@ -1,17 +0,0 @@ -# 创建多个管理员账户 - -大多数新系统管理员认为root用户是唯一的管理员账户,其实root只是系统默认的管理员账户。随便打开一个/etc/passwd文件的例子,您就会发现如下几行: - -``` -root:x:0:0:root: /root:/bin/bash -bin:x:1:1:bin: /bin: /sbin/nologin -daemon:x:2:2:daemon: /sbin: /sbin/nologin -adm:x:3:4:acim: /var/adm:/sbin/nologin -lp:x:4:7:lp: /va r/spool/ lpd: /sbin/nologin -sync:x:5:0:sync: /sbin: /bin/sync -shutdown:x:6:0:shutdown: /sbin: /sbin/shutdown -Test:x:0:0::/home/j ianCJzhonghua: /bin/bash -``` - -从上面的内容可以发现,root的UID和GID都为0。实际上,管理员账户的充要条件就是UID和GID都等于0,也就是说,只要UID和GID都为0的用户,就与root管理员账户一样。例如从上述内容可知,Test也是一个管理员账户。 - diff --git "a/content/zh/docs/Administration/\345\210\240\351\231\244\347\224\250\346\210\267.md" "b/content/zh/docs/Administration/\345\210\240\351\231\244\347\224\250\346\210\267.md" index a1ce58c987f33fa4aa65a88cfbf5fedaea7a1104..ec78007658a185e10556bd26817e3ce72de0b2cc 100644 --- "a/content/zh/docs/Administration/\345\210\240\351\231\244\347\224\250\346\210\267.md" +++ "b/content/zh/docs/Administration/\345\210\240\351\231\244\347\224\250\346\210\267.md" @@ -11,5 +11,5 @@ 如果想同时删除该用户的主目录以及其中所有内容,要使用-r参数递归删除。 >![](public_sys-resources/icon-note.gif) **说明:** ->无法删除已经进入系统的用户,如果想强行删除,需要先杀死有关的进程,然后再使用userdel命令。 +>不建议直接删除已经进入系统的用户,如果需要强制删除,请使用 userdel -f _Test_命令。 diff --git "a/content/zh/docs/Administration/\345\211\215\350\250\200.md" "b/content/zh/docs/Administration/\345\211\215\350\250\200.md" index 1b7dcee41d5e5e347c59bf79147a1cefd3f12d04..6db5dc144218e59b468614bbd572a2d3926dccd6 100644 --- "a/content/zh/docs/Administration/\345\211\215\350\250\200.md" +++ "b/content/zh/docs/Administration/\345\211\215\350\250\200.md" @@ -19,16 +19,16 @@ -

+

-

用于传递设备或环境安全警示信息,若不避免,可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

-

“注意”不涉及人身伤害。

+

用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

+

“须知”不涉及人身伤害。

-

+

-

用于突出重要/关键信息、最佳实践和小窍门等。

-

“说明”不是安全警示信息,不涉及人身、设备及环境伤害。

+

对正文中重点信息的补充说明。

+

“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。

diff --git "a/content/zh/docs/Administration/\345\220\257\345\212\250nginx\346\234\215\345\212\241.md" "b/content/zh/docs/Administration/\345\220\257\345\212\250nginx\346\234\215\345\212\241.md" index 4093ffd28b525e0b08d0582975768a99763500ea..48f12a7b1d07c7b451665cc64b5b5a33e0772389 100644 --- "a/content/zh/docs/Administration/\345\220\257\345\212\250nginx\346\234\215\345\212\241.md" +++ "b/content/zh/docs/Administration/\345\220\257\345\212\250nginx\346\234\215\345\212\241.md" @@ -13,7 +13,7 @@ systemctl status nginx ``` - - [图 1](#zh-cn_topic_0151920971_fd25e3f1d664b4087ae26631719990a71)表示nginx服务启动成功 + - [图1](#zh-cn_topic_0151920971_fd25e3f1d664b4087ae26631719990a71)表示nginx服务启动成功 **图 1** nginx服务启动成功 ![](figures/nginx服务启动成功.png "nginx服务启动成功") @@ -27,7 +27,7 @@ **图 2** nginx服务启动失败 ![](figures/nginx服务启动失败.png "nginx服务启动失败") - 如[图 2](#zh-cn_topic_0151920971_f1f9f3d086e454b9cba29a7cae96a4c54)所示nginx服务创建失败,是由于目录/var/spool/nginx/tmp/client\_body创建失败,手动进行创建,类似的问题也这样处理: + 如[图2](#zh-cn_topic_0151920971_f1f9f3d086e454b9cba29a7cae96a4c54)所示nginx服务创建失败,是由于目录/var/spool/nginx/tmp/client\_body创建失败,手动进行创建,类似的问题也这样处理: ``` mkdir -p /var/spool/nginx/tmp/client_body diff --git "a/content/zh/docs/Administration/\345\221\250\346\234\237\346\200\247\350\277\220\350\241\214\344\270\200\346\211\271\347\250\213\345\272\217\357\274\210cron\357\274\211.md" "b/content/zh/docs/Administration/\345\221\250\346\234\237\346\200\247\350\277\220\350\241\214\344\270\200\346\211\271\347\250\213\345\272\217\357\274\210cron\357\274\211.md" index 3dafb3dd7e73b385cab8c146b065843475168734..6a1ecdf2c46f51abda0a86ed66d941f5987ab9f2 100644 --- "a/content/zh/docs/Administration/\345\221\250\346\234\237\346\200\247\350\277\220\350\241\214\344\270\200\346\211\271\347\250\213\345\272\217\357\274\210cron\357\274\211.md" +++ "b/content/zh/docs/Administration/\345\221\250\346\234\237\346\200\247\350\277\220\350\241\214\344\270\200\346\211\271\347\250\213\345\272\217\357\274\210cron\357\274\211.md" @@ -1,10 +1,10 @@ # 周期性运行一批程序(cron) -前面介绍at命令都会在一定时问内完成一定任务,但是它只能执一次。也就是说,当指定了运行命令后,系统在指定时间完成任务,以后就不再执行了。但是在很多情况下需要周期性重复执行一些命令,这时候就需要使用cron命令来完成任务。 +前面介绍at命令都会在一定时间内完成一定任务,但是它只能执行一次。也就是说,当指定了运行命令后,系统在指定时间完成任务,以后就不再执行了。但是在很多情况下需要周期性重复执行一些命令,这时候就需要使用cron命令来完成任务。 ## 运行机制 -首先cron命令会搜索/var/spool/cron目录,寻找以/etc/passwd文件中的用户名命名的crontab文件,被找到的这种文件将装入内存。比如一个用户名为globus的用户,对应的crontab立件应该是/var/spool/cron/globus,即以该用户命名的crontab文件存放在/var/spool/cron目录下面。 +首先cron命令会搜索/var/spool/cron目录,寻找以/etc/passwd文件中的用户名命名的crontab文件,被找到的这种文件将装入内存。比如一个用户名为globus的用户,对应的crontab文件应该是/var/spool/cron/globus,即以该用户命名的crontab文件存放在/var/spool/cron目录下面。 cron命令还将搜索/etc/crontab文件,这个文件是用不同的格式写成的。cron启动以后,它将首先检查是否有用户设置了crontab文件,如果没有就转入睡眠状态,释放系统资源。所以该后台进程占用资源极少,它每分钟被换醒一次,查看当前是否有需要运行的命令。 @@ -81,10 +81,10 @@ minute hour day-of-month month-of-year day-of-week commands 这些项都不能为空,必须指定值。除了数字还有几个特殊的符号“\*”、“/”和“-”、“,”。其中,\*代表所有的取值范围内的数字,/代表每的意思,“\*/5”表示每5个单位,“-”代表从某个数字到某个数字,“,”分开几个离散时数字。对于要执行的命令,调用的时候需要写出命令的完整路径。 -例如晚上11点到早上8点之间每两个小时,在/tmp/test.txt文件中加入sleepy文本。在crontab文件中对应的行如下: +例如晚上18点到22点之间每两个小时,在/tmp/test.txt文件中加入sleepy文本。在crontab文件中对应的行如下: ``` -* 23-8/2 * * * echo"sleepy" >> /tmp/test.txt +* 18-22/2 * * * echo"sleepy" >> /tmp/test.txt ``` 每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件。此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e来编辑。用户也可以另外建立一个文件,使用“cron文件名”命令导入cron设置。 diff --git "a/content/zh/docs/Administration/\345\242\236\345\212\240\347\224\250\346\210\267.md" "b/content/zh/docs/Administration/\345\242\236\345\212\240\347\224\250\346\210\267.md" index 01725cb21ed7b70bed4a60d64d41d754289c9a19..72965ad4b94a08efd4570137249210a895228215 100644 --- "a/content/zh/docs/Administration/\345\242\236\345\212\240\347\224\250\346\210\267.md" +++ "b/content/zh/docs/Administration/\345\242\236\345\212\240\347\224\250\346\210\267.md" @@ -2,7 +2,7 @@ ## useradd命令 -在root权限下,通过 useradd 命令可以为系统添加新用户信息,其中 _options_ 为相关参数,_user\_name_ 为用户名称。 +在root权限下,通过useradd命令可以为系统添加新用户信息,其中_options_为相关参数,_user\_name_ 为用户名称。 ``` useradd [options] user_name @@ -21,14 +21,14 @@ useradd [options] user_name ## 创建用户实例 -例如新建一个用户名为 user\_example 的用户,在root权限下执行如下命令: +例如新建一个用户名为user\_example的用户,在root权限下执行如下命令: ``` # useradd user_example ``` >![](public_sys-resources/icon-note.gif) **说明:** ->没有任何提示,表明用户建立成功。这时并没有设置用户的口令,必须使用passwd命令修改用户的密码,没有设置密码的新账号将不能使用。 +>没有任何提示,表明用户建立成功。这时并没有设置用户的口令,请使用passwd命令修改用户的密码,没有设置密码的新账号不能登录系统。 使用id命令查看新建的用户信息,命令如下: @@ -53,3 +53,6 @@ Retype new password: passwd: all authentication tokens updated successfully. ``` +>![](public_sys-resources/icon-note.gif) **说明:** +>若打印信息中出现“BAD PASSWORD: The password fails the dictionary check - it is too simplistic/sytematic”,表示设置的密码过于简单,需要重新设置。 + diff --git "a/content/zh/docs/Administration/\345\256\232\346\227\266\350\277\220\350\241\214\344\270\200\346\211\271\347\250\213\345\272\217\357\274\210at\357\274\211.md" "b/content/zh/docs/Administration/\345\256\232\346\227\266\350\277\220\350\241\214\344\270\200\346\211\271\347\250\213\345\272\217\357\274\210at\357\274\211.md" index fb658b61055f152cfd9065021a9d727b49ec825b..d8d59c8373229156e39f487f3b437ad6eed164fb 100644 --- "a/content/zh/docs/Administration/\345\256\232\346\227\266\350\277\220\350\241\214\344\270\200\346\211\271\347\250\213\345\272\217\357\274\210at\357\274\211.md" +++ "b/content/zh/docs/Administration/\345\256\232\346\227\266\350\277\220\350\241\214\344\270\200\346\211\271\347\250\213\345\272\217\357\274\210at\357\274\211.md" @@ -8,7 +8,7 @@ at命令的语法格式如下: ``` at [-V] [-q 队列] [-f 文件名] [-mldbv] 时间 - at -c作业[作业…] + at -c 作业 [作业…] ``` ## 设置时间 @@ -22,7 +22,7 @@ at允许使用一套相当复杂的时间指定方法,比如: 上面介绍的都是绝对计时法,其实还可以使用相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为now+count time-units,now就是当前时间,time-units是时间单位,这里可以是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,究竟是几天,还是几小时等。还有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。下面通过一些例子来说明具体用法。 -例如指定在今天下午4:30执行某个命令。假设现在时间是中午12:30,2015年6月7日,可用命令格式如下: +例如指定在今天下午4:30执行某个命令。假设现在时间是中午12:30,2019年6月7日,可用命令格式如下: ``` at 4:30pm @@ -30,12 +30,12 @@ at允许使用一套相当复杂的时间指定方法,比如: at 16:30 today at now+4 hours at now+ 240 minutes - at 16:30 7.6.15 - at 16:30 6/7/15 + at 16:30 7.6.19 + at 16:30 6/7/19 at 16:30 Jun 7 ``` -以上这些命令表达的意义是完全一样的,所以在安排时间的时候完全可以根据个人喜好和具体情况自由选择。一般采用绝对时间的24小时计时法可以避免由于用户自己的疏忽造成计时错误,例如上例可以写成:at 16:30 6/7/15。 +以上这些命令表达的意义是完全一样的,所以在安排时间的时候完全可以根据个人喜好和具体情况自由选择。一般采用绝对时间的24小时计时法可以避免由于用户自己的疏忽造成计时错误,例如上例可以写成:at 16:30 6/7/19。 ## 执行权限 @@ -44,10 +44,10 @@ at允许使用一套相当复杂的时间指定方法,比如: 例如在6月8日上午10点执行slocate -u命令。命令如下: ``` -# at 10:00 6/8/15 +# at 10:00 6/8/19 at> slocate -u at> -[1]+ Stopped at 10:00 6/8/15 +[1]+ Stopped at 10:00 6/8/19 ``` 上面的结果中,输入at命令之后,会出现提示符at\>,提示用户输入命令,在此输入了slocate -u,然后按回车键。还可以输入多条命令,当所有要执行的命令输入结束后,按Ctrl+d键结束at命令。 diff --git "a/content/zh/docs/Administration/\346\220\255\345\273\272repo\346\234\215\345\212\241\345\231\250.md" "b/content/zh/docs/Administration/\346\220\255\345\273\272repo\346\234\215\345\212\241\345\231\250.md" index 5bbbf7b49967a80519c993fe109d396a81994b8e..836f2a8abb965334dd74bfb4f3b58a9cf67448c1 100644 --- "a/content/zh/docs/Administration/\346\220\255\345\273\272repo\346\234\215\345\212\241\345\231\250.md" +++ "b/content/zh/docs/Administration/\346\220\255\345\273\272repo\346\234\215\345\212\241\345\231\250.md" @@ -1,2 +1 @@ # 搭建repo服务器 - diff --git "a/content/zh/docs/Administration/\346\234\211\347\212\266\346\200\201\350\207\252\345\212\250\351\205\215\347\275\256IPv6\345\234\260\345\235\200.md" "b/content/zh/docs/Administration/\346\234\211\347\212\266\346\200\201\350\207\252\345\212\250\351\205\215\347\275\256IPv6\345\234\260\345\235\200.md" index f277d1c747ff5928cca0a52148d9425f1c88ac46..aba5bbe57d4e2dd0a0d4b5251d5db3b3eaa5dd97 100644 --- "a/content/zh/docs/Administration/\346\234\211\347\212\266\346\200\201\350\207\252\345\212\250\351\205\215\347\275\256IPv6\345\234\260\345\235\200.md" +++ "b/content/zh/docs/Administration/\346\234\211\347\212\266\346\200\201\350\207\252\345\212\250\351\205\215\347\275\256IPv6\345\234\260\345\235\200.md" @@ -30,7 +30,7 @@ IPv6与IPv4都可以通过DHCP的方式获得IP地址。IPv6地址有两种配 ``` option dhcp6.vendor-class code 16 = {integer 32, integer 16, string}; - interface "ens4" { + interface "enp3s0" { send dhcp6.vendor-class ; } ``` @@ -51,17 +51,17 @@ IPv6与IPv4都可以通过DHCP的方式获得IP地址。IPv6地址有两种配 ``` option dhcp6.vendor-class code 16 = {integer 32, integer 16, string}; - subnet6 2019:4:12:ffff::/64 { + subnet6 fc00:4:12:ffff::/64 { class "hw" { match if substring ( option dhcp6.vendor-class, 6, 10 ) = "HWHW"; } pool6 { allow members of "hw"; - range6 2019:4:12:ffff::ff10 2019:4:12:ffff::ff20; + range6 fc00:4:12:ffff::ff10 2019:4:12:ffff::ff20; } pool6 { allow unknown clients; - range6 2019:4:12:ffff::100 2019:4:12:ffff::120; + range6 fc00:4:12:ffff::100 2019:4:12:ffff::120; } } ``` diff --git "a/content/zh/docs/Administration/\346\237\245\347\234\213\347\263\273\347\273\237\344\277\241\346\201\257.md" "b/content/zh/docs/Administration/\346\237\245\347\234\213\347\263\273\347\273\237\344\277\241\346\201\257.md" index 39fe92b3bbc4534924bb2015c8cc12e4a98bd337..fbdbbc06252b3d6abaa7e6bd24be7b71238920e9 100644 --- "a/content/zh/docs/Administration/\346\237\245\347\234\213\347\263\273\347\273\237\344\277\241\346\201\257.md" +++ "b/content/zh/docs/Administration/\346\237\245\347\234\213\347\263\273\347\273\237\344\277\241\346\201\257.md" @@ -13,7 +13,6 @@ NAME="openEuler" VERSION="1.0 ()" ID="openEuler" - ID_LIKE="rhel fedora centos" VERSION_ID="1.0" PRETTY_NAME="openEuler 1.0 ()" ANSI_COLOR="0;31" diff --git "a/content/zh/docs/Administration/\346\243\200\346\237\245\345\271\266\346\233\264\346\226\260.md" "b/content/zh/docs/Administration/\346\243\200\346\237\245\345\271\266\346\233\264\346\226\260.md" index 3fc78f99afc3734285fa6768a2468115afaf564e..366c5594cf0da36b5ff17c38b6699990a3a919a8 100644 --- "a/content/zh/docs/Administration/\346\243\200\346\237\245\345\271\266\346\233\264\346\226\260.md" +++ "b/content/zh/docs/Administration/\346\243\200\346\237\245\345\271\266\346\233\264\346\226\260.md" @@ -1,6 +1,6 @@ # 检查并更新 -dnf可以检查您的系统中是否有软件包需要更新。您可以通过dnf列出需要更新的软件包,一次性全部更新或者选择对应的包单独更新。 +dnf可以检查您的系统中是否有软件包需要更新。您可以通过dnf列出需要更新的软件包,并可以选择一次性全部更新或者只对指定包进行更新。 ## 检查更新 diff --git "a/content/zh/docs/Administration/\346\243\200\346\237\245\346\230\257\345\220\246\345\267\262\345\256\211\350\243\205Bonding\345\206\205\346\240\270\346\250\241\345\235\227.md" "b/content/zh/docs/Administration/\346\243\200\346\237\245\346\230\257\345\220\246\345\267\262\345\256\211\350\243\205Bonding\345\206\205\346\240\270\346\250\241\345\235\227.md" index 3e80b7c1f7bf2b7e7a35e7ae8256d50d4ff39cd3..8cba782d2dec633921bf90a9c5116ed89977cbc1 100644 --- "a/content/zh/docs/Administration/\346\243\200\346\237\245\346\230\257\345\220\246\345\267\262\345\256\211\350\243\205Bonding\345\206\205\346\240\270\346\250\241\345\235\227.md" +++ "b/content/zh/docs/Administration/\346\243\200\346\237\245\346\230\257\345\220\246\345\267\262\345\256\211\350\243\205Bonding\345\206\205\346\240\270\346\250\241\345\235\227.md" @@ -12,5 +12,5 @@ # modinfo bonding ``` -更多命令选项请查看 modprobe\(8\) man page。 +更多命令请使用modprobe --help查看。 diff --git "a/content/zh/docs/Administration/\346\263\225\345\276\213\345\243\260\346\230\216.md" "b/content/zh/docs/Administration/\346\263\225\345\276\213\345\243\260\346\230\216.md" new file mode 100644 index 0000000000000000000000000000000000000000..4198a9e7c2dbb202fa24c542bee877ea33be08d3 --- /dev/null +++ "b/content/zh/docs/Administration/\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/Administration/\346\267\273\345\212\240-\345\220\257\347\224\250\345\222\214\347\246\201\347\224\250\350\275\257\344\273\266\346\272\220.md" "b/content/zh/docs/Administration/\346\267\273\345\212\240-\345\220\257\347\224\250\345\222\214\347\246\201\347\224\250\350\275\257\344\273\266\346\272\220.md" index b0ff21109929c882b378165093e8ff61725c0857..4bdc464eceaa47ba305d5d8eb2b393e4a4c77737 100644 --- "a/content/zh/docs/Administration/\346\267\273\345\212\240-\345\220\257\347\224\250\345\222\214\347\246\201\347\224\250\350\275\257\344\273\266\346\272\220.md" +++ "b/content/zh/docs/Administration/\346\267\273\345\212\240-\345\220\257\347\224\250\345\222\214\347\246\201\347\224\250\350\275\257\344\273\266\346\272\220.md" @@ -4,9 +4,9 @@ ## 添加软件源 -要定义一个新的软件源仓库,您可以在 /etc/dnf/dnf.conf 文件中添加“repository”部分,或者在/etc/yum.repos.d/目录下添加“.repo文件”进行说明。建议您通过添加“.repo”的方式,每个软件源都有自己对应的“.repo文件”,以下介绍该方式的操作方法。 +要定义一个新的软件源仓库,您可以在 /etc/dnf/dnf.conf 文件中添加“repository”部分,或者在/etc/yum.repos.d/目录下添加“.repo”文件进行说明。建议您通过添加“.repo”的方式,每个软件源都有自己对应的“.repo”文件,以下介绍该方式的操作方法。 -要在您的系统中添加一个这样的源,请在root权限下执行如下命令,执行完成之后会在 /etc 目录下生成对应的repo文件。其中_repository\_url _为repo源地址,详情请参见“[修改配置文件](修改配置文件.md)”中的[表2](修改配置文件.md#zh-cn_topic_0151921080_t2df9dceb0ff64b2f8db8ec5cd779792a)”_。_ +要在您的系统中添加一个这样的源,请在root权限下执行如下命令,执行完成之后会在 /etc 目录下生成对应的repo文件。其中_repository\_url _为repo源地址,详情请参见“使用DNF管理软件包 \> 配置DNF \> 修改配置文件”章节中的“repository参数说明”。 ``` dnf config-manager --add-repo repository_url @@ -34,7 +34,7 @@ dnf config-manager --set-enable glob_expression dnf config-manager --set-disable repository ``` -同样的,您也可以使用一个全局正则表达式,来禁用所有匹配的软件源: +同样的,您也可以使用一个全局正则表达式来禁用所有匹配的软件源: ``` dnf config-manager --set-disable glob_expression diff --git "a/content/zh/docs/Administration/\346\277\200\346\264\273\351\242\221\351\201\223\347\273\221\345\256\232.md" "b/content/zh/docs/Administration/\346\277\200\346\264\273\351\242\221\351\201\223\347\273\221\345\256\232.md" index 56fd897434e53132a6b03611def4d819cf30ab81..f1117d574f83e2a3cfef651ae5380774b1828e46 100644 --- "a/content/zh/docs/Administration/\346\277\200\346\264\273\351\242\221\351\201\223\347\273\221\345\256\232.md" +++ "b/content/zh/docs/Administration/\346\277\200\346\264\273\351\242\221\351\201\223\347\273\221\345\256\232.md" @@ -3,17 +3,17 @@ 要激活绑定,则需要启动所有从属接口。请在root权限下,运行以下命令: ``` -# ifup eth0 +# ifup enp3s0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7) ``` ``` -# ifup ifcfg-eth1 +# ifup enp4s0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8) ``` >![](public_sys-resources/icon-note.gif) **说明:** ->对于已经处于 “up”状态的接口,请首先使用”ifdown ethN“命令修改状态为 down。 +>对于已经处于“up”状态的接口,请首先使用“ifdown _enp3s0”_命令修改状态为down,其中_enp3s0_ 为实际网卡名称。 完成后,启动所有从属接口以便启动绑定(不将其设定为 “down”)。 @@ -27,13 +27,15 @@ Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkMa ``` # ip link show -1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT - link/loopback 00:00:00:00:**:** brd 00:00:00:00:**:** -2: eth0: mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000 - link/ether 52:54:00:e9:**:** brd ff:ff:ff:ff:**:** -3: eth1: mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000 - link/ether 52:54:00:38:a6:4c brd ff:ff:ff:ff:**:** -4: bond0: mtu 1500 qdisc noqueue state UP mode DEFAULT - link/ether 52:54:00:38:a6:4c brd ff:ff:ff:ff:**:** +1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 +2: enp3s0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 + link/ether 52:54:00:aa:ad:4a brd ff:ff:ff:ff:ff:ff +3: enp4s0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 + link/ether 52:54:00:aa:da:e2 brd ff:ff:ff:ff:ff:ff +4: virbr0: mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000 + link/ether 86:a1:10:fb:ef:07 brd ff:ff:ff:ff:ff:ff +5: virbr0-nic: mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000 + link/ether 52:54:00:29:35:4c brd ff:ff:ff:ff:ff:ff ``` diff --git "a/content/zh/docs/Administration/\347\256\200\344\273\213-0.md" "b/content/zh/docs/Administration/\347\256\200\344\273\213-0.md" index 1d93a8b23afb2f5787af6f7e3e7a9d54e210d023..e7ed1993769e09106dd88592581f7e46fba91be5 100644 --- "a/content/zh/docs/Administration/\347\256\200\344\273\213-0.md" +++ "b/content/zh/docs/Administration/\347\256\200\344\273\213-0.md" @@ -1,11 +1,11 @@ # 简介 -hostname 有三种类型:static、transient 和 pretty。 +hostname有三种类型:static、transient和pretty。 -- static:静态主机名,可由用户自行设置,并保存在 /etc/hostname 文件中。 -- transient:动态主机名,由内核维护,初始是 static 主机名,默认值为“localhost”。可由 DHCP 或 mDNS 在运行时更改。 +- static:静态主机名,可由用户自行设置,并保存在/etc/hostname 文件中。 +- transient:动态主机名,由内核维护,初始是 static 主机名,默认值为“localhost”。可由DHCP或mDNS在运行时更改。 - pretty:灵活主机名,允许使用自由形式(包括特殊/空白字符)进行设置。静态/动态主机名遵从域名的通用限制。 >![](public_sys-resources/icon-note.gif) **说明:** ->static 和 transient 主机名只能包含 a-z、A-Z、0-9、“-”、“\_”和 “.”,不能在开头或结尾处使用句点,不允许使用两个相连的句点,大小限制为 64 个字符。 +>static和transient主机名只能包含a-z、A-Z、0-9、“-”、“\_”和“.”,不能在开头或结尾处使用句点,不允许使用两个相连的句点,大小限制为 64 个字符。 diff --git "a/content/zh/docs/Administration/\347\256\241\347\220\206httpd.md" "b/content/zh/docs/Administration/\347\256\241\347\220\206httpd.md" index 5dd379288de72bc5e3b8a45cd83d5eb8f30d29ea..7220bcc5c27e575204f58e531879ed00cfd2e3f3 100644 --- "a/content/zh/docs/Administration/\347\256\241\347\220\206httpd.md" +++ "b/content/zh/docs/Administration/\347\256\241\347\220\206httpd.md" @@ -12,7 +12,7 @@ # dnf install httpd ``` - 更多关于管理服务的内容,请参见[管理服务](管理服务.md)。 + 更多关于管理服务的内容,请参见“管理服务”章节。 - 启动、停止和重启httpd服务,需要使用root权限。 diff --git "a/content/zh/docs/Administration/\347\256\241\347\220\206\345\221\230\350\264\246\346\210\267\346\216\210\346\235\203.md" "b/content/zh/docs/Administration/\347\256\241\347\220\206\345\221\230\350\264\246\346\210\267\346\216\210\346\235\203.md" index 1a3ef0a9b1b1e31e24454f0cef0d8d327d0f2ec0..cd4c1169546e059fa044f83e427dd33b9279eca1 100644 --- "a/content/zh/docs/Administration/\347\256\241\347\220\206\345\221\230\350\264\246\346\210\267\346\216\210\346\235\203.md" +++ "b/content/zh/docs/Administration/\347\256\241\347\220\206\345\221\230\350\264\246\346\210\267\346\216\210\346\235\203.md" @@ -1,3 +1,4 @@ # 管理员账户授权 + diff --git "a/content/zh/docs/Administration/\347\256\241\347\220\206\347\224\250\346\210\267.md" "b/content/zh/docs/Administration/\347\256\241\347\220\206\347\224\250\346\210\267.md" index 46924552b6392635d85d8581beaf77a0693c5adf..cb6e0f0f6bbd91891ca55586f7a8cf13a27898d5 100644 --- "a/content/zh/docs/Administration/\347\256\241\347\220\206\347\224\250\346\210\267.md" +++ "b/content/zh/docs/Administration/\347\256\241\347\220\206\347\224\250\346\210\267.md" @@ -2,7 +2,7 @@ 在Linux中,每个普通用户都有一个账户,包括用户名、密码和主目录等信息。除此之外,还有一些系统本身创建的特殊用户,它们具有特殊的意义,其中最重要的是管理员账户,默认用户名是root。同时Linux也提供了用户组,使每一个用户至少属于一个组,从而便于权限管理。 -用户和用户组管理是系统安全管理的重要组成部分,本章主要介绍openEuler提供的用户管理和组管理命令,如何建立多个管理员账户以及为普通用户分配特权的方法。 +用户和用户组管理是系统安全管理的重要组成部分,本章主要介绍openEuler提供的用户管理和组管理命令,以及为普通用户分配特权的方法。 diff --git "a/content/zh/docs/Administration/\347\256\241\347\220\206\347\263\273\347\273\237\346\234\215\345\212\241.md" "b/content/zh/docs/Administration/\347\256\241\347\220\206\347\263\273\347\273\237\346\234\215\345\212\241.md" index d919c379266e02ec57b98d53d4c3ae9bab0a4bbd..26246c2484d4d1211ca7b62c3fa28e0a6f39193d 100644 --- "a/content/zh/docs/Administration/\347\256\241\347\220\206\347\263\273\347\273\237\346\234\215\345\212\241.md" +++ "b/content/zh/docs/Administration/\347\256\241\347\220\206\347\263\273\347\273\237\346\234\215\345\212\241.md" @@ -4,7 +4,7 @@ systemd提供systemctl命令来运行、关闭、重启、显示、启用/禁用 ## sysvinit命令和systemd命令 -systemd提供systemctl命令与sysvinit命令的功能类似。当前版本中依然兼容service和chkconfig命令,相关说明如[表 1](#zh-cn_topic_0151920917_ta7039963b0c74b909b72c22cbc9f2e28),但建议用systemctl进行系统服务管理。 +systemd提供systemctl命令与sysvinit命令的功能类似。当前版本中依然兼容service和chkconfig命令,相关说明如[表1](#zh-cn_topic_0151920917_ta7039963b0c74b909b72c22cbc9f2e28),但建议用systemctl进行系统服务管理。 **表 1** sysvinit命令和systemd命令的对照表 @@ -17,65 +17,65 @@ systemd提供systemctl命令与sysvinit命令的功能类似。当前版本中 -

service foo start

+

service sshd start

-

systemctl start foo.service

+

systemctl start sshd.service

用来启动一个服务 (并不会重启现有的)。

-

service foo stop

+

service sshd stop

-

systemctl stop foo.service

+

systemctl stop sshd.service

用来停止一个服务 (并不会重启现有的)。

-

service foo restart

+

service sshd restart

-

systemctl restart foo.service

+

systemctl restart sshd.service

用来停止并启动一个服务。

-

service foo reload

+

service sshd reload

-

systemctl reload foo.service

+

systemctl reload sshd.service

当支持时,重新装载配置文件而不中断等待操作。

-

service foo condrestart

+

service sshd condrestart

-

systemctl condrestart foo.service

+

systemctl condrestart sshd.service

如果服务正在运行那么重启它。

-

service foo status

+

service sshd status

-

systemctl status foo.service

+

systemctl status sshd.service

汇报服务是否正在运行。

-

chkconfig foo on

+

chkconfig sshd on

-

systemctl enable foo.service

+

systemctl enable sshd.service

在下次启动时或满足其他触发条件时设置服务为启用。

-

chkconfig foo off

+

chkconfig sshd off

-

systemctl disable foo.service

+

systemctl disable sshd.service

在下次启动时或满足其他触发条件时设置服务为禁用。

-

chkconfig foo

+

chkconfig sshd

-

systemctl is-enabled foo.service

+

systemctl is-enabled sshd.service

用来检查一个服务在当前环境下被配置为启用还是禁用。

@@ -87,14 +87,14 @@ systemd提供systemctl命令与sysvinit命令的功能类似。当前版本中

输出在各个运行级别下服务的启用和禁用情况。

-

chkconfig foo --list

+

chkconfig sshd --list

-

ls /etc/systemd/system/*.wants/foo.service

+

ls /etc/systemd/system/*.wants/sshd.service

用来列出该服务在哪些运行级别下启用和禁用。

-

chkconfig foo --add

+

chkconfig sshd --add

systemctl daemon-reload

@@ -172,16 +172,6 @@ systemctl status name.service

相应的系统服务的PID值。

-

Status

- -

相关系统服务的其他信息。

- - -

Process

- -

相关进程的其他信息。

- -

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 54ae48f3db069a5cfe344e019397353d61aa6335..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 term… +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 ``` >![](public_sys-resources/icon-note.gif) **说明:** @@ -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 7081d4b99eeae3e5277f8917fc06cd46d29fbc35..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" @@ -1,6 +1,6 @@ # 设置语言环境 -您可以通过localectl修改系统的语言环境,对应的参数设置保存在/etc/locale.conf文件中。这些参数,会在系统启动的早期被systemd的守护进程读取。 +您可以通过localectl修改系统的语言环境,对应的参数设置保存在/etc/locale.conf文件中。这些参数会在系统启动过程中被systemd的守护进程读取。 ## 显示当前语言环境状态 @@ -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 490183b2421c345b76b2c7bcbc14cd1c5e580a43..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。 ->![](public_sys-resources/icon-notice.gif) **注意:** +>![](public_sys-resources/icon-notice.gif) **须知:** >如果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等),可能会存在目录冲突,或文件属性变换,对应用的正常使用造成影响。 ->![](public_sys-resources/icon-notice.gif) **注意:** +>![](public_sys-resources/icon-notice.gif) **须知:** >用户指定的目录或文件应为docker专用,避免冲突导致的文件属性变化带来安全问题。 - 以--graph为例,当我们使用/new/path/作为daemon新的Root Dir时,如果/new/path/下已经存在文件,且目录或文件名与docker需要使用的目录或文件名冲突(例如: containers、hooks、tmp等目录)时,docker可能会更新原有目录或文件的属性,包括属主、权限等为自己的属主和权限。 ->![](public_sys-resources/icon-notice.gif) **注意:** +>![](public_sys-resources/icon-notice.gif) **须知:** >从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 dde24f5c85bac3e112bcdbbc7768542ebb2c09ed..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" @@ -99,7 +99,7 @@ isulad-lxcfs-toolkit [OPTIONS] COMMAND [COMMAND_OPTIONS] lxcfs on /proc/uptime type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) ``` -3. 执行update命令更新容器的cpu和mem资源配置,然后查看容器资源。 +3. 执行update命令更新容器的cpu和mem资源配置,然后查看容器资源。根据如下回显可知,容器资源视图显示的是容器真实资源数据而不是宿主机的数据。 ``` [root@localhost ~]# lcrc update --cpuset-cpus 0-1 --memory 1G a8 @@ -131,6 +131,4 @@ isulad-lxcfs-toolkit [OPTIONS] COMMAND [COMMAND_OPTIONS] Swap: 4095 0 4095 ``` - 可以看到容器资源视图显示的是容器真实资源数据而不是宿主机的数据。 - 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/user-namespace\345\244\232\345\257\271\345\244\232.md" "b/content/zh/docs/Container/user-namespace\345\244\232\345\257\271\345\244\232.md" index efcf35e489341196510f4435fdc28adc6c4c63bb..b5c75ea950cc52d53faabffdbb375da7c5c38179 100644 --- "a/content/zh/docs/Container/user-namespace\345\244\232\345\257\271\345\244\232.md" +++ "b/content/zh/docs/Container/user-namespace\345\244\232\345\257\271\345\244\232.md" @@ -31,7 +31,7 @@ user namespace是将容器的root映射到主机的普通用户,使得容器 ## 约束限制 - 如果系统容器指定了--user-remap,那么rootfs目录必须能够被--user-remap指定的uid/gid用户所访问,否则会导致容器user namespace无法访问rootfs,容器启动失败。 -- 容器内所有的id都应该能映射到主机rootfs,某些目录/文件可能是从主机mount到容器,比如/dev/pts目录下面的设备文件,如果offset值太小可能会导致mount失败报错。 +- 容器内所有的id都应该能映射到主机rootfs,某些目录/文件可能是从主机mount到容器,比如/dev/pts目录下面的设备文件,如果offset值太小可能会导致mount失败。 - uid、gid和offset的值由上层调度平台控制,容器引擎只做合法性检查。 - --user-remap只适用于系统容器。 - --user-remap和--privileged不能共存,否则容器启动会报错。 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。

+
+ + >![](public_sys-resources/icon-note.gif) **说明:** + >当网卡添加成功时,如果为其指定了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字符。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >如果为容器内的回环设备lo添加路由时,路由配置文件中的"device"字段对应的设备名称为"lo"。 + +4. **删除指定路由** + + ``` + $ cat ./test-route.json | kata-runtime kata-network del-route 6ec7a98 - + ``` + + test-route.json字段与添加路由输入json文件的字段相同。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >- 输入字段中dest为必选,device/gateway均为可选。kata根据不同字段进行模糊匹配,删除对应的路由规则。例如指定了dest为某个IP,则所有该IP的规则都会被删除。 + >- 如果删除的是容器内回环设备lo的路由时,路由配置文件中的"device"字段对应的设备名称为"lo"。 + +5. **删除已经添加的网卡** + + ``` + $ cat ./test-iface.json | kata-runtime kata-network del-iface 6ec7a98 - + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >删除网卡时,仅根据网卡容器内名称(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 - < <规则文件路径> + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >单条添加时默认使用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" + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >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 ``` >![](public_sys-resources/icon-note.gif) **说明:** ->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 } ``` ->![](public_sys-resources/icon-notice.gif) **注意:** +>![](public_sys-resources/icon-notice.gif) **须知:** >- 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 d534ea6a627593fa2b326ddccb85bd1b267c202f..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" @@ -2,7 +2,7 @@ ## 功能描述 -系统容器提供容器与主机进程通过共享内存进行通信的功能,通过在容器创建时配置--host-channel参数,可以在容器与主机之间共享同一tmpfs,从而达到主机与容器间通信的功能。 +系统容器提供容器与主机进程通过共享内存进行通信的功能,通过在容器创建时配置\--host-channel参数,可以在容器与主机之间共享同一tmpfs,从而达到主机与容器间通信的功能。 ## 参数说明 @@ -38,7 +38,7 @@ ## 使用示例 -创建容器时指定--host-channel参数: +创建容器时指定\--host-channel参数: ``` [root@localhost ~]# lcrc run --rm -it --host-channel /testdir:/testdir:rw:32M --system-container --external-rootfs /root/myrootfs none init 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 ``` >![](public_sys-resources/icon-note.gif) **说明:** ->-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\345\256\271\345\231\250.md" "b/content/zh/docs/Container/\345\210\233\345\273\272\345\256\271\345\231\250.md" index 9b360fe1e5afd15765498cb8a66f9631f05bc80b..7b916c1b1d99cab4189e5eb1d6ea8abc688be6e6 100644 --- "a/content/zh/docs/Container/\345\210\233\345\273\272\345\256\271\345\231\250.md" +++ "b/content/zh/docs/Container/\345\210\233\345\273\272\345\256\271\345\231\250.md" @@ -2,7 +2,7 @@ ## 描述 -lcrc create 命令用于创建一个新的容器。容器引擎会使用指定的容器镜像创建容器读写层,或者使用指定的本地rootfs作为容器的运行环境。创建完成后,会将容器的ID输出到标准输出,后续可以使用lcrc start 命令启动该容器。新创建的容器状态为**inited**状态 +lcrc create 命令用于创建一个新的容器。容器引擎会使用指定的容器镜像创建容器读写层,或者使用指定的本地rootfs作为容器的运行环境。创建完成后,会将容器的ID输出到标准输出,后续可以使用lcrc start 命令启动该容器。新创建的容器状态为**inited**状态。 ## 用法 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\211\215\350\250\200.md" "b/content/zh/docs/Container/\345\211\215\350\250\200.md" index a0cb032769bcea77527900f243632df84a032c0a..deb19dc13131035cbf093774606ed276e55287db 100644 --- "a/content/zh/docs/Container/\345\211\215\350\250\200.md" +++ "b/content/zh/docs/Container/\345\211\215\350\250\200.md" @@ -4,7 +4,7 @@ openEuler软件包中提供容器运行的基础平台 iSula。 -iSula为华为容器技术方案品牌:iSula 在居住中南美洲亚马逊丛林的巴西原住民眼里,它是一种非常强大的蚂蚁,学术上称为“子弹蚁”,因为被它咬一口,犹如被子弹打到那般疼痛,它是世界上最强大的昆虫之一。 +在中南美洲亚马逊丛林的巴西原住民眼里,iSula 是一种非常强大的蚂蚁,学术上称为“子弹蚁”,因为被它咬一口,犹如被子弹打到那般疼痛,是世界上最强大的昆虫之一。iSula 容器品牌也因其含义取名。 iSula 基础容器平台同时提供 Docker engine 与轻量化容器引擎 iSulad,用户可根据需要自主选择。 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命令参数列表 - - - - - - - @@ -1324,7 +1324,7 @@ - @@ -1650,3 +1650,9 @@

命令

+ - + - + - - + - + - + @@ -160,19 +167,19 @@ **表 7** inspect命令参数列表 -

命令

说明

+

参数

+

说明

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(默认值)

- 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 @@ @@ -212,7 +210,6 @@ 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 @@

命令

+ - - - - - - @@ -51,6 +52,11 @@ exec命令支持参数参考下表。 + + +

命令

参数

+

参数

说明

+

说明

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

分配伪终端(备注:目前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..e86e6bc50501060fba98dc08beb1eed7199ac25d 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\345\205\250\345\256\271\345\231\250\345\205\250\345\261\200\351\205\215\347\275\256\346\226\207\344\273\266configuration-toml.md" "b/content/zh/docs/Container/\345\256\211\345\205\250\345\256\271\345\231\250\345\205\250\345\261\200\351\205\215\347\275\256\346\226\207\344\273\266configuration-toml.md" index e988583bdd88f6adac7295285f225b3517514962..4aec75883ce2aa25aaea02581c6aa69abcdaa5db 100644 --- "a/content/zh/docs/Container/\345\256\211\345\205\250\345\256\271\345\231\250\345\205\250\345\261\200\351\205\215\347\275\256\346\226\207\344\273\266configuration-toml.md" +++ "b/content/zh/docs/Container/\345\256\211\345\205\250\345\256\271\345\231\250\345\205\250\345\261\200\351\205\215\347\275\256\346\226\207\344\273\266configuration-toml.md" @@ -4,7 +4,7 @@ 在docker-engine的runtimeArges字段可以利用--kata-config指定私有文件,默认的配置文件路径为/usr/share/defaults/kata-containers/configuration.toml。 -常用配置文件字段如下,详细的配置文件选项参考[configuration.toml配置说明](configuration-toml配置说明.md#ZH-CN_TOPIC_0184808187)。 +常用配置文件字段如下,详细的配置文件选项参见“安全容器 > 附录 > configuration.toml配置说明”。 1. hypervisor.qemu - path :指定虚拟化qemu执行路径。 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:表示重启系统容器。

    +

容器相关

-

容器生命周期管理

容器检视工具

-

ps

其他

-

events

-- **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 @@

ContainerAttributesattributes

+

ContainerAttributes attributes

容器的信息

CpuUsagecpu

+

CpuUsage cpu

CPU使用情况

MemoryUsagememory

+

MemoryUsage memory

内存使用情况

FilesystemUsagewritable_layer

+

FilesystemUsage writable_layer

可写层使用情况

容器的ID

ContainerMetadatametadata

+

ContainerMetadata metadata

容器的metadata

+ +- **[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略有出入,以本文档描述的接口为准。 >![](public_sys-resources/icon-note.gif) **说明:** >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 \}。 >![](public_sys-resources/icon-note.gif) **说明:** - >- 配置中匹配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中保存的元数据。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >用户若选择采用手动清理恢复环境的方式,可通过配置环境变量“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专用,避免冲突导致的文件属性变化以及带来的安全问题。 - 日志文件管理: - >![](public_sys-resources/icon-notice.gif) **注意:** + >![](public_sys-resources/icon-notice.gif) **须知:** >日志功能对接: 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命令支持参数参考下表。 - >![](public_sys-resources/icon-notice.gif) **注意:** + >![](public_sys-resources/icon-notice.gif) **须知:** >第一种情况,先挂载/home/test1,然后挂载/home/test2,这种情况会导致/home/test1的内容覆盖掉原来/mnt下面的内容,这样可能导致/mnt下面不存在abc目录,这样会导致挂载/home/test2到/mnt/abc失败。 >第二种情况,先挂载/home/test2,然后挂载/home/test1。这种情况,第二次的挂载会把/mnt的内容替换为/home/test1的内容,这样第一次挂载的/home/test2到/mnt/abc的内容就看不到了。 >因此,不支持第一种使用方式;第二种使用用户需要了解这种数据无法访问的风险 - >![](public_sys-resources/icon-notice.gif) **注意:** + >![](public_sys-resources/icon-notice.gif) **须知:** >- 高并发场景(并发启动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 -} -``` + >![](public_sys-resources/icon-notice.gif) **须知:** + >默认配置文件/etc/isulad/daemon.json仅供参考,请根据实际需要进行配置 ->![](public_sys-resources/icon-notice.gif) **注意:** ->默认配置文件/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。 ->![](public_sys-resources/icon-notice.gif) **注意:** +>![](public_sys-resources/icon-notice.gif) **须知:** >- 采用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\205\215\347\275\256\346\227\245\345\277\227.md" "b/content/zh/docs/Container/\351\205\215\347\275\256\346\227\245\345\277\227.md" deleted file mode 100644 index 16400e8eeb921ac63ba503e8a7acf7aa6455c477..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Container/\351\205\215\347\275\256\346\227\245\345\277\227.md" +++ /dev/null @@ -1,2 +0,0 @@ -# 配置日志 - 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\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/22.png b/content/zh/docs/Installation/figures/22.png new file mode 100644 index 0000000000000000000000000000000000000000..b207aacc01e28b1eb79b1ead009c0186176a79c5 Binary files /dev/null and b/content/zh/docs/Installation/figures/22.png differ 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/root\345\257\206\347\240\201.png" "b/content/zh/docs/Installation/figures/root\345\257\206\347\240\201.png" new file mode 100644 index 0000000000000000000000000000000000000000..c0b3f0c4137e50426e1f17460da55c4623b62e8d Binary files /dev/null and "b/content/zh/docs/Installation/figures/root\345\257\206\347\240\201.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/Virtualization/figures/zh-cn_image_0183148773.png b/content/zh/docs/Installation/figures/zh-cn_image_0216604774.png similarity index 100% rename from content/zh/docs/Virtualization/figures/zh-cn_image_0183148773.png rename to content/zh/docs/Installation/figures/zh-cn_image_0216604774.png 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\205\211\351\251\261\345\233\276\346\240\207.png" "b/content/zh/docs/Installation/figures/\345\205\211\351\251\261\345\233\276\346\240\207.png" new file mode 100644 index 0000000000000000000000000000000000000000..b41fcb09dfbf805da4863142855e7c2de4bf4c7b Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\205\211\351\251\261\345\233\276\346\240\207.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\210\233\345\273\272\347\224\250\346\210\267.png" "b/content/zh/docs/Installation/figures/\345\210\233\345\273\272\347\224\250\346\210\267.png" new file mode 100644 index 0000000000000000000000000000000000000000..dba7a0f0a320c6c2c4ec41940e974bd1ca22e46d Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\210\233\345\273\272\347\224\250\346\210\267.png" differ diff --git "a/content/zh/docs/Installation/figures/\345\237\216\345\270\202.png" "b/content/zh/docs/Installation/figures/\345\237\216\345\270\202.png" new file mode 100644 index 0000000000000000000000000000000000000000..acb5a23566aab1c827bdc38b94fc605032c24f66 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\237\216\345\270\202.png" differ diff --git "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\344\275\215\347\275\256.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\344\275\215\347\275\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..7d24a51dcce067007b4f3638bf9a42634fe1b133 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\344\275\215\347\275\256.png" differ diff --git "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\345\256\214\346\210\220-\350\277\233\345\205\245\347\231\273\345\275\225\347\225\214\351\235\242.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\345\256\214\346\210\220-\350\277\233\345\205\245\347\231\273\345\275\225\347\225\214\351\235\242.png" new file mode 100644 index 0000000000000000000000000000000000000000..8f6c65f3ef01d542b6d4948c4ab40525126ffc92 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\345\256\214\346\210\220-\350\277\233\345\205\245\347\231\273\345\275\225\347\225\214\351\235\242.png" differ diff --git "a/content/zh/docs/Installation/figures/\345\256\211\350\243\205\345\256\214\346\210\220\345\220\216\346\214\211Enter\351\224\256\351\207\215\345\220\257.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\345\256\214\346\210\220\345\220\216\346\214\211Enter\351\224\256\351\207\215\345\220\257.png" new file mode 100644 index 0000000000000000000000000000000000000000..e24f00d53626c1f7e56b34dbbe1d60cb9c3bcad3 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\345\256\214\346\210\220\345\220\216\346\214\211Enter\351\224\256\351\207\215\345\220\257.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\246\202\350\247\210.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\246\202\350\247\210.png" new file mode 100644 index 0000000000000000000000000000000000000000..a877401d7e4af05f45d51ec1a732c527f269ade6 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\346\246\202\350\247\210.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" new file mode 100644 index 0000000000000000000000000000000000000000..92a2bbf932c51745b9947f6469c5491770b1a252 Binary files /dev/null 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\347\233\256\346\240\207\344\275\215\347\275\256.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\347\233\256\346\240\207\344\275\215\347\275\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..36caaac797326f84208432679bbf9dbb40266a6c Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\347\233\256\346\240\207\344\275\215\347\275\256.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" new file mode 100644 index 0000000000000000000000000000000000000000..ae269accb94ccf02ccc65ac9098c5c486a8b02f5 Binary files /dev/null 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\256\211\350\243\205\350\277\207\347\250\213.png" "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\350\277\207\347\250\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..db3a30ae8fa66795734db8f76838a8387a2080a2 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\211\350\243\205\350\277\207\347\250\213.png" differ diff --git "a/content/zh/docs/Installation/figures/\345\256\214\346\210\220\345\256\211\350\243\205.png" "b/content/zh/docs/Installation/figures/\345\256\214\346\210\220\345\256\211\350\243\205.png" new file mode 100644 index 0000000000000000000000000000000000000000..89395a76f256a7eff1a47178ced2fba52bdffa07 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\256\214\346\210\220\345\256\211\350\243\205.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/\345\274\200\345\247\213\345\256\211\350\243\205.png" "b/content/zh/docs/Installation/figures/\345\274\200\345\247\213\345\256\211\350\243\205.png" new file mode 100644 index 0000000000000000000000000000000000000000..e8f1e5cb5705f94c7374b26d2cbb3052abe8e73f Binary files /dev/null and "b/content/zh/docs/Installation/figures/\345\274\200\345\247\213\345\256\211\350\243\205.png" differ diff --git "a/content/zh/docs/Installation/figures/\346\211\213\345\212\250\345\210\206\345\214\272.png" "b/content/zh/docs/Installation/figures/\346\211\213\345\212\250\345\210\206\345\214\272.png" new file mode 100644 index 0000000000000000000000000000000000000000..f8cfe3e7ca8e6cdad634ab4433945c9dc8129991 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\346\211\213\345\212\250\345\210\206\345\214\272.png" differ diff --git "a/content/zh/docs/Installation/figures/\346\227\245\346\234\237\345\222\214\346\227\266\351\227\264.png" "b/content/zh/docs/Installation/figures/\346\227\245\346\234\237\345\222\214\346\227\266\351\227\264.png" new file mode 100644 index 0000000000000000000000000000000000000000..0c7a475d10fc6997d559c051133492e14ec37ec3 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\346\227\245\346\234\237\345\222\214\346\227\266\351\227\264.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/\347\275\221\347\273\234\345\222\214\344\270\273\346\234\272\345\220\215.png" "b/content/zh/docs/Installation/figures/\347\275\221\347\273\234\345\222\214\344\270\273\346\234\272\345\220\215.png" new file mode 100644 index 0000000000000000000000000000000000000000..46501afe6be4653d36c82e7b77a5ac8534b683e6 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\347\275\221\347\273\234\345\222\214\344\270\273\346\234\272\345\220\215.png" differ diff --git "a/content/zh/docs/Installation/figures/\347\275\221\347\273\234\351\205\215\347\275\256.png" "b/content/zh/docs/Installation/figures/\347\275\221\347\273\234\351\205\215\347\275\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..7aae5f3c170c435cb077af26624747862bf10511 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\347\275\221\347\273\234\351\205\215\347\275\256.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/figures/\350\257\255\350\250\200\346\224\257\346\214\201.png" "b/content/zh/docs/Installation/figures/\350\257\255\350\250\200\346\224\257\346\214\201.png" new file mode 100644 index 0000000000000000000000000000000000000000..673519c87667d8b3040d1db05fbae129f3659520 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\350\257\255\350\250\200\346\224\257\346\214\201.png" differ diff --git "a/content/zh/docs/Installation/figures/\350\275\257\344\273\266\351\200\211\346\213\251.png" "b/content/zh/docs/Installation/figures/\350\275\257\344\273\266\351\200\211\346\213\251.png" new file mode 100644 index 0000000000000000000000000000000000000000..7581070b04f971f36f49c439a3257aaf702561a0 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\350\275\257\344\273\266\351\200\211\346\213\251.png" differ diff --git "a/content/zh/docs/Installation/figures/\351\200\211\346\213\251\350\257\255\350\250\200.png" "b/content/zh/docs/Installation/figures/\351\200\211\346\213\251\350\257\255\350\250\200.png" new file mode 100644 index 0000000000000000000000000000000000000000..394a4aca72387b00e8ae9ebf6b1ce167a8488870 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\351\200\211\346\213\251\350\257\255\350\250\200.png" differ diff --git "a/content/zh/docs/Installation/figures/\351\207\215\345\220\257\345\233\276\346\240\207.png" "b/content/zh/docs/Installation/figures/\351\207\215\345\220\257\345\233\276\346\240\207.png" new file mode 100644 index 0000000000000000000000000000000000000000..a1b02b2dff42c90845d2491192507ea6967352e3 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\351\207\215\345\220\257\345\233\276\346\240\207.png" differ diff --git "a/content/zh/docs/Installation/figures/\351\224\256\347\233\230\345\270\203\345\261\200.png" "b/content/zh/docs/Installation/figures/\351\224\256\347\233\230\345\270\203\345\261\200.png" new file mode 100644 index 0000000000000000000000000000000000000000..7ffd881bdac154b1fdf64e2979c68a8f2cc29efa Binary files /dev/null and "b/content/zh/docs/Installation/figures/\351\224\256\347\233\230\345\270\203\345\261\200.png" differ diff --git "a/content/zh/docs/Installation/figures/\351\225\234\345\203\217\345\257\271\350\257\235\346\241\206.png" "b/content/zh/docs/Installation/figures/\351\225\234\345\203\217\345\257\271\350\257\235\346\241\206.png" new file mode 100644 index 0000000000000000000000000000000000000000..a7baed98a8caba6010fb8d9779a393297f224d5e Binary files /dev/null and "b/content/zh/docs/Installation/figures/\351\225\234\345\203\217\345\257\271\350\257\235\346\241\206.png" differ diff --git "a/content/zh/docs/Installation/figures/\351\253\230\347\272\247\347\224\250\346\210\267\351\205\215\347\275\256.png" "b/content/zh/docs/Installation/figures/\351\253\230\347\272\247\347\224\250\346\210\267\351\205\215\347\275\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..63f6c87eec6758e97c976c07171343d28569d011 Binary files /dev/null and "b/content/zh/docs/Installation/figures/\351\253\230\347\272\247\347\224\250\346\210\267\351\205\215\347\275\256.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模式,如下图所示: + +![](figures/zh-cn_image_0214071156.jpg) + +## 原因分析 + +操作系统文件系统损坏导致磁盘挂载失败,或者io压力过大导致磁盘挂载超时(超时时间为90秒)。 + +系统异常掉电、物理磁盘io性能低等情况都可能导致该问题。 + +## 解决方法 + +1. 用户直接输入root账号的密码,登录系统。 +2. 使用fsck工具,检测并修复文件系统,然后重启。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >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/public_sys-resources/icon-caution.gif b/content/zh/docs/Installation/public_sys-resources/icon-caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 Binary files /dev/null and b/content/zh/docs/Installation/public_sys-resources/icon-caution.gif differ diff --git a/content/zh/docs/Installation/public_sys-resources/icon-danger.gif b/content/zh/docs/Installation/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 Binary files /dev/null and b/content/zh/docs/Installation/public_sys-resources/icon-danger.gif differ diff --git a/content/zh/docs/Installation/public_sys-resources/icon-note.gif b/content/zh/docs/Installation/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda Binary files /dev/null and b/content/zh/docs/Installation/public_sys-resources/icon-note.gif differ diff --git a/content/zh/docs/Installation/public_sys-resources/icon-notice.gif b/content/zh/docs/Installation/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 Binary files /dev/null and b/content/zh/docs/Installation/public_sys-resources/icon-notice.gif differ diff --git a/content/zh/docs/Installation/public_sys-resources/icon-tip.gif b/content/zh/docs/Installation/public_sys-resources/icon-tip.gif new file mode 100644 index 0000000000000000000000000000000000000000..93aa72053b510e456b149f36a0972703ea9999b7 Binary files /dev/null and b/content/zh/docs/Installation/public_sys-resources/icon-tip.gif differ diff --git a/content/zh/docs/Installation/public_sys-resources/icon-warning.gif b/content/zh/docs/Installation/public_sys-resources/icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 Binary files /dev/null and b/content/zh/docs/Installation/public_sys-resources/icon-warning.gif differ diff --git a/content/zh/docs/Installation/zh-cn_bookmap_0181885089.md b/content/zh/docs/Installation/zh-cn_bookmap_0214071143.md similarity index 76% rename from content/zh/docs/Installation/zh-cn_bookmap_0181885089.md rename to content/zh/docs/Installation/zh-cn_bookmap_0214071143.md index f9e4671bd914574c5e2a6baad0ba7836e2533328..1eaf5504f11a8cecd8c8bbfc597033f3d5370ecd 100644 --- a/content/zh/docs/Installation/zh-cn_bookmap_0181885089.md +++ b/content/zh/docs/Installation/zh-cn_bookmap_0214071143.md @@ -1,5 +1,6 @@ -# openEuler 1.0 安装指南 +# 安装指南 +- [法律声明](法律声明.md) - [前言](前言.md) - [安装准备](安装准备.md) - [获取安装源](获取安装源.md) @@ -9,7 +10,6 @@ - [安装方式介绍](安装方式介绍.md) - [通过光盘安装](通过光盘安装.md) - - [使用PXE通过网络安装](使用PXE通过网络安装.md) - [安装指导](安装指导.md) - [启动安装](启动安装.md) @@ -44,12 +44,14 @@ - [完成安装](完成安装.md) -- [使用kickstart自动化安装](使用kickstart自动化安装.md) - - [总体介绍](总体介绍.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/\344\275\277\347\224\250PXE\351\200\232\350\277\207\347\275\221\347\273\234\345\256\211\350\243\205.md" "b/content/zh/docs/Installation/\344\275\277\347\224\250PXE\351\200\232\350\277\207\347\275\221\347\273\234\345\256\211\350\243\205.md" deleted file mode 100644 index c5e43149210ab46f8e3b8cf55dbf787ee962677b..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Installation/\344\275\277\347\224\250PXE\351\200\232\350\277\207\347\275\221\347\273\234\345\256\211\350\243\205.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 使用PXE通过网络安装 - -要使用 PXE 引导,您需要正确配置服务器以及您的计算机需支持 PXE 的网络接口。 - -如果目标硬件安装有支持PXE的网络接口卡,我们可以配置它从其他网络系统的文件而不是本地介质(如光盘)来引导计算机并执行Anaconda安装程序。 - -对于PXE网络安装,客户机通过支持PXE的网卡,向网络发送请求DHCP信息的广播,请求IP地址等信息。DHCP服务器给客户机提供一个IP地址和其他网络信息如域名服务器、ftp服务器(它提供启动安装程序所必须的文件)的IP地址或主机名,以及服务器上文件的位置。 - ->![](public_sys-resources/icon-note.gif) **说明:** ->这里不会详细讨论tftp、DHCP、http等服务器配置,相关详细配置请参照[全自动化安装指导](全自动化安装指导.md)。 - diff --git "a/content/zh/docs/Installation/\344\275\277\347\224\250kickstart\350\207\252\345\212\250\345\214\226\345\256\211\350\243\205.md" "b/content/zh/docs/Installation/\344\275\277\347\224\250kickstart\350\207\252\345\212\250\345\214\226\345\256\211\350\243\205.md" deleted file mode 100644 index 6f2c8f07463c5378f816a4a4b16a54f139b8533f..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Installation/\344\275\277\347\224\250kickstart\350\207\252\345\212\250\345\214\226\345\256\211\350\243\205.md" +++ /dev/null @@ -1,3 +0,0 @@ -# 使用kickstart自动化安装 - - diff --git "a/content/zh/docs/Installation/\345\205\250\350\207\252\345\212\250\345\214\226\345\256\211\350\243\205\346\214\207\345\257\274.md" "b/content/zh/docs/Installation/\345\205\250\350\207\252\345\212\250\345\214\226\345\256\211\350\243\205\346\214\207\345\257\274.md" deleted file mode 100644 index 7448a6703d3a54b1298ac1654d709c64467e2947..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Installation/\345\205\250\350\207\252\345\212\250\345\214\226\345\256\211\350\243\205\346\214\207\345\257\274.md" +++ /dev/null @@ -1,176 +0,0 @@ -# 全自动化安装指导 - -## 环境要求 - -使用kickstart进行openEuler系统的全自动化安装的环境要求如下: - -- 物理机/虚拟机(虚拟机创建可参考对应厂商的资料)。包括使用kickstart工具进行自动化安装的计算机和被安装的计算机。 -- httpd:存放kickstart文件。 -- tftp:提供vmlinuz和initrd文件。 -- dhcpd/pxe:提供DHCP服务。 -- ISO:openEuler-1.0-aarch64-dvd.iso。 - -## 操作步骤 - -使用kickstart进行openEuler系统的全自动化安装的操作步骤如下: - -**环境准备** - ->![](public_sys-resources/icon-note.gif) **说明:** ->安装之前,请确保http服务器的防火墙处于关闭状态。关闭防火墙可参照如下命令: ->``` ->iptables -F ->``` - -1. httpd的安装与服务启动。 - - ``` - # dnf install httpd -y - # systemctl start httpd - # systemctl enable httpd - ``` - -2. tftp的安装与配置。 - - ``` - # dnf install tftp-server -y - # vim /etc/xinetd.d/tftp - service tftp - { - socket_type = dgram - protocol = udp - wait = yes - user = root - server = /usr/sbin/in.tftpd - server_args = -s /var/lib/tftpboot - disable = no - per_source = 11 - cps = 100 2 - flags = IPv4 - } - # systemctl start tftp - # systemctl enable tftp - # systemctl start xinetd - # systemctl status xinetd - # systemctl enable xinetd - ``` - -3. 安装源的制作。 - - ``` - # mount openEuler-1.0-aarch64-dvd.iso /mnt - # cp -r /mnt/* /var/www/html/openEuler/ - ``` - -4. 设置和修改kickstart配置文件 openEuler-ks.cfg,参考步骤[3](#zh-cn_topic_0151920754_l1692f6b9284e493683ffa2ef804bc7ca)安装源的目录,此处选择http安装源。 - - ``` - #vim /var/www/html/ks/openEuler-ks.cfg - ==================================== - ***以下内容根据实际需求进行修改*** - #version=DEVEL - ignoredisk --only-use=sda - autopart --type=lvm - # Partition clearing information - clearpart --none --initlabel - # Use text mode install - text - # Keyboard layouts - keyboard --vckeymap=cn --xlayouts='cn' - # System language - lang zh_CN.UTF-8 - #Use http installation source - url --url=//192.168.122.1/openEuler/ - %post - #enable kdump - sed -i "s/ ro / ro crashkernel=1024M,high /" /boot/efi/EFI/openEuler/grub.cfg - %end - ... - ``` - -5. 修改pxe配置文件grub.cfg, 可参考如下内容。 - - ``` - # cp -r /mnt/images/pxeboot/* /var/lib/tftpboot/ - # cp /mnt/EFI/BOOT/grubaa64.efi /var/lib/tftpboot/ - # cp /mnt/EFI/BOOT/grub.cfg /var/lib/tftpboot/ - # ls /var/lib/tftpboot/ - grubaa64.efi grub.cfg initrd.img TRANS.TBL vmlinuz - # vim /var/lib/tftpboot/grub.cfg - set default="1" - - function load_video { - if [ x$feature_all_video_module = xy ]; then - insmod all_video - else - insmod efi_gop - insmod efi_uga - insmod ieee1275_fb - insmod vbe - insmod vga - insmod video_bochs - insmod video_cirrus - fi - } - - load_video - set gfxpayload=keep - insmod gzio - insmod part_gpt - insmod ext2 - - set timeout=60 - ### END /etc/grub.d/00_header ### - - search --no-floppy --set=root -l 'openEuler-1.0-aarch64' - - ### BEGIN /etc/grub.d/10_linux ### - menuentry 'Install openEuler 1.0 with text mode' --class red --class gnu-linux --class gnu --class os { - set root=(tftp,192.168.1.1) - linux /vmlinuz inst.stage2=hd:LABEL=openEuler-1.0-aarch64 ro inst.text inst.geoloc=0 console=ttyAMA0 console=tty0 inst.ks=http://192.168.122.1/ks/openEuler-ks.cfg - initrd /initrd.img - } - ``` - -6. DHCP的配置(可以使用dnsmasq代替 )。 - - ``` - # dnf install dhcp -y - # - # DHCP Server Configuration file. - # see /usr/share/doc/dhcp-server/dhcpd.conf.example - # see dhcpd.conf(5) man page - # - # vim /etc/dhcp/dhcpd.conf - ddns-update-style interim; - ignore client-updates; - filename "grubaa64.efi";    # pxelinux 启动文件位置; - next-server 192.168.122.1;  # (重要)TFTP Server 的IP地址; - subnet 192.168.122.0 netmask 255.255.255.0 { - option routers 192.168.111.1; # 网关地址 - option subnet-mask 255.255.255.0; # 子网掩码 - range dynamic-bootp 192.168.122.50 192.168.122.200; # 动态ip范围 - default-lease-time 21600; - max-lease-time 43200; - } - # systemctl start dhcpd - # systemctl enable dhcpd - ``` - - -**安装系统** - -1. 在【Start boot option】界面按下【F2】选择从网络pxe启动,开始自动化安装。 - - ![](figures/zh-cn_image_0187511784.png) - - ![](figures/zh-cn_image_0187511378.png) - - ![](figures/zh-cn_image_0187511561.png) - -2. 进入系统全自动化安装界面。 -3. 确认系统安装完毕。 - - ![](figures/zh-cn_image_0187510754.png) - - 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”,按照界面提示,创建用户、设置用户全名/用户名、用户密码、是否管理员、属组等信息。 >![](public_sys-resources/icon-note.gif) **说明:** ->用户在新创建用户密码时,需要满足密码复杂度要求,否则会设置失败。建议密码的复杂度参照[密码复杂度](安装过程配置.md#zh-cn_topic_0186390266_zh-cn_topic_0122145909_sde5f91f1b197422180f50c693caff342)。 +>用户在新创建用户密码时,需要满足密码复杂度要求,否则会设置失败。建议密码的复杂度参照“安装指导 \> 通过图形化模式安装 \> 安装过程配置”章节中的“密码复杂度”。 **图 1** 创建用户 -![](figures/创建用户-3.png "创建用户-3") +![](figures/创建用户-4.png "创建用户-4") -设置完成后,在界面输入“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 dd0728e997c4d444c64b654a371bb4c9804d9a9d..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,10 +1,36 @@ -# 前言 +# 前言 ## 概述 -本文档主要介绍openEuler 1.0的系统安装方法,包括图形化模式安装、文本模式安装和使用kickstart自动化安装三种方式,以指导用户顺利完成openEuler 1.0的系统安装。 +本文档主要介绍openEuler 1.0的系统安装方法,包括图形化模式安装、文本模式安装,以指导用户顺利完成openEuler 1.0的系统安装。 ## 读者对象 本文档适用于所有使用openEuler 1.0系统的用户,特别是初次使用或想了解openEuler的用户,包括系统工程师、管理员及维护人员等。使用本手册的用户需要具备基础的Linux系统管理知识。 +## 符号约定 + +在本文中可能出现下列标志,它们所代表的含义如下。 + + + + + + + + + + + + + +

符号

+

说明

+

+

用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

+

“须知”不涉及人身伤害。

+

+

对正文中重点信息的补充说明。

+

“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。

+
+ diff --git "a/content/zh/docs/Installation/\345\215\212\350\207\252\345\212\250\345\214\226\345\256\211\350\243\205\346\214\207\345\257\274.md" "b/content/zh/docs/Installation/\345\215\212\350\207\252\345\212\250\345\214\226\345\256\211\350\243\205\346\214\207\345\257\274.md" deleted file mode 100644 index 2cb7b6baa8930fb387d1e52499dfe313a56c4070..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Installation/\345\215\212\350\207\252\345\212\250\345\214\226\345\256\211\350\243\205\346\214\207\345\257\274.md" +++ /dev/null @@ -1,117 +0,0 @@ -# 半自动化安装指导 - -## 环境要求 - -使用kickstart进行openEuler系统的半自动化安装的环境要求如下: - -- 物理机/虚拟机(虚拟机创建可参考对应厂商的资料)。包括使用kickstart工具进行自动化安装的计算机和被安装的计算机。 -- httpd:存放kickstart文件。 -- ISO: openEuler-1.0-aarch64-dvd.iso - -## 操作步骤 - -使用kickstart进行openEuler系统的半自动化安装的操作步骤如下: - -**环境准备** - ->![](public_sys-resources/icon-note.gif) **说明:** ->安装之前,请确保http服务器的防火墙处于关闭状态。关闭防火墙可参照如下命令: ->``` ->iptables -F ->``` - -1. httpd的安装与服务启动。 - - ``` - # dnf install httpd -y - # systemctl start httpd - # systemctl enable httpd - ``` - -2. kickstart文件的准备。 - - ``` - # mkdir /var/www/html/ks - # vim /var/www/html/ks/openEuler-ks.cfg ===>根据已安装openEuler系统自动生成的anaconda-ks.cfg修改得到,也可以使用system-config-kickstart工具做成 - ==================================== - ***以下内容需要根据实际需求进行修改*** - #version=DEVEL - ignoredisk --only-use=sda - autopart --type=lvm - # Partition clearing information - clearpart --none --initlabel - # Use text mode install - text - # Use CDROM installation media - cdrom - # Keyboard layouts - keyboard --vckeymap=cn --xlayouts='cn' - # System language - lang zh_CN.UTF-8 - - # Network information - network --bootproto=dhcp --device=enp4s0 --ipv6=auto --activate - network --hostname=openeuler.com - # Root password - rootpw --iscrypted $6$fQE83lxEZ48Or4zc$j7/PlUMHn29yTjCD4Fi44WTZL/RzVGxJ/7MGsZMl6QfE3KjIVT7M4UrhFXbafvRq2lUddAFcyWHd5WRmXfEK20 - # Run the Setup Agent on first boot - firstboot --enable - # Do not configure the X Window System - skipx - # System services - services --disabled="chronyd" - # System timezone - timezone Asia/Shanghai --isUtc--nontp - - %packages - @^minimal-environment - @standard - - %end - - %anaconda - pwpolicy root --minlen=8 --minquality=1 --notstrict --nochanges --notempty - pwpolicy user --minlen=8 --minquality=1 --notstrict --nochanges --emptyok - pwpolicy luks --minlen=8 --minquality=1 --notstrict --nochanges --notempty - %end - - %post - #enable kdump - sed -i "s/ ro / ro crashkernel=1024M,high /" /boot/efi/EFI/openEuler/grub.cfg - %end - ===================================== - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >密码密文生成方式: - >\# python3 - >Python 3.7.0 \(default, Apr 1 2019, 00:00:00\) - >\[GCC 7.3.0\] on linux - >Type "help", "copyright", "credits" or "license" for more information. - >\>\>\> import crypt - >\>\>\> passwd = crypt.crypt\("myPasswd"\) - >\>\>\> print\(passwd\) - >$6$63c4tDmQGn5SDayV$mZoZC4pa9Jdt6/ALgaaDq6mIExiOO2EjzomB.Rf6V1BkEMJDcMddZeGdp17cMyc9l9ML9ldthytBEPVcnboR/0 - -3. 将ISO镜像文件挂载到需要安装openEuler计算机的光驱上。 - - 另外,也可以选择NFS等网络安装,kickstart文件中需要指定安装源位置(默认是cdrom)。 - - -**安装系统** - -1. 启动系统进入安装选择界面。 - 1. 在[图4](启动安装.md#fig1601161484619),选择【Install openEuler 1.0 with text mode】,并按下【e】键。 - 2. 启动参数中追加“inst.ks=http://server ip/ks/openEuler-ks.cfg”。 - - ![](figures/19.png) - - 3. 按【Ctrl+x】,开始系统的自动安装。 - -2. 确认系统安装完毕。 - - 系统安装完毕以后会自动重启,然后再次进入到安装界面,此时关闭计算机,调整启动顺序(优先从硬盘启动)。 - - ![](figures/zh-cn_image_0187471756.png) - - 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 d85b3503592efd08ba7a4d52589ca7cba29366dd..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,4 +1,4 @@ -# 启动安装 +# 启动安装 在服务器的光驱中加载openEuler 1.0安装镜像,重启服务器,具体步骤如下。 @@ -22,29 +22,25 @@ **图 3** 重启图标 ![](figures/重启图标.png "重启图标") -5. 系统使用引导介质完成引导后会显示引导菜单。该引导菜单除启动安装程序外还提供一些选项。安装系统时,默认采用Test this media & install openEuler 1.0方式进行安装。如果要选择默认选项之外的选项,请使用键盘中的“↑”和“↓”方向键进行选择,并在选项为高亮状态时按“Enter”。 +5. 系统使用引导介质完成引导后会显示引导菜单。该引导菜单除启动安装程序外还提供一些选项。安装系统时,默认采用“Install openEuler 1.0 with text mode”方式进行安装。如果要选择默认选项之外的选项,请使用键盘中的“↑”和“↓”方向键进行选择,并在选项为高亮状态时按“Enter”。 >![](public_sys-resources/icon-note.gif) **说明:** - >- 如果60秒内未按“Enter”选择安装方式,系统将选择默认选项“Test this media & install openEuler 1.0”自动进入安装界面。 - >- 安装物理机时,如果使用键盘上下键无法选择启动选项,按"Enter"键无响应,可以单击BMC界面上的鼠标控制图标“![](figures/zh-cn_image_0195410864.png)”,设置“键鼠复位”。 + >- 如果60秒内未按任何键,系统将从默认选项“Install openEuler 1.0 with text mode”自动进入安装界面。 + >- 安装物理机时,如果使用键盘上下键无法选择启动选项,按“Enter”键无响应,可以单击BMC界面上的鼠标控制图标“![](figures/zh-cn_image_0214071107.png)”,设置“键鼠复位”。 **图 4** 安装引导界面 - - - ![](figures/zh-cn_image_0195435918.png) + ![](figures/安装引导界面.png "安装引导界面") 安装引导选项说明如下: - - 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)。 - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 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 2ae670642493b9299e1fbb5429baff4df7e662bf..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命令,显示状态信息如下,提示无预留内存。 -![](figures/zh-cn_image_0192348006.png) +![](figures/zh-cn_image_0216604776.png) ## 原因分析 -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已使能,操作结束。 - ![](figures/zh-cn_image_0195402261.png) + ![](figures/zh-cn_image_0216604777.png) -**方法二:**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 -``` - ->![](public_sys-resources/icon-note.gif) **说明:** ->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 fef72d104472d3ac94d6abd13b0764c187ee8586..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,12 +1,12 @@ -# 安装完成 +# 安装完成 -此刻,openEuler已完成安装,如[图1](#zh-cn_topic_0186390267_zh-cn_topic_0122145917_fig1429512116338)所示。单击“重启”,系统重新启动。 +此刻,openEuler已完成安装,如[图1](#zh-cn_topic_0186390267_zh-cn_topic_0122145917_fig1429512116338)所示。单击“重启”后,系统将重新启动。 **图 1** 完成安装 ![](figures/完成安装.png "完成安装") >![](public_sys-resources/icon-note.gif) **说明:** ->请记住如果在重启过程中安装光盘没有自动弹出,则请手动取出。 +>如果在重启过程中安装光盘没有自动弹出,则请手动取出。 重启完成后,则可以直接进入openEuler命令行登录界面。 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 f96215076f8bbfe312926d9ad779dcd9af54c1d9..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 @@ -# 安装过程配置 +# 安装过程配置 开始安装后会出现进度页面,显示安装进度及所选软件包写入系统的进度。 @@ -9,7 +9,7 @@ ## 密码复杂度 -用户在设置root用户密码或者新创建用户密码时,需要满足密码复杂度要求,否则会设置失败。设置密码的复杂度的要求如下: +用户设置的root用户密码或新创建用户的密码均需要满足密码复杂度要求,否则会导致密码设置或用户创建失败。设置密码的复杂度的要求如下: 1. 口令长度至少8个字符。 2. 口令至少包含大写字母、小写字母、数字和特殊字符中的任意3种。 @@ -17,7 +17,7 @@ 4. 口令不能使用字典词汇。 - 查询字典 - 在已装好的openEuler环境中,使用如下命令,在导出的字典库文件dictionary.txt中,可以查询使用的密码是否在字典中。 + 在已装好的openEuler环境中,可以通过如下命令导出字典库文件dictionary.txt,用户可以查询密码是否在该字典中。 ``` cracklib-unpacker /usr/share/cracklib/pw_dict > dictionary.txt @@ -55,9 +55,6 @@ 单击“创建用户”,弹出创建用户的界面如[图3](#zh-cn_topic_0186390266_zh-cn_topic_0122145909_fig1237715313319)所示。输入用户名,并设置密码。另外您还可以通过“高级”选项设置用户主目录、用户组等,如[图4](#zh-cn_topic_0186390266_zh-cn_topic_0122145909_fig128716531312)所示。 ->![](public_sys-resources/icon-note.gif) **说明:** ->出于系统安全考虑,openEuler禁止root用户直接ssh远程登录。建议您在此创建普通用户,并加入wheel群组,方便您在系统安装完成后远程登录。 - **图 3** 创建用户 ![](figures/创建用户.png "创建用户") 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** 开始安装 -![](figures/开始安装-4.png "开始安装-4") +![](figures/开始安装-5.png "开始安装-5") **图 2** 安装完成后按Enter键重启 ![](figures/安装完成后按Enter键重启.png "安装完成后按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\200\273\344\275\223\344\273\213\347\273\215.md" "b/content/zh/docs/Installation/\346\200\273\344\275\223\344\273\213\347\273\215.md" deleted file mode 100644 index 10b7ac75c966ec856cdabb2bfb0281e4be0325ba..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Installation/\346\200\273\344\275\223\344\273\213\347\273\215.md" +++ /dev/null @@ -1,57 +0,0 @@ -# 总体介绍 - -## 概述 - -用户可以使用kickstart工具进行openEuler系统的自动化安装,包括如下两种方式: - -- 半自动化安装:安装人员不需要手动设定操作系统的键盘、语言、分区等具体属性(通过kickstart实现自动化),但是需要手动指定kickstart文件的位置。 -- 全自动化安装:实现操作系统的安装过程全自动化。 - -## 优缺点对比 - -使用kickstart工具进行半自动化安装和全自动化安装的优缺点对比如[表1](#table1388812373315)所示,用户可以自行选择安装方式。 - -**表 1** 优缺点对比 - - - - - - - - - - - - - - - - -

安装方式

-

优点

-

缺点

-

半自动化安装

-

不需要准备tftp,pxe,dhcp等服务

-

需要手动指定kickstart文件的位置

-

全自动化安装

-

操作系统的全自动化安装

-

需要配置tftp,dhcpd,pxe等服务

-
- -## 背景知识 - -**kickstart** - -kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个配置文件(ks.cfg),在安装过程中,安装程序首先会去查找ks配置文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工设定。所以,如果kickstart文件涵盖了安装过程中需要设定的所有参数,安装者只需要告诉安装程序从何处取ks.cfg文件,就能实现系统安装的自动化。 - -kickstart 安装提供一个安装过程自动化的方法,可以是部分自动化,也可以是完全自动化。 - -**PXE** - -PXE(Pre-boot Execution Environment,预启动执行环境),工作于Client/Server的网络模式,支持PXE的客户端在启动过程中,能够从DHCP服务器获取IP结合TFTP(trivial file transfer protocol)等协议可以实现客户端的网络引导和安装。 - -**TFTP** - -TFTP(Trivial File Transfer Protocol,简单文件传输协议),该协议用来实现客户机与服务器之间的简单文件传输,它提供不复杂、开销不大的文件传输服务。 - 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)所示。 >![](public_sys-resources/icon-note.gif) **说明:** ->- 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命令来配置。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >在开启NetworkManager服务的场景下,使用ip/ifconfig/route等命令配置网络,则一段时间后配置会被NetworkManager覆盖,导致 ip/ifconfig/route配置不生效。 + + 查看NetworkManager 服务是否开启: + + ``` + systemctl status NetworkManager + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >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的发布包和校验文件。 ->![](public_sys-resources/icon-note.gif) **说明:** ->软件包下载地址将在后续确认后提供。 +请按以下步骤获取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密码。 >![](public_sys-resources/icon-note.gif) **说明:** >- 强制用户在安装系统时设置root密码,否则无法安装通过。 >- root账户是用来执行关键系统管理任务,不建议您在日常工作及系统访问时使用root账户。 ->- 用户在设置root用户密码或者新创建用户密码时,强烈建议按照密码复杂度要求设置。设置弱密码(不符合下文所述复杂度要求的密码)时系统会发出告警并询问是否仍然使用,输入“yes”可以强制设置弱密码,但是弱密码存在较大安全风险,请用户根据实际情况谨慎决策。建议密码的复杂度参照[密码复杂度](安装过程配置.md#zh-cn_topic_0186390266_zh-cn_topic_0122145909_sde5f91f1b197422180f50c693caff342) +>- 用户在设置root用户密码或者新创建用户密码时,强烈建议按照密码复杂度要求设置。设置弱密码(不符合下文所述复杂度要求的密码)时系统会发出告警并询问是否仍然使用,输入“yes”可以强制设置弱密码,但是弱密码存在较大安全风险,请用户根据实际情况谨慎决策。建议密码的复杂度参照“安装指导 \> 通过图形化模式安装 \> 安装过程配置”章节中的“密码复杂度”。 **图 1** root密码 -![](figures/root密码-2.png "root密码-2") +![](figures/root密码-3.png "root密码-3") -设置完成后,在界面输入“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** 安装位置 ![](figures/安装位置.png "安装位置") @@ -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 3a5af0703e7945309f68c33158e9199a37166ae2..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** 安装目标位置 +![](figures/安装目标位置.png "安装目标位置") - >![](public_sys-resources/icon-note.gif) **说明:** - >- 在进行分区时,出于系统性能和安全的考虑,建议您划分如下单独分区:/boot、/var、/var/log 、/var/log/audit、/home、/tmp。 - >- 系统如果配置了swap分区,当系统的物理内存不够用时,会使用swap分区。虽然 swap分区可以增大物理内存大小的限制,但是如果由于内存不足使用到swap分区,会增加系统的响应时间,性能变差。因此在物理内存充足或者性能敏感的系统中,不建议配置swap分区。 +## 存储配置 +在“安装目标位置”界面,您需要进行存储配置以便对系统分区。您可以手动配置分区,也可以选择让安装程序自动分区。 -**图 1** 安装目标位置 -![](figures/安装目标位置.png "安装目标位置") +>![](public_sys-resources/icon-note.gif) **说明:** +>- 在进行分区时,出于系统性能和安全的考虑,建议您划分如下单独分区:/boot、/var、/var/log 、/var/log/audit、/home、/tmp。 +>- 系统如果配置了swap分区,当系统的物理内存不够用时,会使用swap分区。虽然 swap分区可以增大物理内存大小的限制,但是如果由于内存不足使用到swap分区,会增加系统的响应时间,性能变差。因此在物理内存充足或者性能敏感的系统中,不建议配置swap分区。 -1. 若用户需进行手动分区,选择“自定义\(C\)”按钮。 +**自动** - **图 2** 手动分区 - ![](figures/手动分区.png "手动分区") +如果是在未使用过的存储设备中执行全新安装,或者不需要保留该存储设备中任何数据,建议选择“自动”进行自动分区。 - - 自动创建。 +**自定义** - “点击这里自动创建它们\(C\)”,系统会根据可用的存储空间,自动分出4个挂载点:/boot 、/、/boot/efi、swap。 +若用户需进行手动分区,选择“自定义”按钮,并单击左上角“完成”,出现如下手动分区界面。 - - 手动创建。 +**图 2** 手动分区 +![](figures/手动分区.png "手动分区") - 点击“+”添加新挂载点,建议每个挂载点的期望容量不超过可用空间。 +在“手动分区”界面可以通过如下两种方式进行分区。 - >![](public_sys-resources/icon-note.gif) **说明:** - >若设置的挂载点期望容量超过了可用空间,系统将剩余的可用空间全部分配给该挂载点。 +- 自动创建:在界面单击“点击这里自动创建它们”,系统会根据可用的存储空间,自动分出4个挂载点:/boot 、/、/boot/efi、swap。 +- 手动创建:单击“![](figures/zh-cn_image_0216566635.png)”添加新挂载点,建议每个挂载点的期望容量不超过可用空间。 + >![](public_sys-resources/icon-note.gif) **说明:** + >若设置的挂载点期望容量超过了可用空间,系统将剩余的可用空间全部分配给该挂载点。 -设置完成后,请单击左上角“完成”返回[图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** 安装源 -![](figures/安装源-1.png "安装源-1") +![](figures/安装源-2.png "安装源-2") -设置完成后,在界面输入“c”,返回安装配置主页面。 +设置完成后,在界面输入“c”,返回“安装概览”页面。 >![](public_sys-resources/icon-note.gif) **说明:** ->安装过程中,如果“设置安装源”有疑问,可参考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 c9556e26e0f69d3fd33560fecb58642cb59c43c5..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** 安装源 ![](figures/安装源.png "安装源") -设置完成后,请单击左上角“完成”返回[图1](进入安装界面.md#zh-cn_topic_0186390094_zh-cn_topic_0122145883_fig5969171592212)安装配置主页面。 +设置完成后,请单击左上角“完成”返回“安装概览”页面。 >![](public_sys-resources/icon-note.gif) **说明:** ->安装过程中,如果“设置安装源”有疑问,可参考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 ba52dc71724c9b499a963c24c55d5895f00b9ebe..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,33 +1,29 @@ -# 设置时区、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** 时区 +![](figures/时区.png "时区") - -![](figures/7.png) - -选择城市时,因为城市数量多需要分页显示,出现“Press ENTER to continue”提示,请按“Enter”以显示全部的城市信息。 +选择城市时,由于城市数量较多将会分页显示。在出现“Press ENTER to continue”提示时,可以按“Enter”键以显示全部的城市信息。 **图 2** 城市 ![](figures/城市.png "城市") ## 设置NTP服务 -设置时区完成之后,回到系统安装主界面(如[图1](进入安装界面-0.md#zh-cn_topic_0155778949_zh-cn_topic_0151920777_fcabdc4c637504f26ac19e9c99f288111)所示),输入“2”并按“Enter”,进入配置时区和NTP服务界面。 +设置时区完成之后,回到系统安装主界面(如“安装概览”页面所示),输入“2”并按“Enter”,进入配置时区和NTP服务界面。 输入“2”并按“Enter”,配置NTP服务。 **图 3** NTP服务器 +![](figures/NTP服务器.png "NTP服务器") - -![](figures/9.png) - -设置完成后,在界面输入“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** 日期和时间 ![](figures/日期和时间.png "日期和时间") -设置完成后,请单击左上角“完成”返回[图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** 语言支持 -![](figures/语言支持-0.png "语言支持-0") +![](figures/语言支持-1.png "语言支持-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** 语言支持 ![](figures/语言支持.png "语言支持") -设置完成后,请单击左上角“完成”返回[图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 3495f883585a3e6df16f8a43df0fa02127a159b2..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** 网络配置 ![](figures/网络配置.png "网络配置") @@ -9,13 +9,13 @@ 选择1)Set host name,输入主机名openEuler,然后按“Enter”。 -配置网卡 +- 配置网卡 在图中选个相应的网卡配置选项进行配置,默认IPv4 address=dhcp,IPv6 address=auto。 ![](figures/22.png) -- **网卡配置说明** +网卡配置说明 1. IPv4 address or "dhcp" for DHCP:配置IPv4的地址,默认值为dhcp,有dhcp服务器分配ip地址。 2. IPv4 netmask:配置IPv4的掩码 @@ -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 f4d3ab5dad9fbf8ade7947f93fd922ff2b23a1e8..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** 网络和主机名 ![](figures/网络和主机名.png "网络和主机名") -设置完成后,请单击左上角“完成”返回[图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** 键盘布局 ![](figures/键盘布局.png "键盘布局") -设置完成后,请单击左上角“完成”返回[图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)所示的安装配置主界面。用户可以进行时间、语言、安装源、网络、存储等相关设置。 >![](public_sys-resources/icon-note.gif) **说明:** >\[x\]表示此项已配置(或者系统默认已配置),可以根据需要进行设置;\[!\]表示此项未配置,在启动安装前必须完成配置。 **图 1** 安装概览 - - -![](figures/5.png) +![](figures/安装概览-0.png "安装概览-0") 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)所示的安装设置主界面。用户可以进行时间、语言、安装源、网络、存储等相关设置。 ->![](public_sys-resources/icon-note.gif) **说明:** ->部分配置项会有告警符号,用户完成该选项配置后,告警符号消失。当界面上不存在告警符号时,用户才能开始安装。 +部分配置项会有告警符号,用户完成该选项配置后,告警符号消失。当界面上不存在告警符号时,用户才能单击“开始安装”进行系统安装。 + +如果您想退出安装,可以单击“退出”并在弹出的“您确定要退出安装程序吗?”对话框中单击“是”重新进入“安装引导界面”。 **图 1** 安装概览 ![](figures/安装概览.png "安装概览") 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 b81052f2d3bd30a9a17e8e48fa1dfcb50bb59fab..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,12 +1,10 @@ -# 选择安装软件 +# 选择安装软件 -在[图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”,选择需要安装的软件包,如下图所示。 +用户需要根据实际的业务需求选择合适的安装环境,在安装环境界面输入”c“后,可以通过附加选项“Add-ons”来选择需要安装的软件包,如下图所示。 **图 1** 安装软件 ![](figures/安装软件.png "安装软件") @@ -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 @@ ![](figures/软件选择.png "软件选择") >![](public_sys-resources/icon-note.gif) **说明:** ->在最小安装的环境下,并非安装源中所有的包都会安装。如果用户需要使用包未安装,可将安装源挂载到本地制作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 4f96c7dba58beee54d2f36c28c2f3e1b27c65ba1..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,10 +1,10 @@ -# 通过光盘安装 +# 通过光盘安装 本节介绍如何使用或者制作光盘安装源,并介绍相应的操作步骤,指导用户进行安装。 ## 准备安装源 -您可以使用获取到的光盘,或者将获取到的ISO镜像通过刻录软件将镜像刻录到DVD中,做为光盘安装时使用的安装源。 +如果您获取的是系统安装光盘,那么可以直接使用光盘安装系统。如果您获取的是系统ISO镜像,可以通过刻录软件将系统的ISO镜像刻录到DVD中,使用刻录完成的DVD安装系统。 ## 启动安装 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模式 + + >![](public_sys-resources/icon-note.gif) **说明:** + >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 e0e149748cd669ae38b3fae0bc433909250c1c05..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,12 +1,10 @@ # openEuler 1.0 版本发行说明 -openEuler 开源项目是社区驱动的免费 Linux 软件项目,致力于打造国产操作系统生态。openEuler 开源项目提供了方便的源码和发布包下载途径,包括 openEuler 开源操作系统,虚拟化、容器,编译器等。为了推动软件的自由、免费,所有人可以通过 openEuler 开源社区免费获取对应软件。我们非常欢迎广大爱好者能够积极参与到社区中来,发挥自己的能力和想象力,相互协作,共同参与社区的建设。 +openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。同时,openEuler是一个面向全球的操作系统开源社区,通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。 openEuler 1.0 是社区对外发布的第一个版本,本次发行说明提供了版本相关基础能力的介绍,主要包括: - 简介 - 基础参数说明 - 技术特性 -- 系统包列表 -- 获取源码和安装包 diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-caution.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-caution.gif differ diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-danger.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-danger.gif differ diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-note.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-note.gif differ diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-notice.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-notice.gif differ diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-tip.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-tip.gif new file mode 100644 index 0000000000000000000000000000000000000000..93aa72053b510e456b149f36a0972703ea9999b7 Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-tip.gif differ diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-warning.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-warning.gif differ 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/zh-cn_bookmap_0182168853.md b/content/zh/docs/Releasenotes/zh-cn_bookmap_0182168853.md deleted file mode 100644 index cc6c35ebde798a94bd812ec7f76f8388f191cd55..0000000000000000000000000000000000000000 --- a/content/zh/docs/Releasenotes/zh-cn_bookmap_0182168853.md +++ /dev/null @@ -1,19 +0,0 @@ -# openEuler 1.0 版本发行说明 - -- [openEuler 1.0 版本发行说明](openEuler-1-0-版本发行说明.md) -- [简介](简介.md) -- [基础参数说明](基础参数说明.md) -- [技术特性](技术特性.md) - - [系统安装](系统安装.md) - - [定制/裁减](定制-裁减.md) - - [文件系统](文件系统.md) - - [内核](内核.md) - - [系统管理](系统管理.md) - - [编译器](编译器.md) - - [系统安全](系统安全.md) - - [系统调测](系统调测.md) - - [虚拟化](虚拟化.md) - - [容器](容器.md) - - [支持鲲鹏生态](支持鲲鹏生态.md) - - 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\232\345\210\266-\350\243\201\345\207\217.md" "b/content/zh/docs/Releasenotes/\345\256\232\345\210\266-\350\243\201\345\207\217.md" deleted file mode 100644 index e6ad2982445ff1b26842c288683226a5723ca3eb..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Releasenotes/\345\256\232\345\210\266-\350\243\201\345\207\217.md" +++ /dev/null @@ -1,6 +0,0 @@ -# 定制/裁减 - -openEuler 1.0 提供优化的 kiwi 工具对系统进行个性化的自定义修改。 - -使用 kiwi 时,支持用户根据自身需要个性化定制 OS,可以将 RPM 包、自定义文件、驱动、命令和文件打包至 OS 中,通过 kiwi 工具生成自己需要的操作系统。 - 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 53a3f18a310b88be481e582c78f9325c9c913f50..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" @@ -13,31 +13,31 @@ openEuler 1.0 版本是 openEuler 开源项目对外发布的第一个版本, - - - - - - - - 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 a245df271f3e1e7e93f3090f7102f0b101f743f3..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 类型主板开始支持 256CPUs -- 将 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/Administration/figures/zh-cn_image_0182317354.png b/content/zh/docs/SecHarden/figures/zh-cn_image_0192074030.png similarity index 100% rename from content/zh/docs/Administration/figures/zh-cn_image_0182317354.png rename to content/zh/docs/SecHarden/figures/zh-cn_image_0192074030.png diff --git a/content/zh/docs/SecHarden/figures/zh-cn_image_0192074031.png b/content/zh/docs/SecHarden/figures/zh-cn_image_0192074031.png new file mode 100644 index 0000000000000000000000000000000000000000..a32856aa08e459ed0f51f8fcf4c2f51511c12095 Binary files /dev/null and b/content/zh/docs/SecHarden/figures/zh-cn_image_0192074031.png differ diff --git a/content/zh/docs/SecHarden/public_sys-resources/icon-caution.gif b/content/zh/docs/SecHarden/public_sys-resources/icon-caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 Binary files /dev/null and b/content/zh/docs/SecHarden/public_sys-resources/icon-caution.gif differ diff --git a/content/zh/docs/SecHarden/public_sys-resources/icon-danger.gif b/content/zh/docs/SecHarden/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 Binary files /dev/null and b/content/zh/docs/SecHarden/public_sys-resources/icon-danger.gif differ diff --git a/content/zh/docs/SecHarden/public_sys-resources/icon-note.gif b/content/zh/docs/SecHarden/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda Binary files /dev/null and b/content/zh/docs/SecHarden/public_sys-resources/icon-note.gif differ diff --git a/content/zh/docs/SecHarden/public_sys-resources/icon-notice.gif b/content/zh/docs/SecHarden/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 Binary files /dev/null and b/content/zh/docs/SecHarden/public_sys-resources/icon-notice.gif differ diff --git a/content/zh/docs/SecHarden/public_sys-resources/icon-tip.gif b/content/zh/docs/SecHarden/public_sys-resources/icon-tip.gif new file mode 100644 index 0000000000000000000000000000000000000000..93aa72053b510e456b149f36a0972703ea9999b7 Binary files /dev/null and b/content/zh/docs/SecHarden/public_sys-resources/icon-tip.gif differ diff --git a/content/zh/docs/SecHarden/public_sys-resources/icon-warning.gif b/content/zh/docs/SecHarden/public_sys-resources/icon-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 Binary files /dev/null and b/content/zh/docs/SecHarden/public_sys-resources/icon-warning.gif differ 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/\345\212\240\345\233\272\345\275\261\345\223\215.md" "b/content/zh/docs/SecHarden/\345\212\240\345\233\272\345\275\261\345\223\215.md" index 0c905d7464e5b1772f191779a89f987ee4104379..7077598e872caa9289e00d09f62607f52a08d9cd 100644 --- "a/content/zh/docs/SecHarden/\345\212\240\345\233\272\345\275\261\345\223\215.md" +++ "b/content/zh/docs/SecHarden/\345\212\240\345\233\272\345\275\261\345\223\215.md" @@ -32,7 +32,7 @@ - - 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\345\222\214\347\233\256\345\275\225\346\235\203\351\231\220\345\220\253\344\271\211.md" "b/content/zh/docs/SecHarden/\346\226\207\344\273\266\345\222\214\347\233\256\345\275\225\346\235\203\351\231\220\345\220\253\344\271\211.md" index a00656d191febc368a2f1eeaafda9e446e691d8e..afdbe2bcd0f557b36d8f42669d08629becc446f8 100644 --- "a/content/zh/docs/SecHarden/\346\226\207\344\273\266\345\222\214\347\233\256\345\275\225\346\235\203\351\231\220\345\220\253\344\271\211.md" +++ "b/content/zh/docs/SecHarden/\346\226\207\344\273\266\345\222\214\347\233\256\345\275\225\346\235\203\351\231\220\345\220\253\344\271\211.md" @@ -1,6 +1,6 @@ # 文件和目录权限含义 -Linux系统中文件和目录权限用于限定谁能通过何种方式对文件和目录进行访问和操作。文件和目录的访问权限分为只读,只写和可执行三种。 +Linux系统中文件和目录权限用于限定谁能通过何种方式对文件和目录进行访问和操作。文件和目录的访问权限分为只读、只写和可执行三种。 有三种不同类型的用户可对文件和目录进行访问: @@ -12,7 +12,7 @@ Linux系统中文件和目录权限用于限定谁能通过何种方式对文件 假设/usr/src的权限为755,将每位数字转化为二进制后为:111101101,含义如下: -- 左侧三位111表示文件所有者的权限为:可读、可写、可执行。 -- 中间三位101表示同组用户的权限为:可读、不可写、可执行。 -- 右侧三位101表示其他用户的权限为:可读、不可写、可执行。 +- 左侧三个bit位"111"表示文件所有者的权限依次为:可读、可写、可执行。 +- 中间三个bit位"101"表示同组用户的权限依次为:可读、不可写、可执行。 +- 右侧三个bit位"101"表示其他用户的权限依次为:可读、不可写、可执行。 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_0183148772.png b/content/zh/docs/Virtualization/figures/zh-cn_image_0183148772.png deleted file mode 100644 index 8d5a343524e14d11a3e2a94be4066fbb2d20599e..0000000000000000000000000000000000000000 Binary files a/content/zh/docs/Virtualization/figures/zh-cn_image_0183148772.png and /dev/null differ 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/zh-cn_image_0189777265.png "b/content/zh/docs/Virtualization/figures/\350\231\232\346\213\237\345\214\226\346\236\266\346\236\204.png" similarity index 100% rename from content/zh/docs/Virtualization/figures/zh-cn_image_0189777265.png rename to "content/zh/docs/Virtualization/figures/\350\231\232\346\213\237\345\214\226\346\236\266\346\236\204.png" 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" new file mode 100644 index 0000000000000000000000000000000000000000..4897873d71f1afdcee498b182ff863c912e92cca --- /dev/null +++ "b/content/zh/docs/Virtualization/\344\275\277\347\224\250VNC\345\257\206\347\240\201\347\231\273\345\275\225.md" @@ -0,0 +1,42 @@ +# 使用VNC密码登录 + +## 概述 + +当虚拟机操作系统安装部署完成之后,用户可以通过VNC协议远程登录虚拟机,从而对虚拟机进行管理操作。 + +## 前提条件 + +使用RealVNC、TightVNC等客户端登录虚拟机,在登录虚拟机之前需要获取如下信息: + +- 虚拟机所在主机的IP地址。 +- 确保客户端所在的环境可以访问到主机的网络。 +- 虚拟机的VNC侦听端口,该端口一般在客户机启动时自动分配,一般为5900 + x(x为正整数,按照虚拟机启动的顺序递增,且5900对用户不可见)。 +- 如果VNC设置了密码,还需要获取虚拟机的VNC密码。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >为虚拟机VNC配置密码,需要编辑虚拟机XML配置文件,即为graphics元素新增一个passwd属性,属性的值为要配置的密码。例如,将虚拟机的VNC密码配置为n8VfjbFK的XML配置参考如下: + >``` + > + > + > + >``` + + +## 操作步骤 + +1. 查询虚拟机使用的VNC端口号。例如名称为_openEulerVM_的虚拟机,命令如下: + + ``` + # virsh vncdisplay openEulerVM + :3 + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >登录 VNC 需要配置防火墙规则,允许 VNC 端口的连接。参考命令如下,其中_X_ 为数值“5900 + 端口号” ,例如本例中为5903。 + >``` + >firewall-cmd --zone=public --add-port=X/tcp + >``` + +2. 打开VncViewer软件,输入主机IP和端口号。格式为“主机IP:端口号”,例如:“10.133.205.53:3”。 +3. 单击“确定”输入VNC密码(可选),登录到虚拟机VNC进行操作。 + diff --git "a/content/zh/docs/Virtualization/\345\205\266\344\273\226\345\270\270\350\247\201\351\205\215\347\275\256\351\241\271.md" "b/content/zh/docs/Virtualization/\345\205\266\344\273\226\345\270\270\350\247\201\351\205\215\347\275\256\351\241\271.md" index 9172956ddaa61b642ddaa8c3385c392955901f86..e5d0b0be029cda84ad4da9509c15a3d2d042a25f 100644 --- "a/content/zh/docs/Virtualization/\345\205\266\344\273\226\345\270\270\350\247\201\351\205\215\347\275\256\351\241\271.md" +++ "b/content/zh/docs/Virtualization/\345\205\266\344\273\226\345\270\270\350\247\201\351\205\215\347\275\256\351\241\271.md" @@ -6,7 +6,7 @@ ## 元素介绍 -- os:定义虚拟机启动参数 +- os:定义虚拟机启动参数。 子元素type:指定虚拟机类型,属性arch表示架构类型,如aarch64,属性machine表示虚拟机的芯片组类型,如aarch64结构使用“virt-4.0”类型。 @@ -20,7 +20,7 @@ - on\_poweroff:虚拟机关闭时采取的动作。 - on\_reboot:虚拟机重启时采取的动作。 - on\_crash:虚拟机崩溃时采取的动作。 -- clock:采用的时钟类型 +- clock:采用的时钟类型。 属性offset:设置虚拟机时钟的同步类型,可选的值有“localtime”、“utc”、“timezone”、“variable”等。 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" index ff1020a3b9c23f17efc03eb5cd197f2e6e7bd8fd..fc270486a88f1650f8e5bc8ad5c3b975b9aaf43e 100644 --- "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" @@ -13,7 +13,7 @@ - video:媒体设备 - 属性type:媒体设备类型。常用属性值为virtio、vga、cirrus。 + 属性type:媒体设备类型。常用属性值为virtio。 子元素model:video的子元素,用于指定媒体设备类型。 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/\345\255\230\345\202\250\350\256\276\345\244\207.md" "b/content/zh/docs/Virtualization/\345\255\230\345\202\250\350\256\276\345\244\207.md" index 8b5b986b8d9f2d5a891037f8d16648375828b105..4cf6d4ea6675127f68c20517d4e4101ce4693f86 100644 --- "a/content/zh/docs/Virtualization/\345\255\230\345\202\250\350\256\276\345\244\207.md" +++ "b/content/zh/docs/Virtualization/\345\255\230\345\202\250\350\256\276\345\244\207.md" @@ -101,7 +101,7 @@ XML配置文件使用disk元素配置存储设备,disk常见的属性如[表1] ## 配置示例 -按照[准备虚拟机镜像](准备虚拟机镜像.md)操作完成虚拟机镜像准备后,可以使用如下XML配置文件示例,为虚拟机配置虚拟磁盘。 +按照“准备虚拟机镜像”章节的操作完成虚拟机镜像准备后,可以使用如下XML配置文件示例,为虚拟机配置虚拟磁盘。 例如,该示例为虚拟机配置了两个IO线程,一个块磁盘设备和一个光盘设备,第一个IO线程分配给块磁盘设备使用。该块磁盘设备的后端介质为qcow2格式,且被作为优先启动盘。 diff --git "a/content/zh/docs/Virtualization/\346\200\273\344\275\223\344\273\213\347\273\215-0.md" "b/content/zh/docs/Virtualization/\346\200\273\344\275\223\344\273\213\347\273\215-0.md" index f20140492d36a6a5269b3090017ba3fe36d7d742..06bbf14a8e9e25718e949b29b06c671af2dcb85f 100644 --- "a/content/zh/docs/Virtualization/\346\200\273\344\275\223\344\273\213\347\273\215-0.md" +++ "b/content/zh/docs/Virtualization/\346\200\273\344\275\223\344\273\213\347\273\215-0.md" @@ -56,5 +56,5 @@

部件名称

最小硬件要求

+

最小硬件要求

说明

+

说明

CPU

鲲鹏 920(架构为AArch64)

+

鲲鹏 920(架构为AArch64)

强烈建议同一集群计算节点物理服务器的CPU为同一系列。

+

强烈建议同一集群计算节点物理服务器的CPU为同一系列。

内存

不小于8GB

+

不小于8GB

-

+

-

硬盘

不小于10GB(为了获得更好的应用体验,建议不小于120GB)

+

不小于10GB(为了获得更好的应用体验,建议不小于120GB)

支持IDE、SATA、SAS等接口的硬盘。

+

支持IDE、SATA、SAS等接口的硬盘。

系统中所有用户不能设置简单的口令,口令必须符合复杂度要求。

+

限定登录失败时的尝试次数

@@ -84,7 +84,7 @@

SSH服务的MACs和Ciphers配置,禁止对CBC、MD5、SHA1算法的支持,修改为CTR、SHA2算法。

当前windows下使用的部分低版本的Xshell、PuTTY不支持aes128-ctr、aes192-ctr、aes256-ctr、hmac-sha2-256、hmac-sha2-512算法,可能会出现无法SSH登录系统的情况,请使用最新的PuTTY(0.63版本以上)、Xshell(5.0版本及以上版本)登录。

+

当前windows下使用的部分低版本的Xshell、PuTTY不支持aes128-ctr、aes192-ctr、aes256-ctr、hmac-sha2-256、hmac-sha2-512算法,可能会出现无法通过SSH登录系统的情况,请使用最新的PuTTY(0.63版本以上)、Xshell(5.0版本及以上版本)登录。

+

用于传递设备或环境安全警示信息,若不避免,可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

-

“注意”不涉及人身伤害。

+

用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

+

“须知”不涉及人身伤害。

+

用于突出重要/关键信息、最佳实践和小窍门等。

-

“说明”不是安全警示信息,不涉及人身、设备及环境伤害。

+

对正文中重点信息的补充说明。

+

“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。

>![](public_sys-resources/icon-note.gif) **说明:** ->可通过virsh命令查询虚拟机Id和UUID,操作方法请参见[查询虚拟机信息](查询虚拟机信息.md)章节内容。 +>可通过virsh命令查询虚拟机Id和UUID,操作方法请参见“查询虚拟机信息”章节内容。 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/\347\231\273\345\275\225\350\231\232\346\213\237\346\234\272.md" "b/content/zh/docs/Virtualization/\347\231\273\345\275\225\350\231\232\346\213\237\346\234\272.md" index 41ca782e4176d514891b1c874dbf3a7d45b373af..e0e0a2c94702712ae9ccc5e95a301c7b8fa49401 100644 --- "a/content/zh/docs/Virtualization/\347\231\273\345\275\225\350\231\232\346\213\237\346\234\272.md" +++ "b/content/zh/docs/Virtualization/\347\231\273\345\275\225\350\231\232\346\213\237\346\234\272.md" @@ -1,45 +1,5 @@ -# 登录虚拟机 - -## 概述 - -当虚拟机操作系统安装部署完成之后,用户可以通过VNC协议远程登录虚拟机,从而对虚拟机进行管理操作。 - -## 前提条件 - -使用Real VncViewer、ThightVNC等客户端登录虚拟机,在登录虚拟机之前需要获取如下信息: - -- 虚拟机所在主机的IP地址。 -- 确保客户端所在的环境可以访问到主机的网络。 -- 虚拟机的VNC侦听端口,该端口一般在客户机启动时自动分配,一般为5900 + x(x为正整数,按照虚拟机启动的顺序递增,且5900对用户不可见)。 -- 如果VNC设置了密码,还需要获取虚拟机的VNC密码。 - - >![](public_sys-resources/icon-note.gif) **说明:** - >为虚拟机VNC配置密码,需要编辑虚拟机XML配置文件,即为graphics元素新增一个passwd属性,属性的值为要配置的密码。例如,将虚拟机的VNC密码配置为n8VfjbFK的XML配置参考如下: - >``` - > - > - > - >``` - - -## 操作步骤 - -1. 查询虚拟机使用的VNC端口号。例如名称为_openEulerVM_的虚拟机,命令如下: - - ``` - # virsh vncdisplay openEulerVM - :3 - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >登录 VNC 需要配置防火墙规则,允许 VNC 端口的连接。参考命令如下,其中_X_ 为数值“5900 + 端口号” ,例如本例中为5903。 - >``` - >firewall-cmd --zone=public --add-port=X/tcp - >``` - -2. 打开VncViewer软件,输入主机IP和端口号。格式为“主机IP:端口号”,例如:“10.133.205.53:3”。 -3. 单击“确定”输入VNC密码(可选),登录到虚拟机VNC进行操作。 - +# 登录虚拟机 +本章介绍使用VNC登录虚拟机的方法。 diff --git "a/content/zh/docs/Virtualization/\347\275\221\347\273\234\350\256\276\345\244\207.md" "b/content/zh/docs/Virtualization/\347\275\221\347\273\234\350\256\276\345\244\207.md" index c8bd234a07e7501c97f9b06665e961f7a108bb3c..5cdf7c776e6900b93b05d60fa64f9c3ad57e22f6 100644 --- "a/content/zh/docs/Virtualization/\347\275\221\347\273\234\350\256\276\345\244\207.md" +++ "b/content/zh/docs/Virtualization/\347\275\221\347\273\234\350\256\276\345\244\207.md" @@ -74,7 +74,7 @@ XML配置文件中使用元素“interface”,其属性“type”表示虚拟 ## 配置示例 -- 按照[准备虚拟机网络](准备虚拟机网络.md)创建了Linux网桥br0后,配置一个桥接在br0网桥上的virtio类型的虚拟网卡设备,对应的XML配置如下: +- 按照“准备虚拟机网络”章节创建了Linux网桥br0后,配置一个桥接在br0网桥上的virtio类型的虚拟网卡设备,对应的XML配置如下: ``` @@ -89,7 +89,7 @@ XML配置文件中使用元素“interface”,其属性“type”表示虚拟 ``` -- 如果按照[准备虚拟机网络](准备虚拟机网络.md)创建了OVS网桥,配置一个后端使用vhost驱动,且具有四个队列的virtio虚拟网卡设备。 +- 如果按照“准备虚拟机网络”章节创建了OVS网桥,配置一个后端使用vhost驱动,且具有四个队列的virtio虚拟网卡设备。 ``` 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 4329268a8f9dcd41e3b2b3d8f51aad0b53c450ca..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" @@ -4,12 +4,10 @@ 在计算机技术中,虚拟化是一种资源管理技术,它将计算机的各种实体资源(处理器、内存、磁盘、网络适配器等)予以抽象,转换后呈现并可供分割、组合为一个或多个计算机配置环境。这种资源管理技术打破了实体结构不可分割的障碍,使这些资源在虚拟化后不受现有资源的架设方式、地域或物理配置限制,从而让用户可以更好地应用计算机硬件资源,提高资源利用率。 -虚拟化使得一台物理服务器上可以运行多台虚拟机,虚拟机共享物理机的处理器、内存、I/O资源等,但逻辑上虚拟机之间是互相隔离的。在虚拟化技术中,通常将这个物理服务器称为宿主机,宿主机上运行的虚拟机也叫客户机,虚拟机内部运行的操作系统称为客户机操作系统。在宿主机和虚拟机之间存在一层叫虚拟化层的软件,用于实现虚拟硬件的模拟,通常这个虚拟化层被称为虚拟机监控器,如下图所示: +虚拟化使得一台物理服务器上可以运行多台虚拟机,虚拟机共享物理机的处理器、内存、I/O资源等,但逻辑上虚拟机之间是互相隔离的。在虚拟化技术中,通常将这个物理服务器称为宿主机,宿主机上运行的虚拟机也叫客户机,虚拟机内部运行的操作系统称为客户机操作系统。在宿主机和虚拟机之间存在一层叫虚拟化层的软件,用于实现虚拟硬件的模拟,通常这个虚拟化层被称为虚拟机监视器,如下图所示: **图 1** 虚拟化架构 - - -![](figures/zh-cn_image_0189777265.png) +![](figures/虚拟化架构.png "虚拟化架构") ## 虚拟化架构 @@ -64,7 +62,7 @@ openEuler软件包中提供的虚拟化相关组件: ## 虚拟化优势 -虚拟化为IT基础设施带来了众多优势。 +虚拟化为IT基础设施带来了众多优势: - 灵活性和可扩展性 @@ -73,7 +71,7 @@ openEuler软件包中提供的虚拟化相关组件: - 更高的可用性和更好的运维手段 - 虚拟化提供热迁移,快照,热升级,容灾自动恢复等运维手段,可以在不影响用户的情况下对物理资源进行删除、升级或改变,提高了业务连续性,同时可以实现自动化运维。 + 虚拟化提供热迁移,快照,热升级,容灾自动恢复等运维手段,可以在不影响用户的情况下对物理资源进行删除、升级或变更,提高了业务连续性,同时可以实现自动化运维。 - 提高安全性 @@ -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 bb6007813aa4f8f9f1afe3f4bbab84dc535e06a6..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" @@ -6,7 +6,7 @@ ## 操作步骤 -在虚拟机的XML配置文件中,配置了Guest NUMA后,就可以在虚拟机内部查看NUMA拓扑结构。项是Guest NUMA的必配项。 +在虚拟机的XML配置文件中,配置了Guest NUMA后,就可以在虚拟机内部查看NUMA拓扑结构。numa项是Guest NUMA的必配项。 ``` @@ -29,8 +29,8 @@ ``` >![](public_sys-resources/icon-note.gif) **说明:** ->- 项提供虚拟机内部呈现NUMA拓扑功能,“cell id”表示vNode编号,“cpus”表示vCPU编号,“memory”表示对应vNode上的内存大小。 ->- 如果希望通过Guest NUMA提供更好的性能,则需要配置,使vCPU和对应的内存分布在同一个物理NUMA NODE上: -> - 中的“cellid”和中的“cell id”是对应的;“mode”可以配置为“strict”(严格从指定node上申请内存,内存不够则失败)、“preferred”(优先从某一node上申请内存,如果不够则从其他node上申请)、“interleave”(从指定的node上交叉申请内存);“nodeset”表示指定物理NUMA NODE。 -> - 中需要将同一cell id中的vCPU绑定到与memnode相同的物理NUMA NODE上。 +>- 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上。 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远端访问内存。 ->![](public_sys-resources/icon-notice.gif) **注意:** +>![](public_sys-resources/icon-notice.gif) **须知:** >如果在指定的NODE上内存不够时,启动虚拟机会失败,并且存在系统OOM(Out Of Memory)强制关闭进程的可能性。 ## 操作步骤 diff --git "a/content/zh/docs/Virtualization/\351\205\215\347\275\256VNC-TLS\347\231\273\345\275\225.md" "b/content/zh/docs/Virtualization/\351\205\215\347\275\256VNC-TLS\347\231\273\345\275\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..0ff8e54e73398d1bdadf6eb1945d91fde6dcc168 --- /dev/null +++ "b/content/zh/docs/Virtualization/\351\205\215\347\275\256VNC-TLS\347\231\273\345\275\225.md" @@ -0,0 +1,122 @@ +# 配置VNC TLS登录 + +## 概述 + +VNC服务端和客户端默认采用明文方式进行数据传输,因此通信内容可能被第三方截获。为了提升安全性,openEuler支持VNC服务端配置TLS模式进行加密认证。TLS(Tansport Layer Security)即传输层安全,可以实现VNC服务端和客户端之间加密通信,从而防止通信内容被第三方截获。 + +>![](public_sys-resources/icon-note.gif) **说明:** +>- 使用TLS加密认证模式需要VNC客户端支持TLS模式(例如TigerVNC),否则无法连接到VNC客户端。 +>- TLS加密认证模式配置粒度为主机服务器级别,开启该特性后,主机上正在运行的所有虚拟机对应的VNC客户端都将开启TLS加密认证模式。 + +## 操作步骤 + +VNC开启TLS加密认证模式的操作步骤如下: + +1. 登录VNC服务端所在主机登录VNC服务端所在主机,开启或修改服务端配置文件/etc/libvirt/qemu.conf中对应的配置项。相关配置内容如下所示: + + ``` + vnc_listen = "x.x.x.x" # "x.x.x.x"为VNC的侦听地址,请用户根据实际配置,VNC服务端只允许该地址或地址段范围内的客户端连接请求 + vnc_tls = 1 # 配置为1,表示开启VNC TLS支持 + vnc_tls_x509_cert_dir = "/etc/pki/libvirt-vnc" #指定证书存放的路径为/etc/pki/libvirt-vnc + vnc_tls_x509_verify = 1 #配置为1,表示TLS认证使用X509证书 + ``` + +2. 为VNC创建证书和私钥文件。此处以GNU TLS为例进行说明。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >使用GNU TLS,请提前安装好gnu-utils软件包。 + + 1. 制作证书颁发机构CA(Certificate Authority)的证书文件。 + + ``` + # certtool --generate-privkey > ca-key.pem + ``` + + 1. 制作自签名的CA证书公私钥。_其中Your organization name_为机构名,由用户指定。 + + ``` + # cat > ca.info< server.info< server-key.pem + # certtool --generate-certificate \ + --load-ca-certificate ca-cert.pem \ + --load-ca-privkey ca-key.pem \ + --load-privkey server-key.pem \ + --template server.info \ + --outfile server-cert.pem + ``` + + 上述生成文件,server-key.pem是VNC服务端的私钥,server-cert.pem是VNC服务端的公钥。 + + 3. 为VNC客户端颁发证书。 + + ``` + # cat > client.info< client-key.pem + # certtool --generate-certificate \ + --load-ca-certificate ca-cert.pem \ + --load-ca-privkey ca-key.pem \ + --load-privkey client-key.pem \ + --template client.info \ + --outfile client-cert.pem + ``` + + 上述生成文件,client-key.pem是VNC客户端的私钥,client-cert.pem是VNC客户端的公钥,生成的公私钥对需要拷贝到VNC客户端。 + +3. 关闭需要被登录的虚拟机,重启VNC服务端所在主机的libvirtd服务。 + + ``` + # systemctl restart libvirtd + ``` + +4. 将生成的服务端证书放置到VNC服务端指定目录并将证书的权限改为只允许当前用户读写。 + + ``` + # sudo mkdir -m 750 /etc/pki/libvirt-vnc + # cp ca-cert.pem /etc/pki/libvirt-vnc/ca-cert.pem + # cp server-cert.pem /etc/pki/libvirt-vnc/server-cert.pem + # cp server-key.pem /etc/pki/libvirt-vnc/server-key.pem + # chmod 0600 /etc/pki/libvirt-vnc/* + ``` + +5. 将生成的客户端证书ca-cert.pem,client-cert.pem和client-key.pem拷贝到VNC客户端。配置VNC客户端的TLS证书后即可使用VNC TLS登录。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >- VNC客户端证书的配置请参见各客户端对应的使用说明,由用户自行配置。 + >- 登录虚拟机的方式请参见“使用VNC密码登录”。 + + 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 c525ba043c2508a7f128615fbc35d1be1f9deb89..c6f2d7e082718ad34c1bc771b570b477e10a589a 100644 --- a/content/zh/menu/index.md +++ b/content/zh/menu/index.md @@ -2,16 +2,17 @@ headless: true --- - [发行说明]({{< relref "/docs/Releasenotes/release_notes.md" >}}) + - [法律声明]({{< relref "/docs/Releasenotes/法律声明.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" >}}) + - [OpenSSL加速器]({{< relref "/docs/Releasenotes/OpenSSL加速器.md" >}}) - [系统安全]({{< relref "/docs/Releasenotes/系统安全.md" >}}) - [系统调测]({{< relref "/docs/Releasenotes/系统调测.md" >}}) - [虚拟化]({{< relref "/docs/Releasenotes/虚拟化.md" >}}) @@ -19,6 +20,7 @@ headless: true - [支持鲲鹏生态]({{< 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 +29,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 +57,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 +83,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 +121,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 +140,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 +181,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" >}}) @@ -213,6 +222,7 @@ headless: true - [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 +388,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" >}}) @@ -400,8 +411,8 @@ headless: true - [禁止修改docker daemon的私有目录]({{< relref "/docs/Container/禁止修改docker-daemon的私有目录.md" >}}) - [普通用户大量部署容器场景下的配置注意事项]({{< relref "/docs/Container/普通用户大量部署容器场景下的配置注意事项.md" >}}) - [存储驱动配置]({{< relref "/docs/Container/存储驱动配置.md" >}}) - - [配置devicemapper存储驱动]({{< relref "/docs/Container/配置devicemapper存储驱动.md" >}}) - - [配置日志]({{< relref "/docs/Container/配置日志.md" >}}) + - [配置overlay2存储驱动]({{< relref "/docs/Container/配置overlay2存储驱动.md" >}}) + - [配置devicemapper存储驱动]({{< relref "/docs/Container/配置devicemapper存储驱动.md" >}}) - [强杀docker相关后台进程的影响]({{< relref "/docs/Container/强杀docker相关后台进程的影响.md" >}}) - [信号量残留]({{< relref "/docs/Container/信号量残留.md" >}}) - [网卡残留]({{< relref "/docs/Container/网卡残留.md" >}}) @@ -464,6 +475,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" >}}) @@ -495,6 +507,8 @@ headless: true - [在线修改虚拟机配置]({{< relref "/docs/Virtualization/在线修改虚拟机配置.md" >}}) - [查询虚拟机信息]({{< relref "/docs/Virtualization/查询虚拟机信息.md" >}}) - [登录虚拟机]({{< relref "/docs/Virtualization/登录虚拟机.md" >}}) + [使用VNC密码登录]({{< relref "/docs/Virtualization/使用VNC密码登录.md" >}}) + [配置VNC TLS登录]({{< relref "/docs/Virtualization/配置VNC-TLS登录.md" >}}) - [热迁移虚拟机]({{< relref "/docs/Virtualization/热迁移虚拟机.md" >}}) - [总体介绍]({{< relref "/docs/Virtualization/总体介绍-1.md" >}}) - [应用场景]({{< relref "/docs/Virtualization/应用场景.md" >}})