diff --git a/docs/en/server/maintenance/kernel_live_upgrade/_toc.yaml b/archive/en/kernel_live_upgrade/_toc.yaml similarity index 100% rename from docs/en/server/maintenance/kernel_live_upgrade/_toc.yaml rename to archive/en/kernel_live_upgrade/_toc.yaml diff --git a/docs/en/server/maintenance/kernel_live_upgrade/installation_and_deployment.md b/archive/en/kernel_live_upgrade/installation_and_deployment.md similarity index 100% rename from docs/en/server/maintenance/kernel_live_upgrade/installation_and_deployment.md rename to archive/en/kernel_live_upgrade/installation_and_deployment.md diff --git a/docs/en/server/maintenance/kernel_live_upgrade/kernel_live_upgrade.md b/archive/en/kernel_live_upgrade/kernel_live_upgrade.md similarity index 100% rename from docs/en/server/maintenance/kernel_live_upgrade/kernel_live_upgrade.md rename to archive/en/kernel_live_upgrade/kernel_live_upgrade.md diff --git a/docs/en/server/maintenance/kernel_live_upgrade/usage_guide.md b/archive/en/kernel_live_upgrade/usage_guide.md similarity index 100% rename from docs/en/server/maintenance/kernel_live_upgrade/usage_guide.md rename to archive/en/kernel_live_upgrade/usage_guide.md diff --git a/docs/zh/server/maintenance/kernel_live_upgrade/_toc.yaml b/archive/zh/kernel_live_upgrade/_toc.yaml similarity index 100% rename from docs/zh/server/maintenance/kernel_live_upgrade/_toc.yaml rename to archive/zh/kernel_live_upgrade/_toc.yaml diff --git a/docs/zh/server/maintenance/kernel_live_upgrade/installation_and_deployment.md b/archive/zh/kernel_live_upgrade/installation_and_deployment.md similarity index 100% rename from docs/zh/server/maintenance/kernel_live_upgrade/installation_and_deployment.md rename to archive/zh/kernel_live_upgrade/installation_and_deployment.md diff --git a/docs/zh/server/maintenance/kernel_live_upgrade/kernel_live_upgrade.md b/archive/zh/kernel_live_upgrade/kernel_live_upgrade.md similarity index 100% rename from docs/zh/server/maintenance/kernel_live_upgrade/kernel_live_upgrade.md rename to archive/zh/kernel_live_upgrade/kernel_live_upgrade.md diff --git a/docs/zh/server/maintenance/kernel_live_upgrade/usage_guide.md b/archive/zh/kernel_live_upgrade/usage_guide.md similarity index 100% rename from docs/zh/server/maintenance/kernel_live_upgrade/usage_guide.md rename to archive/zh/kernel_live_upgrade/usage_guide.md diff --git a/docs/en/edge_computing/_toc.yaml b/docs/en/edge_computing/_toc.yaml index 0a4c0f3cacf24ab27605aeaeb1b13a13325fdd7f..2c00307d875b537fbf2234063aaefece6e21576c 100644 --- a/docs/en/edge_computing/_toc.yaml +++ b/docs/en/edge_computing/_toc.yaml @@ -1,4 +1,4 @@ label: Edge Computing sections: - - href: ./kube_edge/_toc.yaml - - href: ./k3s/_toc.yaml + - href: + upstream: https://gitee.com/src-openeuler/k3s/blob/master/docs/en/_toc.yaml \ No newline at end of file diff --git a/docs/en/edge_computing/k3s/_toc.yaml b/docs/en/edge_computing/k3s/_toc.yaml deleted file mode 100644 index 3ab047b771523a568a409cc8dcc1ae741f3d51f3..0000000000000000000000000000000000000000 --- a/docs/en/edge_computing/k3s/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: K3s Deployment Guide -isManual: true -description: >- - K3s is a lightweight Kubernetes distribution designed for edge computing and - similar use cases. -sections: - - label: K3s Deployment Guide - href: ./k3s_deployment_guide.md diff --git a/docs/en/edge_computing/k3s/figures/agent-install.png b/docs/en/edge_computing/k3s/figures/agent-install.png deleted file mode 100644 index dca1d64ec8aae821393bb715daf4c56b783a68e0..0000000000000000000000000000000000000000 Binary files a/docs/en/edge_computing/k3s/figures/agent-install.png and /dev/null differ diff --git a/docs/en/edge_computing/k3s/figures/check-agent.png b/docs/en/edge_computing/k3s/figures/check-agent.png deleted file mode 100644 index aa467713353d70ad513e8ee13ac9d8b6520b7ee0..0000000000000000000000000000000000000000 Binary files a/docs/en/edge_computing/k3s/figures/check-agent.png and /dev/null differ diff --git a/docs/en/edge_computing/k3s/figures/check-server.png b/docs/en/edge_computing/k3s/figures/check-server.png deleted file mode 100644 index 06343de9a8b0eacb0f6194cf438b2b27af88cae4..0000000000000000000000000000000000000000 Binary files a/docs/en/edge_computing/k3s/figures/check-server.png and /dev/null differ diff --git a/docs/en/edge_computing/k3s/figures/server-install.png b/docs/en/edge_computing/k3s/figures/server-install.png deleted file mode 100644 index 7d30c8f4f73946c8b0555186c1736492039da731..0000000000000000000000000000000000000000 Binary files a/docs/en/edge_computing/k3s/figures/server-install.png and /dev/null differ diff --git a/docs/en/edge_computing/k3s/figures/set-hostname.png b/docs/en/edge_computing/k3s/figures/set-hostname.png deleted file mode 100644 index 32564d6159825b6d4131a6b138a493188ce88c6c..0000000000000000000000000000000000000000 Binary files a/docs/en/edge_computing/k3s/figures/set-hostname.png and /dev/null differ diff --git a/docs/en/edge_computing/k3s/figures/token.png b/docs/en/edge_computing/k3s/figures/token.png deleted file mode 100644 index 79e5313bd1d5e707659cd08d4aafdf528b9df8f0..0000000000000000000000000000000000000000 Binary files a/docs/en/edge_computing/k3s/figures/token.png and /dev/null differ diff --git a/docs/en/edge_computing/k3s/figures/yum-install.png b/docs/en/edge_computing/k3s/figures/yum-install.png deleted file mode 100644 index 0e601a23a5a67e7927f12bc90d1a4137e1a3a567..0000000000000000000000000000000000000000 Binary files a/docs/en/edge_computing/k3s/figures/yum-install.png and /dev/null differ diff --git a/docs/en/edge_computing/k3s/k3s_deployment_guide.md b/docs/en/edge_computing/k3s/k3s_deployment_guide.md deleted file mode 100644 index 11dd4c263eb74dc90098950b45382a115bead865..0000000000000000000000000000000000000000 --- a/docs/en/edge_computing/k3s/k3s_deployment_guide.md +++ /dev/null @@ -1,90 +0,0 @@ -# K3s Deployment Guide - -## What Is K3s - -K3s is a lightweight Kubernetes distribution that is optimized for edge computing and IoT scenarios. The K3s provides the following enhanced features: - -- Packaged as a single binary file. -- Uses SQLite3-based lightweight storage backend as the default storage mechanism and supports etcd3, MySQL, and PostgreSQL. -- Encapsulated in a simple launcher that handles various complex TLS and options. -- Secure by default and has reasonable default values for lightweight environments. -- Batteries included, providing simple but powerful functions such as local storage providers, service load balancers, Helm controllers, and Traefik Ingress controllers. -- Encapsulates all operations of the Kubernetes control plane in a single binary file and process, capable of automating and managing complex cluster operations including certificate distribution. -- Minimizes external dependencies and requires only kernel and cgroup mounting. - -## Application Scenarios - -K3s is applicable to the following scenarios: - -- Edge computing -- IoT -- Continuous integration -- Development -- ARM -- Embedded Kubernetes - -The resources required for running K3s are small. Therefore, K3s is also suitable for development and test scenarios. In these scenarios, K3s facilitates function verification and problem reproduction by shortening cluster startup time and reducing resources consumed by the cluster. - -## Deploying K3s - -### Preparations - -- Ensure that the host names of the server node and agent node are different. - -You can run the `hostnamectl set-hostname "host name"` command to change the host name. - -![1661829534335](./figures/set-hostname.png) - -- Install K3s on each node using Yum. - - The K3s official website provides binary executable files of different architectures and the **install.sh** script for offline installation. The openEuler community migrates the compilation process of the binary file to the community and releases the compiled RPM package. You can run the `yum` command to download and install K3s. - -![1661830441538](./figures/yum-install.png) - -### Deploying the Server Node - -To install K3s on a single server, run the following command on the server node: - -```shell -INSTALL_K3S_SKIP_DOWNLOAD=true k3s-install.sh -``` - -![1661825352724](./figures/server-install.png) - -### Checking Server Deployment - -![1661825403705](./figures/check-server.png) - -### Deploying the Agent Node - -Query the token value of the server node. The token is stored in the **/var/lib/rancher/k3s/server/node-token** file on the server node. - -> **Note**: -> -> Only the second half of the token is used. - -![1661825538264](./figures/token.png) - -Add agents. Run the following command on each agent node: - -```shell -INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken k3s-install.sh -``` - -> **Note:** -> -> Replace **myserver** with the IP address of the server or a valid DNS, and replace **mynodetoken** with the token of the server node. - -![1661829392357](./figures/agent-install.png) - -### Checking Agent Deployment - -After the installation is complete, run `kubectl get nodes` on the server node to check if the agent node is successfully registered. - -![1661826797319](./figures/check-agent.png) - -A basic K3S cluster is set up. - -### More - -For details about how to use K3s, visit the K3s [official website](https://rancher.com/docs/k3s/latest/en/). diff --git a/docs/en/edge_computing/kube_edge/_toc.yaml b/docs/en/edge_computing/kube_edge/_toc.yaml deleted file mode 100644 index 52793775eccda9d259aecfc7e08f774121a4264e..0000000000000000000000000000000000000000 --- a/docs/en/edge_computing/kube_edge/_toc.yaml +++ /dev/null @@ -1,9 +0,0 @@ -label: KubeEdge User Guide -isManual: true -href: ./overview.md -description: KubeEdge brings Kubernetes functionalities to edge environments. -sections: - - label: KubeEdge Usage Guide - href: ./kubeedge_usage_guide.md - - label: KubeEdge Deployment Guide - href: ./kubeedge_deployment_guide.md diff --git a/docs/en/edge_computing/kube_edge/kubeedge_deployment_guide.md b/docs/en/edge_computing/kube_edge/kubeedge_deployment_guide.md deleted file mode 100644 index 5a306908787a285f8a23984b1a0191e0649a8484..0000000000000000000000000000000000000000 --- a/docs/en/edge_computing/kube_edge/kubeedge_deployment_guide.md +++ /dev/null @@ -1,224 +0,0 @@ -# KubeEdge Deployment Guide - -## Description - -### KubeEdge - -KubeEdge is an open source system dedicated to solving problems in edge scenarios. It extends the capabilities of containerized application orchestration and device management to edge devices. Based on Kubernetes, KubeEdge provides core infrastructure support for networks, application deployment, and metadata synchronization between the cloud and the edge. KubeEdge supports MQTT and allows for custom logic to enable communication for the resource-constrained devices at the edge. KubeEdge consists of components deployed on the cloud and edge nodes. The components are now open source. - -> - -### iSulad - -iSulad is a lightweight container runtime daemon designed for IoT and cloud infrastructure. It is lightweight, fast, and is not restricted by hardware specifications or architectures. It is suitable for wide application in various scenarios, such as cloud, IoT, and edge computing. - -> - -## Cluster Overview - -### Component Versions - -| Component | Version | -| ---------- | --------------------------------- | -| OS | openEuler 22.03 | -| Kubernetes | 1.20.2-4 | -| iSulad | 2.0.11 | -| KubeEdge | v1.8.0 | - -### Node Planning Example - -| Node | Location | Components | -| -------------- | -------- | -------------------------------- | -| cloud.kubeedge | Cloud | Kubernetes (Master), iSulad, CloudCore | -| edge.kubeedge | Edge | iSulad, EdgeCore | - -> Note: You can run the `hostnamectl set-hostname [cloud,edge].kubeedge` command to set the cloud and edge node names in advance. - -## Preparations - -### Tool Package Download - -[kubeedge-tools](https://gitee.com/Poorunga/kubeedge-tools) provides complete offline installation packages and deployment scripts for easy and quick KubeEdge cluster deployment even if the node cannot access the Internet. - -```bash -# Download and decompress the kubeedge-tools package on both the cloud and edge nodes. -$ wget -O kubeedge-tools.zip https://gitee.com/Poorunga/kubeedge-tools/repository/archive/master.zip -$ unzip kubeedge-tools.zip - -# Go to the kubeedge-tools directory for all the subsequent operations. -$ cd kubeedge-tools-master -``` - -### Kubernetes Deployment - -Perform the following operations on the cloud node only. - -#### Initializing the Cloud Environment - -```bash -./setup-cloud.sh -``` - -#### Installing Kubernetes - -Use openEuler 22.03 SP2 to install Kubernetes. - -#### Configuring Network for the Cloud Container - -Container Network Interface (CNI) software that provides network for Kubernetes nodes include [flannel](https://github.com/flannel-io/flannel), [Calico](https://github.com/projectcalico/calico), [Cilium](https://github.com/cilium/cilium), and more. If you have not decided which CNI software to use, run the following command to configure network for the cloud container: - -```bash -./install-flannel-cloud.sh -``` - -#### Checking Deployment Status - -```bash -# Check whether the node status is normal (Ready) -$ kubectl get nodes -NAME STATUS ROLES AGE VERSION -cloud.kubeedge Ready control-plane,master 12m v1.20.2 - -# Check whether the Kubernetes components are normal (Running) -$ kubectl get pods -n kube-system -NAME READY STATUS RESTARTS AGE -coredns-74ff55c5b-4ptkh 1/1 Running 0 15m -coredns-74ff55c5b-zqx5n 1/1 Running 0 15m -etcd-cloud.kubeedge 1/1 Running 0 15m -kube-apiserver-cloud.kubeedge 1/1 Running 0 15m -kube-controller-manager-cloud.kubeedge 1/1 Running 0 15m -kube-flannel-cloud-ds-lvh4n 1/1 Running 0 13m -kube-proxy-2tcnn 1/1 Running 0 15m -kube-scheduler-cloud.kubeedge 1/1 Running 0 15m -``` - -## Deployment - -### CloudCore Deployment - -Perform the following operations on the cloud node only. - -#### Initializing the Cluster - -```bash -# Set --advertise-address to the IP address of the cloud node. -$ keadm init --advertise-address="cloud_node_IP_address" --kubeedge-version=1.8.0 -... -CloudCore started -``` - -#### Configuring CloudCore - -```bash -./patch-cloud.sh -``` - -#### Checking Deployment Status - -```bash -# active (running) indicates a normal status -$ systemctl status cloudcore | grep running - Active: active (running) since Fri 2022-03-04 10:54:30 CST; 5min ago -``` - -CloudCore has been deployed on the cloud node. Then, deploy EdgeCore on the edge node. - -### EdgeCore Deployment - -Perform the following operations only on the edge node unless otherwise specified. - -#### Initializing the Edge Environment - -```bash -./setup-edge.sh -``` - -#### Managing the Edge Node - -```bash -# Run the keadm gettoken command on the cloud node. -$ keadm gettoken -96058ab80ffbeb87fe58a79bfb19ea13f9a5a6c3076a17c00f80f01b406b4f7c.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY0NDg4NzF9.1mJegWB7SUVjgf-OvAqILgbZXeMHR9eOzMxpNFc42SI -# Save this token for subsequent steps. - - -# Run the keadm join command on the edge node. -# Set --cloudcore-ipport to the IP address and port number (10000) of the cloud node. Set --token to the token saved in the previous step. -$ keadm join --cloudcore-ipport=clou_node_IP_address:10000 --kubeedge-version=1.8.0 --token=96058ab80ffbeb87fe58a79bfb19ea13f9a5a6c3076a17c00f80f01b406b4f7c.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY0NDg4NzF9.1mJegWB7SUVjgf-OvAqILgbZXeMHR9eOzMxpNFc42SI -... -KubeEdge edgecore is running... -``` - -#### Configuring EdgeCore - -```bash -./patch-edge.sh -``` - -#### Configuring Network for the Edge Container - -If you have not decided which CNI software to use, run the following command to configure network for the edge container: - -```bash -# Run the command on the cloud node. -$ ./install-flannel-edge.sh -``` - -#### Checking Whether the Edge Node is Managed - -```bash -# Run the command on the cloud node. You can see that the edge node is added. -$ kubectl get nodes -NAME STATUS ROLES AGE VERSION -cloud.kubeedge Ready control-plane,master 1h v1.20.2 -edge.kubeedge Ready agent,edge 10m v1.19.3-kubeedge-v1.8.0 -``` - -The KubeEdge cluster has been deployed. Next, let's test the task delivery from the cloud to the edge. - -### Application Deployment - -Perform the following operations on the cloud node only. - -#### Deploying Nginx - -```bash -$ kubectl apply -f yamls/nginx-deployment.yaml -deployment.apps/nginx-deployment created - -# Check whether Nginx is deployed on the edge node and running. -$ kubectl get pod -owide | grep nginx -nginx-deployment-84b99f4bf-jb6sz 1/1 Running 0 30s 10.244.1.2 edge.kubeedge -``` - -#### Testing the Function - -```bash -# Access the IP address of Nginx on the edge node. -$ curl 10.244.1.2:80 - - - -Welcome to nginx! - - - -

Welcome to nginx!

-

If you see this page, the nginx web server is successfully installed and -working. Further configuration is required.

- -

For online documentation and support please refer to -nginx.org.
-Commercial support is available at -nginx.com.

- -

Thank you for using nginx.

- - -``` - -The deployment of KubeEdge is complete. diff --git a/docs/en/edge_computing/kube_edge/kubeedge_usage_guide.md b/docs/en/edge_computing/kube_edge/kubeedge_usage_guide.md deleted file mode 100644 index 1d32cab4d8aefd8699c001dd58a820e5ccde81d1..0000000000000000000000000000000000000000 --- a/docs/en/edge_computing/kube_edge/kubeedge_usage_guide.md +++ /dev/null @@ -1,221 +0,0 @@ -# KubeEdge Usage Guide - -KubeEdge extends the capabilities of Kubernetes to edge scenarios and provides infrastructure support for the network, application deployment, and metadata synchronization between the cloud and the edge. The usage of KubeEdge is the same as that of Kubernetes. In addition, KubeEdge supports the management and control of edge devices. The following example describes how to use KubeEdge to implement edge-cloud synergy. - -## 1. Preparations - -Example: **KubeEdge Counter Demo** - -The counter is a pseudo device. You can run this demo without any additional physical devices. The counter runs on the edge side. You can use the web interface on the cloud side to control the counter and get the counter value. Click the link below to view the schematic diagram. - -For details, see . - -1. This demo requires the KubeEdge v1.2.1 or later. In this example, the latest KubeEdge v1.8.0 is used. - - ```shell - [root@ke-cloud ~]# kubectl get node - NAME STATUS ROLES AGE VERSION - ke-cloud Ready master 13h v1.20.2 - ke-edge1 Ready agent,edge 64s v1.19.3-kubeedge-v1.8.0 - - # Note: In this document, the edge node ke-edge1 is used for verification. If you perform verification by referring to this document, you need to change the edge node name based on your actual deployment. - ``` - -2. Ensure that the following configuration items are enabled for the Kubernetes API server: - - ```shell - --insecuret-port=8080 - --insecure-bind-address=0.0.0.0 - ``` - - You can modify the `/etc/kubernetes/manifests/kube-apiserver.yaml` file, and then restart the Pod of the Kubernetes API server component to make the modifications take effect. - -3. Download the sample code: - - ```shell - [root@ke-cloud ~]# git clone https://github.com/kubeedge/examples.git $GOPATH/src/github.com/kubeedge/examples - ``` - -## 2. Creating the Device Model and Device - -1. Create the device model. - - ```shell - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds - [root@ke-cloud crds~]# kubectl create -f kubeedge-counter-model.yaml - ``` - -2. Create the device. - - Modify **matchExpressions** as required. - - ```shell - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds - [root@ke-cloud crds~]# vim kubeedge-counter-instance.yaml - apiVersion: devices.kubeedge.io/v1alpha1 - kind: Device - metadata: - name: counter - labels: - description: 'counter' - manufacturer: 'test' - spec: - deviceModelRef: - name: counter-model - nodeSelector: - nodeSelectorTerms: - - matchExpressions: - - key: 'kubernetes.io/hostname' - operator: In - values: - - ke-edge1 - - status: - twins: - - propertyName: status - desired: - metadata: - type: string - value: 'OFF' - reported: - metadata: - type: string - value: '0' - - [root@ke-cloud crds~]# kubectl create -f kubeedge-counter-instance.yaml - ``` - -## 3. Deploying the Cloud Application - -1. Modify the code. - - The cloud application **web-controller-app** controls the edge application **pi-counter-app**. The default listening port of the cloud application is 80. Change the port number to 8089. - - ```shell - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/web-controller-app - [root@ke-cloud web-controller-app~]# vim main.go - package main - - import ( - "github.com/astaxie/beego" - "github.com/kubeedge/examples/kubeedge-counter-demo/web-controller-app/controller" - ) - - func main() { - beego.Router("/", new(controllers.TrackController), "get:Index") - beego.Router("/track/control/:trackId", new(controllers.TrackController), "get,post:ControlTrack") - - beego.Run(":8089") - } - ``` - -2. Build the image. - - Note: When building the image, copy the source code to the path specified by **GOPATH**. Disable Go modules if they are enabled. - - ```shell - [root@ke-cloud web-controller-app~]# make all - [root@ke-cloud web-controller-app~]# make docker - ``` - -3. Deploy web-controller-app. - - ```shell - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds - [root@ke-cloud crds~]# kubectl apply -f kubeedge-web-controller-app.yaml - ``` - -## 4. Deploying the Edge Application - -The **pi-counter-app** application on the edge is controlled by the cloud application. The edge application communicates with the MQTT server to perform simple counting. - -1. Modify the code and build the image. - - Change the value of **GOARCH** to **amd64** in `Makefile` to run the container. - - ```shell - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/counter-mapper - [root@ke-cloud counter-mapper~]# vim Makefile - .PHONY: all pi-execute-app docker clean - all: pi-execute-app - - pi-execute-app: - GOARCH=amd64 go build -o pi-counter-app main.go - - docker: - docker build . -t kubeedge/kubeedge-pi-counter:v1.0.0 - - clean: - rm -f pi-counter-app - - [root@ke-cloud counter-mapper~]# make all - [root@ke-cloud counter-mapper~]# make docker - ``` - -2. Deploy pi-counter-app. - - ```shell - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds - [root@ke-cloud crds~]# kubectl apply -f kubeedge-pi-counter-app.yaml - - Note: To prevent Pod deployment from being stuck at `ContainerCreating`, run the docker save, scp, and docker load commands to release the image to the edge. - - [root@ke-cloud ~]# docker save -o kubeedge-pi-counter.tar kubeedge/kubeedge-pi-counter:v1.0.0 - [root@ke-cloud ~]# scp kubeedge-pi-counter.tar root@192.168.1.56:/root - [root@ke-edge1 ~]# docker load -i kubeedge-pi-counter.tar - ``` - -## 5. Trying the Demo - -Now, the KubeEdge Demo is deployed on the cloud and edge as follows: - -```shell -[root@ke-cloud ~]# kubectl get pods -o wide -NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES -kubeedge-counter-app-758b9b4ffd-f8qjj 1/1 Running 0 26m 192.168.1.66 ke-cloud -kubeedge-pi-counter-c69698d6-rb4xz 1/1 Running 0 2m 192.168.1.56 ke-edge1 -``` - -Let's test the running effect of the Demo. - -1. Execute the ON command. - On the web page, select **ON** and click **Execute**. You can run the following command on the edge node to view the execution result: - - ```shell - [root@ke-edge1 ~]# docker logs -f counter-container-id - ``` - -2. Check the counter's STATUS. - On the web page, select **STATUS** and click **Execute**. The current counter status is displayed on the web page. - -3. Execute the OFF command. - On the web page, select **OFF** and click **Execute**. You can run the following command on the edge node to view the execution result: - - ```shell - [root@ke-edge1 ~]# docker logs -f counter-container-id - ``` - -## 6. Others - -1. For more official KubeEdge examples, visit . - - | Name | Description | - | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | - | [LED-RaspBerry-Pi](https://github.com/kubeedge/examples/blob/master/led-raspberrypi/README.md) | Controlling a LED light with Raspberry Pi using KubeEdge platform. | - | [Data Analysis @ Edge](https://github.com/kubeedge/examples/blob/master/apache-beam-analysis/README.md) | Analyzing data at edge by using Apache Beam and KubeEdge. | - | [Security@Edge](https://github.com/kubeedge/examples/blob/master/security-demo/README.md) | Security at edge using SPIRE for identity management. | - | [Bluetooth-CC2650-demo](https://github.com/kubeedge/examples/blob/master/bluetooth-CC2650-demo/README.md) | Controlling a CC2650 SensorTag bluetooth device using KubeEdge platform. | - | [Play Music @Edge through WeChat](https://github.com/kubeedge/examples/blob/master/wechat-demo/README.md) | Play music at edge based on WeChat and KubeEdge. | - | [Play Music @Edge through Web](https://github.com/kubeedge/examples/blob/master/web-demo/README.md) | Play music at edge based on Web and KubeEdge. | - | [Collecting temperature @Edge](https://github.com/kubeedge/examples/blob/master/temperature-demo/README.md) | Collecting temperature at edge based KubeEdge. | - | [Control pseudo device counter and collect data](https://github.com/kubeedge/examples/blob/master/kubeedge-counter-demo/README.md) | Control pseudo device counter and collect data based KubeEdge. | - | [Play Music @Edge through Twitter](https://github.com/kubeedge/examples/blob/master/ke-twitter-demo/README.md) | Play music at edge based on Twitter and KubeEdge. | - | [Control Zigbee @Edge through cloud](https://github.com/kubeedge/examples/blob/master/kubeedge-edge-ai-application/README.md) | Face detection at cloud using OpenCV and using it to control zigbee on edge using KubeEdge. | - -2. Use EdgeMesh to discover edge services. - - - -3. Customize the cloud-edge message route. - - diff --git a/docs/en/edge_computing/kube_edge/overview.md b/docs/en/edge_computing/kube_edge/overview.md deleted file mode 100644 index 5b0b219c468dfdb9ce346ba1c0b86f61a13ef152..0000000000000000000000000000000000000000 --- a/docs/en/edge_computing/kube_edge/overview.md +++ /dev/null @@ -1,3 +0,0 @@ -# KubeEdge User Guide - -This document describes how to deploy and use the KubeEdge edge computing platform for users and administrators. diff --git a/docs/en/server/_toc.yaml b/docs/en/server/_toc.yaml index 93b1c4ba9264248985e93b209432a15b56bea1ce..e00a2e429a31265cc2180d7853598cd974737827 100644 --- a/docs/en/server/_toc.yaml +++ b/docs/en/server/_toc.yaml @@ -2,7 +2,7 @@ label: Server sections: - label: Release Notes sections: - - href: ./releasenotes/releasenotes/_toc.yaml + - href: ./quickstart/releasenotes/_toc.yaml - label: Quick Start sections: - href: ./quickstart/quickstart/_toc.yaml @@ -15,17 +15,17 @@ sections: - href: ./administration/administrator/_toc.yaml - href: upstream: http://gitee.com/openeuler/sysmaster/blob/master/docs/en/_toc.yaml - path: ./sysmaster + path: ./administration/sysmaster - href: ./administration/compa_command/_toc.yaml - label: O&M sections: - - href: ./maintenance/aops/_toc.yaml - href: ./maintenance/gala/_toc.yaml - href: upstream: https://gitee.com/openeuler/sysmonitor/blob/master/docs/en/_toc.yaml - path: ./sysmonitor - - href: ./maintenance/kernel_live_upgrade/_toc.yaml - - href: ./maintenance/syscare/_toc.yaml + path: ./maintenance/sysmonitor + - href: + upstream: https://gitee.com/openeuler/syscare/blob/master/docs/en/_toc.yaml + path: ./maintenance/syscare - href: ./maintenance/common_skills/_toc.yaml - href: ./maintenance/common_tools/_toc.yaml - href: ./maintenance/troubleshooting/_toc.yaml @@ -34,7 +34,9 @@ sections: - href: ./security/secharden/_toc.yaml - href: ./security/trusted_computing/_toc.yaml - href: ./security/secgear/_toc.yaml - - href: ./security/cve-ease/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/cve-ease/blob/master/docs/en/master/_toc.yaml + path: ./security/cve_ease - href: ./security/cert_signature/_toc.yaml - href: ./security/sbom/_toc.yaml - href: ./security/shangmi/_toc.yaml @@ -42,20 +44,22 @@ sections: sections: - href: upstream: https://gitee.com/openeuler/Storage-docs/blob/master/docs/en/lvm/_toc.yaml - path: ./lvm + path: ./storage/lvm - href: upstream: https://gitee.com/openeuler/Storage-docs/blob/master/docs/en/etmem/_toc.yaml - path: ./etmem + path: ./storage/etmem - href: upstream: https://gitee.com/openeuler/Storage-docs/blob/master/docs/en/gmem/_toc.yaml - path: ./gmem + path: ./storage/gmem - href: upstream: https://gitee.com/openeuler/Storage-docs/blob/master/docs/en/hsak/_toc.yaml - path: ./hsak + path: ./storage/hsak - label: Network sections: - href: ./network/network_config/_toc.yaml - - href: ./network/gazelle/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/gazelle/blob/master/doc/en/user_manual/_toc.yaml + path: ./network/gazelle - label: Performance Optimization sections: - label: Overview @@ -63,28 +67,36 @@ sections: - href: ./performance/overall/system_resource/_toc.yaml - label: Tuning Framework sections: - - href: ./performance/tuning_framework/oeaware/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/oeAware-manager/blob/master/docs/en/master/_toc.yaml + path: ./performance/oeaware - label: CPU Optimization sections: - href: upstream: https://gitee.com/openeuler/Computing-docs/blob/master/docs/en/sysboost/_toc.yaml - path: ./sysboost - - href: ./performance/cpu_optimization/kae/_toc.yaml + path: ./performance/sysboost + - href: + upstream: https://gitee.com/src-openeuler/kae_driver/blob/openEuler-25.09/docs/en/_toc.yaml + path: ./performance/kae_driver - label: System Optimization sections: - href: ./performance/system_optimization/atune/_toc.yaml - label: Application Development sections: - href: ./development/application_dev/_toc.yaml - - href: ./development/gcc/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/compiler-docs/blob/master/docs/en/gcc/_toc.yaml + path: ./development/gcc - label: High Availability sections: - - href: ./high_availability/ha/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/Ha-docs/blob/master/docs/en/_toc.yaml + path: ./ha - label: Diversified Computing sections: - href: upstream: https://gitee.com/openeuler/dpu-utilities/blob/master/docs/en/dpu_offload/_toc.yaml - path: ./dpu_offload + path: ./diversified_computing/dpu_offload - href: upstream: https://gitee.com/openeuler/dpu-utilities/blob/master/docs/en/dpu_os/_toc.yaml - path: ./dpu_os \ No newline at end of file + path: ./diversified_computing/dpu_os \ No newline at end of file diff --git a/docs/en/server/development/gcc/_toc.yaml b/docs/en/server/development/gcc/_toc.yaml deleted file mode 100644 index 3032f5308d409f73a4954983ca846d2a88aacd45..0000000000000000000000000000000000000000 --- a/docs/en/server/development/gcc/_toc.yaml +++ /dev/null @@ -1,15 +0,0 @@ -label: GCC User Guide -isManual: true -href: ./overview.md -description: GCC for openEuler builds upon the open source GCC, with a primary focus on optimizing C, C++, and Fortran languages. -sections: - - label: Kernel FDO User Guide - href: ./kernel_fdo_user_guide.md - - label: LTO User Guide - href: ./lto_user_guide.md - - label: GCC Basic Performance Optimization User Guide - href: ./gcc_basic_performance_optimization_user_guide.md - - label: Alternative GCC 14 User Guide - href: ./gcc_14_secondary_version_compilation_toolchain_user_guide.md - - label: PIN User Guide - href: ./pin_user_guide.md diff --git a/docs/en/server/development/gcc/gcc_14_secondary_version_compilation_toolchain_user_guide.md b/docs/en/server/development/gcc/gcc_14_secondary_version_compilation_toolchain_user_guide.md deleted file mode 100644 index 947bcbc6aed1624cdfb75fbdf15619b051fc230e..0000000000000000000000000000000000000000 --- a/docs/en/server/development/gcc/gcc_14_secondary_version_compilation_toolchain_user_guide.md +++ /dev/null @@ -1,139 +0,0 @@ -# Background - -## Overview - -OSs prioritize robustness by adopting time-tested, stable software versions rather than the latest releases. This strategy minimizes instability risks from version changes and maintains system stability throughout the LTS cycle. Consequently, openEuler has chosen GCC 12.3.1 as its baseline for the entire 24.03 LTS lifecycle. - -This decision, however, introduces challenges. Many hardware features rely on the foundational GCC toolchain, and using an older GCC version delays the activation of new features in OS releases. Additionally, some users prefer the latest compiler versions to unlock new capabilities, which often deliver performance gains over older versions. - -To enable diverse computational features and cater to varying user needs for hardware support, openEuler 24.09 introduces the openEuler GCC Toolset. This multi-version GCC compilation toolchain, tailored for openEuler, provides a secondary GCC version higher than the system primary version, offering users a more flexible and efficient compilation environment. With the openEuler GCC Toolset 14, users can seamlessly switch between GCC versions to leverage new hardware features and benefit from the latest GCC optimizations. - -## Solution Design - -### Compilation Toolchain Features - -The GCC compilation toolchain, developed and maintained by GNU, is a collection of open source tools designed to translate high-level language code into machine language. Beyond GCC itself, it includes a range of auxiliary tools and libraries, collectively forming a comprehensive compilation environment. - -1. GCC compiler (such as `gcc`, `g++`, and `gfortran`): - - - Role: The GCC compiler is the heart of the toolchain, handling preprocessing and compilation to transform source code into assembly or intermediate representation. For C++ code, `g++` acts as the C++ frontend, performing compilation and automatically linking C++ standard libraries. - -2. Binutils toolset: - - - Tools: including the linker (`ld`), assembler (`as`), object file viewer (`readelf`), symbol viewer (`nm`), object file format converter (`objcopy`), disassembler (`objdump`), and size viewer (`size`) - - Role: These tools support the compilation process by converting assembly to machine code, linking object files into executables, and inspecting file details. - -3. glibc library: - - - Role: The GNU C Library (glibc) is the standard C library for GNU and Linux systems, providing essential functions like `printf` and `malloc` required for compiling C programs. - -4. Other auxiliary tools: - - - Debugger (`gdb`): assists developers in debugging executables to identify and fix errors. - - Performance Analysis Tool (`gprof`): helps analyze and optimize program performance. - -### Toolchain Selection - -The software components in the toolchain significantly influence compilation results, with GCC, binutils, and glibc being the core elements. Since glibc, the C standard library, is tightly coupled with the OS kernel version, it remains unchanged. This toolchain includes only GCC and binutils to fulfill the needs of secondary version compilation. - -The latest GCC release, gcc-14.2.0, is selected for the openEuler GCC toolset. For binutils, while openEuler 24.09 defaults to version 2.41, the latest GCC 14 recommends binutils-2.42. Thus, binutils-2.42 is chosen for this toolchain. - -The openEuler GCC toolset incorporates gcc-14.2.0 and binutils-2.42 as the secondary version toolchain to ensure compilation environment stability and efficiency while minimizing complexity. This approach balances compilation quality and user experience. The toolchain GCC version will be updated to gcc-14.3.0 upon its release by the upstream community. - -### Architecture Design - -To differentiate from the default toolchain and prevent conflicts, this toolchain is named gcc-toolset-14. Its package names begin with the prefix `gcc-toolset-14-`, followed by the original toolchain package name. To avoid path overlap with the default **/usr** installation path, gcc-toolset-14 is installed in **/opt/openEuler/gcc-toolset-14/**. Additionally, to distinguish it from open source GCC and enable future integration of openEuler community features, the version of gcc-toolset-14-gcc is set to 14.2.1. - -The applications and libraries in gcc-toolset-14 coexist with the system default GCC version without replacing or overwriting it. They are not set as the default or preferred option. To simplify version switching and management, the scl-utils tool is introduced. Its usage and switching methods are outlined below. - -## Installation and Deployment - -### Software Requirements - -- OS: openEuler 24.09 - -### Hardware Requirements - -- AArch64 or X86_64 - -### Installation Methods - -Install the default GCC compiler, gcc-12.3.1, in **/usr**: - -```shell -yum install -y gcc gcc-c++ -``` - -Install the secondary version compilation toolchain, gcc-toolset-14, in **/opt/openEuler/gcc-toolset-14/root/usr/**: - -```shell -yum install -y gcc-toolset-14-gcc* -yum install -y gcc-toolset-14-binutils* -``` - -## Usage - -This solution uses the SCL (Software Collections) tool to manage different versions of the compilation toolchain. - -### SCL - -SCL is a vital Linux tool that enables users to install and use multiple versions of applications and runtime environments safely and conveniently, preventing system conflicts. - -Key benefits of SCL include: - -1. Multi-version coexistence: allows installing and using multiple versions of software libraries, tools, and runtime environments on the same system to meet diverse needs. -2. Avoiding system conflicts: isolates different software versions to prevent conflicts with the system default version. -3. Enhancing development efficiency: provides developers with the latest toolchains and runtime environments, improving productivity. - -### Version Switching Methods - -**Install SCL:** - -```shell -yum install scl-utils scl-utils-build -``` - -**Register gcc-toolset-14:** - -```shell -## Register gcc-toolset-14. -scl register /opt/openEuler/gcc-toolset-14/ - -## Deregister gcc-toolset-14. -scl deregister gcc-toolset-14 -``` - -Use `scl list-collections` to verify that gcc-toolset-14 is successfully registered. - -**Switch to gcc-toolset-14:** - -```shell -scl enable gcc-toolset-14 bash -``` - -This command launches a new bash shell session with tools from gcc-toolset-14, replacing the system defaults. In this session, there is no need to manually switch compiler versions or paths. To exit the gcc-toolset-14 environment, type `exit` to return to the system default version. - -SCL works by automatically setting environment variables for different tool versions. For details, check the **/opt/openEuler/gcc-toolset-14/enable** file, which contains all environment variable configurations for gcc-toolset-14. If SCL is unavailable, use the following methods to switch toolchain versions: - -```shell -## Option 1: Without SCL, use a script to switch the compilation toolchain. -source /opt/openEuler/gcc-toolset-14/enable - -## Option 2: With SCL, use SCL to switch the toolchain and activate the runtime environment. -scl enable gcc-toolset-14 bash -``` - -## Usage Constraints - -### Compilation Scenarios - -- **Primary version**: Use the system default gcc-12.3.1 for standard compilation and building. -- **Secondary version**: When the advanced features of GCC 14 are needed for application building, use SCL to switch the bash environment to the gcc-toolset-14 compilation environment. - -### GCC 14 Secondary Version Usage Instructions - -1. The openEuler GCC toolset 14 secondary compilation toolchain offers two usage methods: - 1) **Dynamic linking**: By default, the `-lstdc++` option is automatically included for dynamic linking. This links the system dynamic library **/usr/lib64/libstdc++.so.6** and the **libstdc++_nonshared.a** static library provided by the GCC 14 secondary version. This static library contains stable C++ features introduced in GCC 14 compared to GCC 12. - 2) **Static linking**: You can use the `-static` option for static linking, which links the full-feature **libstdc++.a** static library provided by the GCC 14 secondary version. The path to this library is **/opt/openEuler/gcc-toolset-14/root/usr/lib/gcc/aarch64-openEuler-linux/14/libstdc++.a**. - -2. By default, builds use dynamic linking, which links the **libstdc++_nonshared.a** static library. To ensure system compatibility, this library only includes officially standardized C++ features. Experimental features like `-fmodules-ts` and `-fmodule-header`, which are part of C++20 module capabilities, are not included in **libstdc++_nonshared.a**. If you need these features, you should use static linking to fully link the GCC 14 secondary version static library. diff --git a/docs/en/server/development/gcc/gcc_basic_performance_optimization_user_guide.md b/docs/en/server/development/gcc/gcc_basic_performance_optimization_user_guide.md deleted file mode 100644 index e65f3458ee487eb261d7f254db1aeac3b8cb4946..0000000000000000000000000000000000000000 --- a/docs/en/server/development/gcc/gcc_basic_performance_optimization_user_guide.md +++ /dev/null @@ -1,185 +0,0 @@ -# GCC Basic Performance Optimization User Guide - -## Introduction - -Compiler performance optimization plays a vital role in enhancing application development efficiency, runtime performance, and maintainability. It is a significant research area in computer science and a critical component of the software development process. GCC for openEuler extends its general compilation optimization capabilities by improving backend performance techniques, including instruction optimization, vectorization enhancements, prefetching improvements, and data flow analysis optimizations. - -## Installation and Deployment - -### Software Requirements - -OS: openEuler 24.09 - -### Hardware Requirements - -AArch64 architecture - -### Software Installation - -Install GCC and related components as required. For example, to install GCC: - -```shell -yum install gcc -``` - -## Usage - -### CRC Optimization - -#### Description - -Detects CRC software loop code and generates efficient hardware instructions. - -#### Usage - -Include the `-floop-crc` option during compilation. - -Note: The `-floop-crc` option must be used alongside `-O3 -march=armv8.1-a`. - -### If-Conversion Enhancement - -#### Description - -Improves If-Conversion optimization by leveraging additional registers to minimize conflicts. - -#### Usage - -This optimization is part of the RTL if-conversion process. Enable it using the following compilation options: - -`-fifcvt-allow-complicated-cmps` - -`--param=ifcvt-allow-register-renaming=[0,1,2]` (The value controls the optimization scope.) - -Note: This optimization requires the `-O2` optimization level and should be used with `--param=max-rtl-if-conversion-unpredictable-cost=48` and `--param=max-rtl-if-conversion-predictable-cost=48`. - -### Multiplication Calculation Optimization - -#### Description - -Optimizes Arm-related instruction merging to recognize 32-bit complex combinations of 64-bit integer multiplication logic and produce efficient 64-bit instructions. - -#### Usage - -Enable the optimization using the `-fuaddsub-overflow-match-all` and `-fif-conversion-gimple` options. - -Note: This optimization requires `-O3` or higher optimization levels. - -### cmlt Instruction Generation Optimization - -#### Description - -Generates `cmlt` instructions for specific arithmetic operations, reducing the instruction count. - -#### Usage - -Enable the optimization using the `-mcmlt-arith` option. - -Note: This optimization requires `-O3` or higher optimization levels. - -### Vectorization Optimization Enhancement - -#### Description - -Identifies and simplifies redundant instructions generated during vectorization, enabling shorter loops to undergo vectorization. - -#### Usage - -Enable the optimization using the parameter `--param=vect-alias-flexible-segment-len=1` (default is 0). - -Note: This optimization requires `-O3` or higher optimization levels. - -### Combined Optimization of min max and uzp1/uzp2 Instructions - -#### Description - -Identifies opportunities to optimize `min max` and `uzp1/uzp2` instructions together, reducing the instruction count to enhance performance. - -#### Usage - -Enable `min max` optimization with the `-fconvert-minmax` option. The `uzp1/uzp2` instruction optimization is automatically enabled at `-O3` or higher levels. - -Note: This optimization requires `-O3` or higher optimization levels. - -### ldp/stp Optimization - -#### Description - -Detects poorly performing `ldp/stp` instructions and splits them into two separate `ldr` and `str` instructions. - -#### Usage - -Enable the optimization using the `-fsplit-ldp-stp` option. Control the search range with the parameter `--param=param-ldp-dependency-search-range=[1,32]` (default is 16). - -Note: This optimization requires `-O1` or higher optimization levels. - -### AES Instruction Optimization - -#### Description - -Identifies AES software algorithm instruction sequences and replaces them with hardware instructions for acceleration. - -#### Usage - -Enable the optimization using the `-fcrypto-accel-aes` option. - -Note: This optimization requires `-O3` or higher optimization levels. - -### Indirect Call Optimization - -#### Description - -Analyzes and optimizes indirect calls in the program, converting them into direct calls where possible. - -#### Usage - -Enable the optimization using the `-ficp -ficp-speculatively` options. - -Note: This optimization must be used with `-O2 -flto -flto-partition=one`. - -### IPA-prefetch - -#### Description - -Detects indirect memory accesses in loops and inserts prefetch instructions to minimize latency. - -#### Usage - -Enable the optimization using the `-fipa-prefetch -fipa-ic` options. - -Note: This optimization must be used with `-O3 -flto`. - -### -fipa-struct-reorg - -#### Description - -Optimizes memory layout by reorganizing the arrangement of structure members to improve cache hit rates. - -#### Usage - -Add the options `-O3 -flto -flto-partition=one -fipa-struct-reorg` to enable the optimization. - -Note: The `-fipa-struct-reorg` option requires `-O3 -flto -flto-partition=one` to be enabled globally. - -### -fipa-reorder-fields - -#### Description - -Optimizes memory layout by reordering structure members from largest to smallest, reducing padding and improving cache hit rates. - -#### Usage - -Add the options `-O3 -flto -flto-partition=one -fipa-reorder-fields` to enable the optimization. - -Note: The `-fipa-reorder-fields` option requires `-O3 -flto -flto-partition=one` to be enabled globally. - -### -ftree-slp-transpose-vectorize - -#### Description - -Enhances data flow analysis for loops with consecutive memory reads by inserting temporary arrays during loop splitting. During SLP vectorization, it introduces transposition analysis for `grouped_stores`. - -#### Usage - -Add the options `-O3 -ftree-slp-transpose-vectorize` to enable the optimization. - -Note: The `-ftree-slp-transpose-vectorize` option requires `-O3` to be enabled. diff --git a/docs/en/server/development/gcc/kernel_fdo_user_guide.md b/docs/en/server/development/gcc/kernel_fdo_user_guide.md deleted file mode 100644 index 02c9ec2b151b0e06e05168bd6de78374be9acfd8..0000000000000000000000000000000000000000 --- a/docs/en/server/development/gcc/kernel_fdo_user_guide.md +++ /dev/null @@ -1,69 +0,0 @@ -# Kernel FDO User Guide - -## Overview - -The feedback-directed optimization (FDO) of the kernel allows users to build optimized kernels for different applications to improve the application performance in single-application scenarios. In addition, FDO is integrated GCC for openEuler, and A-FOT provides automatic optimization, enabling users to easily enable FDO. - -## Installation and Deployment - -### Software Requirements - -* OS: openEuler 23.09 - -### Hardware Requirements - -* Architecture: AArch64 or x86_64 - -### Software Installation - -#### Downloading the Kernel Source Code - -Download the kernel source code, A-FOT, and dependency packages. - -```shell -yum install -y kernel-source A-FOT make gcc flex bison elfutils-libelf-devel diffutils openssl-devel dwarves -``` - -Copy the kernel source code. - -```shell -cp -r /usr/src/linux-6.4.0-8.0.0.16.oe2309.aarch64 . -``` - -**Note: Change the version number as required.** - -## Usage - -You can use A-FOT to enable kernel FDO and obtain the optimized kernel by specifying **opt_mode** as **Auto_kernel_PGO**. Other configuration items can be specified on the CLI, for example, `./a-fot --pgo_phase 1`. `-s` and `-n` options can be specified on CLI only. Options related to kernel FDO are as follows. - -| No.| Option (Configuration File)| Description | Default Value | -| ---- | -------------------- | ------------------------------------------------------------ | ------------------------ | -| 1 | config_file | Path of the configuration file. User configurations are read from this file. | ${afot_path}/a-fot.ini | -| 2 | opt_mode | Optimization mode to be executed by the tool. The value can be **AutoFDO**, **AutoPrefetch**, **AutoBOLT**, or **Auto_kernel_PGO**.| AutoPrefetch | -| 3 | pgo_mode | Kernel FDO mode, which can be **arc** (GCOV, using only the arc profile) or **all** (full PGO, using the arc and value profiles). | all | -| 4 | pgo_phase | FDO execution phase. The value can be **1** (kernel instrumentation phase) or **2** (data collection and kernel optimization phase). | 1 | -| 5 | kernel_src | Kernel source code directory. If this option is not specified, the tool automatically downloads the source code. | None (optional) | -| 6 | kernel_name | File name of the kernel build. The tool will add the **-pgoing** or **-pgoed** suffix depending on the phase. | kernel | -| 7 | work_path | Script working directory, which is used to store log files, wrappers, and profiles. | **/opt** (**/tmp** cannot be used.)| -| 8 | run_script | Application execution script. The user needs to write the script, which will be used by the tool to execute the target application.| /root/run.sh | -| 9 | gcc_path | GCC path. | /usr | -| 10 | -s | Silent mode. The tool automatically reboots and switches the kernel to execute the second phase. | None | -| 11 | -n | The tool is not used to compile the kernel. This option applies to the scenario where the execution environment and kernel compilation environment are different. | None | - -After configuring the compilation options, run the following command to use A-FOT to automatically optimize the kernel: - -```shell -a-fot --config_file ./a-fot.ini -s -``` - -**Note: The `-s` option instructs A-FOT to automatically reboot into the compiled kernel. If you do not want the tool to automatically perform this sensitive operation, omit this option. However, you need to manually reboot and perform the second phase (`--pgo_phase 2`).** - -**Note: All paths must be absolute paths.** - -**Note: The kernel of openEuler 23.09 does not support full PGO. Change the value of pgo_mode to arc.** - -## Compatibility - -This section describes the compatibility issues in some special scenarios. This project is in continuous iteration and issues will be fixed as soon as possible. Developers are welcome to join this project. - -* The kernel of openEuler 23.09 does not support full PGO. Change the value of pgo_mode to arc. diff --git a/docs/en/server/development/gcc/lto_user_guide.md b/docs/en/server/development/gcc/lto_user_guide.md deleted file mode 100644 index cd188c1ca5f8c0e3c025f8b6b0562048ed0e926a..0000000000000000000000000000000000000000 --- a/docs/en/server/development/gcc/lto_user_guide.md +++ /dev/null @@ -1,25 +0,0 @@ -# Introduction to Link-Time Optimization - -In traditional compilation, GCC compiles and optimizes individual source files (compilation units) to generate .o object files containing assembly code. The linker then processes these `.o` files, resolving symbol tables and performing relocations to create the final executable. However, the linker, which has access to cross-file function call information, operates on assembly code and cannot perform compilation optimizations. Conversely, the compilation stage capable of optimizations lacks global cross-file information. While this approach improves efficiency by recompiling only modified units, it misses many cross-file optimization opportunities. - -Link-Time Optimization (LTO) addresses this limitation by enabling optimizations during the linking phase, leveraging cross-compilation-unit call information. To achieve this, LTO preserves the Intermediate Representation (IR) required for optimizations until linking. During linking, the linker invokes the LTO plugin to perform whole-program analysis, make better optimization decisions, and generate more efficient IR. This optimized IR is then converted into object files with assembly code, and the linker completes the standard linking process. - -# Enabling LTO in Version Builds - -## Background - -Many international communities have adopted LTO in their version builds to achieve better performance and smaller binary sizes. LTO is emerging as a key area for exploring compilation optimization opportunities. Starting with version 24.09, openEuler will introduce LTO in its version builds. - -## Solution - -To enable LTO during package builds, we will add `-flto -ffat-lto-objects` to the global compilation options in the macros of **openEuler-rpm-config**. The `-flto` flag enables Link-Time Optimization, while `-ffat-lto-objects` generates fat object files containing both LTO object information and the assembly information required for regular linking. During the build process, LTO object information is used for optimizations. However, since LTO object files are not compatible across GCC versions, we remove the LTO-related fields from `.o/.a` files before packaging them into `.rpm` files, retaining only the assembly code needed for regular linking. This ensures that static libraries remain unaffected. - -## Scope of Enablement - -Due to the significant differences between LTO and traditional compilation workflows, and to minimize the impact on version quality, LTO is currently enabled for only 500+ packages. The list of these packages is available in **/usr/lib/rpm/%{_vendor}/lto_white_list**. These whitelisted applications have been successfully built and passed their test suites with LTO enabled. The LTO compilation options (`-flto -ffat-lto-objects`) are applied only when building whitelisted applications; otherwise, they are omitted. - -In future innovation releases, we will work with application maintainers to expand the scope of LTO enablement. - -## Notes - -The current hot-patching mechanism is incompatible with LTO, causing hot patches to fail when LTO is enabled. We have agreed with the hot-patching team on a solution, which will be implemented in future releases. diff --git a/docs/en/server/development/gcc/overview.md b/docs/en/server/development/gcc/overview.md deleted file mode 100644 index 9ac7d9b17c68f7897a0675a7116e671dbc94aafe..0000000000000000000000000000000000000000 --- a/docs/en/server/development/gcc/overview.md +++ /dev/null @@ -1,3 +0,0 @@ -# GCC for openEuler User Guide - -The GCC for openEuler compiler is developed based on the open source GNU compiler Collection (GCC). The open source GCC is the de facto standard of cross-platform compilers, and it complies with the GPLv3 license, becoming the most widely used C/C++ compiler on Linux. GCC for openEuler inherits capabilities of the open source GCC. It also has optimizations on C, C++, and Fortran languages and delivers enhanced features such as automatic feedback-directed optimization (FDO), software and hardware collaboration, memory optimization, and automatic vectorization. GCC for openEuler is compatible with a wide range of hardware platforms such as Kunpeng, Phytium, and Loongson, fully unleashing the computing power of these hardware platforms. diff --git a/docs/en/server/development/gcc/pin_user_guide.md b/docs/en/server/development/gcc/pin_user_guide.md deleted file mode 100644 index eaa335aaf8cea0f192bf62a84a3d36b988262b26..0000000000000000000000000000000000000000 --- a/docs/en/server/development/gcc/pin_user_guide.md +++ /dev/null @@ -1,134 +0,0 @@ -# Installation and Deployment - -## Software - -* OS: openEuler 23.03 - -## Hardware - -* x86_64 -* Arm - -## Preparing the Environment - -* Install the openEuler operating system. For details, see the [*openEuler Installation Guide*](../../installation_upgrade/installation/installation.md). - -### Install the dependency - -#### Installing the Software on Which the PIN GCC Client Depends - -```shell -yum install -y grpc -yum install -y grpc-devel -yum install -y grpc-plugins -yum install -y protobuf-devel -yum install -y jsoncpp -yum install -y jsoncpp-devel -yum install -y gcc-plugin-devel -yum install -y llvm-mlir -yum install -y llvm-mlir-devel -yum install -y llvm-devel -``` - -#### Installing the Software on Which the PIN Server Depends - -```shell -yum install -y grpc -yum install -y grpc-devel -yum install -y grpc-plugins -yum install -y protobuf-devel -yum install -y jsoncpp -yum install -y jsoncpp-devel -yum install -y llvm-mlir -yum install -y llvm-mlir-devel -yum install -y llvm-devel -``` - -## Installing PIN - -### rpmbuild - -#### Building the PIN GCC Client - -```shell -git clone https://gitee.com/src-openeuler/pin-gcc-client.git -cd pin-gcc-client -mkdir -p ~/rpmbuild/SOURCES -cp *.path pin-gcc-client.tar.gz ~/rpmbuild/SOURCES -rpmbuild -ba pin-gcc-client.spec -cd ~/rpmbuild/RPMS -rpm -ivh pin-gcc-client.rpm -``` - -#### Building the PIN Server - -```shell -git clone https://gitee.com/src-openeuler/pin-server.git -cd pin-server -mkdir -p ~/rpmbuild/SOURCES -cp *.path pin-server.tar.gz ~/rpmbuild/SOURCES -rpmbuild -ba pin-server.spec -cd ~/rpmbuild/RPMS -rpm -ivh pin-server.rpm -``` - -### Build - -#### Building the PIN GCC Client - -```shell -git clone https://gitee.com/openeuler/pin-gcc-client.git -cd pin-gcc-client -mkdir build -cd build -cmake ../ -DMLIR_DIR=${MLIR_PATH} -DLLVM_DIR=${LLVM_PATH} -make -``` - -#### Building the PIN Server - -```shell -git clone https://gitee.com/openeuler/pin-server.git -cd pin-server -mkdir build -cd build -cmake ../ -DMLIR_DIR=${MLIR_PATH} -DLLVM_DIR=${LLVM_PATH} -make -``` - -# Usage - -You can use `-fplugin` and `-fplugin-arg-libpin_xxx` to enable the Plug-IN (PIN) tool. -Command: - -```shell -$(TARGET): $(OBJS) - $(CXX) -fplugin=${CLIENT_PATH}/build/libpin_gcc_client.so \ - -fplugin-arg-libpin_gcc_client-server_path=${SERVER_PATH}/build/pin_server \ - -fplugin-arg-libpin_gcc_client-log_level="1" \ - -fplugin-arg-libpin_gcc_client-arg1="xxx" -``` - -You can use the `${INSTALL_PATH}/bin/pin-gcc-client.json` file to configure PIN. The configuration options are as follows: - -`path`: path of the executable file of the PIN server. - -`sha256file`: path of the PIN verification file `xxx.sha256`. - -`timeout`: timeout interval for cross-process communication, in milliseconds. - -Compile options: - -`-fplugin`: path of the .so file of the PIN client. - -`-fplugin-arg-libpin_gcc_client-server_path`: path of the executable program of the PIN server. - -`-fplugin-arg-libpin_gcc_client-log_level`: default log level. The value ranges from `0` to `3`. The default value is `1`. - -`-fplugin-arg-libpin_gcc_client-argN`: other parameters that can be specified as required. `argN` indicates the argument required by PIN. - -# Compatibility - -This section describes the compatibility issues in some special scenarios. This project is in continuous iteration and will be fixed as soon as possible. Developers are welcome to join this project. - -* When PIN is enabled in the `-flto` phase, multi-process compilation using `make -j` is not supported. You are advised to use `make -j1` for compilation. diff --git a/docs/en/server/high_availability/ha/_toc.yaml b/docs/en/server/high_availability/ha/_toc.yaml deleted file mode 100644 index d1c2dab2e2c329b193e7a29f3e52e07932c2eaf8..0000000000000000000000000000000000000000 --- a/docs/en/server/high_availability/ha/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: HA User Guide -isManual: true -description: HA cluster installation and usage -sections: - - label: HA Installation and Deployment - href: ./ha_installation_and_deployment.md - - label: HA Usage Examples - href: ./ha_usage_examples.md diff --git a/docs/en/server/high_availability/ha/figures/HA-add-resource.png b/docs/en/server/high_availability/ha/figures/HA-add-resource.png deleted file mode 100644 index ac24895a1247828d248132f6c789ad8ef51a57e4..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-add-resource.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-apache-show.png b/docs/en/server/high_availability/ha/figures/HA-apache-show.png deleted file mode 100644 index c216500910f75f2de1108f6b618c5c08f4df8bae..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-apache-show.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-apache-suc.png b/docs/en/server/high_availability/ha/figures/HA-apache-suc.png deleted file mode 100644 index 23a7aaa702e3e68190ff7e01a5a673aee2c92409..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-apache-suc.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-api.png b/docs/en/server/high_availability/ha/figures/HA-api.png deleted file mode 100644 index f825fe005705d30809d12df97958cff0e5a80135..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-api.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-clone-suc.png b/docs/en/server/high_availability/ha/figures/HA-clone-suc.png deleted file mode 100644 index 4b6099ccc88d4f6f907a0c4563e729ab2a4dece1..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-clone-suc.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-clone.png b/docs/en/server/high_availability/ha/figures/HA-clone.png deleted file mode 100644 index 1b09ab73849494f4ffd759fa612ae3c241bd9c1d..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-clone.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-corosync.png b/docs/en/server/high_availability/ha/figures/HA-corosync.png deleted file mode 100644 index c4d93242e65c503b6e1b6a457e2517f647984a66..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-corosync.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-firstchoice-cmd.png b/docs/en/server/high_availability/ha/figures/HA-firstchoice-cmd.png deleted file mode 100644 index a265bab07f1d8e46d9d965975be180a8de6c9eb2..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-firstchoice-cmd.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-firstchoice.png b/docs/en/server/high_availability/ha/figures/HA-firstchoice.png deleted file mode 100644 index bd982ddcea55c629c0257fca86051a9ffa77e7b4..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-firstchoice.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-group-new-suc.png b/docs/en/server/high_availability/ha/figures/HA-group-new-suc.png deleted file mode 100644 index 437fd01ee83a9a1f65c12838fe56eea8435f6759..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-group-new-suc.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-group-new-suc2.png b/docs/en/server/high_availability/ha/figures/HA-group-new-suc2.png deleted file mode 100644 index 4fb933bd761f9808de95a324a50226ff041ebd4f..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-group-new-suc2.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-group-new.png b/docs/en/server/high_availability/ha/figures/HA-group-new.png deleted file mode 100644 index 9c914d0cc2e14f3220fc4346175961f129efb37b..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-group-new.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-group-suc.png b/docs/en/server/high_availability/ha/figures/HA-group-suc.png deleted file mode 100644 index 2338580343833ebab08627be3a2efbcdb48aef9e..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-group-suc.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-group.png b/docs/en/server/high_availability/ha/figures/HA-group.png deleted file mode 100644 index 6897817665dee90c0f8c47c6a3cb4bb09db52d78..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-group.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-home-page.png b/docs/en/server/high_availability/ha/figures/HA-home-page.png deleted file mode 100644 index c9a7a82dc412250d4c0984b3876c6f93c6aca789..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-home-page.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-login.png b/docs/en/server/high_availability/ha/figures/HA-login.png deleted file mode 100644 index 65d0ae11ec810da7574ec72bebf6e1b020c94a0d..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-login.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-mariadb-suc.png b/docs/en/server/high_availability/ha/figures/HA-mariadb-suc.png deleted file mode 100644 index 6f6756c945121715edc623bd9a848bc48ffeb4ca..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-mariadb-suc.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-mariadb.png b/docs/en/server/high_availability/ha/figures/HA-mariadb.png deleted file mode 100644 index d29587c8609b9d6aefeb07170901361b5ef8402d..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-mariadb.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-nfs-suc.png b/docs/en/server/high_availability/ha/figures/HA-nfs-suc.png deleted file mode 100644 index c0ea6af79e91649f1ad7d97ab6c2a0069a4f4fb8..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-nfs-suc.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-nfs.png b/docs/en/server/high_availability/ha/figures/HA-nfs.png deleted file mode 100644 index f6917938eec2e0431a9891c067475dd0b21c1bd9..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-nfs.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-pacemaker.png b/docs/en/server/high_availability/ha/figures/HA-pacemaker.png deleted file mode 100644 index 7681f963f67d2b803fef6fb2c3247384136201f8..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-pacemaker.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-pcs-status.png b/docs/en/server/high_availability/ha/figures/HA-pcs-status.png deleted file mode 100644 index fb150fba9f6258658702b35caacf98076d1fd109..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-pcs-status.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-pcs.png b/docs/en/server/high_availability/ha/figures/HA-pcs.png deleted file mode 100644 index 283670d7c3d0961ee1cb41345c2b2a013d7143b0..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-pcs.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-refresh.png b/docs/en/server/high_availability/ha/figures/HA-refresh.png deleted file mode 100644 index c2678c0c2945acbabfbeae0d5de8924a216bbf31..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-refresh.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-vip-suc.png b/docs/en/server/high_availability/ha/figures/HA-vip-suc.png deleted file mode 100644 index 313ce56e14f931c78dad4349ed57ab3fd7907f50..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-vip-suc.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/figures/HA-vip.png b/docs/en/server/high_availability/ha/figures/HA-vip.png deleted file mode 100644 index d8b417df2e64527d3b29d0289756dfbb01bf66ec..0000000000000000000000000000000000000000 Binary files a/docs/en/server/high_availability/ha/figures/HA-vip.png and /dev/null differ diff --git a/docs/en/server/high_availability/ha/ha_installation_and_deployment.md b/docs/en/server/high_availability/ha/ha_installation_and_deployment.md deleted file mode 100644 index 8f3f4a6fe609c16f0fd629280cde0682fa023db7..0000000000000000000000000000000000000000 --- a/docs/en/server/high_availability/ha/ha_installation_and_deployment.md +++ /dev/null @@ -1,199 +0,0 @@ -# HA Installation and Deployment - -This document describes how to install and deploy an HA cluster. - -## Installation and Deployment - -- Prepare the environment: At least two physical machines or VMs with openEuler installed are required. (This section uses two physical machines or VMs as an example.) For details about how to install openEuler 21.03, see the [_openEuler Installation Guide_](../../installation_upgrade/installation/installation.md). - -### Modifying the Host Name and the /etc/hosts File - -- **Note: You need to perform the following operations on both hosts. The following takes one host as an example. IP addresses in this document are for reference only.** - -Before using the HA software, ensure that all host names have been changed and written into the **/etc/hosts** file. - -- Run the following command to change the host name: - -```shell -hostnamectl set-hostname ha1 -``` - -- Edit the **/etc/hosts** file and write the following fields: - -```text -172.30.30.65 ha1 -172.30.30.66 ha2 -``` - -### Configuring the Yum Repository - -After the system is successfully installed, the Yum source is configured by default. The file location is stored in the **/etc/yum.repos.d/openEuler.repo** file. The HA software package uses the following sources: - -```text -[OS] -name=OS -baseurl=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/ -enabled=1 -gpgcheck=1 -gpgkey=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler - -[everything] -name=everything -baseurl=http://repo.openeuler.org/openEuler-23.09/everything/$basearch/ -enabled=1 -gpgcheck=1 -gpgkey=http://repo.openeuler.org/openEuler-23.09/everything/$basearch/RPM-GPG-KEY-openEuler - -[EPOL] -name=EPOL -baseurl=http://repo.openeuler.org/openEuler-23.09/EPOL/$basearch/ -enabled=1 -gpgcheck=1 -gpgkey=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler -``` - -### Installing the HA Software Package Components - -```shell -yum install -y corosync pacemaker pcs fence-agents fence-virt corosync-qdevice sbd drbd drbd-utils -``` - -### Setting the hacluster User Password - -```shell -passwd hacluster -``` - -### Modifying the /etc/corosync/corosync.conf File - -```text -totem { - version: 2 - cluster_name: hacluster - crypto_cipher: none - crypto_hash: none -} -logging { - fileline: off - to_stderr: yes - to_logfile: yes - logfile: /var/log/cluster/corosync.log - to_syslog: yes - debug: on - logger_subsys { - subsys: QUORUM - debug: on - } -} -quorum { - provider: corosync_votequorum - expected_votes: 2 - two_node: 1 - } -nodelist { - node { - name: ha1 - nodeid: 1 - ring0_addr: 172.30.30.65 - } - node { - name: ha2 - nodeid: 2 - ring0_addr: 172.30.30.66 - } - } -``` - -### Managing the Services - -#### Disabling the firewall - -1. Stop the firewall. - - ```shell - systemctl stop firewalld - ``` - -2. Change the status of SELINUX in the **/etc/selinux/config** file to disabled. - - ```text - # SELINUX=disabled - ``` - -#### Managing the pcs service - -1. Start the pcs service. - - ```shell - systemctl start pcsd - ``` - -2. Query the pcs service status. - - ```shell - systemctl status pcsd - ``` - - The service is started successfully if the following information is displayed: - - ![](./figures/HA-pcs.png) - -#### Managing the Pacemaker service - -1. Start the Pacemaker service. - - ```shell - systemctl start pacemaker - ``` - -2. Query the Pacemaker service status. - - ```shell - systemctl status pacemaker - ``` - - The service is started successfully if the following information is displayed: - - ![](./figures/HA-pacemaker.png) - -#### Managing the Corosync service - -1. Start the Corosync service. - - ```shell - systemctl start corosync - ``` - -2. Query the Corosync service status. - - ```shell - systemctl status corosync - ``` - - The service is started successfully if the following information is displayed: - - ![](./figures/HA-corosync.png) - -### Performing Node Authentication - -- **Note: Run this command on any node.** - -```shell -pcs host auth ha1 ha2 -``` - -### Accessing the Front-End Management Platform - -After the preceding services are started, open the browser (Chrome or Firefox is recommended) and enter `https://localhost:2224` in the navigation bar. - -- This page is the native management platform. - -![](./figures/HA-login.png) - -For details about how to install the management platform newly developed by the community, see . - -- The following is the management platform newly developed by the community. - -![](./figures/HA-api.png) - -- For how to quickly use an HA cluster and add an instance, see the [HA Usage Example](./ha-usage-examples.md/). diff --git a/docs/en/server/high_availability/ha/ha_usage_examples.md b/docs/en/server/high_availability/ha/ha_usage_examples.md deleted file mode 100644 index b63bf284880954a98fa76a1b138b9ffed717c65b..0000000000000000000000000000000000000000 --- a/docs/en/server/high_availability/ha/ha_usage_examples.md +++ /dev/null @@ -1,248 +0,0 @@ -# HA Usage Examples - -This section describes how to get started with the HA cluster and add an instance. If you are not familiar with HA cluster installation, see [HA Installation and Deployment](./ha_installation_and_deployment.md). - -## Quick Start Guide - -The following operations use the management platform newly developed by the community as an example. - -### Login Page - -The user name is `hacluster`, and the password is the one set on the host by the user. - -![](./figures/HA-api.png) - -### Home page - -After logging in to the system, the main page is displayed. The main page consists of the side navigation bar, the top operation area, the resource node list area, and the node operation floating area. - -The following describes the features and usage of the four areas in detail. - -![](./figures/HA-home-page.png) - -#### Navigation bar - -The side navigation bar consists of two parts: the name and logo of the HA cluster software, and the system navigation. The system navigation consists of three parts: **System**, **Cluster Configurations**, and **Tools**. **System** is the default option and the corresponding item to the home page. It displays the information and operation entries of all resources in the system. **Preference Settings** and **Heartbeat Configurations** are set under **Cluster Configurations**. **Log Download** and **Quick Cluster Operation** are set under **Tools**. These two items are displayed in a pop-up box after you click them. - -#### Top Operation Area - -The current login user is displayed statically. When you hover the mouse cursor on the user icon, the operation menu items are displayed, including **Refresh Settings** and **Log Out**. After you click **Refresh Settings**, the **Refresh Settings** dialog box is displayed with the **Refresh Settings** option. You can set the automatic refresh modes for the system, the options are **Do not refresh automatically**, **Refresh every 5 seconds**, and **Refresh every 10 seconds**. By default, **Do not refresh automatically** is selected. Click **Log Out** to log out and jump to the login page. After that, a re-login is required if you want to continue to access the system. - -![](./figures/HA-refresh.png) - -#### Resource Node List Area - -The resource node list displays the resource information such as **Resource Name**, **Status**, **Resource Type**, **Service**, and **Running Node** of all resources in the system, and the node information such as all nodes in the system and the running status of the nodes. In addition, you can **Add**, **Edit**, **Start**, **Stop**, **Clear**, **Migrate**, **Migrate Back**, **Delete**, and **Associate** the resources. - -#### Node Operation Floating Area - -By default, the node operation floating area is collapsed. When you click a node in the heading of the resource node list, the node operation area is displayed on the right, as shown in the preceding figure. This area consists of the collapse button, the node name, the stop button, and the standby button, and provides the stop and standby operations. Click the arrow in the upper left corner of the area to collapse the area. - -### Preference Settings - -The following operations can be performed using command lines. The following is a simple example. For more command details, run the `pcs --help` command. - -- Through the CLI - - ```shell - # pcs property set stonith-enabled=false - # pcs property set no-quorum-policy=ignore - ``` - - Run the following command to view all configurations: - - ```shell - pcs property - ``` - - ![](./figures/HA-firstchoice-cmd.png) - -- Through the GUI - Clicking **Preference Settings** in the navigation bar, the **Preference Settings** dialog box is displayed. Change the values of **No Quorum Policy** and **Stonith Enabled** from the default values to the values shown in the following figure. Then, click OK. - - ![](./figures/HA-firstchoice.png) - -### Add Resource - -#### Adding Common Resources - -1. Click **Add Common Resource**. The **Create Resource** dialog box is displayed. - All mandatory configuration items of a resource are displayed on the **Basic** page. After you select a resource type on the **Basic** page, other mandatory and optional configuration items of the resource are displayed. - -2. Enter the resource configuration information. - A gray text area is displayed on the right of the dialog box to describe the current configuration item. After all mandatory parameters are set, click **OK** to create a common resource or click **Cancel** to cancel the add operation. - The optional configuration items on the **Instance Attribute**, **Meta Attribute**, or **Operation Attribute** page are optional. If they are not configured, the resource creation process is not affected. You can modify them as required. Otherwise, the default values are used. - -The following uses Apache as an example to describe how to add resources through the CLI and GUI. - -- Through the CLI - - ```shell - # pcs resource create httpd ocf:heartbeat:apache - ``` - - Check the resource running status: - - ```shell - # pcs status - ``` - - ![](./figures/HA-pcs-status.png) - -- Through the GUI - -1. Enter the resource name and resource type, as shown in the following figure. - - ![](./figures/HA-add-resource.png) - -2. If the following information is displayed, the resource is successfully added and started, and runs on a node, for example, ha1. - - ![](./figures/HA-apache-suc.png) -3. Access the Apache page. - - ![](./figures/HA-apache-show.png) - -#### Adding Group Resources - ->**Note:** -> Adding group resources requires at least one common resource in the cluster. - -1. Click **Add Group Resource**. The **Create Resource** dialog box is displayed. - All the parameters on the **Basic** tab page are mandatory. After setting the parameters, click **OK** to add the resource or click **Cancel** to cancel the add operation. - - ![](./figures/HA-group.png) - - > **Notes:** - > Group resources are started in the sequence of child resources. Therefore, you need to select child resources in sequence. - -2. If the following information is displayed, the resource is added successfully. - - ![](./figures/HA-group-suc.png) - -#### Adding Clone Resources - -1. Click **Add Clone Resource**. The **Create Resource** dialog box is displayed. - On the **Basic** page, enter the object to be cloned. The resource name is automatically generated. After entering the object name, click **OK** to add the resource, or click **Cancel** to cancel the add operation. - - ![](./figures/HA-clone.png) - -2. If the following information is displayed, the resource is added successfully. - - ![](./figures/HA-clone-suc.png) - -### Editing Resources - -- Starting a resource: Select a target resource from the resource node list. The target resource must not be running. Start the resource. -- Stopping a resource: Select a target resource from the resource node list. The target resource must be running. Stop the resource. -- Clearing a resource: Select a target resource from the resource node list. Clear the resource. -- Migrating a resource: Select a target resource from the resource node list. The resource must be a common resource or group resource in the running status. Migrate the resource to migrate it to a specified node. -- Migrating back a resource: Select a target resource from the resource node list. The resource must be a migrated resource. Migrate back the resource to clear the migration settings of the resource and migrate the resource back to the original node. After you click **Migrate Back**, the status change of the resource item in the list is the same as that when the resource is started. -- Deleting a resource: Select a target resource from the resource node list. Delete the resource. - -### Setting Resource Relationships - -Resource relationships are used to set restrictions for the target resources. There are three types resource restrictions: resource location, resource collaboration, and resource order. - -- Resource location: sets the running level of the resource on the nodes in the cluster to determine the node where the resource runs during startup or switchover. The running levels are Master Node and Slave 1 in descending order. -- Resource collaboration: indicates whether the target resource and other resources in the cluster run on the same node. **Same Node** indicates that this node must run on the same node as the target resource. **Mutually Exclusive** indicates that this node cannot run on the same node as the target resource. -- Resource order: Set the order in which the target resource and other resources in the cluster are started. **Front Resource** indicates that this resource must be started before the target resource. **Follow-up Resource** indicates that this resource can be started only after the target resource is started. - -## HA MySQL Configuration Example - -### Configuring the Virtual IP Address - -1. On the home page, choose **Add** > **Add Common Resource**, and set the parameters as follows: - - ![](./figures/HA-vip.png) - -2. The resource is successfully created and started, and runs on a node, for example, ha1. -3. The IP address can be pinged and connected. After login, you can perform various operations normally. Resources can be switched to ha2 and can be accessed normally. See the following figure. - ![](./figures/HA-vip-suc.png) - -### Configuring NFS Storage - -Perform the following steps to configure another host as the NFS server: - -1. Install the software package. - - ```shell - # yum install -y nfs-utils rpcbind - ``` - -2. Disable the firewall. - - ```shell - # systemctl stop firewalld && systemctl disable firewalld - ``` - -3. Modify the /etc/selinux/config file to change the status of SELinux to disabled. - - ```shell - # SELINUX=disabled - ``` - -4. Start services. - - ```shell - # systemctl start rpcbind && systemctl enable rpcbind - # systemctl start nfs-server && systemctl enable nfs-server - ``` - -5. Create a shared directory on the server. - - ```shell - # mkdir -p /test - ``` - -6. Modify the NFS configuration file. - - ```shell - # vim /etc/exports - # /test *(rw,no_root_squash) - ``` - -7. Reload the service. - - ```shell - # systemctl reload nfs - ``` - -8. Install the software package on the client. Install MySQL first and then mount NFS to the MySQL data path. - - ```shell - # yum install -y nfs-utils mariadb-server - ``` - -9. On the home page, choose **Add** > **Add Common Resource** and configure the NFS resource as follows: - - ![](./figures/HA-nfs.png) - -10. The resource is successfully created and started, and runs on a node, for example, ha1. The NFS is mounted to the `/var/lib/mysql` directory. The resource is switched to ha2. The NFS is unmounted from ha1 and automatically mounted to ha2. See the following figure. - - ![](./figures/HA-nfs-suc.png) - -### Configuring MySQL - -1. On the home page, choose **Add** > **Add Common Resource** and configure the MySQL resource as follows: - - ![](./figures/HA-mariadb.png) - -2. If the following information is displayed, the resource is successfully added: - - ![](./figures/HA-mariadb-suc.png) - -### Adding the Preceding Resources as a Group Resource - -1. Add the three resources in the resource startup sequence. - - On the home page, choose **Add** > **Add Group Resource** and configure the group resource as follows: - - ![](./figures/HA-group-new.png) - -2. The group resource is successfully created and started. If the command output is the same as that of the preceding common resources, the group resource is successfully added. - - ![](./figures/HA-group-new-suc.png) - -3. Use ha1 as the standby node and migrate the group resource to the ha2 node. The system is running properly. - - ![](./figures/HA-group-new-suc2.png) diff --git a/docs/en/server/maintenance/aops/_toc.yaml b/docs/en/server/maintenance/aops/_toc.yaml deleted file mode 100644 index c562b1afec22b5186abe9f75ce8592193a5ff8a9..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/_toc.yaml +++ /dev/null @@ -1,21 +0,0 @@ -label: A_Ops User Guide -isManual: true -href: ./overview.md -description: A_Ops enables quick fault identification and centralized configuration management. -sections: - - label: A_Ops Deployment - href: ./deploying_aops.md - - label: A_Ops Intelligent Location Framework User Guide - href: ./aops_intelligent_location_framework_user_guide.md - - label: aops_agent Deployment - href: ./deploying_aops_agent.md - - label: Hot Patch DNF Plugin Command Usage - href: ./dnf_plugin_command_usage.md - - label: Configuration Tracing Service - href: ./gala_ragdoll_user_guide.md - - label: Architecture Awareness Service - href: ./architecture_awareness_service_manual.md - - label: Community Hot Patch Creation and Release Process - href: ./community_hotpatch_creation_and_release_process.md - - label: Automated O&M Service - href: ./automated_om_service_manual.md diff --git a/docs/en/server/maintenance/aops/aops_intelligent_location_framework_user_guide.md b/docs/en/server/maintenance/aops/aops_intelligent_location_framework_user_guide.md deleted file mode 100644 index 8bcc02fe01c053549e4a200b7cbb544cb02fae60..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/aops_intelligent_location_framework_user_guide.md +++ /dev/null @@ -1,182 +0,0 @@ -# AOps 智能定位框架使用手册 - -参照[AOps部署指南](deploying-aops.md)部署AOps前后端服务后,即可使用AOps智能定位框架。 - -下文会从页面的维度进行AOps智能定位框架功能的介绍。 - -## 1. 工作台 - - 该页面为数据看板页面,用户登录后,仍在该页面。 - - ![4911661916984_.pic](./figures/工作台.jpg) - -支持操作: - -- 当前纳管的主机数量 -- 当前所有未确认的告警数量 - -- 每个主机组告警情况的统计 - -- 用户帐户操作 - - - 修改密码 - - 退出登录 -- 业务域和CVE信息暂不支持 - -## 2. 资产管理 - -资产管理分为对主机组进行管理以及对主机进行管理。每个主机在agent侧注册时需指定一个已存在的主机组进行注册,注册完毕后会在前端进行显示。 - -(1)主机组页面: - -![4761661915951_.pic](./figures/主机组.jpg) - -支持如下操作: - -- 主机组添加 -- 主机组删除 -- 查看当前所有主机组 -- 查看每个主机组下的主机信息 - -添加主机组时,需指定主机组的名称和描述。注意:请勿重复名称。 - -![添加主机组](./figures/添加主机组.jpg) - -(2)主机管理页面: - -![主机管理](./figures/主机管理.jpg) - -支持如下操作: - -- 查看主机列表(可根据主机组、管理节点进行筛选,可根据主机名称进行排序) -- 删除主机 -- 点击主机可跳转到主机详情界面 - -(3)主机详细信息界面: - -![主机详情](./figures/主机详情.jpg) - -详情页的上半部分展示了该主机的操作系统及CPU等的基础信息。 - -![插件管理](./figures/插件管理.jpg) - -详情页的下半部分,用户可以看到该主机当前运行的采集插件信息(目前agent只支持gala-gopher插件)。 - -支持如下操作: - -- 查看主机基础信息及插件信息 -- 插件的管理(gala-gopher) - - 插件资源查看 - - 插件的开启和管理 - - gala-gopher的采集探针的开启和关闭 -- 主机场景的识别 - -点击场景识别后,系统会生成该主机的场景,并推荐检测该场景所需开启的插件以及采集项,用户可以根据推荐结果进行插件/探针的调整。 - -注意:修改插件信息如关闭插件或开关探针后,需要点击保存才能生效。 - -![修改插件](./figures/修改插件.png) - -## 3. 智能定位 - -AOps项目的智能定位策略采用内置网络诊断应用作为模板,生成个性化工作流的策略进行检测和诊断。 - -“应用”作为工作流的模板,描述了检测中各步骤的串联情况,内置各步骤中使用的检测模型的推荐逻辑。用户在生成工作流时,可根据各主机的采集项、场景等信息,定制出工作流的详细信息。 - -(1)工作流列表页面: - -![工作流](./figures/工作流.jpg) - -支持操作: - -- 查看当前工作流列表,支持按照主机组、应用和状态进行筛选,并支持分页操作 -- 查看当前应用列表 - -(2)工作流详情页面: - -![工作流详情](./figures/工作流详情.jpg) - -支持操作: - -- 查看工作流所属主机组,主机数量、状态等基础信息 -- 查看单指标检测、多指标检测、集群故障诊断各步骤的详细算法模型信息 -- 修改检测各步骤应用的模型 -- 执行、暂停和删除工作流 - -修改某检测步骤的模型时,用户可根据模型名或标签搜索系统内置的模型库,选中模型后点击应用进行更改。 - -![修改模型](./figures/修改模型.png) - -(3)应用详情页面 - -![app详情](./figures/应用.png) - -支持操作: - -- 查看应用的整体流程 -- 基于应用创建工作流 - -创建工作流时,点击右上角的创建工作流按钮,并在右侧弹出的窗口中输入工作流的名称和描述,选择要检测的主机组。选中主机组后,下方会列出该主机组的所有主机,用户可选中部分主机后移到右侧的列表,最后点击创建,即可在工作流列表中看到新创建的工作流。 - -![app详情](./figures/app详情.jpg) - -![创建工作流](./figures/创建工作流.jpg) - -(4)告警 - -启动工作流后,会根据工作流的执行周期定时触发诊断,每次诊断若结果为异常,则会作为一条告警存入数据库,同时也会反应在前端告警页面中。 - -![告警](./figures/告警.jpg) - -支持操作: - -- 查看当前告警总数 -- 查看各主机组的告警数量 -- 查看告警列表 -- 告警确认 -- 查看告警详情 -- 下载诊断报告 - -告警确认后,将不在列表中显示 - -![告警确认](./figures/告警确认.jpg) - -点击异常详情后,可以根据主机维度查看告警详情,包括异常数据项的展示以及根因节点、根因异常的判断等。 - -![告警详情](./figures/告警详情.jpg) - -## 4. 配置溯源 - -AOps项目的配置溯源用于对目标主机配置文件内容的变动进行检测记录,对于文件配置错误类引发的故障起到很好的支撑作用。 - -### 创建配置域 - -![](./figures/chuangjianyewuyu.png) - -### 添加配置域纳管node - -![](./figures/tianjianode.png) - -### 添加配置域配置 - -![](./figures/xinzengpeizhi.png) - -### 查询预期配置 - -![](./figures/chakanyuqi.png) - -### 删除配置 - -![](./figures/shanchupeizhi.png) - -### 查询实际配置 - -![](./figures/chaxunshijipeizhi.png) - -### 配置校验 - -![](./figures/zhuangtaichaxun.png) - -### 配置同步 - -暂未提供 diff --git a/docs/en/server/maintenance/aops/architecture_awareness_service_manual.md b/docs/en/server/maintenance/aops/architecture_awareness_service_manual.md deleted file mode 100644 index e25037375171e6f5a0901c1425caf2e3ea94cc3a..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/architecture_awareness_service_manual.md +++ /dev/null @@ -1,63 +0,0 @@ -# Architecture Awareness Service Manual - -## Installation - -### Manual Installation - -- Installing using the repo source mounted by Yum. - - Configure the Yum sources **openEuler23.09** and **openEuler23.09:Epol** in the **/etc/yum.repos.d/openEuler.repo** file. - - ```ini - [everything] # openEuler 23.09 officially released repository - name=openEuler23.09 - baseurl=https://repo.openeuler.org/openEuler-23.09/everything/$basearch/ - enabled=1 - gpgcheck=1 - gpgkey=https://repo.openeuler.org/openEuler-23.09/everything/$basearch/RPM-GPG-KEY-openEuler - - [Epol] # openEuler 23.09:Epol officially released repository - name=Epol - baseurl=https://repo.openeuler.org/openEuler-23.09/EPOL/main/$basearch/ - enabled=1 - gpgcheck=1 - gpgkey=https://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler - ``` - - Run the following commands to download and install gala-spider and its dependencies. - - ```shell - # A-Ops architecture awareness service, usually installed on the master node - yum install gala-spider - yum install python3-gala-spider - - # A-Ops architecture awareness probe, usually installed on the master node - yum install gala-gopher - ``` - -- Installing using the RPM packages. Download **gala-spider-vx.x.x-x.oe1.aarch64.rpm**, and then run the following commands to install the modules. (`x.x-x` indicates the version. Replace it with the actual version number.) - - ```shell - rpm -ivh gala-spider-vx.x.x-x.oe1.aarch64.rpm - - rpm -ivh gala-gopher-vx.x.x-x.oe1.aarch64.rpm - ``` - -### Installing Using the A-Ops Deployment Service - -#### Editing the Task List - -Modify the deployment task list and enable the steps for gala_spider: - -```yaml ---- -step_list: - ... - gala_gopher: - enable: false - continue: false - gala_spider: - enable: false - continue: false - ... -``` diff --git a/docs/en/server/maintenance/aops/automated_om_service_manual.md b/docs/en/server/maintenance/aops/automated_om_service_manual.md deleted file mode 100644 index 7277fef3f64a28dbf6f9f035ccba8d1a16e837c9..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/automated_om_service_manual.md +++ /dev/null @@ -1,64 +0,0 @@ -# 自动化运维服务使用手册 - -## 主要功能 - -本服务主要包括批量命令执行和批量脚本执行的功能,两者均支持定时任务。 - -### 命令相关 - -命令页面包含命令管理和命令执行两个页签 - -#### 命令管理 - -命令管理界面可以对命令进行增删查改功能: -![](./image/新建命令.png) -![](./image/命令管理界面.png) - -#### 命令执行 - -命令执行界面可以创建命令执行任务: -![](./image/新建命令任务.png) - -命令执行界面可以对创建的任务进行任务信息查看,任务执行,任务结果查看,删除任务等操作: -![](./image/命令执行.png) -任务结果查看: -![](./image/任务结果查看.png) - -### 脚本相关 - -脚本页面包含脚本管理、脚本执行、操作管理三个页签 - -#### 操作管理 - -为了屏蔽操作系统的架构,系统对脚本执行的影响,抽象出操作的概念。一个操作对应一组包括各类架构和系统的脚本,脚本执行时选择主机和操作后,根据主机的系统和架构选择对应的脚本进行执行。 - -操作管理界面可以对操作进行增删查改功能: - -![](./image/操作管理.png) - -#### 脚本管理 - -脚本管理界面可以对脚本进行上传,查询,删除,编辑功能: -![](./image/脚本管理.png) -创建脚本: -![](./image/创建脚本.png) - -#### 脚本执行 - -脚本执行界面可以创建脚本执行任务,创建脚本任务仅能通过选择操作来选择对应脚本: -![](./image/脚本执行.png) -创建脚本任务: -![](./image/创建脚本任务.png) - -### 定时任务 - -定时任务支持指定时间执行和周期执行功能 -单次执行: -![](./image/单次执行.png) -周期执行: -![](./image/周期执行.png) - -### 文件推送 - -文件推送功能支持将脚本推送至指定目录,此类任务不会执行脚本,且推送任务与定时任务互斥: -![](./image/文件推送.png) diff --git a/docs/en/server/maintenance/aops/community_hotpatch_creation_and_release_process.md b/docs/en/server/maintenance/aops/community_hotpatch_creation_and_release_process.md deleted file mode 100644 index 47a94ff5914049369f052ebafc61dc36a882e311..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/community_hotpatch_creation_and_release_process.md +++ /dev/null @@ -1,264 +0,0 @@ -# 社区热补丁制作发布流程 - -## 制作内核态/用户态热补丁 - -### 场景1. 在src-openEuler/openEuler仓下评论pr制作新版本热补丁 - -> [!NOTE]说明 -> 制作内核态热补丁需在**openEuler/kernel**仓评论pr。 -> 制作用户态热补丁需在src-openEuler仓评论pr,现在支持**src-openEuler/openssl,src-openEuler/glibc,src-openEuler/systemd**。 - -#### 1. 在已合入pr下评论制作热补丁 - -- 从src-openeuler仓【支持openssl, glibc, systemd】评论已合入pr制作新版本热补丁。 - -```shell -/makehotpatch [软件包版本号] [patch list] [cve/bug] [issue id] [os_branch] -``` - -命令说明:使用多个patch用','分隔,需注意patch的先后顺序。 - -![image-20230629114903593](./image/src-openEuler仓评论.png) - -- 从openeuler仓【支持kernel】评论已合入pr制作新版本热补丁。 - -```shell -/makehotpatch [软件包版本号] [cve/bug] [issue id] [os_branch] -``` - -![image-20230629142933917](./image/openEuler仓评论.png) - -评论后,门禁触发hotpatch_metadata仓创建热补丁issue以及同步该pr。 - -#### 2. hotpatch_metadata仓自动创建热补丁issue、同步该pr - -pr评论区提示启动热补丁制作流程。 - -![image-20230629143426498](./image/启动热补丁工程流程.png) - -随后,hotpatch_metadata仓自动创建热补丁issue,并在hotpatch_metadata仓同步该pr。 - -> [!NOTE]说明 -> 热补丁issue用于跟踪热补丁制作流程。 -> hotpatch_metadata仓用于触发制作热补丁。 - -![image-20230629144503840](./image/热补丁issue链接和pr链接.png) - -点击查看热补丁issue链接内容。 - -- 热补丁Issue类别为hotpatch。 - -![image-20230607161545732](./image/image-20230607161545732.png) - -点击查看在hotpatch_metadata仓自动创建的pr。 - -![hotpatch-fix-pr](./image/hotpatch-fix-pr.png) - -#### 3. 触发制作热补丁 - -打开hotpatch_metadata仓自动创建的pr,评论区可以查看热补丁制作信息。 - -![img](./image/45515A7F-0EC2-45AA-9B58-AB92DE9B0979.png) - -查看热补丁制作结果。 - -![img](./image/E574E637-0BF3-4F3B-BAE6-04ECBD09D151.png) - -如果热补丁制作失败,可以根据相关日志信息修改pr、评论 /retest直到热补丁可以被成功制作。 - -如果热补丁制作成功,可以通过Download link下载热补丁进行自验。 - -![image-20230608151244425](./image/hotpatch-pr-success.png) - -**若热补丁制作成功,可以对热补丁进行审阅**。 - -### 场景2、从hotpatch_metadata仓提pr修改热补丁 - -> [!NOTE]说明 -> 从hotpatch_metadata仓提pr只能修改还未正式发布的热补丁。 - -#### 1. 提pr - -用户需要手动创建热补丁issue。 - -(1)阅读readme,根据热补丁issue模版创建热补丁。 - -![image-20230612113428096](./image/image-20230612113428096.png) - -> [!NOTE]说明 -> 用户不允许修改热补丁元数据文件中已被正式发布的热补丁的相关内容。 - -pr内容: - -- patch文件。 -- 修改热补丁元数据hotmetadata.xml文件。 - -#### 2. 触发制作热补丁 - -**若热补丁制作成功,可以对热补丁进行审阅**。 - -### 场景3、从hotpatch_metadata仓提pr制作新版本热补丁 - -#### 1. 提pr - -在hotpatch_metadata仓提pr。 - -(1)阅读readme,根据热补丁issue模版创建热补丁。 - -![image-20230612113428096](./image/image-20230612113428096.png) - -pr内容: - -- patch文件。 -- 如果没有相应热补丁元数据hotmetadata.xml文件,则手动创建;否则修改热补丁元数据hotmetadata.xml文件。 - -#### 2. 触发制作热补丁 - -**若热补丁制作成功,可以对热补丁进行审阅**。 - -## 审阅热补丁 - -### 1. 审阅热补丁pr - -确认可发布,合入pr。 - -### 2. pr合入,回填热补丁issue - -在热补丁issue页面补充热补丁路径,包含src.rpm/arm架构/x86架构的rpm包,以及对应hotpatch.xml,用于展示热补丁信息。 - -> [!NOTE]说明 -> 如果一个架构失败,强行合入,也可只发布单架构的包。 - -![img](./image/EF5E0132-6E5C-4DD1-8CB5-73035278E233.png) - -- 热补丁Issue标签为hotpatch。 - -- 查看热补丁元数据内容。 - -热补丁元数据模版: - -> [!NOTE]说明 -> 热补丁元数据用于管理查看热补丁相关历史制作信息。 - -```xml - - - Managing Hot Patch Metadata - - - - src.rpm归档地址 - x86架构debuginfo二进制包归档地址 - arm架构debuginfo二进制包归档地址 - patch文件 - - https://gitee.com/wanghuan158/hot-patch_metadata/issues/I7AE5F - - - - -``` - -```xml - - - Managing Hot Patch Metadata - - - - download_link - download_link - download_link - 0001-PEM-read-bio-ret-failure.patch - - https://gitee.com/wanghuan158/hot-patch_metadata/issues/I7AE5F - - - download_link - download_link - download_link - 0001-PEM-read-bio-ret-failure.patch - - https://gitee.com/wanghuan158/hot-patch_metadata/issues/I7AE5P - - - - -``` - -> [!NOTE]说明 -> 注意:download_link均为repo仓正式的归档链接。 -> 热补丁当前只考虑演进,version 2基于version 1的src继续构建。 - -![image-20230607163358749](./image/image-20230607163358749.png) - -### 3. 关闭相应热补丁Issue - -## 发布热补丁 - -### 1、收集热补丁发布需求 - -在release-management仓库每周update需求收集的issue下方,手动评论start-update命令,此时会收集待发布的热补丁和待发布的修复cve的冷补丁。后台会在hotpatch_meta仓库根据hotpatch标签查找已关闭的热补丁issue。 - -### 2、生成安全公告热补丁信息 - -社区根据收集到的热补丁issue信息,在生成安全公告的同时生成hotpatch字段补丁,过滤已经发布的漏洞补丁。 - -- 在安全公告文件新增HotPatchTree字段,记录和公告相关漏洞的热补丁,每个补丁按架构和CVE字段区分(Type=ProductName 记录分支,Type=ProductArch 记录补丁具体的rpm包)。 - -![](./image/patch-file.PNG) - -### 3、Majun平台上传文件到openEuler官网,同步生成updateinfo.xml文件 - -社区将生成的安全公告上传到openEuler官网,同时基于所收集的热补丁信息生成updateinfo.xml文件。 - -![](./image/hotpatch-xml.PNG) - -updateinfo.xml文件样例: - -```xml - - - - openEuler-SA-2022-1 - An update for mariadb is now available for openEuler-22.03-LTS - Important - openEuler - - - - - - patch-redis-6.2.5-1-HP001.(CVE-2022-24048) - - - openEuler - - patch-redis-6.2.5-1-HP001-1-1.aarch64.rpm - - - patch-redis-6.2.5-1-HP001-1-1.x86_64.rpm - - - patch-redis-6.2.5-1-HP002-1-1.aarch64.rpm - - - patch-redis-6.2.5-1-HP002-1-1.x86_64.rpm - - - - - ... - -``` - -### 4、openEuler官网可以查看更新的热补丁信息,以cve编号划分 - -![image-20230612113626330](./image/image-20230612113626330.png) - -### 5、获取热补丁相关文件 - -社区将热补丁相关文件同步至openEuler的repo源下,可以在各个分支的hotpatch目录下获取相应文件。 - -> [!NOTE]说明 -> openEuler的repo地址: diff --git a/docs/en/server/maintenance/aops/deploying_aops.md b/docs/en/server/maintenance/aops/deploying_aops.md deleted file mode 100644 index 60154be4bb161ef1765457058cc59c4944280ed6..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/deploying_aops.md +++ /dev/null @@ -1,457 +0,0 @@ -# Deploying A-Ops - -## 1. Environment Requirements - -- Two hosts running on openEuler 24.09 - - These two hosts are used to deploy two modes of the check module: scheduler and executor. Other services, such as MySQL, Elasticsearch, and aops-manager, can be independently deployed on any host. To facilitate operations, deploy these services on host A. - -- More than 8 GB memory - -## 2. Configuring the Deployment Environment - -### Host A - -Deploy the following A-Ops services on host A: aops-tools, aops-manager, aops-check, aops-web, aops-agent, and gala-gopher. - -Deploy the following third-party services on host A: MySQL, Elasticsearch, ZooKeeper, Kafka, and Prometheus. - -The deployment procedure is as follows: - -#### 2.1 Disabling the Firewall - -Disable the firewall on the local host. - -```shell -systemctl stop firewalld -systemctl disable firewalld -systemctl status firewalld -``` - -#### 2.2 Deploying aops-tools - -Install aops-tools. - -```shell -yum install aops-tools -``` - -#### 2.3 Deploying Databases MySQL and Elasticsearch - -##### 2.3.1 Deploying MySQL - -Use the **aops-basedatabase** script installed during aops-tools installation to install MySQL. - -```shell -cd /opt/aops/aops_tools -./aops-basedatabase mysql -``` - -Modify the MySQL configuration file. - -```shell -vim /etc/my.cnf -``` - -Add **bind-address** and set it to the IP address of the local host. - -![1662346986112](./figures/modify-mysql-config-file.png) - -Restart the MySQL service. - -```shell -systemctl restart mysqld -``` - -Connect to the database and set the permission. - -```shell -mysql -show databases; -use mysql; -select user,host from user;// If the value of user is root and the value of host is localhost, the MySQL database can be connected only by the local host but cannot be connected from the external network and by the local software client. -update user set host = '%' where user='root'; -flush privileges;// Refresh the permission. -exit -``` - -##### 2.3.2 Deploying Elasticsearch - -Use the **aops-basedatabase** script installed during aops-tools installation to install Elasticsearch. - -```shell -cd /opt/aops/aops_tools -./aops-basedatabase elasticsearch -``` - -Modify the configuration file. - -Modify the Elasticsearch configuration file. - -```shell -vim /etc/elasticsearch/elasticsearch.yml -``` - -![1662370718890](./figures/elasticsearch-config-2.png) - -![1662370575036](./figures/elasticsearch-config-1.png) - -![1662370776219](./figures/elasticsearch3.png) - -Restart the Elasticsearch service. - -```shell -systemctl restart elasticsearch -``` - -#### 2.4 Deploying aops-manager - -Install aops-manager. - -```shell -yum install aops-manager -``` - -Modify the configuration file. - -```shell -vim /etc/aops/manager.ini -``` - -Change the IP address of each service in the configuration file to the actual IP address. Because all services are deployed on host A, you need to set their IP addresses to the actual IP address of host A. - -```ini -[manager] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=11111 -host_vault_dir=/opt/aops -host_vars=/opt/aops/host_vars - -[uwsgi] -wsgi-file=manage.py -daemonize=/var/log/aops/uwsgi/manager.log -http-timeout=600 -harakiri=600 - -[elasticsearch] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=9200 -max_es_query_num=10000000 - -[mysql] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=3306 -database_name=aops -engine_format=mysql+pymysql://@%s:%s/%s -pool_size=10000 -pool_recycle=7200 - -[aops_check] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=11112 -``` - -Start the aops-manager service. - -```shell -systemctl start aops-manager -``` - -#### 2.5 Deploying aops-web - -Install aops-web. - -```shell -yum install aops-web -``` - -Modify the configuration file. Because all services are deployed on host A, set the IP address of each service accessed by aops-web to the actual IP address of host A. - -```shell -vim /etc/nginx/aops-nginx.conf -``` - -The following figure shows the configuration of some services. - -![1662378186528](./figures/web-config.png) - -Enable the aops-web service. - -```shell -systemctl start aops-web -``` - -#### 2.6 Deploying Kafka - -##### 2.6.1 Deploying ZooKeeper - -Install ZooKeeper. - -```shell -yum install zookeeper -``` - -Start the ZooKeeper service. - -```shell -systemctl start zookeeper -``` - -##### 2.6.2 Deploying Kafka - -Install Kafka. - -```shell -yum install kafka -``` - -Modify the configuration file. - -```shell -vim /opt/kafka/config/server.properties -``` - -Change the value of **listeners** to the IP address of the local host. - -![1662381371927](./figures/kafka-config.png) - -Start the Kafka service. - -```shell -cd /opt/kafka/bin -nohup ./kafka-server-start.sh ../config/server.properties & -tail -f ./nohup.out # Check all the outputs of nohup. If the IP address of host A and the Kafka startup success INFO are displayed, Kafka is started successfully. -``` - -#### 2.7 Deploying aops-check - -Install aops-check. - -```shell -yum install aops-check -``` - -Modify the configuration file. - -```shell -vim /etc/aops/check.ini -``` - -Change the IP address of each service in the configuration file to the actual IP address. Because all services are deployed on host A, you need to set their IP addresses to the actual IP address of host A. - -```ini -[check] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=11112 -mode=configurable // Configurable mode, which means aops-check is used as the scheduler in common diagnosis mode. -timing_check=on - -[default_mode] -period=30 -step=30 - -[elasticsearch] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=9200 - -[mysql] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=3306 -database_name=aops -engine_format=mysql+pymysql://@%s:%s/%s -pool_size=10000 -pool_recycle=7200 - -[prometheus] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=9090 -query_range_step=15s - -[agent] -default_instance_port=8888 - -[manager] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=11111 - -[consumer] -kafka_server_list=192.168.1.1:9092 // Change the service IP address to the actual IP address of host A. -enable_auto_commit=False -auto_offset_reset=earliest -timeout_ms=5 -max_records=3 -task_name=CHECK_TASK -task_group_id=CHECK_TASK_GROUP_ID -result_name=CHECK_RESULT -[producer] -kafka_server_list = 192.168.1.1:9092 // Change the service IP address to the actual IP address of host A. -api_version = 0.11.5 -acks = 1 -retries = 3 -retry_backoff_ms = 100 -task_name=CHECK_TASK -task_group_id=CHECK_TASK_GROUP_ID -``` - -Start the aops-check service in configurable mode. - -```shell -systemctl start aops-check -``` - -#### 2.8 Deploying the Client Services - -aops-agent and gala-gopher must be deployed on the client. For details, see [aops-agent Deployment](deploying-aops-agent.md). - -Note: Before registering a host, you need to add a host group to ensure that the host group to which the host belongs exists. In this example, only host A is deployed and managed. - -#### 2.9 Deploying Prometheus - -Install Prometheus. - -```shell -yum install prometheus2 -``` - -Modify the configuration file. - -```shell -vim /etc/prometheus/prometheus.yml -``` - -Add the gala-gopher addresses of all clients to the monitoring host of Prometheus. - -![1662377261742](./figures/prometheus-config.png) - -Start the Prometheus service: - -```shell -systemctl start prometheus -``` - -#### 2.10 Deploying gala-ragdoll - -The configuration source tracing function of A-Ops depends on gala-ragdoll. Git is used to monitor configuration file changes. - -Install gala-ragdoll. - -```shell -yum install gala-ragdoll # A-Ops configuration source tracing -``` - -Modify the configuration file. - -```shell -vim /etc/ragdoll/gala-ragdoll.conf -``` - -Change the IP address in **collect_address** of the **collect** section to the IP address of host A, and change the values of **collect_api** and **collect_port** to the actual API and port number. - -```ini -[git] -git_dir = "/home/confTraceTest" -user_name = "user_name" -user_email = "user_email" - -[collect] -collect_address = "http://192.168.1.1" // Change the IP address to the actual IP address of host A. -collect_api = "/manage/config/collect" // Change the API to the actual API for collecting configuration files. -collect_port = 11111 // Change the port number to the actual port number of the service. - -[sync] -sync_address = "http://0.0.0.0" -sync_api = "/demo/syncConf" -sync_port = 11114 - - -[ragdoll] -port = 11114 -``` - -Start the gala-ragdoll service. - -```shell -systemctl start gala-ragdoll -``` - -### Host B - -Only aops-check needs to be deployed on host B as the executor. - -#### 2.11 Deploying aops-check - -Install aops-check. - -```shell -yum install aops-check -``` - -Modify the configuration file. - -```shell -vim /etc/aops/check.ini -``` - -Change the IP address of each service in the configuration file to the actual IP address. Change the IP address of the aops-check service deployed on host B to the IP address of host B. Because other services are deployed on host A, change the IP addresses of those services to the IP address of host A. - -```ini -[check] -ip=192.168.1.2 // Change the IP address to the actual IP address of host B. -port=11112 -mode=executor // Executor mode, which means aops-check is used as the executor in normal diagnosis mode. -timing_check=on - -[default_mode] -period=30 -step=30 - -[elasticsearch] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=9200 - -[mysql] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=3306 -database_name=aops -engine_format=mysql+pymysql://@%s:%s/%s -pool_size=10000 -pool_recycle=7200 - -[prometheus] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=9090 -query_range_step=15s - -[agent] -default_instance_port=8888 - -[manager] -ip=192.168.1.1 // Change the service IP address to the actual IP address of host A. -port=11111 - -[consumer] -kafka_server_list=192.168.1.1:9092 // Change the service IP address to the actual IP address of host A. -enable_auto_commit=False -auto_offset_reset=earliest -timeout_ms=5 -max_records=3 -task_name=CHECK_TASK -task_group_id=CHECK_TASK_GROUP_ID -result_name=CHECK_RESULT -[producer] -kafka_server_list = 192.168.1.1:9092 // Change the service IP address to the actual IP address of host A. -api_version = 0.11.5 -acks = 1 -retries = 3 -retry_backoff_ms = 100 -task_name=CHECK_TASK -task_group_id=CHECK_TASK_GROUP_ID -``` - -Start the aops-check service in executor mode. - -```shell -systemctl start aops-check -``` - -The service deployment on the two hosts is complete. diff --git a/docs/en/server/maintenance/aops/deploying_aops_agent.md b/docs/en/server/maintenance/aops/deploying_aops_agent.md deleted file mode 100644 index 72bb7a4aacf0f5e0db24214f54253cde4802bbe6..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/deploying_aops_agent.md +++ /dev/null @@ -1,656 +0,0 @@ -# Deploying aops-agent - -## 1. Environment Requirements - -One host running on openEuler 20.03 or later - -## 2. Configuration Environment Deployment - -### 2.1 Disabling the Firewall - -```shell -systemctl stop firewalld -systemctl disable firewalld -systemctl status firewalld -``` - -### 2.2 Deploying aops-agent - -1. Run `yum install aops-agent` to install aops-agent based on the Yum source. - -2. Modify the configuration file. Change the value of the **ip** in the agent section to the IP address of the local host. - - ```shell - vim /etc/aops/agent.conf - ``` - - The following uses 192.168.1.47 as an example. - - ```ini - [agent] - ;IP address and port number bound when the aops-agent is started. - ip=192.168.1.47 - port=12000 - - [gopher] - ;Default path of the gala-gopher configuration file. If you need to change the path, ensure that the file path is correct. - config_path=/opt/gala-gopher/gala-gopher.conf - - ;aops-agent log collection configuration - [log] - ;Level of the logs to be collected, which can be set to DEBUG, INFO, WARNING, ERROR, or CRITICAL - log_level=INFO - ;Location for storing collected logs - log_dir=/var/log/aops - ;Maximum size of a log file - max_bytes=31457280 - ;Number of backup logs - backup_count=40 - ``` - -3. Run `systemctl start aops-agent` to start the service. - -### 2.3 Registering with aops-manager - -To identify users and prevent APIs from being invoked randomly, aops-agent uses tokens to authenticate users, reducing the pressure on the deployed hosts. - -For security purposes, the active registration mode is used to obtain the token. Before the registration, prepare the information to be registered on aops-agent and run the `register` command to register the information with aops-manager. No database is configured for aops-agent. After the registration is successful, the token is automatically saved to the specified file and the registration result is displayed on the GUI. In addition, save the local host information to the aops-manager database for subsequent management. - -1. Prepare the **register.json** file. - - Prepare the information required for registration on aops-agent and save the information in JSON format. The data structure is as follows: - - ```JSON - { - // Name of the login user - "web_username":"admin", - // User password - "web_password": "changeme", - // Host name - "host_name": "host1", - // Name of the group to which the host belongs - "host_group_name": "group1", - // IP address of the host where aops-manager is running - "manager_ip":"192.168.1.23", - // Whether to register as a management host - "management":false, - // External port for running aops-manager - "manager_port":"11111", - // Port for running aops-agent - "agent_port":"12000" - } - ``` - - Note: Ensure that aops-manager is running on the target host, for example, 192.168.1.23, and the registered host group exists. - -2. Run `aops_agent register -f register.json`. -3. The registration result is displayed on the GUI. If the registration is successful, the token character string is saved to a specified file. If the registration fails, locate the fault based on the message and log content (**/var/log/aops/aops.log**). - - The following is an example of the registration result: - - - Registration succeeded. - - ```shell - [root@localhost ~]# aops_agent register -f register.json - Agent Register Success - ``` - - - Registration failed. The following uses the aops-manager start failure as an example. - - ```shell - [root@localhost ~]# aops_agent register -f register.json - Agent Register Fail - [root@localhost ~]# - ``` - - - Log content - - ```shell - 2022-09-05 16:11:52,576 ERROR command_manage/register/331: HTTPConnectionPool(host='192.168.1.23', port=11111): Max retries exceeded with url: /manage/host/add (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) - [root@localhost ~]# - ``` - -## 3. Plug-in Support - -### 3.1 gala-gopher - -#### 3.1.1 Introduction - -gala-gopher is a low-load probe framework based on eBPF. It can be used to monitor the CPU, memory, and network status of hosts and collect data. You can configure the collection status of existing probes based on service requirements. - -#### 3.1.2 Deployment - -1. Run `yum install gala-gopher` to install gala-gopher based on the Yum source. -2. Enable probes based on service requirements. You can view information about probes in **/opt/gala-gopher/gala-gopher.conf**. -3. Run `systemctl start gala-gopher` to start the gala-gopher service. - -#### 3.1.3 Others - -For more information about gala-gopher, see . - -## 4. API Support - -### 4.1 List of External APIs - -| No. | API | Type | Description | -| --- | ------------------------------ | ---- | ------------------------------------------------------------------- | -| 1 | /v1/agent/plugin/start | POST | Starts a plug-in. | -| 2 | /v1/agent/plugin/stop | POST | Stops a plug-in. | -| 3 | /v1/agent/application/info | GET | Collects running applications in the target application collection. | -| 4 | /v1/agent/host/info | GET | Obtains host information. | -| 5 | /v1/agent/plugin/info | GET | Obtains the plug-in running information in aops-agent. | -| 6 | /v1/agent/file/collect | POST | Collects content of the configuration file. | -| 7 | /v1/agent/collect/items/change | POST | Changes the running status of plug-in collection items. | - -#### 4.1.1 /v1/agent/plugin/start - -- Description: Starts the plug-in that is installed but not running. Currently, only the gala-gopher plug-in is supported. - -- HTTP request mode: POST - -- Data submission mode: query - -- Request parameter - - | Parameter | Mandatory | Type | Description | - | ----------- | --------- | ---- | ------------ | - | plugin_name | True | str | Plug-in name | - -- Request parameter example - - | Parameter | Value | - | ----------- | ----------- | - | plugin_name | gala-gopher | - -- Response body parameters - - | Parameter | Type | Description | - | --------- | ---- | -------------------------------------------- | - | code | int | Return code | - | msg | str | Information corresponding to the status code | - -- Response example - - ```json - { - "code": 200, - "msg": "xxxx" - } - ``` - -#### 4.1.2 /v1/agent/plugin/stop - -- Description: Stops a running plug-in. Currently, only the gala-gopher plug-in is supported. - -- HTTP request mode: POST - -- Data submission mode: query - -- Request parameter - - | Parameter | Mandatory | Type | Description | - | ----------- | --------- | ---- | ------------ | - | plugin_name | True | str | Plug-in name | - -- Request parameter example - - | Parameter | Value | - | ----------- | ----------- | - | plugin_name | gala-gopher | - -- Response body parameters - - | Parameter | Type | Description | - | --------- | ---- | -------------------------------------------- | - | code | int | Return code | - | msg | str | Information corresponding to the status code | - -- Response example - - ```json - { - "code": 200, - "msg": "xxxx" - } - ``` - -#### 4.1.3 /v1/agent/application/info - -- Description: Collects running applications in the target application collection. Currently, the target application collection contains MySQL, Kubernetes, Hadoop, Nginx, Docker, and gala-gopher. - -- HTTP request mode: GET - -- Data submission mode: query - -- Request parameter - - | Parameter | Mandatory | Type | Description | - | --------- | --------- | ---- | ----------- | - | | | | | - -- Request parameter example - - | Parameter | Value | - | --------- | ----- | - | | | - -- Response body parameters - - | Parameter | Type | Description | - | --------- | ---- | -------------------------------------------- | - | code | int | Return code | - | msg | str | Information corresponding to the status code | - | resp | dict | Response body | - - - resp - - | Parameter | Type | Description | - | --------- | ---------- | -------------------------------- | - | running | List\[str] | List of the running applications | - -- Response example - - ```json - { - "code": 200, - "msg": "xxxx", - "resp": { - "running": [ - "mysql", - "docker" - ] - } - } - ``` - -#### 4.1.4 /v1/agent/host/info - -- Description: Obtains information about the host where aops-agent is installed, including the system version, BIOS version, kernel version, CPU information, and memory information. - -- HTTP request mode: POST - -- Data submission mode: application/json - -- Request parameter - - | Parameter | Mandatory | Type | Description | - | --------- | --------- | ---------- | ----------------------------------------------------------------------------------------------------- | - | info_type | True | List\[str] | List of the information to be collected. Currently, only the CPU, disk, memory, and OS are supported. | - -- Request parameter example - - ```json - ["os", "cpu","memory", "disk"] - ``` - -- Response body parameters - - | Parameter | Type | Description | - | --------- | ---- | -------------------------------------------- | - | code | int | Return code | - | msg | str | Information corresponding to the status code | - | resp | dict | Response body | - - - resp - - | Parameter | Type | Description | - | --------- | ----------- | ------------------ | - | cpu | dict | CPU information | - | memory | dict | Memory information | - | os | dict | OS information | - | disk | List\[dict] | Disk information | - - - cpu - - | Parameter | Type | Description | - | ------------ | ---- | ------------------------- | - | architecture | str | CPU architecture | - | core_count | int | Number of cores | - | l1d_cache | str | L1 data cache size | - | l1i_cache | str | L1 instruction cache size | - | l2_cache | str | L2 cache size | - | l3_cache | str | L3 cache size | - | model_name | str | Model name | - | vendor_id | str | Vendor ID | - - - memory - - | Parameter | Type | Description | - | --------- | ----------- | --------------------------- | - | size | str | Total memory | - | total | int | Number of DIMMs | - | info | List\[dict] | Information about all DIMMs | - - - info - - | Parameter | Type | Description | - | ------------ | ---- | ----------- | - | size | str | Memory size | - | type | str | Type | - | speed | str | Speed | - | manufacturer | str | Vendor | - - - os - - | Parameter | Type | Description | - | ------------ | ---- | -------------- | - | bios_version | str | BIOS version | - | os_version | str | OS version | - | kernel | str | Kernel version | - -- Response example - - ```json - { - "code": 200, - "msg": "operate success", - "resp": { - "cpu": { - "architecture": "aarch64", - "core_count": "128", - "l1d_cache": "8 MiB (128 instances)", - "l1i_cache": "8 MiB (128 instances)", - "l2_cache": "64 MiB (128 instances)", - "l3_cache": "128 MiB (4 instances)", - "model_name": "Kunpeng-920", - "vendor_id": "HiSilicon" - }, - "memory": { - "info": [ - { - "manufacturer": "Hynix", - "size": "16 GB", - "speed": "2933 MT/s", - "type": "DDR4" - }, - { - "manufacturer": "Hynix", - "size": "16 GB", - "speed": "2933 MT/s", - "type": "DDR4" - } - ], - "size": "32G", - "total": 2 - }, - "os": { - "bios_version": "1.82", - "kernel": "5.10.0-60.18.0.50", - "os_version": "openEuler 22.03 LTS" - }, - "disk": [ - { - "capacity": "xxGB", - "model": "xxxxxx" - } - ] - } - } - ``` - -#### 4.1.5 /v1/agent/plugin/info - -- Description: Obtains the plug-in running status of the host. Currently, only the gala-gopher plug-in is supported. - -- HTTP request mode: GET - -- Data submission mode: query - -- Request parameter - - | Parameter | Mandatory | Type | Description | - | --------- | --------- | ---- | ----------- | - | | | | | - -- Request parameter example - - | Parameter | Value | - | --------- | ----- | - | | | - -- Response body parameters - - | Parameter | Type | Description | - | --------- | ----------- | -------------------------------------------- | - | code | int | Return code | - | msg | str | Information corresponding to the status code | - | resp | List\[dict] | Response body | - - - resp - - | Parameter | Type | Description | - | ------------- | ----------- | -------------------------------------------- | - | plugin_name | str | Plug-in name | - | collect_items | list | Running status of plug-in collection items | - | is_installed | str | Information corresponding to the status code | - | resource | List\[dict] | Plug-in resource usage | - | status | str | Plug-in running status | - - - resource - - | Parameter | Type | Description | - | ------------- | ---- | -------------- | - | name | str | Resource name | - | current_value | str | Resource usage | - | limit_value | str | Resource limit | - -- Response example - - ```json - { - "code": 200, - "msg": "operate success", - "resp": [ - { - "collect_items": [ - { - "probe_name": "system_tcp", - "probe_status": "off", - "support_auto": false - }, - { - "probe_name": "haproxy", - "probe_status": "auto", - "support_auto": true - }, - { - "probe_name": "nginx", - "probe_status": "auto", - "support_auto": true - }, - ], - "is_installed": true, - "plugin_name": "gala-gopher", - "resource": [ - { - "current_value": "0.0%", - "limit_value": null, - "name": "cpu" - }, - { - "current_value": "13 MB", - "limit_value": null, - "name": "memory" - } - ], - "status": "active" - } - ] - } - ``` - -#### 4.1.6 /v1/agent/file/collect - -- Description: Collects information such as the content, permission, and owner of the target configuration file. Currently, only text files smaller than 1 MB, without execute permission, and supporting UTF8 encoding can be read. - -- HTTP request mode: POST - -- Data submission mode: application/json - -- Request parameter - - | Parameter | Mandatory | Type | Description | - | --------------- | --------- | ---------- | --------------------------------------------------- | - | configfile_path | True | List\[str] | List of the full paths of the files to be collected | - -- Request parameter example - - ```json - [ "/home/test.conf", "/home/test.ini", "/home/test.json"] - ``` - -- Response body parameters - - | Parameter | Type | Description | - | ------------- | ----------- | --------------------------------------- | - | infos | List\[dict] | File collection information | - | success_files | List\[str] | List of files successfully collected | - | fail_files | List\[str] | List of files that fail to be collected | - - - infos - - | Parameter | Type | Description | - | --------- | ---- | --------------- | - | path | str | File path | - | content | str | File content | - | file_attr | dict | File attributes | - - - file_attr - - | Parameter | Type | Description | - | --------- | ---- | ------------------------------- | - | mode | str | Permission of the file type | - | owner | str | File owner | - | group | str | Group to which the file belongs | - -- Response example - - ```json - { - "infos": [ - { - "content": "this is a test file", - "file_attr": { - "group": "root", - "mode": "0644", - "owner": "root" - }, - "path": "/home/test.txt" - } - ], - "success_files": [ - "/home/test.txt" - ], - "fail_files": [ - "/home/test.txt" - ] - } - ``` - -#### 4.1.7 /v1/agent/collect/items/change - -- Description: Changes the collection status of the plug-in collection items. Currently, only the status of the gala-gopher collection items can be changed. For the gala-gopher collection items, see **/opt/gala-gopher/gala-gopher.conf**. - -- HTTP request mode: POST - -- Data submission mode: application/json - -- Request parameter - - | Parameter | Mandatory | Type | Description | - | ----------- | --------- | ---- | ------------------------------------------------------------ | - | plugin_name | True | dict | Expected modification result of the plug-in collection items | - - - plugin_name - - | Parameter | Mandatory | Type | Description | - | ------------ | --------- | ------ | --------------------------------------------------- | - | collect_item | True | string | Expected modification result of the collection item | - -- Request parameter example - - ```json - { - "gala-gopher":{ - "redis":"auto", - "system_inode":"on", - "tcp":"on", - "haproxy":"auto" - } - } - ``` - -- Response body parameters - - | Parameter | Type | Description | - | --------- | ----------- | -------------------------------------------- | - | code | int | Return code | - | msg | str | Information corresponding to the status code | - | resp | List\[dict] | Response body | - - - resp - - | Parameter | Type | Description | - | ----------- | ---- | -------------------------------------------------------- | - | plugin_name | dict | Modification result of the corresponding collection item | - - - plugin_name - - | Parameter | Type | Description | - | --------- | ---------- | ----------------------------------------------- | - | success | List\[str] | Collection items that are successfully modified | - | failure | List\[str] | Collection items that fail to be modified | - -- Response example - - ```json - { - "code": 200, - "msg": "operate success", - "resp": { - "gala-gopher": { - "failure": [ - "redis" - ], - "success": [ - "system_inode", - "tcp", - "haproxy" - ] - } - } - } - ``` - - ### FAQs - -1. If an error is reported, view the **/var/log/aops/aops.log** file, rectify the fault based on the error message in the log file, and restart the service. - -2. You are advised to run aops-agent in Python 3.7 or later. Pay attention to the version of the Python dependency library when installing it. - -3. The value of **access_token** can be obtained from the **/etc/aops/agent.conf** file after the registration is complete. - -4. To limit the CPU and memory resources of a plug-in, add **MemoryHigh** and **CPUQuota** to the **Service** section in the service file corresponding to the plug-in. - - For example, set the memory limit of gala-gopher to 40 MB and the CPU limit to 20%. - - ```ini - [Unit] - Description=a-ops gala gopher service - After=network.target - - [Service] - Type=exec - ExecStart=/usr/bin/gala-gopher - Restart=on-failure - RestartSec=1 - RemainAfterExit=yes - ;Limit the maximum memory that can be used by processes in the unit. The limit can be exceeded. However, after the limit is exceeded, the process running speed is limited, and the system reclaims the excess memory as much as possible. - ;The option value can be an absolute memory size in bytes (K, M, G, or T suffix based on 1024) or a relative memory size in percentage. - MemoryHigh=40M - ;Set the CPU time limit for the processes of this unit. The value must be a percentage ending with %, indicating the maximum percentage of the total time that the unit can use a single CPU. - CPUQuota=20% - - [Install] - WantedBy=multi-user.target - ``` diff --git a/docs/en/server/maintenance/aops/dnf_plugin_command_usage.md b/docs/en/server/maintenance/aops/dnf_plugin_command_usage.md deleted file mode 100644 index 04f32add022a7dbd30411defe37c369b52c4e174..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/dnf_plugin_command_usage.md +++ /dev/null @@ -1,548 +0,0 @@ -# DNF Plugin Command Usage - -Install the DNF plugin: - -```shell -dnf install dnf-hotpatch-plugin -``` - -After installing the plugin, you can run DNF commands to use plugin functions related to hot patches, such as hot patch scanning (`dnf hot-updateinfo`), setting and querying (`dnf hotpatch`), and applying (`dnf hotupgrade`). This document describes the usage of the commands. - -## Hot Patch Scanning - -`hot-updateinfo` can scan hot patches and query hot patches for specified CVEs. - -```shell -$ dnf hot-updateinfo list cves [--cve [cve_id]] -General DNF options: - -h, --help, --help-cmd - show command help - --cve CVES, --cves CVES - Include packages needed to fix the given CVE, in updates -``` - -- `--list` - -1. Query the CVEs on the host that can be fixed and their related cold and hot patches. - - ```shell - $ dnf hot-updateinfo list cves - # cve-id level cold-patch hot-patch - Last metadata expiration check: 0:54:46 ago on Thu Mar 16 09:40:27 2023. - CVE-2022-3080 Important/Sec. bind-libs-9.16.23-10.oe2203.aarch64 patch-bind-libs-9.16.23-09-name-1-111.aarch64 - CVE-2021-25220 Moderate/Sec. bind-9.16.23-10.oe2203.aarch64 - - CVE-2022-1886 Critical/Sec. vim-common-8.2-39.oe2203.aarch64 patch-vim-common-8.2-38-name-1-233.aarch64 - CVE-2022-1725 Low/Sec. vim-minimal-8.2-58.oe2203.aarch64 patch-vim-minimal-8.2-57-name-2-11.aarch64 - ``` - -2. Query cold and hot patches for specified CVEs. - - ```shell - $ dnf hot-updateinfo list cves --cve CVE-2022-3080 - # cve-id level cold-patch hot-patch - Last metadata expiration check: 0:54:46 ago on Thu Mar 16 09:40:27 2023. - CVE-2022-3080 Important/Sec. bind-libs-9.16.23-10.oe2203.aarch64 patch-bind-libs-9.16.23-09-name-1-111.aarch64 - ``` - -3. An empty list will be displayed if the CVE does not exist. - - ```shell - $ dnf hot-updateinfo list cves --cve CVE-2022-3089 - # cve-id level cold-patch hot-patch - Last metadata expiration check: 0:54:46 ago on Thu Mar 16 09:40:27 2023. - ``` - -## Hot Patch Statuses - -- A hot patch can be in the following statuses: - - - NOT-APPLIED: The hot patch is not installed. - - - DEACTIVED: The hot patch is installed. - - - ACTIVED: The hot patch is activated. - - - ACCEPT: The hot patch has been accepted and will be applied after a reboot. - - ![Hot patch statuses](./figures/hot_patch_statuses.png) - -## Querying and Changing Hot Patch Statuses - -`hotpatch` can be used to query and convert hot patch statuses. - -```shell -$ dnf hotpatch -General DNF options: - -h, --help, --help-cmd - show command help - --cve CVES, --cves CVES - Include packages needed to fix the given CVE, in updates - -Hotpatch command-specific options: - --list [{cve, cves}] show list of hotpatch - --apply APPLY_NAME apply hotpatch - --remove REMOVE_NAME remove hotpatch - --active ACTIVE_NAME active hotpatch - --deactive DEACTIVE_NAME - deactive hotpatch - --accept ACCEPT_NAME accept hotpatch -``` - -1. `dnf hotpatch --list` lists available hot patches in the system. - - ```shell - $ dnf hotpatch --list - Last metadata expiration check: 0:54:46 ago on Thu Mar 16 09:40:27 2023. - base-pkg/hotpatch status - redis-6.2.5-1/HP001 NOT-APPLIED - redis-6.2.5-1/HP001 NOT-APPLIED - redis-6.2.5-1/HP002 ACTIVED - redis-6.2.5-1/HP002 ACTIVED - ``` - -2. `dnf hotpatch --list cves` queries hot patches related to CVEs. - - ```shell - $ dnf hotpatch --list cves - Last metadata expiration check: 0:54:46 ago on Thu Mar 16 09:40:27 2023. - CVE-id base-pkg/hotpatch status - CVE-2023-1111 redis-6.2.5-1/HP001 NOT-APPLIED - CVE-2023-1112 redis-6.2.5-1/HP001 NOT-APPLIED - CVE-2023-2221 redis-6.2.5-1/HP002 ACTIVED - CVE-2023-2222 redis-6.2.5-1/HP002 ACTIVED - ``` - -3. `dnf hotpatch --list cves --cve ` queries hot patches for specified CVEs. - - ```shell - $ dnf hotpatch --list cves --cve CVE-2023-1111 - Last metadata expiration check: 0:54:46 ago on Thu Mar 16 09:40:27 2023. - CVE-id base-pkg/hotpatch status - CVE-2023-1111 redis-6.2.5-1/HP001 NOT-APPLIED - ``` - -4. An empty list will be displayed if the specified CVE does not exist when running `dnf hotpatch --list cves --cve `. - - ```shell - $ dnf hotpatch --list cves --cve CVE-2023-1 - Last metadata expiration check: 0:54:46 ago on Thu Mar 16 09:40:27 2023. - ``` - -5. `dnf hotpatch --apply ` applies a hot patch. You can run `syscare list` to query the hot patch status after applying the hot patch. For details about hot patch statuses, see the previous section. - - ```shell - $ dnf hotpatch --apply redis-6.2.5-1/HP2 - Last metadata expiration check: 2:38:51 ago on Thu May 25 13:49:28 2023. - Gonna apply this hot patch: redis-6.2.5-1/HP2 - apply hot patch 'redis-6.2.5-1/HP2' succeed - $ syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 ACTIVED - ``` - -6. `dnf hotpatch --deactive ` deactivates a hot patch. You can run `syscare list` to query the hot patch status after deactivating the hot patch. For details about hot patch statuses, see the previous section. - - ```shell - $ dnf hotpatch --deactive redis-6.2.5-1/HP2 - Last metadata expiration check: 2:39:10 ago on Thu May 25 13:49:28 2023. - Gonna deactive this hot patch: redis-6.2.5-1/HP2 - deactive hot patch 'redis-6.2.5-1/HP2' succeed - $ syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 DEACTIVED - ``` - -7. `dnf hotpatch --remove ` removes a hot patch. You can run `syscare list` to query the hot patch status after removing the hot patch. For details about hot patch statuses, see the previous section. - - ```shell - $ dnf hotpatch --remove redis-6.2.5-1/HP2 - Last metadata expiration check: 2:53:25 ago on Thu May 25 13:49:28 2023. - Gonna remove this hot patch: redis-6.2.5-1/HP2 - remove hot patch 'redis-6.2.5-1/HP2' succeed - $ syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 NOT-APPLIED - ``` - -8. `dnf hotpatch --active ` activating a hot patch.You can run `syscare list` to query the hot patch status after activating the hot patch. For details about hot patch statuses, see the previous section. - - ```shell - $ dnf hotpatch --active redis-6.2.5-1/HP2 - Last metadata expiration check: 2:53:37 ago on Thu May 25 13:49:28 2023. - Gonna active this hot patch: redis-6.2.5-1/HP2 - active hot patch 'redis-6.2.5-1/HP2' failed, remain original status. - $ syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 ACTIVED - ``` - -9. `dnf hotpatch --accept ` accepts a hot patch. You can run `syscare list` to query the hot patch status after accepting the hot patch. For details about hot patch statuses, see the previous section. - - ```shell - $ dnf hotpatch --accept redis-6.2.5-1/HP2 - Last metadata expiration check: 2:53:25 ago on Thu May 25 13:49:28 2023. - Gonna accept this hot patch: redis-6.2.5-1/HP2 - remove hot patch 'redis-6.2.5-1/HP2' succeed - $ syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 ACCEPTED - ``` - -## Applying Hot Patches - -The `hotupgrade` command is used to apply hot patches to fix specified or all CVEs. - -```shell -$ dnf hotupgrade [--cve [cve_id]] [SPEC ...] - -General DNF options: - -h, --help, --help-cmd - show command help - --cve CVES, --cves CVES - Include packages needed to fix the given CVE, in updates - -command-specific options: - SPEC Hotpatch specification -``` - -- Case 1: If hot patches have been installed, `dnf hotupgrade` applies all available hot patches. - -```shell -$ dnf hotupgrade -Last metadata expiration check: 4:04:34 ago on Fri Jun 02 06:33:41 2023. -Gonna apply these hot patches:['patch-redis-6.2.5-1-HP001-1-1.x86_64', 'patch-redis-6.2.5-1-HP002-1-1.x86_64'] -The target package 'redis-6.2.5-1' has a hotpatch 'HP001' applied -Gonna remove these hot patches: ['redis-6.2.5-1/HP001'] -Remove hot patch redis-6.2.5-1/HP001. -Package patch-redis-6.2.5-1-HP001-1-1.x86_64 is already installed. -Package patch-redis-6.2.5-1-HP002-1-1.x86_64 is already installed. -Dependencies resolved. -Nothing to do. -Complete! -Applying hot patch -Apply hot patch succeed: redis-6.2.5-1/HP001. -Apply hot patch failed: redis-6.2.5-1/HP002. -``` - -- Case 2: If hot patches have not been installed, `dnf hotupgrade` installs and applies all available hot patches. - -```shell -$ dnf hotupgrade -Last metadata expiration check: 4:13:16 ago on Fri Jun 02 06:33:41 2023. -Gonna apply these hot patches:['patch-redis-6.2.5-1-HP002-1-1.x86_64', 'patch-redis-6.2.5-1-HP001-1-1.x86_64'] -Package patch-redis-6.2.5-1-HP002-1-1.x86_64 is already installed. -Dependencies resolved. -xxxx(Install messages) -Is this ok [y/N]: y -Downloading Packages: -xxxx(Install process) -Complete! - -Applying hot patch -Apply hot patch succeed: redis-6.2.5-1/HP001. -``` - -- Case 3: `dnf hotupgrade ` upgrades specified hot patches. - -```shell -$ dnf hotupgrade patch-redis-6.2.5-1-HP001-1-1.x86_64 -Last metadata expiration check: 0:07:49 ago on Thu Jun 08 12:03:46 2023. -Package patch-redis-6.2.5-1-HP001-1-1.x86_64 is already installed. -Dependencies resolved. -Nothing to do. -Complete! -Applying hot patch -Apply hot patch succeed: redis-6.2.5-1/HP001. -``` - -- `--cve` - - - Case 1: `dnf hotupgrade --cve ` is used to install and apply a hot patch for a specified CVE. - - ```shell - $ dnf hotupgrade --cve CVE-2021-11 - Last metadata expiration check: xxx - Dependencies resolved. - xxxx(Install messages) - Is this ok [y/N]: y - Downloading Packages: - xxxx(Install process) - Complete! - Applying hot patch - Apply hot patch succeed: redis-6.2.5-1/HP001 - ``` - - - Case 2: `dnf hotupgrade --cve ` is used for a CVE that does not exist. - - ```shell - $ dnf hotupgrade --cve CVE-2021-11 - Last metadata expiration check: xxx - The cve doesnt exist: CVE-2021-11 - Error: No hot patches marked for install. - ``` - - - Case 3: `dnf hotupgrade --cve ` is used to install and apply a hot patch of a higher version for a CVE that has a hot patch of a lower version. The hot patch of the lower version is uninstalled. - - ```shell - $ dnf hotupgrade --cve CVE-2021-22 - Last metadata expiration check: xxx - The target package 'redis-6.2.5-1' has a hotpatch 'HP001' applied - Gonna remove these hot patches: ['redis-6.2.5-1/HP001'] - Is this ok [y/N]: y - Remove hot patch redis-6.2.5-1/HP001 - xxxx (install messages and process install) - Apply hot patch - apply hot patch succeed: redis-6.2.5-1/HP002 - ``` - - - Case 4: `dnf hotupgrade --cve ` is used to install and apply a hot patch for a CVE that has the latest hot patch. - - ```shell - $ dnf hotupgrade --cve CVE-2021-22 - Package patch -redis-6.2.5-1-HP002-1-1.x86_64 is already installed. - Dependencies resolved. - Nothing to do. - Complete! - Applying hot patch - Apply hot patch succeed: redis-6.2.5-1/HP002 - ``` - -- `SPEC` - - ```shell - dnf hotupgrade bind-libs-hotpatch - ``` - -The output of this sub-command is the same as that of `--cve`. - -## Usage Example - -Assume that the repositories of hot and cold patches on this host have been enabled. - -Scan CVEs that can be fixed on the host. - -```shell -$ dnf hot-updateinfo list cves -Last metadata expiration check: 0:00:38 ago on Sat Mar 25 11:53:46 2023. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26545 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-1 Important/Sec. redis-6.2.5-2.x86_64 patch-redis-6.2.5-1-HP001-1-1.x86_64 -CVE-2021-11 Important/Sec. redis-6.2.5-2.x86_64 patch-redis-6.2.5-1-HP001-1-1.x86_64 -CVE-2021-2 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-22 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - - -``` - -CVE-2021-1, CVE-2021-11, CVE-2021-2, and CVE-2021-22 can be fixed by hot patches. - -Start the Redis service based on the **redis.conf** configuration file. - -```shell -$ sudo redis-server ./redis.conf & -[1] 285075 -285076:C 25 Mar 2023 12:09:51.503 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo -285076:C 25 Mar 2023 12:09:51.503 # Redis version=255.255.255, bits=64, commit=00000000, modified=0, pid=285076, just started -285076:C 25 Mar 2023 12:09:51.503 # Configuration loaded -285076:M 25 Mar 2023 12:09:51.504 * Increased maximum number of open files to 10032 (it was originally set to 1024). -285076:M 25 Mar 2023 12:09:51.504 * monotonic clock: POSIX clock_gettime - _._ - _.-``__ ''-._ - _.-`` `. `_. ''-._ Redis 255.255.255 (00000000/0) 64 bit - .-`` .-```. ```\/ _.,_ ''-._ - ( ' , .-` | `, ) Running in standalone mode - |`-._`-...-` __...-.``-._|'` _.-'| Port: 6380 - | `-._ `._ / _.-' | PID: 285076 - `-._ `-._ `-./ _.-' _.-' - |`-._`-._ `-.__.-' _.-'_.-'| - | `-._`-._ _.-'_.-' | https://redis.io - `-._ `-._`-.__.-'_.-' _.-' - |`-._`-._ `-.__.-' _.-'_.-'| - | `-._`-._ _.-'_.-' | - `-._ `-._`-.__.-'_.-' _.-' - `-._ `-.__.-' _.-' - `-._ _.-' - `-.__.-' - -285076:M 25 Mar 2023 12:09:51.505 # Server initialized -285076:M 25 Mar 2023 12:09:51.505 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. -285076:M 25 Mar 2023 12:09:51.506 * Ready to accept connections - -``` - -Test the function before applying the hot patch. - -```shell -$ telnet 127.0.0.1 6380 -Trying 127.0.0.1... -Connected to 127.0.0.1. -Escape character is '^]'. - -*100 - --ERR Protocol error: expected '$', got ' ' -Connection closed by foreign host. -``` - -Specify CVE-2021-1 and ensure that the related hot patch is associated and applied. - -```shell -$ dnf hotupgrade --cve CVE-2021-1 -Last metadata expiration check: 0:05:19 ago on Sat Mar 25 11:53:46 2023. -Package patch-redis-6.2.5-1-HP001-1-1.x86_64 is already installed. -Dependencies resolved. -Nothing to do. -Complete! -Applying hot patch -Apply hot patch succeed: redis-6.2.5-1/HP001. -``` - -Run `syscare` to check whether the hot patch has been applied (the status is **ACTIVED**). - -```shell -$ syscare list -Uuid Name Status -cf47649c-b370-4f5a-a914-d2ca4d8f1f3a redis-6.2.5-1/HP001 ACTIVED -``` - -Check whether the CVE has been fixed. Because the **patch-redis-6.2.5-1-HP001-1-1.x86_64** hot patch also fixes CVE-2021-11, CVE-2021-1 and CVE-2021-11 no longer exists. - -```shell -$ dnf hot-updateinfo list cves -Last metadata expiration check: 0:08:48 ago on Sat Mar 25 11:53:46 2023. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-1076 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26607 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-22 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-2 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -``` - -Test the function after applying the hot patch. - -```shell -$ telnet 127.0.0.1 6380 -Trying 127.0.0.1... -Connected to 127.0.0.1. -Escape character is '^]'. - -*100 - --ERR Protocol error: unauthenticated multibulk length -Connection closed by foreign host. -``` - -Run `syscare` and specify the patch name to manually remove the hot patch. - -```shell -$ syscare remove redis-6.2.5-1/HP001 -$ syscare list -Uuid Name Status -cf47649c-b370-4f5a-a914-d2ca4d8f1f3a redis-6.2.5-1/HP001 NOT-APPLIED -``` - -Scan the CVEs to be fixed on the host. CVE-2021-1 and CVE-2021-11 are displayed. - -```shell -$ dnf hot-updateinfo list cves -Last metadata expiration check: 0:00:38 ago on Sat Mar 25 11:53:46 2023. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26545 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-1 Important/Sec. redis-6.2.5-2.x86_64 patch-redis-6.2.5-1-HP001-1-1.x86_64 -CVE-2021-11 Important/Sec. redis-6.2.5-2.x86_64 patch-redis-6.2.5-1-HP001-1-1.x86_64 -CVE-2021-2 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-22 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -``` - -- Case 1 - -Apply hot patch **patch-redis-6.2.5-1-HP002-1-1.x86_64**. - -```shell -$ dnf hotupgrade patch-redis-6.2.5-1-HP002-1-1.x86_64 -Last metadata expiration check: 0:05:19 ago on Sat Mar 25 11:53:46 2023. -Package patch-redis-6.2.5-1-HP002-1-1.x86_64 is already installed. -Dependencies resolved. -Nothing to do. -Complete! -Applying hot patch -Apply hot patch succeed: redis-6.2.5-1/HP002. -``` - -Scan the CVEs to be fixed on the host. Because the cold patch **redis-6.2.5-3.x86_64** corresponding to **patch-redis-6.2.5-1-HP002-1-1.x86_64** is of a higher version than **redis-6.2.5-2.x86_64**, **redis-6.2.5-2.x86_64** also fixes CVE-2021-1, CVE-2021-11, CVE-2021-2, and CVE-2021-22. - -```shell -$ dnf hot-updateinfo list cves -Last metadata expiration check: 0:00:38 ago on Sat Mar 25 11:53:46 2023. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26545 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -``` - -- Case 2 - -Open the **xxx-updateinfo.xml.gz** file in the **repodata** directory of the hot patch repository. Check the information related to CVE-2021-33 and CVE-2021-3. - -```xml - - openEuler-SA-2022-3 - An update for mariadb is now available for openEuler-22.03-LTS - Important - openEuler - - - - - - patch-redis-6.2.5-2-HP001.(CVE-2022-24048) - - - openEuler - - patch-redis-6.2.5-2-HP001-1-1.aarch64.rpm - - - patch-redis-6.2.5-2-HP001-1-1.x86_64.rpm - - - - -``` - -The format of the **name** field of **package** is **patch-\-\-\-\**. In the example, **patch-redis-6.2.5-2-HP001** requires the source code version of redis-6.2.5-2 to be installed. Check the version of Redis on the host. - -```shell -$ rpm -qa | grep redis -redis-6.2.5-1.x86_64 -``` - -redis-6.2.5-2 is not installed. Therefore, the hot patch will not be displayed. - -```shell -$ dnf hot-updateinfo list cves -Last metadata expiration check: 0:00:38 ago on Sat Mar 25 11:53:46 2023. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26545 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -``` diff --git a/docs/en/server/maintenance/aops/figures/add_config.png b/docs/en/server/maintenance/aops/figures/add_config.png deleted file mode 100644 index 18d71c2e099c19b5d28848eec6a8d11f29ccee27..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/add_config.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/add_node.png b/docs/en/server/maintenance/aops/figures/add_node.png deleted file mode 100644 index d68f5e12a62548f2ec59374bda9ab07f43b8b5cb..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/add_node.png and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/app\350\257\246\346\203\205.jpg" "b/docs/en/server/maintenance/aops/figures/app\350\257\246\346\203\205.jpg" deleted file mode 100644 index bd179be46c9e711d7148ee44dc56f4a7a02f56bf..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/app\350\257\246\346\203\205.jpg" and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/chakanyuqi.png b/docs/en/server/maintenance/aops/figures/chakanyuqi.png deleted file mode 100644 index bbead6a91468d5dee570cfdc66faf9a4ab155d7c..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/chakanyuqi.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/chaxunshijipeizhi.png b/docs/en/server/maintenance/aops/figures/chaxunshijipeizhi.png deleted file mode 100644 index d5f6e450fc0e1e246492ca71a6fcd8db572eb469..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/chaxunshijipeizhi.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/chuangjianyewuyu.png b/docs/en/server/maintenance/aops/figures/chuangjianyewuyu.png deleted file mode 100644 index 8849a2fc81dbd14328c6c66c53033164a0b67b52..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/chuangjianyewuyu.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/create_service_domain.png b/docs/en/server/maintenance/aops/figures/create_service_domain.png deleted file mode 100644 index 4f5b8de2d2c4ddb9bfdfba1ac17258a834561e2d..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/create_service_domain.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/delete_config.png b/docs/en/server/maintenance/aops/figures/delete_config.png deleted file mode 100644 index cfea2eb44f7b8aa809404b8b49b4bd2e24172568..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/delete_config.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/elasticsearch-config-1.png b/docs/en/server/maintenance/aops/figures/elasticsearch-config-1.png deleted file mode 100644 index 1b7e0eab093b2f0455b8f3972884e5f757fbec3d..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/elasticsearch-config-1.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/elasticsearch-config-2.png b/docs/en/server/maintenance/aops/figures/elasticsearch-config-2.png deleted file mode 100644 index 620dbbda71259e3b6ee6a2efb646a9692adf2456..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/elasticsearch-config-2.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/elasticsearch3.png b/docs/en/server/maintenance/aops/figures/elasticsearch3.png deleted file mode 100644 index 893aae242aa9117c64f323374d4728d230894973..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/elasticsearch3.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/hot_patch_statuses.png b/docs/en/server/maintenance/aops/figures/hot_patch_statuses.png deleted file mode 100644 index f5f8a3a95705145787e7aaf9c8d1fff404892240..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/hot_patch_statuses.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/kafka-config.png b/docs/en/server/maintenance/aops/figures/kafka-config.png deleted file mode 100644 index 57eb17ccbd2fa63d97f700c29847fac7f08042ff..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/kafka-config.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/modify-mysql-config-file.png b/docs/en/server/maintenance/aops/figures/modify-mysql-config-file.png deleted file mode 100644 index d83425ee0622be329782620318818662b292e88b..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/modify-mysql-config-file.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/prometheus-config.png b/docs/en/server/maintenance/aops/figures/prometheus-config.png deleted file mode 100644 index 7c8d0328967e8eb9bc4aa7465a273b9ef5a30b58..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/prometheus-config.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/query_actual_config.png b/docs/en/server/maintenance/aops/figures/query_actual_config.png deleted file mode 100644 index d5f6e450fc0e1e246492ca71a6fcd8db572eb469..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/query_actual_config.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/query_status.png b/docs/en/server/maintenance/aops/figures/query_status.png deleted file mode 100644 index a3d0b3294bf6e0eeec50a2c2f8c5059bdc256376..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/query_status.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/shanchupeizhi.png b/docs/en/server/maintenance/aops/figures/shanchupeizhi.png deleted file mode 100644 index cfea2eb44f7b8aa809404b8b49b4bd2e24172568..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/shanchupeizhi.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/sync_conf.png b/docs/en/server/maintenance/aops/figures/sync_conf.png deleted file mode 100644 index c8c229bf41b27f1fe6629106957fd5e47851096d..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/sync_conf.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/tianjianode.png b/docs/en/server/maintenance/aops/figures/tianjianode.png deleted file mode 100644 index d68f5e12a62548f2ec59374bda9ab07f43b8b5cb..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/tianjianode.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/view_expected_config.png b/docs/en/server/maintenance/aops/figures/view_expected_config.png deleted file mode 100644 index bbead6a91468d5dee570cfdc66faf9a4ab155d7c..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/view_expected_config.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/web-config.png b/docs/en/server/maintenance/aops/figures/web-config.png deleted file mode 100644 index 721335115922e03f255e67e6b775c1ac0cfbbc50..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/web-config.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/xinzengpeizhi.png b/docs/en/server/maintenance/aops/figures/xinzengpeizhi.png deleted file mode 100644 index 18d71c2e099c19b5d28848eec6a8d11f29ccee27..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/xinzengpeizhi.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/figures/zhuangtaichaxun.png b/docs/en/server/maintenance/aops/figures/zhuangtaichaxun.png deleted file mode 100644 index a3d0b3294bf6e0eeec50a2c2f8c5059bdc256376..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/figures/zhuangtaichaxun.png and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\344\270\273\346\234\272\347\256\241\347\220\206.jpg" "b/docs/en/server/maintenance/aops/figures/\344\270\273\346\234\272\347\256\241\347\220\206.jpg" deleted file mode 100644 index 9f6d8858468c0cc72c1bd395403f064cc63f82bd..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\344\270\273\346\234\272\347\256\241\347\220\206.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\344\270\273\346\234\272\347\273\204.jpg" "b/docs/en/server/maintenance/aops/figures/\344\270\273\346\234\272\347\273\204.jpg" deleted file mode 100644 index fb5472de6b3d30abf6af73e286f70ac8e1d58c15..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\344\270\273\346\234\272\347\273\204.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\344\270\273\346\234\272\350\257\246\346\203\205.jpg" "b/docs/en/server/maintenance/aops/figures/\344\270\273\346\234\272\350\257\246\346\203\205.jpg" deleted file mode 100644 index effd8c29aba14c2e8f301f9f60d8f25ce8c533f0..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\344\270\273\346\234\272\350\257\246\346\203\205.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\344\277\256\346\224\271\346\217\222\344\273\266.png" "b/docs/en/server/maintenance/aops/figures/\344\277\256\346\224\271\346\217\222\344\273\266.png" deleted file mode 100644 index ba4a8d4d9aadb7f712bdcb4b193f05f956d38841..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\344\277\256\346\224\271\346\217\222\344\273\266.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\344\277\256\346\224\271\346\250\241\345\236\213.png" "b/docs/en/server/maintenance/aops/figures/\344\277\256\346\224\271\346\250\241\345\236\213.png" deleted file mode 100644 index 23ff4e5fddb87ac157b1002a70c47d9b4c76b873..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\344\277\256\346\224\271\346\250\241\345\236\213.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\345\210\233\345\273\272\345\267\245\344\275\234\346\265\201.jpg" "b/docs/en/server/maintenance/aops/figures/\345\210\233\345\273\272\345\267\245\344\275\234\346\265\201.jpg" deleted file mode 100644 index 1a2b45e860914a1ac0cfb6908b02fb5cad4cbd60..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\345\210\233\345\273\272\345\267\245\344\275\234\346\265\201.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\345\221\212\350\255\246.jpg" "b/docs/en/server/maintenance/aops/figures/\345\221\212\350\255\246.jpg" deleted file mode 100644 index 89ac88e154275d4be8179d773e7093f2357f425f..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\345\221\212\350\255\246.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\345\221\212\350\255\246\347\241\256\350\256\244.jpg" "b/docs/en/server/maintenance/aops/figures/\345\221\212\350\255\246\347\241\256\350\256\244.jpg" deleted file mode 100644 index 57844f772853c541f7a1328b007a9b6ae4d5caf0..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\345\221\212\350\255\246\347\241\256\350\256\244.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\345\221\212\350\255\246\350\257\246\346\203\205.jpg" "b/docs/en/server/maintenance/aops/figures/\345\221\212\350\255\246\350\257\246\346\203\205.jpg" deleted file mode 100644 index 5b4830b47897a0d51be28238a879a70b1de9ca3b..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\345\221\212\350\255\246\350\257\246\346\203\205.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\345\267\245\344\275\234\345\217\260.jpg" "b/docs/en/server/maintenance/aops/figures/\345\267\245\344\275\234\345\217\260.jpg" deleted file mode 100644 index 998b81e3b88d888d0915dcff48dc8cc5df30d91c..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\345\267\245\344\275\234\345\217\260.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201.jpg" "b/docs/en/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201.jpg" deleted file mode 100644 index 17fb5b13034e1fc5276c68583fed1952415b0b5f..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201\350\257\246\346\203\205.jpg" "b/docs/en/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201\350\257\246\346\203\205.jpg" deleted file mode 100644 index 458e023847bb2ad1f198f5a2dd1691748038137e..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201\350\257\246\346\203\205.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\345\272\224\347\224\250.png" "b/docs/en/server/maintenance/aops/figures/\345\272\224\347\224\250.png" deleted file mode 100644 index aa34bb909ee7c86a95126c13fa532ce93410a931..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\345\272\224\347\224\250.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\346\217\222\344\273\266\347\256\241\347\220\206.jpg" "b/docs/en/server/maintenance/aops/figures/\346\217\222\344\273\266\347\256\241\347\220\206.jpg" deleted file mode 100644 index 2258d03976902052aaf39d36b6374fa680b9f8aa..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\346\217\222\344\273\266\347\256\241\347\220\206.jpg" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/figures/\346\267\273\345\212\240\344\270\273\346\234\272\347\273\204.jpg" "b/docs/en/server/maintenance/aops/figures/\346\267\273\345\212\240\344\270\273\346\234\272\347\273\204.jpg" deleted file mode 100644 index 9fcd24d949e500323e7a466be7cbfaf48d257ad0..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/figures/\346\267\273\345\212\240\344\270\273\346\234\272\347\273\204.jpg" and /dev/null differ diff --git a/docs/en/server/maintenance/aops/gala_ragdoll_user_guide.md b/docs/en/server/maintenance/aops/gala_ragdoll_user_guide.md deleted file mode 100644 index aa199fd1b35aaf7cc123520af66b1a312df1a7b0..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/gala_ragdoll_user_guide.md +++ /dev/null @@ -1,137 +0,0 @@ -# gala-ragdoll Usage Guide - -## Installation - -### Manual Installation - -- Installing using the repo source mounted by Yum. - - Configure the Yum sources **openEuler23.09** and **openEuler23.09:Epol** in the **/etc/yum.repos.d/openEuler.repo** file. - - ```ini - [everything] # openEuler 23.09 officially released repository - name=openEuler23.09 - baseurl=https://repo.openeuler.org/openEuler-23.09/everything/$basearch/ - enabled=1 - gpgcheck=1 - gpgkey=https://repo.openeuler.org/openEuler-23.09/everything/$basearch/RPM-GPG-KEY-openEuler - - [Epol] # openEuler 23.09:Epol officially released repository - name=Epol - baseurl=https://repo.openeuler.org/openEuler-23.09/EPOL/main/$basearch/ - enabled=1 - gpgcheck=1 - gpgkey=https://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler - - ``` - - Run the following commands to download and install gala-ragdoll and its dependencies. - - ```shell - yum install gala-ragdoll # A-Ops configuration source tracing service - yum install python3-gala-ragdoll - - yum install gala-spider # A-Ops architecture awareness service - yum install python3-gala-spider - ``` - -- Installing using the RPM packages. Download **gala-ragdoll-vx.x.x-x.oe1.aarch64.rpm**, and then run the following commands to install the modules. (`x.x-x` indicates the version. Replace it with the actual version number.) - - ```shell - rpm -ivh gala-ragdoll-vx.x.x-x.oe1.aarch64.rpm - ``` - -### Installing Using the A-Ops Deployment Service - -#### Editing the Task List - -Modify the deployment task list and enable the steps for gala_ragdoll: - -```yaml ---- -step_list: - ... - gala_ragdoll: - enable: false - continue: false - ... -``` - -### Configuration File Description - -`/etc/yum.repos.d/openEuler.repo` is the configuration file used to specify the Yum source address. The content of the configuration file is as follows: - -```ini -[OS] -name=OS -baseurl=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/ -enabled=1 -gpgcheck=1 -gpgkey=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler -``` - -### YANG Model Description - -`/etc/yum.repos.d/openEuler.repo` is expressed using the YANG language. For details, see `gala-ragdoll/yang_modules/openEuler-logos-openEuler.repo.yang`. -The following extended fields are added: - -| Extended Field Name | Extended Field Format| Example| -| ------------ | ---------------------- | ----------------------------------------- | -| path | OS_TYPE:CONFIGURATION_FILE_PATH | openEuler:/etc/yum.repos.d/openEuler.repo | -| type | Configuration file type | ini, key-value, json, text, and more | -| spacer | Spacer between a configuration item and its value | " ", "=", ":", and more | - -Attachment: Learning the YANG language: . - -### Creating Domains using Configuration Source Tracing - -#### Viewing the Configuration File - -gala-ragdoll contains the configuration file of the configuration source tracing. - -```shell -[root@openeuler-development-1-1drnd ~]# cat /etc/ragdoll/gala-ragdoll.conf -[git] // Defines the current Git information, including the directory and user information of the Git repository. -git_dir = "/home/confTraceTestConf" -user_name = "user" -user_email = "email" - -[collect] // The collect interface provided by A-Ops. -collect_address = "http://192.168.0.0:11111" -collect_api = "/manage/config/collect" - -[ragdoll] -port = 11114 -``` - -#### Creating the Configuration Domain - -![](./figures/create_service_domain.png) - -#### Adding Managed Nodes to the Configuration Domain - -![](./figures/add_node.png) - -#### Adding Configurations to the Configuration Domain - -![](./figures/add_config.png) - -#### Querying the Expected Configuration - -![](./figures/view_expected_config.png) - -#### Deleting Configurations - -![](./figures/delete_config.png) - -#### Querying the Actual Configuration - -![](./figures/query_actual_config.png) - -#### Verifying the Configuration - -![](./figures/query_status.png) - -#### Configuration Synchronization - -![](./figures/sync_conf.png) diff --git a/docs/en/server/maintenance/aops/image/45515A7F-0EC2-45AA-9B58-AB92DE9B0979.png b/docs/en/server/maintenance/aops/image/45515A7F-0EC2-45AA-9B58-AB92DE9B0979.png deleted file mode 100644 index c810b26ad0c052960dfdf4bfd78e9224ce465318..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/45515A7F-0EC2-45AA-9B58-AB92DE9B0979.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/E574E637-0BF3-4F3B-BAE6-04ECBD09D151.png b/docs/en/server/maintenance/aops/image/E574E637-0BF3-4F3B-BAE6-04ECBD09D151.png deleted file mode 100644 index 6ef6ef9bd126e6c2007389065bbecc1cfdd97f5b..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/E574E637-0BF3-4F3B-BAE6-04ECBD09D151.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/EF5E0132-6E5C-4DD1-8CB5-73035278E233.png b/docs/en/server/maintenance/aops/image/EF5E0132-6E5C-4DD1-8CB5-73035278E233.png deleted file mode 100644 index a2a29d2e1b62f7df409e87d03f2525ba8355f77e..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/EF5E0132-6E5C-4DD1-8CB5-73035278E233.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/hotpatch-fix-pr.png b/docs/en/server/maintenance/aops/image/hotpatch-fix-pr.png deleted file mode 100644 index 209c73f7b4522819c52662a9038bdf19a88eacfd..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/hotpatch-fix-pr.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/hotpatch-pr-success.png b/docs/en/server/maintenance/aops/image/hotpatch-pr-success.png deleted file mode 100644 index 48ea807e03c0f8e6efbceacbbc583c6ac3b3c865..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/hotpatch-pr-success.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/hotpatch-xml.PNG b/docs/en/server/maintenance/aops/image/hotpatch-xml.PNG deleted file mode 100644 index f1916620d3cc7b1c29059bcc5513fdc7ee94127b..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/hotpatch-xml.PNG and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/image-20230607161545732.png b/docs/en/server/maintenance/aops/image/image-20230607161545732.png deleted file mode 100644 index ba6992bea8d2a1d7ca4769ebfdd850b98d1a372f..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/image-20230607161545732.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/image-20230607163358749.png b/docs/en/server/maintenance/aops/image/image-20230607163358749.png deleted file mode 100644 index 191c36b65058ce8dea6bb2f1fe10a85b0177f2cf..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/image-20230607163358749.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/image-20230612113428096.png b/docs/en/server/maintenance/aops/image/image-20230612113428096.png deleted file mode 100644 index 48b59b5e6cb4043703de96066c8d67e85eed4f16..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/image-20230612113428096.png and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/image-20230612113626330.png b/docs/en/server/maintenance/aops/image/image-20230612113626330.png deleted file mode 100644 index 9d3621022deb02b267c3eb29315a7fe33c1f095e..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/image-20230612113626330.png and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/openEuler\344\273\223\350\257\204\350\256\272.png" "b/docs/en/server/maintenance/aops/image/openEuler\344\273\223\350\257\204\350\256\272.png" deleted file mode 100644 index 29223cbddc39f8fcc0b725a3ed83495709e05f78..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/openEuler\344\273\223\350\257\204\350\256\272.png" and /dev/null differ diff --git a/docs/en/server/maintenance/aops/image/patch-file.PNG b/docs/en/server/maintenance/aops/image/patch-file.PNG deleted file mode 100644 index f587a48c2be945beaadecf44a6d711da14be50c6..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/aops/image/patch-file.PNG and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/src-openEuler\344\273\223\350\257\204\350\256\272.png" "b/docs/en/server/maintenance/aops/image/src-openEuler\344\273\223\350\257\204\350\256\272.png" deleted file mode 100644 index 3f8fbd534e8f8a48fdd60a5c3f13b33531a4112a..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/src-openEuler\344\273\223\350\257\204\350\256\272.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\344\273\273\345\212\241\347\273\223\346\236\234\346\237\245\347\234\213.png" "b/docs/en/server/maintenance/aops/image/\344\273\273\345\212\241\347\273\223\346\236\234\346\237\245\347\234\213.png" deleted file mode 100644 index 31fe24f44facaaa62fbeddd3eef0090a3be88908..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\344\273\273\345\212\241\347\273\223\346\236\234\346\237\245\347\234\213.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254.png" "b/docs/en/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254.png" deleted file mode 100644 index feb95836d056335d9d7ef673acc5fdf39e29bd8e..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254\344\273\273\345\212\241.png" "b/docs/en/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254\344\273\273\345\212\241.png" deleted file mode 100644 index e7b1c5fc77c4027f1cdb96941440220db8637e5f..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254\344\273\273\345\212\241.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\345\215\225\346\254\241\346\211\247\350\241\214.png" "b/docs/en/server/maintenance/aops/image/\345\215\225\346\254\241\346\211\247\350\241\214.png" deleted file mode 100644 index 8020c60843c11e566778a1a03c1fa7516de9dd6b..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\345\215\225\346\254\241\346\211\247\350\241\214.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\345\220\257\345\212\250\347\203\255\350\241\245\344\270\201\345\267\245\347\250\213\346\265\201\347\250\213.png" "b/docs/en/server/maintenance/aops/image/\345\220\257\345\212\250\347\203\255\350\241\245\344\270\201\345\267\245\347\250\213\346\265\201\347\250\213.png" deleted file mode 100644 index 1405eced0a14e3956191e111b7c1d588e5b3d27b..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\345\220\257\345\212\250\347\203\255\350\241\245\344\270\201\345\267\245\347\250\213\346\265\201\347\250\213.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\345\221\250\346\234\237\346\211\247\350\241\214.png" "b/docs/en/server/maintenance/aops/image/\345\221\250\346\234\237\346\211\247\350\241\214.png" deleted file mode 100644 index b75743556384fe58690847b3794607ef9a890d6d..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\345\221\250\346\234\237\346\211\247\350\241\214.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\345\221\275\344\273\244\346\211\247\350\241\214.png" "b/docs/en/server/maintenance/aops/image/\345\221\275\344\273\244\346\211\247\350\241\214.png" deleted file mode 100644 index b5c9fbbeb5a4bba5f81d753fa5aa620ad261804c..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\345\221\275\344\273\244\346\211\247\350\241\214.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\345\221\275\344\273\244\347\256\241\347\220\206\347\225\214\351\235\242.png" "b/docs/en/server/maintenance/aops/image/\345\221\275\344\273\244\347\256\241\347\220\206\347\225\214\351\235\242.png" deleted file mode 100644 index c0357fc88d33c8b706203b70016d53629a3db70c..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\345\221\275\344\273\244\347\256\241\347\220\206\347\225\214\351\235\242.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\346\223\215\344\275\234\347\256\241\347\220\206.png" "b/docs/en/server/maintenance/aops/image/\346\223\215\344\275\234\347\256\241\347\220\206.png" deleted file mode 100644 index 3a1b8c3accdfb688da2e8e54eb17e86d18ee4d0b..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\346\223\215\344\275\234\347\256\241\347\220\206.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\346\226\207\344\273\266\346\216\250\351\200\201.png" "b/docs/en/server/maintenance/aops/image/\346\226\207\344\273\266\346\216\250\351\200\201.png" deleted file mode 100644 index c449eb18608e0146275f1b9f4ca41d05d48af021..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\346\226\207\344\273\266\346\216\250\351\200\201.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244.png" "b/docs/en/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244.png" deleted file mode 100644 index 50d5bd4ce5499512acf2b8af86445fe6df6ce29f..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244\344\273\273\345\212\241.png" "b/docs/en/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244\344\273\273\345\212\241.png" deleted file mode 100644 index 792ec4e81017575fd27466a275c0502563808296..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244\344\273\273\345\212\241.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\347\203\255\350\241\245\344\270\201issue\351\223\276\346\216\245\345\222\214pr\351\223\276\346\216\245.png" "b/docs/en/server/maintenance/aops/image/\347\203\255\350\241\245\344\270\201issue\351\223\276\346\216\245\345\222\214pr\351\223\276\346\216\245.png" deleted file mode 100644 index c9f6dc0a0f1a1758bb936b61ec939f8f5eeee633..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\347\203\255\350\241\245\344\270\201issue\351\223\276\346\216\245\345\222\214pr\351\223\276\346\216\245.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\350\204\232\346\234\254\346\211\247\350\241\214.png" "b/docs/en/server/maintenance/aops/image/\350\204\232\346\234\254\346\211\247\350\241\214.png" deleted file mode 100644 index 4ab626ad5949e17a5d486431ae4c0481ca42a442..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\350\204\232\346\234\254\346\211\247\350\241\214.png" and /dev/null differ diff --git "a/docs/en/server/maintenance/aops/image/\350\204\232\346\234\254\347\256\241\347\220\206.png" "b/docs/en/server/maintenance/aops/image/\350\204\232\346\234\254\347\256\241\347\220\206.png" deleted file mode 100644 index 62c60399dc58a79a9ab48a7eb584ce615c11b05c..0000000000000000000000000000000000000000 Binary files "a/docs/en/server/maintenance/aops/image/\350\204\232\346\234\254\347\256\241\347\220\206.png" and /dev/null differ diff --git a/docs/en/server/maintenance/aops/overview.md b/docs/en/server/maintenance/aops/overview.md deleted file mode 100644 index 1dff96bb38202330db97f431a91f0c27919071fd..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/aops/overview.md +++ /dev/null @@ -1,3 +0,0 @@ -# A-Ops User Guide - -This document describes the A-Ops intelligent O&M framework and how to install and use services such as intelligent location and configuration source tracing, helping you quickly understand and use A-Ops. By using A-Ops, you can reduce the O&M cost of the system cluster, quickly locate system faults, and centrally manage configuration items. diff --git a/docs/en/server/maintenance/syscare/_toc.yaml b/docs/en/server/maintenance/syscare/_toc.yaml deleted file mode 100644 index ed8f1705525a752d19762822bd69174dc3d40fde..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/syscare/_toc.yaml +++ /dev/null @@ -1,14 +0,0 @@ -label: SysCare User Guide -isManual: true -description: Online hot patching -sections: - - label: SysCare Introduction - href: ./syscare_introduction.md - - label: SysCare Installation - href: ./installing_syscare.md - - label: SysCare Usage - href: ./using_syscare.md - - label: Constraints - href: ./constraints.md - - label: Common Issues and Solutions - href: ./common_issues_and_solutions.md diff --git a/docs/en/server/maintenance/syscare/common_issues_and_solutions.md b/docs/en/server/maintenance/syscare/common_issues_and_solutions.md deleted file mode 100644 index 0203440f4d006419efe239298ca85ce3a09edf81..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/syscare/common_issues_and_solutions.md +++ /dev/null @@ -1,19 +0,0 @@ -# Common Issues and Solutions - -## Issue 1: "alloc upatch module memory failed" - -Possible cause: The SELinux constraint is triggered. - -Solution: Manually add policies according to the error. The policies to be added vary according to the actual situation. For details, see . - -## Issue 2: "patch file error 2" - -Possible cause: The patch cannot be detected. - -Solution: Use another patch. - -## Issue 3: "build project error 11" - -Possible cause: The source package fails to be compiled. - -Solution: Run `rpmbuild -ra *.src.rpm` to check if the source package can be compiled and the compilation dependencies are satisfied. diff --git a/docs/en/server/maintenance/syscare/constraints.md b/docs/en/server/maintenance/syscare/constraints.md deleted file mode 100644 index 2aae6664362212f6464cf75ddd1a7b56c0f8adca..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/syscare/constraints.md +++ /dev/null @@ -1,37 +0,0 @@ -# Constraints - -## Version Constraints - -OS version: openEuler 22.03 LTS SP1 or SP2 -Architecture: x86 or AArch64 - -## Application Constraints - -Currently, user-mode patches support only Redis and Nginx. - -Note: - -1. Currently, each software needs to be adapted to process the LINE macro. Currently, only Redis and Nginx are adapted. Other software that is not adapted may cause the patch size to be too large. (Parameters will be introduced in the future to support user adaptation.) -2. Each user-mode live patch can contain only one ELF file. To fix multiple bugs, you can pass the patch files of multiple bug fixes to the patch making parameters to make a live patch for multiple bugs. - -## Language Constraints - -Theoretically, patches are compared at the object file level, which is irrelevant to the programming language. Currently, only the C and C++ languages are tested. - -## Others - -- Only 64-bit OSs are supported. -- Only the ELF format can be hot-patched. Interpreted languages are not supported. -- Only GCC and G++ compilers are supported. -- The compiler must support the `-gdwarf`, `-ffunction-sections`, and `-fdata-sections` parameters. -- The debug information must be in the DWARF format. -- Cross compilation is not supported. -- Source files that are in different paths but have the same file name, same global variables, and same functions cannot be recognized. -- Assembly code, including **.S** files and inline assembly code, cannot be modified. -- External symbols (dynamic library dependencies) cannot be added. -- Multiple patches cannot be applied to the same binary file. -- Mixed compilation of C and C++ is not supported. -- C++ exceptions cannot be modified. -- The `-g3` group section compilation option, specific compilation optimization options, and specific GCC plugins are not supported. -- ifunc cannot be added by using `__attribute__((ifunc("foo")))`. -- TLS variables cannot be added by using `__thread int foo`. diff --git a/docs/en/server/maintenance/syscare/figures/syscare_arch.png b/docs/en/server/maintenance/syscare/figures/syscare_arch.png deleted file mode 100644 index e8c931ad3ba6743224ffa133808f8b66239ce486..0000000000000000000000000000000000000000 Binary files a/docs/en/server/maintenance/syscare/figures/syscare_arch.png and /dev/null differ diff --git a/docs/en/server/maintenance/syscare/installing_syscare.md b/docs/en/server/maintenance/syscare/installing_syscare.md deleted file mode 100644 index 9f80648d6b64c45069b40be475c896d28c48141a..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/syscare/installing_syscare.md +++ /dev/null @@ -1,43 +0,0 @@ -# Installing SysCare - -This chapter describes how to install SysCare on openEuler. - -## Installing SysCare Core Components - -### Minimum Hardware Requirements - -* 2 CPUs (x86_64 or AArch64) -* 4 GB memory -* 100 GB drive - -### Prerequisites - -1. openEuler 23.09 has been installed. - -### Installing from Source - -Clone the SysCare source code and then compile and install SysCare as follows: - -```shell -git clone https://gitee.com/openeuler/syscare.git -cd syscare -mkdir build -cd build -cmake -DCMAKE_INSTALL_PREFIX=/usr -DKERNEL_VERSION=$(uname -r) .. -make -make install -``` - -### Installing SysCare from a Repository - -If the repository source contains SysCare packages, you can use the `dnf` or `yum` command to download and install them. - -```shell -dnf install syscare syscare-kmod syscare-build syscare-build-ebpf -``` - -### Uninstalling SysCare - -```shell -dnf erase syscare syscare-kmod syscare-build syscare-build-ebpf -``` diff --git a/docs/en/server/maintenance/syscare/syscare_introduction.md b/docs/en/server/maintenance/syscare/syscare_introduction.md deleted file mode 100644 index 17c05d1368dda9dd18380122ac23d1d1cd3c15b0..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/syscare/syscare_introduction.md +++ /dev/null @@ -1,22 +0,0 @@ -# Introduction to SysCare - -## Overview - -SysCare is an online live patching tool that automatically fixes bugs and vulnerabilities in OS components, such as kernels, user-mode services, and dynamic libraries. - -![img](./figures/syscare_arch.png) - -## SysCare Functions - -SysCare supports live patching for kernels and user-mode services: - -1. One-click creation - SysCare is a unified environment for both kernel- and user-mode live patches that ignores differences between patches, ensuring they can be created with just one click. -2. Patch lifecycle operations - SysCare provides a unified patch management interface for users to install, activate, uninstall, and query patches. - -## SysCare Technologies - -1. Unified patches: SysCare masks differences in detail when creating patches, providing a unified management tool to improve O&M efficiency. -2. User-mode live patching: SysCare supports live patching of multi-process and multi-thread services in user mode, which takes effect when a process or thread is started or restarted. -3. Lazy mechanism: SysCare fixes the ptrace defect (all kernel calls are ended) and improves the fix success rate. diff --git a/docs/en/server/maintenance/syscare/using_syscare.md b/docs/en/server/maintenance/syscare/using_syscare.md deleted file mode 100644 index 80a4d53cb94165bf789ed8f851cbb49e4f956085..0000000000000000000000000000000000000000 --- a/docs/en/server/maintenance/syscare/using_syscare.md +++ /dev/null @@ -1,300 +0,0 @@ -# Using SysCare - -This chapter describes how to use SysCare on openEuler. - -## Prerequisites - -openEuler 22.03 LTS SP2 has been installed. - -## Using SysCare CLI Tools - -You can use `syscare build` to create patches and use `syscare patch` to manage patches, including installing, activating, deactivating, confirming, and uninstalling patches. - -### Creating Patches - -`syscare-build` is used to create patches, for example: - -```shell -syscare build \ - --patch-name "HP001" \ - --source ./redis-6.2.5-1.src.rpm \ - --debuginfo ./redis-debuginfo-6.2.5-1.x86_64.rpm \ - --output ./output \ - ./0001-Prevent-unauthenticated-client-from-easily-consuming.patch -``` - -### Managing Patches - -The pattern for matching a patch name is **TARGET_PACKAGE_NAME/PATCH_NAME**. If **PATCH_NAME** is unique, **TARGET_PACKAGE_NAME/** can be omitted. UUIDs can also be used to identify packages. - -1. Installing a patch: - - ```shell - syscare apply PATCH_NAME - ``` - -2. Activating a patch: - - ```shell - syscare active PATCH_NAME - ``` - -3. Deactivating a patch: - - ```shell - syscare deactive PATCH_NAME - ``` - -4. Uninstalling/removing a patch: - - ```shell - syscare remove PATCH_NAME - ``` - -5. Confirming a patch: - - ```shell - syscare accept patch-name - ``` - -6. Querying the status of a patch: - - ```shell - syscare status PATCH_NAME - ``` - -7. Querying all SysCare patches: - - ```shell - syscare list - ``` - -## Patch Making Module - -### SysCare Patch Making Tool - -`syscare-build` is a CLI tool that creates kernel- and user-mode live patches from RPM packages. Patches are encapsulated into RPM packages. - -### Command Parameters - -```text -Usage: syscare-build [OPTIONS] --patch-name --source --debuginfo ... - -Arguments: - ... Patch file(s) - -Options: - -n, --patch-name Patch name - --patch-arch Patch architecture [default: x86_64] - --patch-version Patch version [default: 1] - --patch-release Patch release [default: 1] - --patch-description Patch description [default: (none)] - --target-name Patch target name - -t, --target-elfname Patch target executable name - --target-arch parch target architecture - --target-epoch Patch target epoch - --target-version Patch target version - --target-release Patch target release - --target-license Patch target license - -s, --source Source package - -d, --debuginfo Debuginfo package - --workdir Working directory [default: .] - -o, --output Generated patch output directory [default: .] - -j, --jobs Parallel build jobs [default: 96] - --skip-compiler-check Skip compiler version check (not recommended) - --skip-cleanup Skip post-build cleanup - -v, --verbose Provide more detailed info - -h, --help Print help information - -V, --version Print version information -``` - -### Parameters - -|Name|Description|Type|Note| -| ---- | ---- | ---- | ---- | -| *\* |Patch file path|String|Mandatory. The value can be multiple valid paths.| - -### Options - -|Name|Description|Type|Note| -| ---- | ---- | ---- | ---- | -|-n, --patch-name *\*|Patch name|String|Mandatory. The value must comply with the RPM package naming convention.| -|--patch-arch *\*|Patch architecture|String|The default value is the current architectures. The value must comply with the RPM package naming convention.| -|--patch-version *\*|Patch version|String|The default value is **1**. The value must comply with the RPM package naming convention.| -|--patch-release *\*|Patch release|Integer|The default value is **1**. The value must comply with the RPM package naming convention.| -|--patch-description *\*|Patch description|String|The default value is **none**.| -|--target-name *\*|Target software RPM package name|String|The default value is determined by the **src.rpm** package specified by `--source`.| -|--target-arch *\*|Target software RPM package architecture|String|The default value is determined by the **src.rpm** package specified by `--source`.| -|--target-epoch *\*|Target software RPM package epoch|String|The default value is determined by the **src.rpm** package specified by `--source`.| -|--target-version *\*|Target software RPM package version|String|The default value is determined by the **src.rpm** package specified by `--source`.| -|--target-release *\*|Target software RPM package release|String|The default value is determined by the **src.rpm** package specified by `--source`.| -|--target-license *\*|Target software RPM package license|String|The default value is determined by the **src.rpm** package specified by `--source`.| -|-s, --source *\*|Target software **src.rpm** package path|String|Mandatory. The value must be a valid path.| -|-d, --debuginfo *\*|Target software **debuginfo** package path|String|Mandatory. The value must be a valid path.| -|--workdir *\*|Temporary directory|String|The default value is the current directory. The value must be a valid path.| -|-o, --output *\*|Patch output directory|String|The default value is the current directory. The value must be a valid path.| -|-j, --jobs *\*|Number of parallel compilation jobs|Integer|The default value is the number of CPU threads| -|--skip-compiler-check|Skip compiler check|Flag|-| -|--skip-cleanup|Skip temporary file cleanup|Flag|-| -|-v, --verbose|Print detail information|Flag|-| -|-h, --help|Print help information|Flag|-| -|-V, --version|Print version information|Flag|-| - -An example command is as follows: - -```shell -syscare build \ - --patch-name "HP001" \ - --patch-description "CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users." \ - --source ./redis-6.2.5-1.src.rpm \ - --debuginfo ./redis-debuginfo-6.2.5-1.x86_64.rpm \ - --output ./output \ - ./0001-Prevent-unauthenticated-client-from-easily-consuming.patch -``` - -### Patch Output - -- A patch package that contains the binary file of SysCare and meta information. This package is used to install the live patch. -- A patch source package that contains the target software source code and the new patch. This package is used to create live patches for new versions. - -Naming rules: - -- Patch package: patch-*TARGET_SOFTWARE_FULL_NAME*-*PATCH_NAME*-*PATCH_VERSION*-*PATCH_RELEASE*.*PATCH_ARCHITECTURE*.rpm -- Patch source code package: *TARGET_SOFTWARE_FULL_NAME*-*PATCH_NAME*-*PATCH_VERSION*-*PATCH_RELEASE*.*PATCH_ARCHITECTURE*.src.rpm - -### Patch Information - -The patch meta information contains the following fields: - -| Field | Description | -| ----------- | ---------------------- | -| uuid | Patch ID | -| name | Patch name | -| version | Patch version | -| release | Patch release | -| arch | Patch architecture | -| type | Patch type | -| target | Target software name | -| target_elf | Name of the executable file of the target software | -| digest | Patch fingerprint | -| license | Target software license | -| description | Patch description | -| patch| Patch file list | - -Example: - -```text -syscare info redis-6.2.5-1/HP001 -uuid: ec503257-aa75-4abc-9045-c4afdd7ae0f2 -name: HP001 -version: 1 -release: 1 -arch: x86_64 -type: UserPatch -target: redis-6.2.5-1 -target_elf: redis-cli, redis-server, redis-benchmark -digest: 31fc7544 -license: BSD and MIT -description: CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users. -patch: -31fc7544 0001-Prevent-unauthenticated-client-from-easily-consuming.patch -``` - -### Patch Making Process - -1. Prepare the source package (source RPM) and debugging information package (debuginfo RPM) of the target software. - - Example: - - ```shell - yumdownloader kernel --source - - yumdownloader kernel --debuginfo - ``` - -2. Ensure that the related software build dependencies are installed. - - Example: - - ```shell - dnf install make gcc bison flex openssl-devel dwarves python3-devel elfutils-libelf-devel - ``` - -3. Run the `syscare-build` command. - - Example: - - ```shell - syscare build \ - --patch-name HP001 \ - --source kernel-5.10.0-60.66.0.91.oe2203.src.rpm \ - --debuginfo kernel-debuginfo-5.10.0-60.66.0.91.oe2203.x86_64.rpm \ - --output output \ - 001-kernel-patch-test.patch - ``` - - During patch making, a temporary folder whose name starts with **syscare-build** is created in the directory specified by `--workdir` (the current directory by default) to store temporary files and build logs. - - Example: - - ```shell - $ ls -l syscare-build.111602/ - total 100 - -rw-r--r--. 1 dev dev 92303 Nov 12 00:00 build.log - drwxr-xr-x. 6 dev dev 4096 Nov 12 00:00 package - drwxr-xr-x. 4 dev dev 4096 Nov 12 00:00 patch - ``` - - Build logs (**build.log**) are generated in the temporary folder. - - ```shell - $ cat syscare-build.111602/build.log | less - ... - ``` - - If the patch is created successfully and `--skip-compiler-check` is not specified, the temporary folder will be deleted after patch making. - -4. Check the build result. - - Example: - - ```shell - $ ls -l - total 189680 - -rw-r--r--. 1 dev dev 194218767 Nov 12 00:00 kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm - -rw-r--r--. 1 dev dev 10937 Nov 12 00:00 patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm - ``` - - In the output: - - **patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm** is the patch package. - - **kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm** is the patch source package. - -5. Install the patch. - - ```shell - dnf install patch-xxx.rpm - ``` - - After the patch is installed, files in the patch are stored in the **/usr/lib/syscare/patches/target_software_package_name/patch_name** directory - -6. Uninstall the patch. - - ```shell - dnf remove patch-xxx - ``` - - The patch package will be uninstalled when the patch is beyond the **ACTIVED** state. - -### Error Handling - -If an error occurs, see the build logs: - -Error output example: - -```text -... -Building patch, this may take a while -ERROR: Process '/usr/libexec/syscare/upatch-build' exited unsuccessfully, exit_code=255 -``` diff --git a/docs/en/server/network/gazelle/_toc.yaml b/docs/en/server/network/gazelle/_toc.yaml deleted file mode 100644 index f0c1cd5f3f4d7f981d52a1b3d3b414673d474dd3..0000000000000000000000000000000000000000 --- a/docs/en/server/network/gazelle/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: Gazelle User Guide -isManual: true -description: Improved network I/O throughput for applications -sections: - - label: Gazelle User Guide - href: ./gazelle_user_guide.md diff --git a/docs/en/server/network/gazelle/gazelle_user_guide.md b/docs/en/server/network/gazelle/gazelle_user_guide.md deleted file mode 100644 index 66d26ad648dad56512ad4de4d2e89059b06e5da8..0000000000000000000000000000000000000000 --- a/docs/en/server/network/gazelle/gazelle_user_guide.md +++ /dev/null @@ -1,285 +0,0 @@ -# Gazelle User Guide - -## Overview - -Gazelle is a high-performance user-mode protocol stack. It directly reads and writes NIC packets in user mode based on DPDK and transmit the packets through shared hugepage memory, and uses the LwIP protocol stack. Gazelle greatly improves the network I/O throughput of applications and accelerates the network for the databases, such as MySQL and Redis. - -- High Performance - Zero-copy and lock-free packets that can be flexibly scaled out and scheduled adaptively. -- Universality - Compatible with POSIX without modification, and applicable to different types of applications. - -In the single-process scenario where the NIC supports multiple queues, use **liblstack.so** only to shorten the packet path. - -## Installation - -Configure the Yum source of openEuler and run the`yum` command to install Gazelle. - -```sh -yum install dpdk -yum install libconfig -yum install numactl -yum install libboundscheck -yum install libpcap -yum install gazelle -``` - -> NOTE: -> The version of dpdk must be 21.11-2 or later. - -## How to Use - -To configure the operating environment and use Gazelle to accelerate applications, perform the following steps: - -### 1. Installing the .ko File as the root User - -Install the .ko files based on the site requirements to bind NICs to the user-mode driver. - -Bind the NIC from the kernel driver to the user-mode driver. Choose one of the following .ko files based on the site requirements. - -```sh -#If the IOMMU is available -modprobe vfio-pci - -#If the IOMMU is not available and the VFIO supports the no-IOMMU mode -modprobe vfio enable_unsafe_noiommu_mode=1 -modprobe vfio-pci - -#Other cases -modprobe igb_uio -``` - ->NOTE: -You can check whether the IOMMU is enabled based on the BIOS configuration. - -### 2. Binding the NIC Using DPDK - -Bind the NIC to the driver selected in Step 1 to provide an interface for the user-mode NIC driver to access the NIC resources. - -```sh -#Using vfio-pci -dpdk-devbind -b vfio-pci enp3s0 - -#Using igb_uio -dpdk-devbind -b igb_uio enp3s0 -``` - -### 3. Configuring Memory Huge Pages - -Gazelle uses hugepage memory to improve efficiency. You can configure any size for the memory huge pages reserved by the system using the **root** permissions. Each memory huge page requires a file descriptor. If the memory is large, you are advised to use 1 GB huge pages to avoid occupying too many file descriptors. -Select a page size based on the site requirements and configure sufficient memory huge pages. Run the following commands to configure huge pages: - -```sh -#Configuring 1024 2 MB huge pages on node0. The total memory is 2 GB. -echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages - -#Configuring 5 1 GB huge pages on node0. The total memory is 5 GB. -echo 5 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages -``` - ->NOTE: -Run the **cat** command to query the actual number of reserved pages. If the continuous memory is insufficient, the number may be less than expected. - -### 4. Mounting Memory Huge Pages - -Create a directory for the lstack process to access the memory huge pages. Run the following commands: - -```sh -mkdir -p /mnt/hugepages-lstack -chmod -R 700 /mnt/hugepages-lstack - -mount -t hugetlbfs nodev /mnt/hugepages-lstack -o pagesize=2M -``` - -### 5. Enabling Gazelle for an Application - -Enable Gazelle for an application using either of the following methods as required. - -- Recompile the application and replace the sockets interface. - -```sh -#Add the Makefile of Gazelle to the application makefile. --include /etc/gazelle/lstack.Makefile - -#Add the LSTACK_LIBS variable when compiling the source code. -gcc test.c -o test ${LSTACK_LIBS} -``` - -- Use the **LD_PRELOAD** environment variable to load the Gazelle library. - Use the **GAZELLE_BIND_PROCNAME** environment variable to specify the process name, and **LD_PRELOAD** to specify the Gazelle library path. - - ```sh - GAZELLE_BIND_PROCNAME=test LD_PRELOAD=/usr/lib64/liblstack.so ./test - ``` - -- Use the **GAZELLE_THREAD_NAME** environment variable to specify the thread bound to Gazelle. - If only one thread of a multi-thread process meets the conditions for using Gazelle, use **GAZELLE_THREAD_NAME** to specify the thread for using Gazelle. Other threads use kernel-mode protocol stack. - - ```sh - GAZELLE_BIND_PROCNAME=test GAZELLE_THREAD_NAME=test_thread LD_PRELOAD=/usr/lib64/liblstack.so ./test - ``` - -### 6. Configuring Gazelle - -- The **lstack.conf** file is used to specify the startup parameters of lstack. The default path is **/etc/gazelle/lstack.conf**. The parameters in the configuration file are as follows: - -|Options|Value|Remarks| -|:---|:---|:---| -|dpdk_args|--socket-mem (mandatory)
--huge-dir (mandatory)
--proc-type (mandatory)
--legacy-mem
--map-perfect
-d|DPDK initialization parameter. For details, see the DPDK description.
**--map-perfect** is an extended feature. It is used to prevent the DPDK from occupying excessive address space and ensure that extra address space is available for lstack.
The **-d** option is used to load the specified .so library file.| -|listen_shadow| 0/1 | Whether to use the shadow file descriptor for listening. This function is enabled when there is a single listen thread and multiple protocol stack threads.| -|use_ltran| 0/1 | Whether to use ltran. This parameter is no longer supported.| -|num_cpus|"0,2,4 ..."|IDs of the CPUs bound to the lstack threads. The number of IDs is the number of lstack threads (less than or equal to the number of NIC queues). You can select CPUs by NUMA nodes.| -|low_power_mode|0/1|Whether to enable the low-power mode. This parameter is not supported currently.| -|kni_switch|0/1|Whether to enable the rte_kni module. The default value is **0**. This parameter is no longer supported.| -|unix_prefix|"string"|Prefix string of the Unix socket file used for communication between Gazelle processes. By default, this parameter is left blank. The value must be the same as the value of **unix_prefix** in **ltran.conf** of the ltran process that participates in communication, or the value of the **-u** option for `gazellectl`. The value cannot contain special characters and can contain a maximum of 128 characters.| -|host_addr|"192.168.xx.xx"|IP address of the protocol stack, which is also the IP address of the application.| -|mask_addr|"255.255.xx.xx"|Subnet mask.| -|gateway_addr|"192.168.xx.1"|Gateway address.| -|devices|"aa:bb:cc:dd:ee:ff"|MAC address for NIC communication. The NIC is used as the primary bond NIC in bond 1 mode. | -|app_bind_numa|0/1|Whether to bind the epoll and poll threads of an application to the NUMA node where the protocol stack is located. The default value is 1, indicating that the threads are bound.| -|send_connect_number|4|Number of connections for sending packets in each protocol stack loop. The value is a positive integer.| -|read_connect_number|4|Number of connections for receiving packets in each protocol stack loop. The value is a positive integer.| -|rpc_number|4|Number of RPC messages processed in each protocol stack loop. The value is a positive integer.| -|nic_read_num|128|Number of data packets read from the NIC in each protocol stack cycle. The value is a positive integer.| -|bond_mode|-1|Bond mode. Currently, two network ports can be bonded. The default value is -1, indicating that the bond mode is disabled. bond1/4/6 is supported.| -|bond_slave_mac|"aa:bb:cc:dd:ee:ff;AA:BB:CC:DD:EE:FF"|MAC addresses of the bond network ports. Separate the MAC addresses with semicolons (;).| -|bond_miimon|10|Listening interval in bond mode. The default value is 10. The value ranges from 0 to 1500.| -|udp_enable|0/1|Whether to enable the UDP function. The default value is 1.| -|nic_vlan_mode|-1|Whether to enable the VLAN mode. The default value is -1, indicating that the VLAN mode is disabled. The value ranges from -1 to 4095. IDs 0 and 4095 are commonly reserved in the industry and have no actual effect.| -|tcp_conn_count|1500|Maximum number of TCP connections. The value of this parameter multiplied by **mbuf_count_per_conn** is the size of the mbuf pool applied for during initialization. If the value is too small, the startup fails. The value of (**tcp_conn_count** x **mbuf_count_per_conn** x 2048) cannot be greater than the huge page size.| -|mbuf_count_per_conn|170|Number of mbuf required by each TCP connection. The value of this parameter multiplied by **tcp_conn_count** is the size of the mbuf address pool applied for during initialization. If the value is too small, the startup fails. The value of (**tcp_conn_count** x **mbuf_count_per_conn** x 2048) cannot be greater than the huge page size.| - -lstack.conf example: - -```sh -dpdk_args=["--socket-mem", "2048,0,0,0", "--huge-dir", "/mnt/hugepages-lstack", "--proc-type", "primary", "--legacy-mem", "--map-perfect"] - -use_ltran=1 -kni_switch=0 - -low_power_mode=0 - -num_cpus="2,22" -num_wakeup="3,23" - -host_addr="192.168.1.10" -mask_addr="255.255.255.0" -gateway_addr="192.168.1.1" -devices="aa:bb:cc:dd:ee:ff" - -send_connect_number=4 -read_connect_number=4 -rpc_number=4 -nic_read_num=128 -mbuf_pool_size=1024000 -bond_mode=1 -bond_slave_mac="aa:bb:cc:dd:ee:ff;AA:BB:CC:DD:EE:FF" -udp_enable=1 -nic_vlan_mode=-1 -``` - -- The ltran mode is deprecated. If multiple processes are required, try the virtual network mode using SR-IOV network hardware. - -### 7. Starting an Application - -- Start the application. - If the environment variable **LSTACK_CONF_PATH** is not used to specify the configuration file before the application is started, the default configuration file path **/etc/gazelle/lstack.conf** is used. - - ```sh - export LSTACK_CONF_PATH=./lstack.conf - LD_PRELOAD=/usr/lib64/liblstack.so GAZELLE_BIND_PROCNAME=redis-server redis-server redis.conf - ``` - -### 8. APIs - -Gazelle wraps the POSIX interfaces of the application. The code of the application does not need to be modified. - -### 9. Debugging Commands - -```sh -Usage: gazellectl [-h | help] - or: gazellectl lstack {show | set} {ip | pid} [LSTACK_OPTIONS] [time] [-u UNIX_PREFIX] - - where LSTACK_OPTIONS := - show lstack all statistics - -r, rate show lstack statistics per second - -s, snmp show lstack snmp - -c, connetct show lstack connect - -l, latency show lstack latency - -x, xstats show lstack xstats - -k, nic-features show state of protocol offload and other feature - -a, aggregatin [time] show lstack send/recv aggregation - set: - loglevel {error | info | debug} set lstack loglevel - lowpower {0 | 1} set lowpower enable - [time] measure latency time default 1S -``` - -The `-u` option specifies the prefix of the Unix socket for communication between Gazelle processes. The value of this parameter must be the same as that of **unix_prefix** in the **lstack.conf** file. - -**Packet Capturing Tool** -The NIC used by Gazelle is managed by DPDK. Therefore, tcpdump cannot capture Gazelle packets. As a substitute, Gazelle uses gazelle-pdump provided in the dpdk-tools software package as the packet capturing tool. gazelle-pdump uses the multi-process mode of DPDK to share memory with the lstack process. -[Usage](https://gitee.com/openeuler/gazelle/blob/master/doc/pdump.md) - -**Thread Binding** -When the starting a lstack process, you can specify a thread bound to lstack using the environment variable **GAZELLE_THREAD_NAME**. When there are multiple threads in the service process, you can use this variable to specify the thread whose network interface needs to be managed by lstack. Other threads will use the kernel-mode protocol stack. By default, this parameter is left blank, that is, all threads in the process are bound. - -### 10. Precautions - -### 1. Location of the DPDK Configuration File - -For the **root** user, the configuration file is stored in the **/var/run/dpdk** directory after the DPDK is started. -For a non-root user, the path of the DPDK configuration file is determined by the environment variable **XDG_RUNTIME_DIR**. - -- If **XDG_RUNTIME_DIR** is not set, the DPDK configuration file is stored in **/tmp/dpdk**. -- If **XDG_RUNTIME_DIR** is set, the DPDK configuration file is stored in the path specified by **XDG_RUNTIME_DIR**. -- Note that **XDG_RUNTIME_DIR** is set by default on some servers. - -## Restrictions - -Restrictions of Gazelle are as follows: - -### Function Restrictions - -- Blocking **accept()** or **connect()** is not supported. -- A maximum of 1500 TCP connections are supported. -- Currently, only TCP, ICMP, ARP, IPv4, and UDP are supported. -- When a peer end pings Gazelle, the specified packet length must be less than or equal to 14,000 bytes. -- Transparent huge pages are not supported. -- VM NICs do not support multiple queues. - -### Operation Restrictions - -- By default, the command lines and configuration files provided by Gazelle requires **root** permissions. Privilege escalation and changing of file owner are required for non-root users. -- To bind the NIC from user-mode driver back to the kernel driver, you must exit Gazelle first. -- Memory huge pages cannot be remounted to subdirectories created in the mount point. -- The minimum hugepage memory of each application instance protocol stack thread is 800 MB. -- Gazelle supports only 64-bit OSs. -- The `-march=native` option is used when building the x86 version of Gazelle to optimize Gazelle based on the CPU instruction set of the build environment (Intel® Xeon® Gold 5118 CPU @ 2.30GHz). Therefore, the CPU of the operating environment must support the SSE4.2, AVX, AVX2, and AVX-512 instruction set extensions. -- The maximum number of IP fragments is 10 (the maximum ping packet length is 14,790 bytes). TCP does not use IP fragments. -- You are advised to set the **rp_filter** parameter of the NIC to 1 using the `sysctl` command. Otherwise, the Gazelle protocol stack may not be used as expected. Instead, the kernel protocol stack is used. -- The hybrid bonding of multiple types of NICs is not supported. -- The active/standby mode (bond1 mode) supports active/standby switchover only when a fault occurs at the link layer (for example, the network cable is disconnected), but does not support active/standby switchover when a fault occurs at the physical layer (for example, the NIC is powered off or removed). -- If the length of UDP packets to be sent exceeds 45952 (32 x 1436) bytes, increase the value of **send_ring_size** to at least 64. - -## Precautions - -You need to evaluate the use of Gazelle based on application scenarios. - -The ltran mode and kni module is no longer supported due to changes in the dependencies and upstream community. - -**Shared Memory** - -- Current situation: - The memory huge pages are mounted to the **/mnt/hugepages-lstack** directory. During process initialization, files are created in the **/mnt/hugepages-lstack** directory. Each file corresponds to a huge page, and the mmap function is performed on the files. -- Current mitigation measures - The huge page file permission is **600**. Only the owner can access the files. The default owner is the **root** user. Other users can be configured. - Huge page files are locked by DPDK and cannot be directly written or mapped. -- Caution - Malicious processes belonging to the same user imitate the DPDK implementation logic to share huge page memory using huge page files and perform write operations to damage the huge page memory. As a result, the Gazelle program crashes. It is recommended that the processes of a user belong to the same trust domain. - -**Traffic Limit** -Gazelle does not limit the traffic. Users can send packets at the maximum NIC line rate to the network, which may congest the network. - -**Process Spoofing** -Ensure that all lstack processes are trusted. diff --git a/docs/en/server/performance/cpu_optimization/kae/_toc.yaml b/docs/en/server/performance/cpu_optimization/kae/_toc.yaml deleted file mode 100644 index d3081413b308bd7bb27b6afeb196cfc813998160..0000000000000000000000000000000000000000 --- a/docs/en/server/performance/cpu_optimization/kae/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: Using the Kunpeng Accelerator Engine (KAE) -isManual: true -description: The KAE acceleration engine minimizes processor usage while enhancing its efficiency. -sections: - - label: Using the Kunpeng Accelerator Engine (KAE) - href: ./using_the_kae.md diff --git a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143189.png b/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143189.png deleted file mode 100644 index 7656f3aa5f5907f1e9f981c0cb5d44d4fcb84ef3..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143189.png and /dev/null differ diff --git a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143191.png b/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143191.png deleted file mode 100644 index a82d1bcb2b719e3a372f63ae099cb5d52a93b536..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143191.png and /dev/null differ diff --git a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143193.png b/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143193.png deleted file mode 100644 index 94614045bddb0871b44d2f6603402f914871ad61..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143193.png and /dev/null differ diff --git a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143195.png b/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143195.png deleted file mode 100644 index 05011dbabe2d245c37ec68de646851bf955a2361..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143195.png and /dev/null differ diff --git a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143196.png b/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143196.png deleted file mode 100644 index 9bdbac969920af77721980804bd1c5433bea5bc9..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143196.png and /dev/null differ diff --git a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143197.png b/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143197.png deleted file mode 100644 index 5ea4eec4002374096d8ac18eb973ed3bf874b632..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143197.png and /dev/null differ diff --git a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143198.png b/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143198.png deleted file mode 100644 index 7d6360c150495d204da4b069e6dc62677580888f..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/cpu_optimization/kae/figures/en-us_image_0231143198.png and /dev/null differ diff --git a/docs/en/server/performance/cpu_optimization/kae/using_the_kae.md b/docs/en/server/performance/cpu_optimization/kae/using_the_kae.md deleted file mode 100644 index eeb067bd0588cba59d1b1ce81138e17f3a8e2c21..0000000000000000000000000000000000000000 --- a/docs/en/server/performance/cpu_optimization/kae/using_the_kae.md +++ /dev/null @@ -1,724 +0,0 @@ -# Using the Kunpeng Accelerator Engine (KAE) - -## Overview - -Kunpeng Accelerator Engine \(KAE\) is a software acceleration library of openEuler, which provides hardware acceleration engine function on the Kunpeng 920 processor. It supports symmetric encryption, asymmetric encryption, and digital signature. It is ideal for accelerating SSL/TLS applications, reducing processor consumption and improving processor efficiency. In addition, users can quickly migrate existing services through the standard OpenSSL interface. - -The KAE supports the following algorithms: - -- Digest algorithm SM3, which supports asynchronous mode. -- Symmetric encryption algorithm SM4, which supports asynchronous, CTR, XTS, and CBC modes. -- Symmetric encryption algorithm AES, which supports asynchronous, ECB, CTR, XTS, and CBC modes. -- Asymmetric algorithm RSA, which supports asynchronous mode and key sizes 1024, 2048, 3072, and 4096. -- Key negotiation algorithm DH, which supports asynchronous mode and key sizes 768, 1024, 1536, 2048, 3072, and 4096. - -## Application Scenarios - -The KAE applies to the following scenarios, as shown in [Table 1](#table11915824163418). - -**Table 1** Application scenarios - - - - - - - - - - - - - - - - - - - -

Scenario

-

Data

-

Big data

-

Stream data

-

Data encryption

-

Block data

-

Intelligent security protection

-

Video stream data

-

Web service

-

Handshake connections

-
- -## Installing, Running, and Uninstalling the KAE - -### Installing the Accelerator Software Packages - -#### Preparing for Installation - -##### Environment Requirements - -- The accelerator engine is enabled on TaiShan 200 servers. - -> [!NOTE]NOTE - -- You need to import the accelerator license. For details, see section "License Management" in the [TaiShan Rack Server iBMC \(V500 or Later\) User Guide](https://support.huawei.com/enterprise/en/doc/EDOC1100121685/426cffd9?idPath=7919749%257C9856522%257C21782478%257C8060757). -- If the accelerator is used in the physical machine scenario, the SMMU must be disabled. For details, see the [TaiShan 200 Server BIOS Parameter Reference](https://support.huawei.com/enterprise/en/doc/EDOC1100088647). - -- CPU: Kunpeng 920 -- OS: openEuler-21.09-aarch64-dvd.iso - -##### KAE Software Description - -**Table 2** RPM software packages of the KAE - - - - - - - - - - - - - - - - -

Software Package

-

Description

-

kae_driver-version_num-1.OS_type.aarch64.rpm

-

Accelerator driver, including the uacce.ko, hisi_qm.ko, hisi_sec2.ko, and hisi_hpre.ko kernel modules.

-

Algorithms supported: SM3, SM4, AES, RSA, and DH.

-

libwd-version_num-1.OS_type.aarch64.rpm

-

Coverage: libwd.so dynamic link library

-

It provides interfaces for the KAE.

-

libkae-version_num-1.OS_type.aarch64.rpm

-

Dependency: libwd RPM package

-

Coverage: libkae.so dynamic link library

-

Algorithms supported: SM3, SM4, AES, RSA, and DH.

-
- -#### Installing the Accelerator Software Package - -##### Prerequisites - -- The remote SSH login tool has been installed on the local PC. -- The openEuler OS has been installed. -- The RPM tool is running properly. -- OpenSSL 1.1.1a or a later version has been installed. - - You can run the following commands to query the version number of OpenSSL: - - - openssl version - -##### Procedure - -1. Log in to the openEuler OS CLI as user **root**. -2. Create a directory for storing accelerator engine software packages. -3. Use SSH to copy all accelerator engine software packages to the created directory. -4. In the directory, run the **rpm -ivh** command to install the accelerator engine software packages. - - > [!NOTE]NOTE - > Install the **libwd** package first because the **libkae** package installation depends on the **libwd** package. - - ```shell - rpm -ivh uacce*.rpm hisi*.rpm libwd-*.rpm libkae*.rpm - ``` - - ```text - Verifying... ################################# [100%] - Preparing... ################################# [100%] - checking installed modules - uacce modules start to install - Updating / installing... - 1:uacce-1.2.10-4.oe1 ################################# [ 14%] - uacce modules installed - 2:libwd-1.2.10-3.oe1 ################################# [ 29%] - 3:libkae-1.2.10-3.oe1 ################################# [ 43%] - checking installed modules - hisi_hpre modules start to install - 4:hisi_hpre-1.2.10-4.oe1 ################################# [ 57%] - hisi_hpre modules installed - checking installed modules - hisi_rde modules start to install - 5:hisi_rde-1.2.10-4.oe1 ################################# [ 71%] - hisi_rde modules installed - checking installed modules - hisi_sec2 modules start to install - 6:hisi_sec2-1.2.10-4.oe1 ################################# [ 86%] - hisi_sec2 modules installed - checking installed modules - hisi_zip modules start to install - 7:hisi_zip-1.2.10-4.oe1 ################################# [100%] - hisi_zip modules installed - ``` - -5. Run the **rpm -qa** command to check whether the accelerator software packages have been installed successfully. Run the **rpm -ql** command to check whether files in the software packages are correct. The following is an example: - - ```shell - rpm -qa|grep -E "hisi|uacce|libwd|libkae" - ``` - - ```text - hisi_rde-1.2.10-4.oe1.aarch64 - hisi_sec2-1.2.10-4.oe1.aarch64 - libkae-1.2.10-3.oe1.aarch64 - hisi_hpre-1.2.10-4.oe1.aarch64 - uacce-1.2.10-4.oe1.aarch64 - libwd-1.2.10-3.oe1.aarch64 - hisi_zip-1.2.10-4.oe1.aarch64 - ``` - - ```shell - rpm -ql uacce hisi* libwd* libkae - ``` - - ```text - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_qm.ko - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/uacce.ko - /etc/modprobe.d/hisi_hpre.conf - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_hpre.ko - /etc/modprobe.d/hisi_rde.conf - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_rde.ko - /etc/modprobe.d/hisi_sec2.conf - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_sec2.ko - /etc/modprobe.d/hisi_zip.conf - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_zip.ko - /usr/include/warpdrive/config.h - /usr/include/warpdrive/include/uacce.h - /usr/include/warpdrive/smm.h - /usr/include/warpdrive/wd.h - /usr/include/warpdrive/wd_bmm.h - /usr/include/warpdrive/wd_cipher.h - /usr/include/warpdrive/wd_comp.h - /usr/include/warpdrive/wd_dh.h - /usr/include/warpdrive/wd_digest.h - /usr/include/warpdrive/wd_rsa.h - /usr/lib64/libwd.so.1.2.10 - /usr/local/lib/engines-1.1/libkae.so.1.2.10 - ``` - -6. Restart the system or run commands to manually load the accelerator engine drivers to the kernel in sequence, and check whether the drivers are successfully loaded. - - ```shell - modprobe uacce - lsmod | grep uacce - modprobe hisi_qm - lsmod | grep hisi_qm - modprobe hisi_sec2 # Loads the hisi_sec2 driver to the kernel based on the configuration file in /etc/modprobe.d/hisi_sec2.conf. - modprobe hisi_hpre # Loads the hisi_hpre driver to the kernel based on the configuration file in /etc/modprobe.d/hisi_hpre.conf. - ``` - -##### Environment Variables Setup - -Run the following command to export the environment variables \(If you have specified the installation directory, set **/usr/local** to the actual one\): - -```shell -export OPENSSL_ENGINES=/usr/local/lib/engines-1.1 -``` - -##### Post-Installation Check - -Run the **rpm -qa** command to check whether the accelerator engine software packages are successfully installed. - -If the command output contains _software package name_**-**_version number_**-**, the software packages are successfully installed. The following is an example: - -```shell -rpm -qa|grep -E "hisi|uacce|libwd|libkae" -``` - -```text -hisi_rde-1.2.10-4.oe1.aarch64 -hisi_sec2-1.2.10-4.oe1.aarch64 -libkae-1.2.10-3.oe1.aarch64 -hisi_hpre-1.2.10-4.oe1.aarch64 -uacce-1.2.10-4.oe1.aarch64 -libwd-1.2.10-3.oe1.aarch64 -hisi_zip-1.2.10-4.oe1.aarch64 -``` - -#### Required Operations After Installation - -##### Testing the OpenSSL Accelerator Engine - -You can run the following commands to test some accelerator functions. - -- Use the OpenSSL software algorithm to test the RSA performance. - - ```shell - $ ./openssl speed -elapsed rsa2048 - ... - sign verify sign/s verify/s - rsa 2048 bits 0.001384s 0.000035s 724.1 28365.8. - ``` - -- Use the KAE to test the RSA performance. - - ```shell - $ ./openssl speed -elapsed -engine kae rsa2048 - .... - sign verify sign/s verify/s - rsa 2048 bits 0.000355s 0.000022s 2819.0 45478.4 - ``` - -> [!NOTE]NOTE -> After the KAE is used, the signature performance is improved from 724.1 sign/s to 2819 sign/s. - -- Use the OpenSSL software algorithm to test the asynchronous RSA performance. - - ```shell - $ ./openssl speed -elapsed -async_jobs 36 rsa2048 - .... - sign verify sign/s verify/s - rsa 2048 bits 0.001318s 0.000032s 735.7 28555 - ``` - -- Use the KAE to test the asynchronous RSA performance. - - ```shell - $ ./openssl speed -engine kae -elapsed -async_jobs 36 rsa2048 - .... - sign verify sign/s verify/s - rsa 2048 bits 0.000018s 0.000009s 54384.1 105317.0 - ``` - -> [!NOTE]NOTE -> After the KAE is used, the asynchronous RSA signature performance is improved from 735.7 sign/s to 54384.1 sign/s. - -- Use the OpenSSL software algorithm to test the performance of the SM4 CBC mode. - - ```shell - $ ./openssl speed -elapsed -evp sm4-cbc - You have chosen to measure elapsed time instead of user CPU time. - .... - Doing sm4-cbc for 3s on 10240 size blocks: 2196 sm4-cbc's in 3.00s .... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - sm4-cbc 82312.53k 85196.80k 85284.18k 85000.85k 85284.18k 85261.26k - ``` - -- Use the KAE to test the SM4 CBC mode performance. - - ```shell - $ ./openssl speed -elapsed -engine kae -evp sm4-cbc - engine "kae" set. - You have chosen to measure elapsed time instead of user CPU time. - ... - Doing sm4-cbc for 3s on 1048576 size blocks: 11409 sm4-cbc's in 3.00s - ... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - sm4-cbc 383317.33k 389427.20k 395313.15k 392954.73k 394264.58k 394264.58k - ``` - -> [!NOTE]NOTE -> After the KAE is used, the SM4 CBC mode performance is improved from 82312.53 kbit/s to 383317.33 kbit/s when the input data block size is 8 MB. - -- Use the OpenSSL software algorithm to test the SM3 mode performance. - - ```shell - $ ./openssl speed -elapsed -evp sm3 - You have chosen to measure elapsed time instead of user CPU time. - Doing sm3 for 3s on 102400 size blocks: 1536 sm3's in 3.00s - .... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - sm3 50568.53k 52428.80k 52428.80k 52428.80k 52428.80k 52428.80k - ``` - -- Use the KAE to test the SM3 mode performance. - - ```shell - $ ./openssl speed -elapsed -engine kae -evp sm3 - engine "kae" set. - You have chosen to measure elapsed time instead of user CPU time. - Doing sm3 for 3s on 102400 size blocks: 19540 sm3's in 3.00s - .... - type 51200 bytes 102400 bytes 1048576 bytes 2097152 bytes 4194304 bytes 8388608 bytes - sm3 648243.20k 666965.33k 677030.57k 678778.20k 676681.05k 668292.44k - ``` - -> [!NOTE]NOTE -> After the KAE is used, the SM3 algorithm performance is improved from 52428.80 kbit/s to 668292.44 kbit/s when the input data block size is 8 MB. - -- Use the OpenSSL software algorithm to test the asynchronous performance of the AES algorithm in CBC mode. - - ```shell - $ ./openssl speed -elapsed -evp aes-128-cbc -async_jobs 4 - You have chosen to measure elapsed time instead of user CPU time. - Doing aes-128-cbc for 3s on 51200 size blocks: 65773 aes-128-cbc's in 3.00s - Doing aes-128-cbc for 3s on 102400 size blocks: 32910 aes-128-cbc's in 3.00s - .... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - aes-128-cbc 1122525.87k 1123328.00k 1120578.22k 1121277.27k 1119879.17k 1115684.86k - ``` - -- Use the KEA engine to test the asynchronous performance of the AES algorithm in CBC mode. - - ```shell - $ ./openssl speed -elapsed -evp aes-128-cbc -async_jobs 4 -engine kae - engine "kae" set. - You have chosen to measure elapsed time instead of user CPU time. - Doing aes-128-cbc for 3s on 51200 size blocks: 219553 aes-128-cbc's in 3.00s - Doing aes-128-cbc for 3s on 102400 size blocks: 117093 aes-128-cbc's in 3.00s - .... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - aes-128-cbc 3747037.87k 3996774.40k 1189085.18k 1196774.74k 1196979.11k 1199570.94k - ``` - -> [!NOTE]NOTE - -- The AES algorithm supports only asynchronous mode when the data length is 256 KB or less. -- After the KAE is used, the AES algorithm performance is improved from 1123328.00 kbit/s to 3996774.40 kbit/s when the input data block size is 100 KB. - -### Upgrading the Accelerator Software Packages - -#### Scenario - -You can run the **rpm -Uvh** command to upgrade the accelerator software. - -#### Procedure - -1. Download the latest accelerator engine software packages from the openEuler community. -2. Use SSH to log in to the Linux CLI as user **root**. -3. Save the downloaded software packages to a directory. -4. In the directory, run the **rpm -Uvh** command to upgrade the accelerator driver package and engine library package. The following is an example: - - The command and output are as follows: - - ![](./figures/en-us_image_0231143189.png) - - ![](./figures/en-us_image_0231143191.png) - -5. Run the **rpm -qa** command to check whether the upgrade is successful. Ensure that the queried version is the latest version. - - ![](./figures/en-us_image_0231143193.png) - - ![](./figures/en-us_image_0231143195.png) - -6. Restart the system or run the following commands to manually uninstall the drivers of the earlier version, load the drivers of the latest version, and check whether the new drivers are successfully loaded. - - ```shell - # Uninstall the existing drivers. - $ lsmod | grep uacce - uacce 262144 3 hisi_hpre,hisi_sec2,hisi_qm - $ - $ rmmod hisi_hpre - $ rmmod hisi_sec2 - $ rmmod hisi_qm - $ rmmod uacce - $ lsmod | grep uacce - $ - # Load the new drivers. - $ modprobe uacce - $ modprobe hisi_qm - $ modprobe hisi_sec2 # Loads the hisi_sec2 driver to the kernel based on the configuration file in /etc/modprobe.d/hisi_sec2.conf. - $ modprobe hisi_hpre # Loads the hisi_hpre driver to the kernel based on the configuration file in /etc/modprobe.d/hisi_hpre.conf. - $ lsmod | grep uacce - uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre - ``` - -### Uninstalling the Accelerator Software Packages - -#### Scenario - -You do not need the accelerator engine software or you want to install a new one. - -#### Procedure - -1. Use SSH to log in to the Linux CLI as user **root**. -2. Restart the system or run commands to manually uninstall the accelerator drivers loaded to the kernel, and check whether the drivers are successfully uninstalled. - - ```shell - # lsmod | grep uacce - uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre - # rmmod hisi_hpre - # rmmod hisi_sec2 - # rmmod hisi_qm - # rmmod uacce - # lsmod | grep uacce - # - ``` - -3. Run the **rpm -e** command to uninstall the accelerator engine software packages. The following is an example: - - > [!NOTE]NOTE - > Due to the dependency relationships, the **libkae** package must be uninstalled before the **libwd** package. - - ![](./figures/en-us_image_0231143196.png) - - ![](./figures/en-us_image_0231143197.png) - -4. Run the **rpm -qa \|grep** command to check whether the uninstallation is successful. - - ![](./figures/en-us_image_0231143198.png) - -## Querying Logs - -[Table 3](#table52821836) lists log information related to the accelerator engine. - -**Table 3** Log information - - - - - - - - - - - - - - - - -

Directory

-

File

-

Description

-

/var/log/

-

kae.log

-

By default, the log level of the OpenSSL engine log is error. To set the log level, perform the following procedure:

-
  1. Run export KAE_CONF_ENV=/var/log/.
  2. Create the kae.cnf file in /var/log/.
  3. In the kae.cnf file, configure the content as follows:

    [LogSection]

    -

    debug_level=error #Value: none, error, info, warning or debug

    -
-
NOTE:

In normal cases, you are advised not to enable the info or debug log level. Otherwise, the accelerator performance will deteriorate.

-
-

/var/log/

-

messages/syslog

-
  • Kernel logs are stored in the /var/log/messages directory.
-
NOTE:

Alternatively, you can run the dmesg > /var/log/dmesg.log command to collect driver and kernel logs.

-
-
- -## Acceleration Engine Application - -> [!NOTE]NOTE -> If you have not purchased the engine license, you are advised not to use the KAE to invoke the corresponding algorithms. Otherwise, the performance of the OpenSSL encryption algorithm may be affected. - -### Example Code for the KAE - -```c -#include - -#include - -/* OpenSSL headers */ - -#include - -#include - -#include - -#include - -int main(int argc, char **argv) - -{ - - /* Initializing OpenSSL */ - - SSL_load_error_strings(); - - ERR_load_BIO_strings(); - - OpenSSL_add_all_algorithms(); - - /*You can use ENGINE_by_id Function to get the handle of the Huawei Accelerator Engine*/ - - ENGINE *e = ENGINE_by_id("kae"); - - /* Enable the accelerator asynchronization function. This parameter is optional. The value 0 indicates disabled, and the value 1 indicates enabled. The asynchronous function is enabled by default. */ - - ENGINE_ctrl_cmd_string(e, "KAE_CMD_ENABLE_ASYNC", "1", 0) - - ENGINE_init(e); - - RSA*rsa=RSA_new_method(e);#Specify the engine for RSA encryption and decryption. - - /*The user code*/ - - ...... - -; - - ENGINE_free(e); - -; - -} -``` - -### Usage of the KAE in the OpenSSL Configuration File openssl.cnf - -Create the **openssl.cnf** file and add the following configuration information to the file: - -```text -openssl_conf=openssl_def -[openssl_def] -engines=engine_section -[engine_section] -kae=kae_section -[kae_section] -engine_id=kae -dynamic_path=/usr/local/lib/engines-1.1/kae.so -KAE_CMD_ENABLE_ASYNC=1 #The value 0 indicates that the asynchronous function is disabled. The value 1 indicates that the asynchronous function is enabled. The asynchronous function is enabled by default. -default_algorithms=ALL -init=1 -``` - -Export the environment variable **OPENSSL\_CONF**. - -```shell -export OPENSSL_CONF=/home/app/openssl.cnf #Path for storing the openssl.cnf file -``` - -The following is an example of the OpenSSL configuration file: - -```c -#include - -#include - -/* OpenSSL headers */ - -#include - -#include - -#include - -#include - -int main(int argc, char **argv) - -{ - - /* Initializing OpenSSL */ - - SSL_load_error_strings(); - - ERR_load_BIO_strings(); - -#Load openssl configure - -OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, NULL); OpenSSL_add_all_algorithms(); - - /*You can use ENGINE_by_id Function to get the handle of the Huawei Accelerator Engine*/ - - ENGINE *e = ENGINE_by_id("kae"); - - /*The user code*/ - - ...... - -; - - ENGINE_free(e); - -; -} -``` - -## Troubleshooting - -### Failed to Initialize the Accelerator Engine - -#### Symptom - -The accelerator engine is not completely loaded. - -#### Solution - -1. Check whether the accelerator drivers are loaded successfully. Specifically, run the **lsmod** command to check whether uacce.ko, qm.ko, sgl.ko, hisi\_sec2.ko, hisi\_hpre.ko, hisi\_zip.ko, and hisi\_rde.ko exist. - - ```shell - $ lsmod | grep uacce - uacce 262144 2 hisi_hpre,hisi_qm,hisi_sec2,hisi_zip,hisi_rde - ``` - -2. Check whether the accelerator engine library exists in **/usr/lib64** \(directory for RPM installation\) or **/usr/local/lib** \(directory for source code installation\) and the OpenSSL installation directory, and check whether the correct soft link is established. - - ```shell - $ ll /usr/local/lib/engines-1.1/ |grep kae - # Check whether the KAE has been correctly installed and whether a soft link has been established. If yes, the displayed information is as follows: - lrwxrwxrwx. 1 root root 22 Nov 12 02:33 kae.so -> kae.so.1.0.1 - lrwxrwxrwx. 1 root root 22 Nov 12 02:33 kae.so.0 -> kae.so.1.0.1 - -rwxr-xr-x. 1 root root 112632 May 25 2019 kae.so.1.0.1 - $ - $ ll /usr/lib64/ | grep libwd - # Check whether libwd has been correctly installed and whether a soft link has been established. If yes, the displayed information is as follows: - lrwxrwxrwx. 1 root root 14 Nov 12 02:33 libwd.so -> libwd.so.1.0.1 - lrwxrwxrwx. 1 root root 14 Nov 12 02:33 libwd.so.0 -> libwd.so.1.0.1 - -rwxr-xr-x. 1 root root 137120 May 25 2019 libwd.so.1.0.1 - $ - ``` - -3. Check whether the path of the OpenSSL engine library can be exported by running the **export** command. - - ```shell - $ echo $OPENSSL_ENGINES - $ export OPENSSL_ENGINES=/usr/local/lib/engines-1.1 - $ echo $OPENSSL_ENGINES - /usr/local/lib/engines-1.1 - ``` - -### Failed to Identify Accelerator Devices After the Acceleration Engine Is Installed - -#### Symptom - -After the acceleration engine is installed, the accelerator devices cannot be identified. - -#### Solution - -1. Check whether the device exists in the virtual file system. Normally, the following accelerator devices are displayed: - - ```shell - $ ls -al /sys/class/uacce/ - total 0 - lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/uacce/hisi_hpre-2 - lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/uacce/hisi_hpre-3 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-4 -> ../../devices/pci0000:78/0000:78:01.0/uacce/hisi_rde-4 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-5 -> ../../devices/pci0000:b8/0000:b8:01.0/uacce/hisi_rde-5 - lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/uacce/hisi_sec-0 - lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/uacce/hisi_sec-1 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_zip-6 -> ../../devices/pci0000:74/0000:74:00.0/0000:75:00.0/uacce/hisi_zip-6 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_zip-7 -> ../../devices/pci0000:b4/0000:b4:00.0/0000:b5:00.0/uacce/hisi_zip-7 - ``` - -2. If you want to use the HPRE device but the device is not found in [1](#li1760055514614), check whether the accelerator software is correctly installed by referring to [Failed to Upgrade the Accelerator Drivers](#failed-to-upgrade-the-accelerator-drivers). -3. If the accelerator software is correctly installed, run the **lspci** command to check whether the physical device exists. - - ```shell - $ lspci | grep HPRE - 79:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) - b9:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) - $ lspci | grep SEC - 76:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21) - b6:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21) - $ lspci | grep RDE - 78:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) - b8:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) - $ lspci | grep ZIP - 75:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) - b5:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) - $ - ``` - -4. If no physical device is found in [3](#li1560012551369), perform the following operations: - - Check whether the accelerator license has been imported. If no, import the accelerator license. For details, see "License Management" in the [TaiShan Rack Server iBMC \(V500 or Later\) User Guide](https://support.huawei.com/enterprise/en/doc/EDOC1100121685/426cffd9?idPath=7919749%257C9856522%257C21782478%257C8060757). After the accelerator license is imported, power off and restart the iBMC to enable the license. - - Check whether the iBMC and BIOS versions support the accelerator feature. - -### Failed to Upgrade the Accelerator Drivers - -#### Symptom - -After the accelerator drivers are upgraded, the driver version is not changed after the system is restarted. - -#### Possible Cause - -Before the accelerator drivers are upgraded, the system upgrades other driver packages. These driver packages may update the boot file system initramfs, and update the accelerator drivers to initramfs before upgrade. For example, if the NIC driver is updated or initramfs is manually updated, the system loads the accelerator drivers from initramfs first during restart. - -#### Solution - -After the accelerator drivers are upgraded, run the **dracut \-\-force** command to update initramfs again. diff --git a/docs/en/server/performance/overall/system_resource/_toc.yaml b/docs/en/server/performance/system_resource/_toc.yaml similarity index 100% rename from docs/en/server/performance/overall/system_resource/_toc.yaml rename to docs/en/server/performance/system_resource/_toc.yaml diff --git a/docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001335457246.png b/docs/en/server/performance/system_resource/images/zh-cn_image_0000001335457246.png similarity index 100% rename from docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001335457246.png rename to docs/en/server/performance/system_resource/images/zh-cn_image_0000001335457246.png diff --git a/docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001336448570.png b/docs/en/server/performance/system_resource/images/zh-cn_image_0000001336448570.png similarity index 100% rename from docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001336448570.png rename to docs/en/server/performance/system_resource/images/zh-cn_image_0000001336448570.png diff --git a/docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001337039920.png b/docs/en/server/performance/system_resource/images/zh-cn_image_0000001337039920.png similarity index 100% rename from docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001337039920.png rename to docs/en/server/performance/system_resource/images/zh-cn_image_0000001337039920.png diff --git a/docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001384808269.png b/docs/en/server/performance/system_resource/images/zh-cn_image_0000001384808269.png similarity index 100% rename from docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001384808269.png rename to docs/en/server/performance/system_resource/images/zh-cn_image_0000001384808269.png diff --git a/docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001385585749.png b/docs/en/server/performance/system_resource/images/zh-cn_image_0000001385585749.png similarity index 100% rename from docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001385585749.png rename to docs/en/server/performance/system_resource/images/zh-cn_image_0000001385585749.png diff --git a/docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001385611905.png b/docs/en/server/performance/system_resource/images/zh-cn_image_0000001385611905.png similarity index 100% rename from docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001385611905.png rename to docs/en/server/performance/system_resource/images/zh-cn_image_0000001385611905.png diff --git a/docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001385905845.png b/docs/en/server/performance/system_resource/images/zh-cn_image_0000001385905845.png similarity index 100% rename from docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001385905845.png rename to docs/en/server/performance/system_resource/images/zh-cn_image_0000001385905845.png diff --git a/docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001386149037.png b/docs/en/server/performance/system_resource/images/zh-cn_image_0000001386149037.png similarity index 100% rename from docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001386149037.png rename to docs/en/server/performance/system_resource/images/zh-cn_image_0000001386149037.png diff --git a/docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001389098425.png b/docs/en/server/performance/system_resource/images/zh-cn_image_0000001389098425.png similarity index 100% rename from docs/en/server/performance/overall/system_resource/images/zh-cn_image_0000001389098425.png rename to docs/en/server/performance/system_resource/images/zh-cn_image_0000001389098425.png diff --git a/docs/en/server/performance/overall/system_resource/system_resources_and_performance.md b/docs/en/server/performance/system_resource/system_resources_and_performance.md similarity index 100% rename from docs/en/server/performance/overall/system_resource/system_resources_and_performance.md rename to docs/en/server/performance/system_resource/system_resources_and_performance.md diff --git a/docs/en/server/performance/tuning_framework/oeaware/_toc.yaml b/docs/en/server/performance/tuning_framework/oeaware/_toc.yaml deleted file mode 100644 index 58ed5a1481348183a12aedf1a1f856dfdb34c4ee..0000000000000000000000000000000000000000 --- a/docs/en/server/performance/tuning_framework/oeaware/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: oeAware User Guide -isManual: true -description: Intelligent activation of system tuning features based on dynamic sensing of system behavior -sections: - - label: oeAware User Guide - href: ./oeaware_user_guide.md diff --git a/docs/en/server/performance/tuning_framework/oeaware/figures/dep-failed.png b/docs/en/server/performance/tuning_framework/oeaware/figures/dep-failed.png deleted file mode 100644 index afb4750135657876b455978bf9d8f5eff36be91e..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/tuning_framework/oeaware/figures/dep-failed.png and /dev/null differ diff --git a/docs/en/server/performance/tuning_framework/oeaware/figures/dep.png b/docs/en/server/performance/tuning_framework/oeaware/figures/dep.png deleted file mode 100644 index 91388d6a860f032c86c0559b232f2d5ef55a40f8..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/tuning_framework/oeaware/figures/dep.png and /dev/null differ diff --git a/docs/en/server/performance/tuning_framework/oeaware/figures/dependency.png b/docs/en/server/performance/tuning_framework/oeaware/figures/dependency.png deleted file mode 100644 index 0cd087fb0c9095e63aa76e0d2464a92225af2399..0000000000000000000000000000000000000000 Binary files a/docs/en/server/performance/tuning_framework/oeaware/figures/dependency.png and /dev/null differ diff --git a/docs/en/server/performance/tuning_framework/oeaware/oeaware_user_guide.md b/docs/en/server/performance/tuning_framework/oeaware/oeaware_user_guide.md deleted file mode 100644 index a088ae635bfb1bdb2826ed062253cc91eef2c6a6..0000000000000000000000000000000000000000 --- a/docs/en/server/performance/tuning_framework/oeaware/oeaware_user_guide.md +++ /dev/null @@ -1,521 +0,0 @@ -# oeAware User Guide - -## Introduction - -oeAware is a framework for implementing low-load collection, sensing, and tuning on openEuler. It aims to intelligently enable optimization features after dynamically detecting system behaviors. Traditional optimization features run independently and are statically enabled or disabled. oeAware divides optimization into three layers: collection, sensing, and tuning. Each layer is associated through subscription and is developed as plugins. - -## Plugin Description - -**Plugin definition**: Each plugin corresponds to an .so file. Plugins are classified into collection plugins, sensing plugins, and tuning plugins. - -**Instance definition**: The scheduling unit in the service is instance. A plugin contains multiple instances. For example, a collection plugin includes multiple collection items, and each collection item is an instance. - -**Dependencies Between Instances** - -Before running an instance, ensure that the dependency between the instances is met. - -![img](./figures/dependency.png) - -- A collection instance does not depend on any other instance. - -- A sensing instance depends on a collection instance and other sensing instances. - -- A tuning instance depends on a collection instance, sensing instance, and other tuning instances. - -## Installation - -Configure the openEuler Yum repository and run the `yum` commands to install oeAware. on openEuler 22.03 LTS SP4, oeAware has been installed by default. - -```shell -yum install oeAware-manager -``` - -### Service Startup - -Run the `systemd` command to start the service. - -```shell -systemctl start oeaware -``` - -Skip this step - -Configuration file path: **/etc/oeAware/config.yaml** - -```yaml -log_path: /var/log/oeAware # Log storage path -log_level: 1 # Log level. 1: DUBUG; 2: INFO; 3: WARN; 4: ERROR. -enable_list: # Plugins are enabled by default. - - name: libtest.so # Configure the plugin and enable all instances of the plugin. - - name: libtest1.so # Configure the plugin and enable the specified plugin instances. - instances: - - instance1 - - instance2 - ... - ... -plugin_list: # Downloaded packages are supported. - - name: test #The name must be unique. If the name is repeated, the first occurrence is used. - description: hello world - url: https://gitee.com/openeuler/oeAware-manager/raw/master/README.md #url must not be empty. - ... -``` - -After modifying the configuration file, run the following commands to restart the service: - -```shell -systemctl daemon-reload -systemctl restart oeaware -``` - -## Usage - -Start the oeaware service. Then, manage plugins and instances using the `oeawarectl` command, which supports loading, unloading, and querying plugins, along with enabling, disabling, and querying instances. - -### Plugin Loading - -By default, the service loads the plugins in the plugin storage paths. - -Collection plugin path: /usr/lib64/oeAware-plugin/collector - -Sensing plugin path: /usr/lib64/oeAware-plugin/scenario - -Tuning plugin path: /usr/lib64/oeAware-plugin/tune - -You can also manually load the plugins. - -```shell -oeawarectl -l | --load -t | --type # plugin type can be collector, scenario, or tune -``` - -Example - -```shell -[root@localhost ~]# oeawarectl -l libthread_collect.so -t collector -Plugin loaded successfully. -``` - -If the operation fails, an error description is returned. - -### Plugin Unloading - -```shell -oeawarectl -r | --remove -``` - -Example - -```shell -[root@localhost ~]# oeawarectl -r libthread_collect.so -Plugin remove successfully. -``` - -If the operation fails, an error description is returned. - -### Plugin Query - -#### Querying Plugin Status - -```shell -oeawarectl -q # Query all loaded plugins. -oeawarectl --query # Query a specified plugin. -``` - -Example - -```shell -[root@localhost ~]# oeawarectl -q -Show plugins and instances status. ------------------------------------------------------------- -libthread_collector.so - thread_collector(available, close) # Plugin instance and status -libpmu.so - pmu_cycles_sampling(available, close) - pmu_cycles_counting(available, close) - pmu_uncore_counting(available, close) - pmu_spe_sampling(available, close) -libthread_tune.so - thread_tune(available, close) -libthread_scenario.so - thread_scenario(available, close) ------------------------------------------------------------- -format: -[plugin] - [instance]([dependency status], [running status]) -dependency status: available means satisfying dependency, otherwise unavailable. -running status: running means that instance is running, otherwise close. -``` - -If the operation fails, an error description is returned. - -#### Querying Plugin Dependencies - -```shell -oeawarectl -Q # Query the dependency graph of loaded instances. -oeawarectl --query-dep= # Query the dependency graph of a specified instance. -``` - -A **dep.png** file will be generated in the current directory to display the dependencies. - -Example - -Relationship diagram when dependencies are met - -![img](./figures/dep.png) - -Relationship diagram when dependencies are not met - -![img](./figures/dep-failed.png) - -If the operation fails, an error description is returned. - -### Enabling Plugins - -#### Enabling a Plugin Instance - -```shell -oeawarectl -e | --enable -``` - -If the operation fails, an error description is returned. - -#### Disabling a Plugin Instance - -```shell -oeawarectl -d | --disable -``` - -If the operation fails, an error description is returned. - -### Downloading and Installing Plugins - -Use the `--list` command to query the RPM packages that can be downloaded and installed plugins. - -```shell -oeawarectl --list -``` - -The query result is as follows: - -```shell -Supported Packages: # Downloadable packages -[name1] # plugin_list configured in config -[name2] -... -Installed Plugins: # Installed plugins -[name1] -[name2] -... -``` - -Use the `--install` command to download and install the RPM package. - -```shell -oeawarectl -i | --install # Name of a package queried using --list (package in Supported Packages) -``` - -If the operation fails, an error description is returned. - -### Help - -Use the `--help` command for help information. - -```shell -usage: oeawarectl [options]... - options - -l|--load [plugin] load plugin and need plugin type. - -t|--type [plugin_type] assign plugin type. there are three types: - collector: collection plugin. - scenario: awareness plugin. - tune: tune plugin. - -r|--remove [plugin] remove plugin from system. - -e|--enable [instance] enable the plugin instance. - -d|--disable [instance] disable the plugin instance. - -q query all plugins information. - --query [plugin] query the plugin information. - -Q query all instances dependencies. - --query-dep [instance] query the instance dependency. - --list the list of supported plugins. - -i|--install [plugin] install plugin from the list. - --help show this help message. -``` - -## Plugin Development - -### Common Data Structures of Plugins - -```c -struct DataBuf { - int len; - void *data; -}; -``` - -**struct DataBuf** is the data buffer. - -- **data**: specific data. **data** is an array. The data type can be defined as required. -- len: size of **data**. - -```c -struct DataRingBuf { - const char *instance_name; - int index; - uint64_t count; - struct DataBuf *buf; - int buf_len; -}; -``` - -**struct DataRingBuf** facilitates data transfer between plugins, primarily utilizing a circular buffer. - -- **instance_name**: instance of the incoming data. For instance, when data reaches a perception plugin, it distinguishes which collection item belongs to which collection plugin. - -- **index**: current data write position. For example, after each data collection, the index increments. - -- **count**: execution count of the instance, continuously accumulating. - -- **buf**: data buffer. Some collection items require multiple samplings before the perception plugin processes them, so the buf array stores these samples. - -- **buf_len**: size of the data buffer. Once the buffer is initialized, **buf_len** remains constant. - -```C -struct Param { - const struct DataRingBuf **ring_bufs; - int len; -}; -``` - -- **ring_bufs**: data required by the instance, sourced from other instances. -- **len**: length of the **ring_bufs** array. - -### Instance Interfaces - -```C -struct Interface { - const char* (*get_version)(); - /* The instance name is a unique identifier in the system. */ - const char* (*get_name)(); - const char* (*get_description)(); - /* Specifies the instance dependencies, which is used as the input information - * for instance execution. - */ - const char* (*get_dep)(); - /* Instance scheduling priority. In a uniform time period, a instance with a - * lower priority is scheduled first. - */ - int (*get_priority)(); - int (*get_type)(); - /* Instance execution period. */ - int (*get_period)(); - bool (*enable)(); - void (*disable)(); - const struct DataRingBuf* (*get_ring_buf)(); - void (*run)(const struct Param*); -}; -``` - -```c -int get_instance(Interface **interface); -``` - -Every plugin includes a **get_instance** function to provide instances to the framework. - -Obtaining the version number - -1. Interface definition - - ```c - char* (*get_version)(); - ``` - -2. Interface description - -3. Parameter description - -4. Return value description - - The specific version number is returned. This interface is reserved. - -Obtaining the instance name - -1. Interface definition - - ```c - char* (*get_name)(); - ``` - -2. Interface description - - Obtains the name of an instance. When you run the `-q` command on the client, the instance name is displayed. In addition, you can run the `--enable` command to enable the instance. - -3. Parameter description - -4. Return value description - - The name of the instance is returned. Ensure that the instance name is unique. - -Obtaining description information - -1. Interface definition - - ```c - char* (*get_description)(); - ``` - -2. Interface description - -3. Parameter description - -4. Return value description - - The detailed description is returned. This interface is reserved. - -Obtaining the type - -1. Interface definition - - ```c - char* (*get_type)(); - ``` - -2. Interface description - -3. Parameter description - -4. Return value description - - The specific type information is returned. This interface is reserved. - -Obtaining the sampling period - -1. Interface definition - - ```c - int (*get_cycle)(); - ``` - -2. Interface description - - Obtains the sampling period. Different collection items can use different collection periods. - -3. Parameter description - -4. Return value description - - The specific sampling period is returned. The unit is ms. - -Obtaining dependencies - -1. Interface definition - - ```c - char* (*get_dep)(); - ``` - -2. Interface description - -3. Parameter description - -4. Return value description - - Information about the dependent instances is returned. This interface is reserved. - -Enabling an instance - -1. Interface definition - - ```c - void (*enable)(); - ``` - -2. Interface description - - Enables an instance. - -3. Parameter description - -4. Return value description - -Disabling an instance - -1. Interface definition - - ```c - void (*disable)(); - ``` - -2. Interface description - - Disables an instance. - -3. Parameter description - -4. Return value description - -Obtaining the data buffer - -1. Interface definition - - ```c - const DataRingBuf* (*get_ring_buf)(); - ``` - -2. Interface description - - Obtains the buffer management pointer of the collection data (the memory is applied for by the plugin). The pointer is used by sensing plugins. - -3. Parameter description - -4. Return value description - - The **struct DataRingBuf** management pointer is returned. - -Executing an instance - -1. Interface definition - - ```c - void (*run)(const Param*); - ``` - -2. Interface description - - Runs at regular intervals according to the execution cycle. - -3. Parameter description - - Contains the data necessary for the instance to execute. - -4. Return value description - -## Supported Plugins - -- **libpmu.so**: collects PMU-related data. -- **libthread_collector.so**: gathers thread information within the system. -- **libthread_scenario.so**: monitors details of a specific thread. -- **libthread_tune.so**: enhances UnixBench performance. -- **libsmc_tune.so**: enables SMC acceleration for seamless TCP protocol performance improvements. -- **libtune_numa.so**: optimizes cross-NUMA node memory access to boost system performance. - -## Constraints - -### Function Constraints - -By default, oeAware integrates the libkperf module for collecting Arm microarchitecture information. This module can be called by only one process at a time. If this module is called by other processes or the perf command is used, conflicts may occur. - -### Operation Constraints - -Currently, only the **root** user can operate oeAware. - -## Notes - -The user group and permission of the oeAware configuration file and plugins are strictly verified. Do not modify the permissions and user group of oeAware-related files. - -Permissions: - -- Plugin files: 440 - -- Client executable file: 750 - -- Server executable file: 750 - -- Service configuration file: 640 diff --git a/docs/en/server/releasenotes/releasenotes/_toc.yaml b/docs/en/server/quickstart/releasenotes/_toc.yaml similarity index 100% rename from docs/en/server/releasenotes/releasenotes/_toc.yaml rename to docs/en/server/quickstart/releasenotes/_toc.yaml diff --git a/docs/en/server/releasenotes/releasenotes/account_list.md b/docs/en/server/quickstart/releasenotes/account_list.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/account_list.md rename to docs/en/server/quickstart/releasenotes/account_list.md diff --git a/docs/en/server/releasenotes/releasenotes/acknowledgment.md b/docs/en/server/quickstart/releasenotes/acknowledgment.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/acknowledgment.md rename to docs/en/server/quickstart/releasenotes/acknowledgment.md diff --git a/docs/en/server/releasenotes/releasenotes/contribution.md b/docs/en/server/quickstart/releasenotes/contribution.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/contribution.md rename to docs/en/server/quickstart/releasenotes/contribution.md diff --git a/docs/en/server/releasenotes/releasenotes/cve.md b/docs/en/server/quickstart/releasenotes/cve.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/cve.md rename to docs/en/server/quickstart/releasenotes/cve.md diff --git a/docs/en/server/releasenotes/releasenotes/introduction.md b/docs/en/server/quickstart/releasenotes/introduction.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/introduction.md rename to docs/en/server/quickstart/releasenotes/introduction.md diff --git a/docs/en/server/releasenotes/releasenotes/key_features.md b/docs/en/server/quickstart/releasenotes/key_features.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/key_features.md rename to docs/en/server/quickstart/releasenotes/key_features.md diff --git a/docs/en/server/releasenotes/releasenotes/known_issues.md b/docs/en/server/quickstart/releasenotes/known_issues.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/known_issues.md rename to docs/en/server/quickstart/releasenotes/known_issues.md diff --git a/docs/en/server/releasenotes/releasenotes/os_installation.md b/docs/en/server/quickstart/releasenotes/os_installation.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/os_installation.md rename to docs/en/server/quickstart/releasenotes/os_installation.md diff --git a/docs/en/server/performance/cpu_optimization/kae/public_sys-resources/icon-note.gif b/docs/en/server/quickstart/releasenotes/public_sys-resources/icon-note.gif similarity index 100% rename from docs/en/server/performance/cpu_optimization/kae/public_sys-resources/icon-note.gif rename to docs/en/server/quickstart/releasenotes/public_sys-resources/icon-note.gif diff --git a/docs/en/server/releasenotes/releasenotes/resolved_issues.md b/docs/en/server/quickstart/releasenotes/resolved_issues.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/resolved_issues.md rename to docs/en/server/quickstart/releasenotes/resolved_issues.md diff --git a/docs/en/server/releasenotes/releasenotes/source_code.md b/docs/en/server/quickstart/releasenotes/source_code.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/source_code.md rename to docs/en/server/quickstart/releasenotes/source_code.md diff --git a/docs/en/server/releasenotes/releasenotes/terms_of_use.md b/docs/en/server/quickstart/releasenotes/terms_of_use.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/terms_of_use.md rename to docs/en/server/quickstart/releasenotes/terms_of_use.md diff --git a/docs/en/server/releasenotes/releasenotes/user_notice.md b/docs/en/server/quickstart/releasenotes/user_notice.md similarity index 100% rename from docs/en/server/releasenotes/releasenotes/user_notice.md rename to docs/en/server/quickstart/releasenotes/user_notice.md diff --git a/docs/en/server/security/cve-ease/_toc.yaml b/docs/en/server/security/cve-ease/_toc.yaml deleted file mode 100644 index e1aacf17190da54163fbdd74dce90599d7f7f426..0000000000000000000000000000000000000000 --- a/docs/en/server/security/cve-ease/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: CVE_ease Design Overview -isManual: true -description: Quickly respond to system vulnerabilities. -sections: - - label: CVE_ease Design Overview - href: ./cve_ease_design_overview.md - - label: CVE_ease Introduction and Installation - href: ./cve_ease_introduction_and_installation.md diff --git a/docs/en/server/security/cve-ease/cve_ease_design_overview.md b/docs/en/server/security/cve-ease/cve_ease_design_overview.md deleted file mode 100644 index 52bc28b7403ec053dbb9f2b6b776913fdd70af13..0000000000000000000000000000000000000000 --- a/docs/en/server/security/cve-ease/cve_ease_design_overview.md +++ /dev/null @@ -1,33 +0,0 @@ -# CVE-ease Design Overview - -## 1. Overview - -Common Vulnerabilities and Exposures (CVEs) plays a vital role in ensuring system security and stability, making effective handling and management of CVE data essential. To address this, the CVE-ease vulnerability management system was developed, enabling real-time acquisition, management, and reporting of vulnerability information. - -## 2. Key Features - -CVE-ease provides the following core functionalities: - -- Acquisition and analysis of CVE information -- Organization and storage of CVE data -- Access to historical and real-time CVE details -- Real-time tracking of CVE status -- Immediate broadcasting of CVE updates - -## 3. Module Functions - -![](./figures/CVE-ease_desigin_table.png) - -### 3.1 CVE Acquisition - -During operation, CVE-ease periodically scrapes CVE information from disclosure websites. Before scraping, the system scans the CVE database to create an index of existing CVE IDs and verify connectivity with CVE platforms. The process begins by retrieving the IDs of the latest disclosed CVEs, followed by fetching detailed descriptions based on these IDs. If the data is successfully retrieved, the process concludes. Otherwise, the system retries until successful. - -### 3.2 CVE Information Organization and Storage - -Scraped CVE data is structured and stored in a database according to predefined formats, with feature values calculated. If a scraped CVE ID is not present in the database, it is added directly. If the ID exists, the system compares feature values and updates the entry if discrepancies are found. - -### 3.3 Viewing Historical and Real-Time CVE Information - -Users can query specific CVE details through the interactive interface. By default, the system displays the 10 most recent CVEs. Users can customize queries to retrieve historical CVE data based on criteria such as CVE score or year. - -![](./figures/CVE-ease_function.png) diff --git a/docs/en/server/security/cve-ease/cve_ease_introduction_and_installation.md b/docs/en/server/security/cve-ease/cve_ease_introduction_and_installation.md deleted file mode 100644 index 672af6be5adb416f086e88b6de17e1041f454cd4..0000000000000000000000000000000000000000 --- a/docs/en/server/security/cve-ease/cve_ease_introduction_and_installation.md +++ /dev/null @@ -1,566 +0,0 @@ -# CVE-ease - -## Project Overview - -CVE-ease is a dedicated platform for CVE information, aggregating data from community releases and delivering timely notifications via email, WeChat, DingTalk, and other channels. Users can access detailed CVE information on the platform, such as vulnerability descriptions, affected scopes, and remediation recommendations. This enables them to choose appropriate fixes tailored to their systems. - -The platform is designed to help users swiftly identify and address vulnerabilities, thereby improving system security and stability. - -CVE-ease is an **independent innovation initiative by CTYun**. Open sourced in the openEuler community, it strictly adheres to the **Mulan PSL2** license. We welcome community contributions to the project, working together to create a secure, stable, and reliable ecosystem for domestic operating systems. - -Open source details: - -- This repository **strictly** complies with the [Mulan Permissive Software License, Version 2](http://license.coscl.org.cn/MulanPSL2). -- **This repository meets the open source guidelines of China Telecom Cloud Technology Co., Ltd, having undergone thorough review and preparation to present a high-quality open source project with complete documentation and resources**. -- The repository is managed by designated personnel from the company, ensuring **long-term maintenance for LTS versions** and ongoing development support. - -## Software Architecture - -CVE-ease is a platform dedicated to CVE information, structured around four core modules: CVE crawler, CVE analyzer, CVE notifier, and CVE frontend. Below is an overview of functionality and design of each module. - -- **CVE crawler** - -This module collects CVE information from multiple data sources provided by the openEuler community and stores it in relational databases like MySQL. These data sources are primarily managed by the cve-manager project, which supports fetching CVE details from NVD, CNNVD, CNVD, RedHat, Ubuntu, and Debian. CVE-ease employs Python-based crawler scripts, each tailored to a specific data source. These scripts can be executed on a schedule or manually, formatting the scraped raw CVE data and storing it for further analysis. - -- **CVE analyzer** - -This module processes CVE information by parsing, categorizing, and scoring it. Written in Python, the analyzer script periodically retrieves raw CVE data from the relational database and performs tasks such as extracting basic attributes (such as ID, title, description), categorizing the impact scope (such as OS, software packages), scoring severity (such as CVSS scores), and matching remediation suggestions (such as patch links). The processed structured data is then stored in SQL format for future queries and presentation. - -- **CVE notifier** - -This module sends CVE notifications to users via email, WeChat, DingTalk, and other channels based on their subscription preferences. The Python-based notifier script periodically retrieves structured CVE data from the MySQL database, filters it according to user-configured impact scopes, generates appropriate notification content for different channels, and invokes APIs to deliver notifications. The script also logs sending results and feedback, updating subscription statuses in the database. - -- **CVE frontend** - -This module offers a user-friendly CLI terminal command, enabling users to view, search, and subscribe to CVE information. - -The architecture of CVE-ease is designed to create an efficient, flexible, and scalable platform, providing users with timely and accurate security vulnerability intelligence. - -## Development Roadmap - -1. Adapt repodata to support multiple OSVs. -2. Add MOTD login broadcast functionality. -3. Enhance the DNF plugin to include patching capabilities. -4. Implement automatic patching for specific packages. -5. Introduce specific package awareness features. -6. ... - -**We highly value your feedback on the development direction of CVE-ease. If you have any suggestions or ideas, feel free to share them with us. Your input is greatly appreciated!** - -## Installation Guide - -CVE-ease is in fast-paced development, offering installation methods such as direct installation, container installation, and RPM package installation. - -### Direct Installation - -```shell -git clone https://gitee.com/openeuler/cve-ease cve-ease.git -cd cve-ease.git/cve-ease -make install -``` - -### Container Installation - -```shell -git clone https://gitee.com/openeuler/cve-ease cve-ease.git -cd cve-ease.git/cve-ease -make run-in-docker -``` - -### RPM Package Installation - -```shell -git clone https://gitee.com/openeuler/cve-ease cve-ease.git -cd cve-ease.git/cve-ease -make gensrpm -cd .. -rpm -ivh *.src.rpm -cd ~/rpmbuild -rpmbuild -ba SPECS/cve-ease.spec -cd RPMS/noarch -rpm -ivh *.rpm -``` - -## Usage Guide - -### Help Information - -- Running the `cve-ease` command without options displays the help menu. -- The `cve-ease` command includes multiple subcommands, organized into `basic`, `info`, and `notifier` categories. -- Use the `help` subcommand to view detailed information for each command category. - -```shell -# cve-ease - -Available commands: - -basic commands: - config Print cve-ease config - daemon Run as daemon without interactive - motd Motd info manager - service Service manager - -info commands: - cve OpenEuler CVE info - cvrf OpenEuler CVRF info - db Database manager - help List available commands - logger Logger config - repodata Repodata info - rpm Rpm info - sa OpenEuler security notice info - -notifier commands: - dingding Notifier of dingding - feishu Notifier of feishu - mail163 Notifier of mail163 - mailqq Notifier of mailqq - wecom Notifier of wecom - -Try "cve-ease --help" for help about global gconfig -Try "cve-ease help" to get all available commands -Try "cve-ease --help" for help about the gconfig of a particular command -Try "cve-ease help " to get commands under a particular category -Available commands are: basic, info, notifier - -# cve-ease help info -Available commands: - -info commands: - cve OpenEuler CVE info - cvrf OpenEuler CVRF info - db Database manager - help List available commands - logger Logger config - repodata Repodata info - rpm Rpm info - sa OpenEuler security notice info - -Try "cve-ease --help" for help about global gconfig -Try "cve-ease help" to get all available commands -Try "cve-ease --help" for help about the gconfig of a particular command -Try "cve-ease help " to get commands under a particular category -Available commands are: basic, info, notifier -``` - -### Configuration File - -The configuration file is located at `/etc/cve-ease/cve-ease.cfg`. - -```ini -[main] -pid_file_path = /var/log/cve-ease/cve-ease.pid -lock_file_path = /var/log/cve-ease/cve-ease.lock - -# log configuration - -# debug/ error(default) / warn -log_level = debug -log_file_path = /var/log/cve-ease/cve-ease.log -log_maxbytes = 10240 -log_backup_num = 30 - -# sql configuration -db_type = sqlite -db_file_path = /usr/share/cve-ease/cve-ease.db -db_user = -db_password = -db_host = -db_port = -product = openEuler-23.09 -expiration_days = 14 - -# notifier -notifier_record_num = 9 - -# filter -focus_on = kernel,systemd,openssh,openssl - -[wecom] -enabled = 1 -# https://developer.work.weixin.qq.com/document/path/91770?version=4.0.19.6020&platform=win -# https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=fe9eae1f-xxxx-4ae3-xxxx-ecf9f77abba6 - -update_key = 2142ef2a-d99d-417d-8c31-b550b0fcb4e3 -status_key = 2142ef2a-d99d-417d-8c31-b550b0fcb4e3 - - -[dingding] -enabled = 1 -# just for test -update_key = 81907155a6cc88004e1ed6bcdd86c68d5b21565ed59d549ca031abc93d90d9cb -status_key = 81907155a6cc88004e1ed6bcdd86c68d5b21565ed59d549ca031abc93d90d9cb - - -[feishu] -enabled = 1 -# just for test -update_key = 5575739b-f59d-48db-b737-63672b2c32ab -status_key = 5575739b-f59d-48db-b737-63672b2c32ab - - -[mail163] -enabled = 0 -mail_sender = xxxxxxx@163.com -mail_recver = xxxxxxx@163.com -mail_smtp_token = xxxxxx - - -[mailqq] -enabled = 0 -mail_sender = xxxxxxx@qq.com -mail_recver = xxxxxxx@qq.com -mail_smtp_token = xxxxxxxx -``` - -### CVE-ease - -The CVE-ease service consists of two files, **cve-ease.service** and **cve-ease.timer**, utilizing the systemd timer functionality for scheduled execution. - -```ini -# /usr/lib/systemd/system/cve-ease.timer -# CTyunOS cve-ease: MulanPSL2 -# -# This file is part of cve-ease. -# - -[Unit] -Description=CTyunOS cve-ease Project -Documentation=https://gitee.com/openeuler/cve-ease - -[Timer] -OnBootSec=1m -OnUnitActiveSec=10m -RandomizedDelaySec=10 - -[Install] -WantedBy=timers.target -``` - -```shell -# systemctl enable --now cve-ease.timer -Created symlink /etc/systemd/system/timers.target.wants/cve-ease.timer → /usr/lib/systemd/system/cve-ease.timer. -# systemctl status cve-ease.timer -● cve-ease.timer - CTyunOS cve-ease Project - Loaded: loaded (/usr/lib/systemd/system/cve-ease.timer; enabled; vendor preset: disabled) - Active: active (waiting) since Sat 2023-03-18 17:55:53 CST; 5s ago - Trigger: Sat 2023-03-18 18:05:55 CST; 9min left - Docs: https://gitee.com/openeuler/cve-ease - -Mar 18 17:55:53 56d941221b41 systemd[1]: Started CTyunOS cve-ease Project. -# systemctl status cve-ease.service -● cve-ease.service - CTyunOS cve-ease project - Loaded: loaded (/usr/lib/systemd/system/cve-ease.service; disabled; vendor preset: disabled) - Active: inactive (dead) since Sat 2023-03-18 17:55:56 CST; 5s ago - Docs: https://gitee.com/openeuler/cve-ease - Process: 196 ExecStart=/usr/bin/cve-ease daemon (code=exited, status=0/SUCCESS) - Main PID: 196 (code=exited, status=0/SUCCESS) - -Mar 18 17:55:53 56d941221b41 systemd[1]: Starting CTyunOS cve-ease project... -Mar 18 17:55:56 56d941221b41 systemd[1]: cve-ease.service: Succeeded. -Mar 18 17:55:56 56d941221b41 systemd[1]: Started CTyunOS cve-ease project. -``` - -### basic Commands - -#### config - -```shell -Usage: cve-ease config -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -r, --rawdata print raw config file content -``` - -```shell -cve-ease config # Display the configuration file path and active settings. -cve-ease config -r # Display the configuration file path and raw data. -``` - -#### daemon - -- The `daemon` command acts as the entry point for the systemd service and is typically not run manually. -- The service is executed periodically by the systemd timer associated with cve-ease. - -```ini -# /usr/lib/systemd/system/cve-ease.service -# CTyunOS cve-ease: MulanPSL2 -# -# This file is part of cve-ease. -# - -[Unit] -Description=CTyunOS cve-ease project -Documentation=https://gitee.com/openeuler/cve-ease - -[Service] -Type=oneshot -ExecStart=/usr/bin/cve-ease daemon - -[Install] -WantedBy=multi-user.target -``` - -#### motd - -- TODO. - -#### service - -`service` command options for controlling the cve-ease service: - -```shell -Usage: cve-ease service -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -k, --kill kill cve-ease service - -r, --restart restart cve-ease service - -s, --status get cve-ease service status - -v, --verbose show verbose output -``` - -```shell -cve-ease service -k # Pause the cve-ease service -cve-ease service -r # Restart the cve-ease service -cve-ease service -s # Query the cve-ease service status -``` - -### info Commands - -#### cve - -Retrieve CVE data from the openEuler community in the [openEuler Security Center](https://www.openeuler.org/en/security/cve/). - -```shell -Usage: cve-ease cve -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -r, --rawdata get cve cache and print raw data without write db - -m, --makecache get cve cache - -l, --list list all cve info - -t, --total get cve info statistics - -v, --verbose show verbose output -``` - -```shell -cve-ease cve -m # Collect CVE data and store it in the database. -cve-ease cve -l # Fetch CVE data from the database and format it for display. -cve-ease cve -t # Retrieve and show CVE statistics from the database. -cve-ease cve -r # Gather CVE data and display it in raw form (without saving to the database). -``` - -#### sa - -Retrieve security advisory (SA) data from the openEuler community in the [openEuler Security Center](https://www.openeuler.org/en/security/cve/). - -```shell -Usage: cve-ease sa -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -r, --rawdata get sa cache and print raw data without write db - -m, --makecache get sa cache - -l, --list list all sa info - -t, --total get sa info statistics - -v, --verbose show verbose output -``` - -```shell -cve-ease sa -m # Collect SA data and store it in the database. -cve-ease sa -l # Fetch SA data from the database and format it for display. -cve-ease sa -t # Retrieve and show SA statistics from the database. -cve-ease sa -r # Gather SA data and display it in raw form (without saving to the database). -``` - -#### cvrf - -Common Vulnerability Reporting Framework (CVRF)-related commands: - -```shell -cve-ease cvrf -m # Collect CVRF data and store it in the database. -cve-ease cvrf -l # Fetch CVRF data from the database and format it for display. -cve-ease cvrf -t # Retrieve and show CVRF statistics from the database. -``` - -#### rpm - -```shell -Usage: cve-ease rpm -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -l, --list list all rpm info - -v, --verbose show verbose output -``` - -```shell -cve-ease rpm -l # Use the RPM interface to retrieve and display details of installed RPM packages in the system. -``` - -#### repodata - -```shell -Usage: cve-ease repodata -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -m, --makecache cache repodata to database - -p PRODUCT, --product=PRODUCT - specific product (work with --check) - --osv=OSV specific osv rpm release - -t, --total get total rpm statistics - -l, --list list all rpm - -c, --check check repo cve - -v, --verbose show verbose output -``` - -```bash -cve-ease repodata -p ctyunos2 -m # Set ctyunos2 as the OSV version, cache its repository metadata, and store it in the database. -cve-ease repodata --osv ctyunos2 -p openEuler-23.09 -c # Compare the ctyunos2 repository with the openEuler 23.09 repository. -cve-ease repodata -l # Display the package details available in the database. -cve-ease repodata -t # Fetch and show statistics for the repository data in the database. -``` - -#### logger - -```shell -Usage: cve-ease logger -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -l, --list list all logger info - -t, --total get logger statistics - -v, --verbose show verbose output -``` - -#### db - -```shell -Usage: cve-ease db -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -p, --purge purge db and recreate it (Danger Operation) - -s, --stats get database statistics - -v, --verbose show verbose output -``` - -### notifier Commands - -#### wecom - -```shell -Usage: cve-ease wecom -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease wecom -t # Send a test message to a WeCom group. -cve-ease wecom -t -c 'helloworld' # Send a custom test message to a WeCom group. -``` - -#### dingding - -```shell -Usage: cve-ease dingding -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease dingding -t # Send a test message to a DingTalk group. -cve-ease dingding -t -c 'helloworld' # Send a custom test message to a DingTalk group. -``` - -#### feishu - -```shell -Usage: cve-ease feishu -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease feishu -t # Send a test message to a Lark group. -cve-ease feishu -t -c 'helloworld' # Send a custom test message to a Lark group. -``` - -#### mail163 - -```shell -Usage: cve-ease mail163 -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease mail163 -t # Send a test message to a 163 mail address. -cve-ease mail163 -t -c 'helloworld' # Send a custom test message to a 163 mail address. -``` - -#### mailqq - -```shell -Usage: cve-ease mailqq -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease mailqq -t # Send a test message to a QQ mail address. -cve-ease mailqq -t -c 'helloworld' # Send a custom test message to a QQ mail address. -``` - -## How to Contribute - -1. Fork the repository. -2. Since the project is in fast-paced development with only the master branch active, make your changes on the master branch and submit them. -3. Create a pull request (PR) with a clear description of its functionality and purpose, along with relevant test cases. -4. Notify the repository maintainer to review your PR. - -## Core Developers and Contact Details - -- You Yifeng - [Gitee Private Message](https://gitee.com/youyifeng) -- Wu Kaishun - [Gitee Private Message](https://gitee.com/wuzimo) diff --git a/docs/en/server/security/cve-ease/figures/CVE-ease_desigin_table.png b/docs/en/server/security/cve-ease/figures/CVE-ease_desigin_table.png deleted file mode 100644 index c02a3569bca30fd225c048360e66a2cf052bc84e..0000000000000000000000000000000000000000 Binary files a/docs/en/server/security/cve-ease/figures/CVE-ease_desigin_table.png and /dev/null differ diff --git a/docs/en/server/security/cve-ease/figures/CVE-ease_function.png b/docs/en/server/security/cve-ease/figures/CVE-ease_function.png deleted file mode 100644 index 3f4119eddcfd5eef088123895c5b39a040f0526e..0000000000000000000000000000000000000000 Binary files a/docs/en/server/security/cve-ease/figures/CVE-ease_function.png and /dev/null differ diff --git a/docs/en/tools/_toc.yaml b/docs/en/tools/_toc.yaml index 149ce861c0ce96fac9a4aacd9005212f67632d88..ac5eb9e4f1c40e3bc49e8e5cfbf22379a5ac66c8 100644 --- a/docs/en/tools/_toc.yaml +++ b/docs/en/tools/_toc.yaml @@ -7,4 +7,4 @@ sections: - href: ./cloud/_toc.yaml - href: ./maintenance/_toc.yaml - href: ./security/_toc.yaml - - href: ./ros/_toc.yaml + - href: ./application/_toc.yaml diff --git a/docs/en/tools/application/_toc.yaml b/docs/en/tools/application/_toc.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7feac471a35fd08bb17b846655b57ea6fbfb6d8c --- /dev/null +++ b/docs/en/tools/application/_toc.yaml @@ -0,0 +1,4 @@ +label: Application +sections: + - href: + upstream: https://gitee.com/openeuler/ros/blob/master/docs/en/_toc.yaml diff --git a/docs/en/tools/cloud/_toc.yaml b/docs/en/tools/cloud/_toc.yaml index efa5bf99eff6632e506e11eb4063e2ee98300f31..2322c04e3da2b38986a30e577addfdbeae3f2249 100644 --- a/docs/en/tools/cloud/_toc.yaml +++ b/docs/en/tools/cloud/_toc.yaml @@ -1,5 +1,6 @@ label: Cloud Native sections: - href: ./ctinspector/_toc.yaml - - href: ./cpds/_toc.yaml - - href: ./pilotgo/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/Cpds/blob/master/docs/en/_toc.yaml + path: ./cpds diff --git a/docs/en/tools/cloud/cpds/_toc.yaml b/docs/en/tools/cloud/cpds/_toc.yaml deleted file mode 100644 index 89dc886a4a410650c17dcffa4128e8cc41e9672e..0000000000000000000000000000000000000000 --- a/docs/en/tools/cloud/cpds/_toc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -label: CPDS User Guide -isManual: true -description: CPDS for container fault and sub_health status monitoring -sections: - - label: CPDS Introduction - href: ./cpds_introduction.md - - label: Installation and Deployment - href: ./installation_and_deployment.md - - label: Usage Instructions - href: ./usage_instructions.md diff --git a/docs/en/tools/cloud/cpds/cpds_introduction.md b/docs/en/tools/cloud/cpds/cpds_introduction.md deleted file mode 100644 index 91b647eaca4008e39d77a6697a26e52f88a347f8..0000000000000000000000000000000000000000 --- a/docs/en/tools/cloud/cpds/cpds_introduction.md +++ /dev/null @@ -1,57 +0,0 @@ -# CPDS Overview - -## Introduction - -CPDS (Container Problem Detect System), developed by Beijing Linx Software Corp., is a fault detection system for container clusters. It monitors and identifies container top faults and sub-health conditions. - -## Key Features - -**1. Cluster information collection** - -The system uses node agents on host machines, leveraging systemd, initv, and eBPF technologies to monitor key container services. It collects data on node networks, kernels, drive LVM, and other critical metrics. It also tracks application status, resource usage, system function execution, and I/O operations within containers for anomalies. - -**2. Cluster exception detection** - -The system gathers raw data from cluster nodes and applies predefined rules to detect anomalies, extracting essential information. It uploads both detection results and raw data online while ensuring data persistence. - -**3. Node and service container fault/sub-health diagnosis** - -Using exception detection data, the system diagnoses faults or sub-health conditions in nodes and service containers. Analysis results are stored persistently, and a UI layer enables real-time and historical diagnosis data access. - -## System Architecture - -CPDS comprises four components, as illustrated below. The system follows a microservices architecture, with components interacting via APIs. - -![Architecture](images/architecture.png) - -- [cpds-agent](https://gitee.com/openeuler/cpds-agent): Collects raw data about containers and systems from cluster nodes. - -- [cpds-detector](https://gitee.com/openeuler/cpds-detector): Analyzes node data based on exception rules to detect abnormalities. - -- [cpds-analyzer](https://gitee.com/openeuler/cpds-analyzer): Diagnoses node health using configured rules to assess current status. - -- [cpds-dashboard](https://gitee.com/openeuler/cpds-dashboard): Provides a web interface for node health visualization and diagnostic rule configuration. - -## Supported Fault Detection - -CPDS detects the following fault conditions. - -| No. | Fault Detection Item | -| --- | -------------------------------------------------------------------- | -| 1 | Container service functionality | -| 2 | Container node agent functionality | -| 3 | Container group functionality | -| 4 | Node health detection functionality | -| 5 | Log collection functionality | -| 6 | Drive usage exceeding 85% | -| 7 | Network issues | -| 8 | Kernel crashes | -| 9 | Residual LVM drive issues | -| 10 | CPU usage exceeding 85% | -| 11 | Node monitoring functionality | -| 12 | Container memory allocation failures | -| 13 | Container memory allocation timeouts | -| 14 | Container network response timeouts | -| 15 | Slow container drive read/write operations | -| 16 | Zombie child processes in container applications | -| 17 | Child process and thread creation failures in container applications | diff --git a/docs/en/tools/cloud/cpds/images/architecture.png b/docs/en/tools/cloud/cpds/images/architecture.png deleted file mode 100644 index 0b5e2f24446e79e1e51d6a2288d7cca72d28e0d2..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/cloud/cpds/images/architecture.png and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\345\233\276\350\241\250.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\345\233\276\350\241\250.png" deleted file mode 100644 index 3f3929f2cb29a8a211852af1d468322d52b6e1af..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\345\233\276\350\241\250.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\346\243\200\347\264\242.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\346\243\200\347\264\242.png" deleted file mode 100644 index da9ab5d92c314be3e97560c449b8e55ff6cc44aa..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\346\243\200\347\264\242.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\345\270\203\345\261\200.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\345\270\203\345\261\200.png" deleted file mode 100644 index be9a66c364e92b3376766c59f3cebeebe123daec..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\345\270\203\345\261\200.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\346\227\266\351\227\264\350\214\203\345\233\264\351\200\211\346\213\251.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\346\227\266\351\227\264\350\214\203\345\233\264\351\200\211\346\213\251.png" deleted file mode 100644 index f4abd49e0bf2f62b6bea4968bf13a131f859918a..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\346\227\266\351\227\264\350\214\203\345\233\264\351\200\211\346\213\251.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\345\216\237\345\247\213\346\225\260\346\215\256.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\345\216\237\345\247\213\346\225\260\346\215\256.png" deleted file mode 100644 index a6d27210ed11f2c2ae66068d0ebd74121fa62437..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\345\216\237\345\247\213\346\225\260\346\215\256.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\350\247\204\345\210\231.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\350\247\204\345\210\231.png" deleted file mode 100644 index f896cdb44a15c527fec3a8df8e6149673f194aeb..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\350\247\204\345\210\231.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\346\267\273\345\212\240\350\247\204\345\210\231.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\346\267\273\345\212\240\350\247\204\345\210\231.png" deleted file mode 100644 index 599665e676bc623604bee376e883524838dd663a..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\346\267\273\345\212\240\350\247\204\345\210\231.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\201\245\345\272\267.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\201\245\345\272\267.png" deleted file mode 100644 index 75adbc5d24a46edfe914b2c7e1297882388058fd..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\201\245\345\272\267.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" deleted file mode 100644 index 9ba876561699f46b49f6bc0cc8815d0b5806087b..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210-\346\214\211\351\222\256.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210-\346\214\211\351\222\256.png" deleted file mode 100644 index e0ceb89269e6f8a161a2613ae9c542199161e1c8..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210-\346\214\211\351\222\256.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210.png" deleted file mode 100644 index 6f5fd9a5728bb416638feba8174cfb499e5e8f7a..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" deleted file mode 100644 index c0253de34176db4b23e1491a86bb7892966a7c96..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\257\212\346\226\255\347\273\223\346\236\234.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\350\257\212\346\226\255\347\273\223\346\236\234.png" deleted file mode 100644 index ffec25e8ff163efc47c38b23fc180ce8188d38dc..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\350\257\212\346\226\255\347\273\223\346\236\234.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244-\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244-\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" deleted file mode 100644 index 5924d73d2b659d92387a19521fd0692d07601046..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244-\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\346\246\202\350\247\210.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\346\246\202\350\247\210.png" deleted file mode 100644 index 351614ce5254748c4d233a2189f3f4a71d2f546a..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\346\246\202\350\247\210.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" deleted file mode 100644 index 5256783e5f907232f3cbd3655b8ee81c03c0ffdd..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\212\266\346\200\201-\346\246\202\350\247\210.png" "b/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\212\266\346\200\201-\346\246\202\350\247\210.png" deleted file mode 100644 index 751887e223d0a323feee7baef3202ed23e6ce5de..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\212\266\346\200\201-\346\246\202\350\247\210.png" and /dev/null differ diff --git a/docs/en/tools/cloud/cpds/installation_and_deployment.md b/docs/en/tools/cloud/cpds/installation_and_deployment.md deleted file mode 100644 index 009a7b5cddf181e0ac93274a204baf8ecaba8658..0000000000000000000000000000000000000000 --- a/docs/en/tools/cloud/cpds/installation_and_deployment.md +++ /dev/null @@ -1,258 +0,0 @@ -# Installation and Deployment - -This chapter provides a step-by-step guide to installing and deploying CPDS. - -## Installing CPDS - -This section covers the steps to install CPDS components. - -1. Install cpds-agent. - - > cpds-agent gathers raw data from nodes and can be installed independently on multiple nodes. - - ```shell - yum install cpds-agent - ``` - -2. Install cpds-detector. - - ```shell - yum install cpds-detector - ``` - -3. Install cpds-analyzer. - - ```shell - yum install cpds-analyzer - ``` - -4. Install cpds-dashboard. - - ```shell - yum install cpds-dashboard - ``` - -5. Install Cpds. - - ```shell - yum install Cpds - ``` - -# Deployment of CPDS - -This section explains the configuration and deployment of CPDS. - -## Configuration Overview - -### cpds-agent Configuration - -cpds-agent collects node network information by sending ICMP packets to a specified IP address. The `net_diagnostic_dest` field must specify a reachable IP address, not the local node IP address. You are advised to set the master node IP address on worker nodes and any worker node IP address on the master. - -```bash -vim /etc/cpds/agent/config.json -``` - -```json -{ - "expose_port":"20001", # Port to listen on - "log_cfg_file": "/etc/cpds/agent/log.conf", - "net_diagnostic_dest": "192.30.25.18" # Destination IP address for ICMP packets -} -``` - -### Prometheus Configuration - -CPDS uses Prometheus to collect raw data generated by cpds-agent. cpds-agent opens port 20001 by default. Edit the Prometheus configuration file to connect to cpds-agent for data collection. - -```bash -vim /etc/prometheus/prometheus.yml -``` - -```yaml -global: - scrape_interval: 2s - evaluation_interval: 3s -scrape_configs: - - job_name: "cpds" - static_configs: - - targets: ["cpds-agent1:port","cpds-agent2:port","..."] # IP addresses and ports of deployed cpds-agent instances -``` - -### cpds-detector Configuration - -```bash -vim /etc/cpds/detector/config.yml -``` - -```yaml -generic: - bindAddress: "127.0.0.1" # Address to listen on - port: 19091 # Port to listen on - -database: - host: "127.0.0.1" # Database IP address - port: 3306 # Database port - username: root # Database username - password: root # Database password - maxOpenConnections: 123 # Maximum number of connections - -prometheus: - host: "127.0.0.1" # Detector IP address - port: 9090 # Prometheus port - -log: - fileName: "/var/log/cpds/cpds-detector/cpds-detector.log" - level: "warn" - maxAge: 15 - maxBackups: 100 - maxSize: 100 - localTime: true - compress: true -``` - -### cpds-analyzer Configuration - -```bash -vim /etc/cpds/analyzer/config.yml -``` - -```yaml -generic: - bindAddress: "127.0.0.1" # Address to listen on - port: 19091 # Port to listen on - -database: - host: "127.0.0.1" # Database IP address - port: 3306 # Database port - username: root # Database username - password: root # Database password - maxOpenConnections: 123 # Maximum number of connections - -detector: - host: "127.0.0.1" # Detector IP address - port: 19092 # Detector port - -log: - fileName: "/var/log/cpds/cpds-analyzer/cpds-analyzer.log" - level: "warn" - maxAge: 15 - maxBackups: 100 - maxSize: 100 - localTime: true -``` - -### cpds-dashboard Configuration - -```bash -vim /etc/nginx/conf.d/cpds-ui.conf -``` - -```conf -server { - listen 10119; - - location / { - root /etc/cpds/cpds-ui/; - index index.html index.htm; - } - - location /api/ { - proxy_pass http://127.0.0.1:19091; # Backend analyzer IP address and port - } - - location /websocket/ { - proxy_pass http://127.0.0.1:19091; # Backend analyzer IP address and port - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-Proto http; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - } -} -``` - -# Starting CPDS - -This section outlines the steps to start CPDS. - -## Disabling the Firewall - -```shell -systemctl stop firewalld -systemctl disable firewalld -``` - -Set the SELINUX status to `disabled` in the **/etc/selinux/config** file. - -```conf -SELINUX=disabled -``` - -Restart the system to apply the changes. - -## Initializing the Database - -1. Start the database service. - - ```shell - systemctl start mariadb.service - systemctl enable mariadb.service - ``` - -2. Initialize the database with root privileges. - - ```shell - /usr/bin/mysql_secure_installation - ``` - - > During the process, you will be prompted to enter the **root** user password for the database. If no password is set, press **Enter** and follow the prompts to configure the settings. - -3. Configure database connection permissions. - - ```shell - mysql -u root -p - ``` - - Enter the password set in the previous step when prompted. - - ```shell - GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; - ``` - - > Replace `username` with the database username and `password` with the corresponding password. - - For example: - - ```shell - mysql -u root -p - Enter password: - Welcome to the MariaDB monitor. Commands end with ; or \g. - Your MariaDB connection id is 5 - Server version: 10.5.16-MariaDB MariaDB Server - - Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. - - Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - - MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; - Query OK, 0 rows affected (0.014 sec) - ``` - -### Starting the Service - -```shell -systemctl start Cpds.service -systemctl enable Cpds.service -``` - -Start cpds-agent on all nodes. - -```shell -systemctl start cpds-agent -systemctl enable cpds-agent -``` - -### Accessing the Frontend Management Platform - -Once the services are running, open a browser and navigate to **** to access the frontend management platform. diff --git a/docs/en/tools/cloud/cpds/usage_instructions.md b/docs/en/tools/cloud/cpds/usage_instructions.md deleted file mode 100644 index 470be1a98b77321d98d4f9774a326b2df73a1fc5..0000000000000000000000000000000000000000 --- a/docs/en/tools/cloud/cpds/usage_instructions.md +++ /dev/null @@ -1,236 +0,0 @@ -# 使用手册 - -## 介绍 - -CPDS(Container Problem Detect System)容器故障检测系统,是由北京凝思软件股份有限公司设计并开发的容器集群故障检测系统,该软件系统实现了对容器 TOP 故障、亚健康检测的监测与识别。 - -主要分为四个子模块: - -1. 信息采集组件 cpds-agent:本组件根据cpds-detetor(异常检测组件)需要的数据进行相应采集。 -2. 异常检测组件 cpds-detector:本组件根据cpds-analyzer(容器故障/亚健康诊断组件)下发的异常规则,对集群各节点原始数据进行分析,检测节点是否存在异常。 -3. 故障/亚健康诊断组件 cpds-analyzer:本组件根据cpds-dashboard(用户交互组件)下发的诊断规则,对cpds-detector(异常检测组件)收集的异常数据进行处理,判断集群节点是否处于容器故障/亚健康状态。 -4. 用户交互组件 cpds-dashboard:本组件从 cpds-analyzer(故障/亚健康诊断)组件中获取诊断结果数据,并以实时查看、离线查看的形式进行可视化诊断结果展示,便于容器集群运维人员进行分析与策略制定下发。 - -## 页面及功能说明 - -### 页面布局 - -CPDS页面布局分为导航栏、导航菜单、操作区。 - -> 页面布局如下图 - -![页面布局](./images/cpds-page/布局.png) - -| 序号 | 名称 | 说明 | -| ---- | -------- | ------------------------------------------------------------------------------ | -| 1 | 导航菜单 | 导航菜单包含 CPDS 所有功能,选择不同菜单项后,右侧操作区将显示对应的操作页面。 | -| 2 | 导航栏 | 用于指示用户当前页面位于导航树的位置。 | -| 3 | 操作区 | 显示当前操作信息,提供操作功能。 | - -### 概览 - -概览页面可查看整个集群的状态信息,包括集群容器健康状态、集群节点状态、集资源用量、节点监控状态、诊断结果。查看概览流程如下图所示: - -![集群概览](./images/cpds-page/集群概览.png) - -| 名称 | 说明 | -| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | -| 容器健康状态 | 显示集群中运行中的容器个数占全部容器个数的百分比,并显示全部容器、运行中的容器、停止的容器的个数。 | -| 集群节点状态 | 显示在线节点占全部节点的百分比,并显示全部节点、在线节点、离线节点的个数。 | -| 集群资源用量 | 显示集群 CUP、内容、磁盘的使用的量、总量和使用百分比。 | -| 节点监控状态 | 显示集群节点的 ip 地址、节点状态、节点运行容器数量占比。点击下方的查看更多,会跳转至“监控告警-节点健康”,可以查看更详细的节点信息。 | -| 诊断结果 | 显示触发规则的名称、当前状态、规则第一次触发的时间,以及后续触发的最新时间。点击下方的查看更多,会跳转至“健康诊断-诊断结果”,查看更详细的诊断结果。 | - -### 监控告警 - -监控告警能够对集群、节点的物理资源、容器状态进行监控。 - -#### 集群状态 - -显示集群主机在线状态,提供物理资源监控和容器健康监控。 - -##### 集群状态-概览 - -查看集群信息和节点信息,集群信息包括集群容器健康状态、集群节点状态、集资源用量。查看集群信息流程如下所示: - -1. 点击左侧导航菜单“监控告警”→“集群状态”,选择“概览”标签页,进入概览页面。如下图所示: - ![集群状态-概览](./images/cpds-page/集群状态-概览.png) - - | 名称 | 说明 | - | ------------ | -------------------------------------------------------------------------------------------------- | - | 容器健康状态 | 显示集群中运行中的容器个数占全部容器个数的百分比,并显示全部容器、运行中的容器、停止的容器的个数。 | - | 集群节点状态 | 显示在线节点占全部节点的百分比,并显示全部节点、在线节点、离线节点的个数。 | - | 资源使用情况 | 显示集群 CUP、内容、磁盘的使用的量和总量。 | - | 节点监控状态 | 详见 [节点健康](#节点健康)。 | - -##### 集群状态-物理资源监控 - -点击左侧导航菜单“监控告警”→“集群状态”,选择“物理资源监控”标签页,物理资源监控页面内容如下图所示。 -![集群物理资源监控](./images/cpds-page/集群物理资源监控.png) - -> 其中点击查询时间范围按钮可选择查询数据的时间范围,如下图所示。 -> ![时间范围选择](./images/cpds-page/时间范围选择.png) - -下面将对物理资源监控内容进行说明。 - -| 名称 | 说明 | -| ------------------ | ------------------------------------------------------ | -| 集群总 CPU 使用率 | 集群 CPU 使用百分比 | -| 集群总内存使用率 | 集群内存使用百分比 | -| 集群总磁盘使用率 | 集群磁盘使用百分比 | -| 集群iowait | 集群CPU等待I/O设备完成输入输出操作而处于空闲状态的时间 | -| 网络iops | 集群网卡每秒接收和发送数据包总数 | -| 网络网速 | 集群网卡每秒接收和发送数据大小 | -| 网络丢包率 | 集群单位时间内网卡丢失数据包占总数据包的百分比 | -| 网络错误率 | 集群单位时间内网卡出现错误的数据包占总数据包的百分比 | -| 网络重传率 | 集群单位时间内重传数据包占总数据包的百分比 | -| 集群总磁盘吞吐速率 | 集群磁盘每秒完成读写操作的数据量 | -| 磁盘 iops | 集群磁盘每秒完成读写操作的次数 | - -##### 集群状态-容器健康监控 - -点击左侧导航菜单“监控告警”→“集群状态”,选择“容器健康监控”标签页,该页面显示集群容器健康监控信息如下图所示: -![集群-容器健康监控](./images/cpds-page/集群-容器健康监控.png) - -下面将对容器健康监控内容进行说明。 - -| 名称 | 说明 | -| -------------- | -------------------------------------- | -| 容器CPU使用率 | 容器 CPU 使用量占集群 CPU 总量的百分比 | -| 容器磁盘使用率 | 容器磁盘使用量占集群磁盘总量的百分比 | -| 容器流量 | 容器每秒网卡接收/发送的数据量 | -| 容器内存使用率 | 容器内存使用量占集群内存总量的百分比 | - -#### 节点健康 - -显示各节点主机在线状态及架构信息,提供物理资源监控和容器健康监控。 -> 节点健康主页面如下图所示: - -![节点健康](./images/cpds-page/节点健康.png) - -##### 节点健康-概览 - -点击左侧导航菜单“监控告警”→“节点健康”,点击表格中节点对应的 ip 地址进入节点概览页面。 -> 节点概览页面如下图所示: - -![节点概览](./images/cpds-page/节点概览.png) - -> 点击如下图三个组件,可刷新或切换曲线图展示的数据内容。 - -![节点概览-按钮](./images/cpds-page/节点概览-按钮.png) - -##### 节点健康-物理资源监控 - -点击左侧导航菜单“监控告警”→“节点健康”,点击表格中节点对应的 ip 地址进入节点概览页面,选择“物理资源监控”标签页,物理资源监控页面内容如下图所示: -![节点物理资源监控](./images/cpds-page/节点物理资源监控.png) - -下面将对物理资源监控内容进行说明。 - -| 名称 | 说明 | -| ---------------- | ------------------------------------------------------ | -| 节点 CPU 使用率 | 节点 CPU 使用百分比 | -| 节点内存使用率 | 节点内存使用百分比 | -| 节点磁盘使用率 | 节点磁盘使用百分比 | -| 节点iowait | 节点CPU等待I/O设备完成输入输出操作而处于空闲状态的时间 | -| 节点网络iops | 节点网卡每秒接收和发送数据包总数 | -| 节点网络网速 | 节点网卡每秒接收和发送数据大小 | -| 节点网络丢包率 | 节点单位时间内网卡丢失数据包占总数据包的百分比 | -| 节点网络错误率 | 节点单位时间内网卡出现错误的数据包占总数据包的百分比 | -| 节点网络重传率 | 节点单位时间内重传数据包占总数据包的百分比 | -| 节点磁盘吞吐速率 | 节点磁盘每秒完成读写操作的数据量 | -| 节点磁盘 iops | 节点磁盘每秒完成读写操作的次数 | - -##### 节点健康-容器健康监控 - -点击左侧导航菜单“监控告警”→“节点健康”,点击表格中节点对应的 ip 地址进入节点概览页面,选择“容器健康监控”标签页,容器健康监控页面如下图所示: -![节点容器健康监控](./images/cpds-page/节点容器健康监控.png) - -> 该页面可根据容器状态、容器名称进行排序。 - -节点容器健康监控数据说明如下表: - -| 名称 | 说明 | -| -------- | -------------------------------------------------------------- | -| 容器名称 | 容器的完整id | -| 容器状态 | 容器的运行状态,包括:运行中、已创建、停止等待、暂停共四个状态 | -| CPU用量 | 容器CPU使用率 | -| 内存用量 | 容器内存用量 | -| 出站流量 | 容器网卡对外发送数据大小 | -| 如站流量 | 容器网卡对接收数据大小 | - -### 健康诊断 - -利用故障/亚健康检测规则,对各节点原始数据进行计算分析,得出诊断结果,提供诊断结果列表。支持诊断原始数据查看,显示诊断时所使用的原始数据,支持对时间进行过滤,显示不同时间段原始数据的值,并提供图表展示原始数据的变化规律。 - -#### 诊断结果 - -将规则列表中的规则拿来进行判断,满足判断条件的规则将被加入到诊断结果列表中。规则信息详见 [规则管理](#规则管理)。 -查看诊断结果列表流程如下: - -1. 点击左侧导航菜单“健康诊断”→“诊断结果”,进入诊断结果页面。如下图所示: - ![诊断结果](./images/cpds-page/诊断结果.png) - -2. 可在左上角输入规则名称对诊断结果进行筛选。 - -3. 点击查看原始数据,可以查看最近 10 分钟内原始数据的变化规律,如下图所示: - ![查看原始数据](./images/cpds-page/查看原始数据.png) - -4. 点击删除可以删除对应的诊断结果。 - -#### 原始数据检索 - -支持诊断原始数据查看,显示诊断时所使用的原始数据,支持对时间进行过滤,显示不同时间段原始数据的值,并提供图表展示原始数据的变化规律。页面布局如下图所示: - ![原始数据检索](./images/cpds-page/原始数据检索.png) - -功能说明如下表所示: - -| 名称 | 说明 | -| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| 原始数据查询 | 利用表达式对原始数据进行查询,可以设置时间选择器对时间进行过滤。可以查询到一段时间内原始数据的变化规律。 | -| 容器状态 | 当利用表达式成功查询原始数据后,查询记录将被记录到表格中,如果超过 10 条不同表达式记录,最先查询的记录将被删除。如果是相同表达式,那么记录会被覆盖。 | - -##### 原始数据图表 - -原始数据图表如下图所示: - ![原始数据图表](./images/cpds-page/原始数据图表.png) - -图表信息说明如下表: - -| 名称 | 说明 | -| -------------- | ------------------------------------------ | -| 监控指标 | 显示内容为查询的表达式 | -| 原始数据曲线图 | 显示该表达式在一段时间内查询结果的变化规律 | -| 原始数据表格 | 显示当前时间,查询结果的字段以及值 | - -### 规则管理 - -#### 查看规则 - -支持故障/亚健康检测规则列表查看、创建、编辑、删除功能,列表包括规则名、表达式、告警级别和亚健康、故障比较规则值信息。查看规则流程如下: - -1. 点击左侧导航菜单“规则管理”→“查看规则”,进入规则列表页面,如下图所示: - ![查看规则](./images/cpds-page/查看规则.png) - -2. 通过左上角输入规则名称,点击搜索可以对规则进行过滤。 -3. 点击删除可以删除对应规则。 - -#### 添加规则 - -击左侧导航菜单“规则管理”→“查看规则”,进入规则列表页面,点击添加规则或者编辑,如下图所示: - ![添加规则](./images/cpds-page/添加规则.png) - -添加/编辑规则内容有如下几点限制: - -1. 规则名称,只能包含数字、英文字母、下划线。 -2. 表达式必须符合PromQL语法,参考[prometheus官方文档](https://prometheus.io/docs/prometheus/latest/querying/basics/)。 -3. 亚健康阈值只能输入数字类型。 -4. 故障康阈值只能输入数字类型。 - -> 阈值只能在对应的比较条件选择之后才能输入。 -> 当比较条件选择之后,对应的阈值必须填写入。 -> 亚健康比较条件、故障比较条件二者必须选择一个,或者两个都选。 - -## 注意事项 - -1. 默认规则,规则名称为node_etcd_service、node_kube_apiserver、node_kube_controller_manager、node_kube_proxynode_kube_scheduler的规则表达式中的ip需要自行更换为实际ip。 -2. 当前版本CPDS只支持对docker容器运行时的故障检测。 diff --git a/docs/en/tools/cloud/pilotgo/_toc.yaml b/docs/en/tools/cloud/pilotgo/_toc.yaml deleted file mode 100644 index 9f22d5c8ea265fdf8014540fb266d4a990f93272..0000000000000000000000000000000000000000 --- a/docs/en/tools/cloud/pilotgo/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: PilotGo User Guide -isManual: true -description: Manage hosts, permissions, alarms, and other tasks using PilotGo. -sections: - - label: Usage Instructions - href: ./pilotgo_introduction.md - - label: Usage Instructions - href: ./usage_instructions.md diff --git "a/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2661.png" "b/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2661.png" deleted file mode 100644 index 5c7eaa4cde3364c70ca6bff24c768edad986a59c..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2661.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2662.png" "b/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2662.png" deleted file mode 100644 index 45437297fb46749b9f840f45e38cc3e5c4d0d595..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2662.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2663.png" "b/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2663.png" deleted file mode 100644 index d120fdc034f2c588c222837e8316a33cda339e22..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2663.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2664.png" "b/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2664.png" deleted file mode 100644 index 1e2ed031ac525d8a69c98c9f143b3edece72be77..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2664.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2661.png" "b/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2661.png" deleted file mode 100644 index f4a923729e62fb321931342ec56238b568dbf16e..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2661.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2662.png" "b/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2662.png" deleted file mode 100644 index d54a04a42afa0f0ae7d37fb2eef88943e4b402f5..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2662.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2663.png" "b/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2663.png" deleted file mode 100644 index a85aad4547a6dc8b6d55d50524c69c92668e54a6..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2663.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2664.png" "b/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2664.png" deleted file mode 100644 index c56bcc5248a53f9d5daeadaddb998d69ef154c4e..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2664.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2011.png" "b/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2011.png" deleted file mode 100644 index a51096f17e336fc0917bce7be08ff69ec2604562..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2011.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2012.png" "b/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2012.png" deleted file mode 100644 index f26d9ddf85da2d5955ce8f9d338fd1bb036b1132..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2012.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2013.png" "b/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2013.png" deleted file mode 100644 index b3ffd4507aab3a85b3ab8e775bc1ab4c1efcfda3..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2013.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2711.png" "b/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2711.png" deleted file mode 100644 index 4a127fafef22d62f326e38075173f53f244acfa7..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2711.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2712.png" "b/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2712.png" deleted file mode 100644 index 8a097306b1dbf7ce5c6cb14e9c84ff7f59079dfb..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2712.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2713.png" "b/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2713.png" deleted file mode 100644 index 1e517062c17505a2ec0905863934e5e0a5e47c36..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2713.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2411.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2411.png" deleted file mode 100644 index ee14b990e8ab6cf0c71bef1a40cb74cd2919e2fc..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2411.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2412.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2412.png" deleted file mode 100644 index 1f5a1658552227a88cf07f592e048c4bc1005286..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2412.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2413.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2413.png" deleted file mode 100644 index 4066752952e177ca2bb14b61a86d44ff1efc11f6..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2413.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2414.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2414.png" deleted file mode 100644 index ade3fb143ac6a0186985b63c5505afef9666e57e..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2414.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2661.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2661.png" deleted file mode 100644 index 74889505efa10bf45d699d9c8ec19c81cd63ef4f..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2661.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2662.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2662.png" deleted file mode 100644 index 0a0f563aa9efd21a789058b76dc88e5e0208a996..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2662.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2663.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2663.png" deleted file mode 100644 index e7dfcf189d030a4bffa1ce92885e27e3fab7ecde..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2663.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2411.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2411.png" deleted file mode 100644 index e360587420e42233933a9bb27ad31a62557374f0..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2411.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2412.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2412.png" deleted file mode 100644 index 0efb93e8dd16f855b444d6a5891be38fdebe92c7..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2412.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2413.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2413.png" deleted file mode 100644 index 2263d7c359bc58451f9382693b98c15cae4fb273..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2413.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2501.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2501.png" deleted file mode 100644 index 74c10a8dee0fb08e4ac39d73c3389b9a2262c143..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2501.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2502.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2502.png" deleted file mode 100644 index d4e467dd0b6fbd9d13a928deebfa8cca1a515c61..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2502.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2503.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2503.png" deleted file mode 100644 index 1bb38a09498d5a0d8c96aef1ce7b39f8bbb43207..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2503.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2671.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2671.png" deleted file mode 100644 index c0599cd9d3679c2c16debcbf46b85b1328130104..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2671.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2672.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2672.png" deleted file mode 100644 index 96a3636ed380608616fccb672017ef363108d529..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2672.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2712.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2712.png" deleted file mode 100644 index e739b14f7b60794065a9ec8a9b2478b2f0b37dd0..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2712.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2713.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2713.png" deleted file mode 100644 index d8c8967d525a68515a7ce651f7d30169654bd784..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2713.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2621.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2621.png" deleted file mode 100644 index cf3d51f7ab12f241f8a93223631406d0c1b99ab4..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2621.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2622.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2622.png" deleted file mode 100644 index b41055b466720578ca9282ff31589b6e147e8ada..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2622.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2623.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2623.png" deleted file mode 100644 index 661ed75def31a49cbf6043493c1805d65c83a83b..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2623.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\212\237\350\203\275\346\250\241\345\235\227.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\212\237\350\203\275\346\250\241\345\235\227.png" deleted file mode 100644 index 86782bfc46f42a051b56f457cd46fad60cad3332..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\212\237\350\203\275\346\250\241\345\235\227.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2501.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2501.png" deleted file mode 100644 index 23c2d754679c0a374d89c26596669e9bbbebf2f6..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2501.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2502.png" "b/docs/en/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2502.png" deleted file mode 100644 index 0efb1384611e7f5b4cb1370e626a238908567dbb..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2502.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2211.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2211.png" deleted file mode 100644 index 387df3d4cd301fe677e663c6a919abf093efba87..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2211.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2212.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2212.png" deleted file mode 100644 index ca5e64cbf7d0aeabcececacea125585484e873ca..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2212.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2751.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2751.png" deleted file mode 100644 index 4bc4ca6f620619fe10a81205a939535f83e772c2..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2751.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2752.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2752.png" deleted file mode 100644 index 68467232ca5bd65a03eccc4fc3fb8a5e95529ddf..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2752.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\346\223\215\344\275\2341.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\346\223\215\344\275\2341.png" deleted file mode 100644 index 5cee721e3c0ce14f666a85cd3acb27b57684f077..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\346\223\215\344\275\2341.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2211.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2211.png" deleted file mode 100644 index d5d54a3679b9a183dbc8eddacf881a8c30c0967b..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2211.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2212.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2212.png" deleted file mode 100644 index d639180465474d529758cb83e98b8bd44c409e47..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2212.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2213.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2213.png" deleted file mode 100644 index 87082b54be5d405f859bd17b558b061e08565f0c..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2213.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2443.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2443.png" deleted file mode 100644 index a8f2dd996fb826ace2a657ae330aaf36d7c1b884..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2443.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\216\206\345\217\262\347\211\210\346\234\254.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\216\206\345\217\262\347\211\210\346\234\254.png" deleted file mode 100644 index 74f5e745836607702d69f97939b8629446dc0d71..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\216\206\345\217\262\347\211\210\346\234\254.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2321.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2321.png" deleted file mode 100644 index 8a7e6dfd18608275d496de46cc157bdcfcc1ffa4..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2321.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2322.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2322.png" deleted file mode 100644 index 0ceef0dcacc27149d2feb2eff3a7902af1c13186..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2322.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2323.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2323.png" deleted file mode 100644 index 69b4cda58e7962c11e40bdac7555afb9428941b2..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2323.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2324.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2324.png" deleted file mode 100644 index 79281449c580ef3059dc30329416e6fb564fb5ae..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2324.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2711.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2711.png" deleted file mode 100644 index ae23a49e9ef1d9c2be390a4715f83457c05dce69..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2711.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2712.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2712.png" deleted file mode 100644 index 344f95e052c876e312043099b36267e4e9544e5c..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2712.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2713.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2713.png" deleted file mode 100644 index 1f108d6f224f30a5973b4ddbe7e8d551d8e1f9c5..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2713.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\201\234\346\255\242.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\201\234\346\255\242.png" deleted file mode 100644 index c482e8389f10bca2f1ad43545af169d6dd26b1a5..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\201\234\346\255\242.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\220\257\345\212\250.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\220\257\345\212\250.png" deleted file mode 100644 index 3d8674a65895b1138ca2826b2496f17c81e5818b..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\220\257\345\212\250.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\351\207\215\345\220\257.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\351\207\215\345\220\257.png" deleted file mode 100644 index a77c72630b6ab284232f7584d4f688e243439960..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\351\207\215\345\220\257.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\257.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\257.png" deleted file mode 100644 index 2a7e5cbb1366030517ceeacc8a1459a764ac98eb..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\257.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\2571.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\2571.png" deleted file mode 100644 index d3130734e2fb884c74209411dbb647d88e575a8f..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\2571.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\215\270\350\275\275.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\215\270\350\275\275.png" deleted file mode 100644 index cc74a97dcf92ca3eb57b8cf7b2319e73cf10c099..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\215\270\350\275\275.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\256\211\350\243\2052.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\256\211\350\243\2052.png" deleted file mode 100644 index b24a22cbafc042b7d4cb234708a161a4b6910048..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\256\211\350\243\2052.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2671.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2671.png" deleted file mode 100644 index e5f5631e6ca19f8498fa2b030613b0a75d7168f1..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2671.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2672.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2672.png" deleted file mode 100644 index 017c47fdc9974c3a9ee5758c05512eb0b01a929c..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2672.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2621.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2621.png" deleted file mode 100644 index a51db5c136e8d6baf61187d8882d4b02758cb056..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2621.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2622.png" "b/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2622.png" deleted file mode 100644 index a352b27353c2513f55cad32d968b1095de96eb23..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2622.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2451.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2451.png" deleted file mode 100644 index 7b7c230d9942bd9fceaeb2fbb23b3e16255b2505..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2451.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2452.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2452.png" deleted file mode 100644 index dad2779f6ddb6577a636fe8fb6050aeec69ee2ad..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2452.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2453.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2453.png" deleted file mode 100644 index 88d855f0e0f48d3da3523d59df9e2358fb49a92c..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2453.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2721.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2721.png" deleted file mode 100644 index 6198f25e96b6f782e042a1e1c36b0bef897ca064..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2721.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2722.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2722.png" deleted file mode 100644 index c55645090a3475c117b2e5805b42bad57a90dfd0..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2722.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\231\273\345\275\225.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\231\273\345\275\225.png" deleted file mode 100644 index 6eb0106de32bd3d9da30d194035f129e3083791a..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\231\273\345\275\225.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2411.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2411.png" deleted file mode 100644 index 068b66d65a0f63fabd9f4cd78b46aafbbd1eb8b7..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2411.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2413.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2413.png" deleted file mode 100644 index a469a8798beecb882e5823132f442ee1eaf5cb21..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2413.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2661.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2661.png" deleted file mode 100644 index 50b5f27cc9cecee17b7758683f61bf21544e8c3b..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2661.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2662.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2662.png" deleted file mode 100644 index 1362aac595643c19f924cf92098bf43abf75c78e..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2662.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2663.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2663.png" deleted file mode 100644 index ffa2ed188539c7aa0f95cd6beb21d07c0ed6fc84..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2663.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2671.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2671.png" deleted file mode 100644 index 36cdb73c8cffc40e7e9d6831691183cdfb481649..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2671.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2672.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2672.png" deleted file mode 100644 index 7391fda93795f334f7674c98c811bf93919e99a0..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2672.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2621.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2621.png" deleted file mode 100644 index d752d16e201a493d71feee178f6a9ca4541df5ed..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2621.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2622.png" "b/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2622.png" deleted file mode 100644 index 25c650b0393a73ba5b40f3409a760e420881dcfe..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2622.png" and /dev/null differ diff --git "a/docs/en/tools/cloud/pilotgo/figures/\351\207\215\347\275\256\345\257\206\347\240\2011.png" "b/docs/en/tools/cloud/pilotgo/figures/\351\207\215\347\275\256\345\257\206\347\240\2011.png" deleted file mode 100644 index 0f33a7a9476814caf942edb428b55a8aa31e3d91..0000000000000000000000000000000000000000 Binary files "a/docs/en/tools/cloud/pilotgo/figures/\351\207\215\347\275\256\345\257\206\347\240\2011.png" and /dev/null differ diff --git a/docs/en/tools/cloud/pilotgo/pilotgo_introduction.md b/docs/en/tools/cloud/pilotgo/pilotgo_introduction.md deleted file mode 100644 index d1c8fd2b0b77879ac8762fadb08a2a9487151931..0000000000000000000000000000000000000000 --- a/docs/en/tools/cloud/pilotgo/pilotgo_introduction.md +++ /dev/null @@ -1,37 +0,0 @@ -# PilotGo介绍 - -PilotGo 是 openEuler 社区原生孵化的运维管理平台,采用插件式架构设计,功能模块轻量化组合、独立迭代演进,同时保证核心功能稳定;同时使用插件来增强平台功能、并打通不同运维组件之间的壁垒,实现了全局的状态感知及自动化流程。 - -## 功能描述 - -PilotGo 核心功能模块包括: - -* 用户管理:支持按照组织结构分组管理,支持导入已有平台账号,迁移方便; - -* 权限管理:支持基于RBAC的权限管理,灵活可靠; - -* 主机管理:状态前端可视化、直接执行软件包管理、服务管理、内核参数调优、简单易操作; - -* 批次管理:支持运维操作并发执行,稳定高效; - -* 日志审计:跟踪记录用户及插件的变更操作,方便问题回溯及安全审计; - -* 告警管理:平台异常实时感知; - -* 插件功能:支持扩展平台功能,插件联动,自动化能力倍增,减少人工干预。 - -![本地路径](./figures/功能模块.png) - -当前OS发布版本还集成了以下插件: - -* Prometheus:托管Prometheus监控组件,自动化下发及配置node-exporter监控数据采集,对接平台告警功能; - -![本地路径](./figures/P插件3.png) - -* Grafana:集成Grafana可视化平台,提供美观易用的指标监控面板功能。 - -![本地路径](./figures/G插件4.png) - -## 应用场景 - -PiotGo可用于典型的服务器集群管理场景,支持大批量的服务器集群基本管理及监控;通过集成对应的业务功能插件,还可实现业务集群的统一平台管理,例如Mysql数据库集群、redis数据缓存集群、nginx网关集群等。 diff --git a/docs/en/tools/cloud/pilotgo/usage_instructions.md b/docs/en/tools/cloud/pilotgo/usage_instructions.md deleted file mode 100644 index dc6369e3ceb6dd098fb670bc89541eba6a5feb0c..0000000000000000000000000000000000000000 --- a/docs/en/tools/cloud/pilotgo/usage_instructions.md +++ /dev/null @@ -1,327 +0,0 @@ -# PilotGo平台使用手册 - -PilotGo 是一个 openEuler 社区原生的运维管理平台,采用插件式开发,增强平台的扩展性、并打通不同运维组件之间的壁垒。PilotGo 核心功能包括:集群管理、批次管理、主机管理、用户管理、权限管理、主机监控、运维审计等。 - -## 1 PilotGo安装与配置 - -PilotGo可以单机部署也可以采用集群式部署。安装之前先关闭防火墙。 - -### 1.1 PilotGo-server 安装与配置 - -安装mysql; -安装redis,设置redis密码(修改),运行命令: - -`dnf install redis6` - -`vim /etc/redis/redis.conf` - -`#requirepass foobared去掉注释,foobared改为自己的密码` - -`bind 0.0.0.0` - -启动MySQL和redis服务,然后执行: - -`dnf install PilotGo-server` - -修改/opt/PilotGo/server/config_server.yaml里面mysql和redis的配置信息,启动服务: - -`systemctl start PilotGo-server` - -访问页面: - -### 1.2 PilotGo-agent安装与配置 - -执行以下命令进行安装: - -`dnf install PilotGo-agent` - -修改/opt/PilotGo/agent/config_agent.yaml里面的ip信息,启动服务: - -`systemctl start PilotGo-agent` - -### 1.3 PilotGo插件安装与配置 - -详情见3 插件使用手册 - -## 2 PilotGo平台使用说明 - -### 2.1 首次登录 - -#### 2.1.1 用户登录页面 - -用户登录页面如图所示,输入正确的用户名和密码登录系统。默认用户名为,默认密码为admin,首次登录之后建议先修改密码。![本地路径](./figures/登录.png) - -### 2.2 用户模块 - -#### 2.2.1 创建用户 - -创建用户的方式又两种,一种是手动创建单个用户,另外一种是批量导入多个用户。 - -##### 2.2.1.1 创建单个用户 - -1. 具有创建用户权限的用户成功登录之后点击左侧导航栏中的用户管理; -2. 点击页面右上角的添加按钮; -3. 在页面中输入用户名、密码、邮箱,选择部门和角色类型,并点击确定按钮;![本地路径](./figures/添加用户1.png) -4. 页面弹框提示“添加用户成功”,并显示新创建的用户信息,表示创建用户成功。![本地路径](./figures/添加用户2.png) - -##### 2.2.1.2 批量导入多个用户 - -1. 具有创建用户权限的用户成功登录之后点击左侧导航栏中的用户管理; -2. 击页面的批量导入按钮,选择文件点击打开按钮;![本地路径](./figures/用户导入1.png) -3. 显示用户信息则完成用户导入。![本地路径](./figures/用户导入2.png)![本地路径](./figures/用户导入3.png) - -#### 2.2.2 修改用户信息及密码 - -##### 2.2.2.1 修改用户信息 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的用户管理; -2. 找到用户信息,点击操作栏中的编辑按钮; -3. 在页面中输入要修改的用户信息,并点击确定按钮;![本地路径](./figures/编辑用户1.png) -4. 页面弹框提示“用户信息修改成功”,并显示修改后的用户信息。![本地路径](./figures/编辑用户2.png) - -##### 2.2.2.2 修改密码 - -修改密码有两种方式,第一是用户知道密码登录系统后自己修改,第二是用户忘记密码,由管理员登录系统后重置此用户密码,重置默认密码为邮箱@符号的前半部分。 - -###### 2.2.2.2.1 手动修改密码 - -1. 用户登录系统后点击右上角的人像图标和修改密码;![本地路径](./figures/修改密码1.png) -2. 连续输入两次新密码,点击确定按钮;![本地路径](./figures/修改密码2.png) -3. 页面弹框提示“修改成功”。![本地路径](./figures/修改密码3.png) - -###### 2.2.2.2.2 重置密码 - -1. 管理员登录成功后点击左侧导航栏中的用户管理; -2. 找到用户信息,点击操作栏中的重置密码按钮; -3. 用户使用默认密码可以登录系统。![本地路径](./figures/重置密码1.png) - -#### 2.2.3 删除用户 - -1. 管理员登录成功后点击左侧导航栏中的用户管理; -2. 点击页面小方块选择要删除的用户; -3. 点击页面右上角的删除按钮,并点击确定;![本地路径](./figures/删除用户1.png) -4. 页面弹框提示“用户删除成功”,并用户管理页面不显示删除用户的信息。![本地路径](./figures/删除用户2.png) - -#### 2.2.4 导出用户 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的用户管理; -2. 点击页面的导出按钮;![本地路径](./figures/用户导出1.png) -3. 浏览器显示下载进度,成功下载后打开xlsx文件查看信息。![本地路径](./figures/用户导出2.png) - -### 2.3 角色模块 - -#### 2.3.1 添加角色 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的角色管理; -2. 点击页面的添加按钮; -3. 输入角色名和描述信息,并点击确定按钮;![本地路径](./figures/添加角色1.png) -4. 页面弹框提示“新增角色成功”,并页面显示新添加的角色信息。![本地路径](./figures/添加角色2.png) - -### 2.3.2 修改角色 - -#### 2.3.2.1 修改角色信息 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的角色管理; -2. 点击对应角色的编辑按钮; -3. 输入新的角色名和描述信息,并点击确定按钮;![本地路径](./figures/添加角色1.png) -4. 页面弹框提示“角色信息修改成功”,并页面显示修改后的角色信息。![本地路径](./figures/编辑角色2.png) - -#### 2.3.2.2 修改角色权限 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的角色管理; -2. 点击对应角色的变更按钮; -3. 选择相应的权限,点击重置按钮可以清空所选权限,并点击确定按钮;![本地路径](./figures/编辑角色1.png) -4. 页面弹框提示“角色权限变更成功”。![本地路径](./figures/编辑角色2.png) - -### 2.3.3 删除角色 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的角色管理; -2. 点击对应角色的删除按钮,并点击确定;![本地路径](./figures/删除角色1.png)![本地路径](./figures/删除角色2.png) -3. 页面弹框提示“角色删除成功”,并不显示删除的角色信息。![本地路径](./figures/删除角色3.png) - -### 2.4 部门树模块 - -#### 2.4.1 修改部门节点 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 在部门节点对应位置点击修改符号,输入节点名字并点击确定;![本地路径](./figures/修改节点1.png)![本地路径](./figures/修改节点2.png) -3. 页面弹框提示“修改成功”,并显示修改后的部门节点信息。![本地路径](./figures/修改节点3.png) - -#### 2.4.2 删除部门节点 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 在部门节点对应位置点击删除符号并点击确定;![本地路径](./figures/修改节点1.png)![本地路径](./figures/删除节点2.png) -3. 页面弹框提示“删除成功”,并不显示删除节点的信息。![本地路径](./figures/删除节点3.png) - -### 2.5 配置库模块 - -#### 2.5.1 添加 repo 配置文件 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 点击页面的新增按钮;![本地路径](./figures/创建文件1.png) -3. 输入文件名、文件类型、文件路径、描述和内容等信息,文件名必须以.repo结尾,文件路径必须正确,文件内容要符合repo文件的格式,并点击确定按钮;![本地路径](./figures/创建文件2.png) -4. 页面弹框提示“文件保存成功”;并显示新增的repo配置文件信息。![本地路径](./figures/创建文件3.png) - -#### 2.5.2 修改 repo 配置文件 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 找到要修改的repo文件,点击对应的编辑按钮;![本地路径](./figures/编辑文件1.png) -3. 输入修改后的文件名、文件类型、文件路径、描述和内容等信息,并点击确定按钮;![本地路径](./figures/编辑文件2.png) -4. 页面弹框提示“配置文件修改成功”;并显示修改后的repo配置文件信息。![本地路径](./figures/编辑文件3.png) - -#### 2.5.3 删除 repo 配置文件 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 选择要删除的文件,点击页面的删除按钮,并点击确定;![本地路径](./figures/删除角色1.png)![本地路径](./figures/删除角色2.png) -3. 页面弹框提示“存储的文件已从数据库删除”,且页面不显示删除的repo配置文件信息。![本地路径](./figures/文件删除3.png) - -#### 2.5.4 下发 repo 配置文件 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 找到要下发的文件,点击页面的下发按钮,选择要下发的批次,并点击确定;![本地路径](./figures/文件下发1.png)![本地路径](./figures/文件下发2.png) -3. 页面弹框提示“配置文件下发成功”。![本地路径](./figures/文件下发3.png) - -#### 2.5.5 回滚 repo 配置文件历史版本 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 找到要回滚的文件,点击页面的历史版本按钮;![本地路径](./figures/文件历史版本.png) -3. 选择要回滚的版本,点击回滚按钮并点击确定;![本地路径](./figures/文件回滚1.png)![本地路径](./figures/文件回滚2.png) -4. 页面弹框提示“已回退到历史版本”,历史版本页面增加一条“-latest”记录。![本地路径](./figures/文件回滚3.png)![本地路径](./figures/文件回滚4.png) - -### 2.6 批次模块 - -#### 2.6.1 创建批次 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和创建批次; -2. 点击机器所在的部门名字,在备选项中选择0个或多个机器ip(点击ip前面的方框),若选择一个或多个部门的所有机器可以点击部门列表的方框,并点击备选项中的部门名称,选择完成后点击向右的箭头;![本地路径](./figures/创建批次1.png) -3. 输入批次名称和描述,并点击创建按钮;![本地路径](./figures/创建批次2.png) -4. 页面弹框提示“批次入库成功”,并批次页面显示新创建的批次信息。![本地路径](./figures/创建批次3.png)![本地路径](./figures/创建批次4.png) - -#### 2.6.2 修改批次 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的批次; -2. 点击对应批次的编辑按钮;![本地路径](./figures/编辑批次1.png) -3. 输入新的批次名称和备注信息,并点击确定按钮;![本地路径](./figures/编辑文件2.png) -4. 页面弹框提示“批次修改成功”,并显示修改后的批次信息。![本地路径](./figures/编辑批次3.png) - -#### 2.6.3 删除批次 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的批次; -2. 选择要删除的批次,点击删除按钮并点击确定;![本地路径](./figures/删除批次1.png)![本地路径](./figures/删除批次2.png) -3. 页面弹框提示“批次删除成功”,并不显示删除批次的信息。![本地路径](./figures/删除批次3.png) - -#### 2.6.4 批量安装软件包 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的批次,并点击批次名称;![本地路径](./figures/批量操作1.png) -2. 点击右上角的rpm下发按钮,在搜索框输入软件包的名称,并点击下发按钮;![本地路径](./figures/批量下发1.png) -3. 页面弹框提示“软件包安装成功”,agent端可以查到下发的rpm包。![本地路径](./figures/批量下发2.png) - -#### 2.6.5 批量卸载软件包 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的批次,并点击批次名称;![本地路径](./figures/批量操作1.png) -2. 点击右上角的rpm卸载按钮,在搜索框输入软件包的名称,并点击卸载按钮;![本地路径](./figures/批量卸载1.png) -3. 页面弹框提示“软件包卸载成功”,agent端无此软件包。![本地路径](./figures/批量卸载2.png) - -### 2.7 机器模块 - -#### 2.7.1 删除机器 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 选择要删除的机器,点击删除按钮并点击确定;![本地路径](./figures/删除机器1.png)![本地路径](./figures/删除机器2.png) -3. 页面弹框提示“机器删除成功”,并不显示删除机器的信息。![本地路径](./figures/删除机器3.png) - -#### 2.7.2 变更机器部门 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 选择要变更部门的机器,点击变更部门按钮; -3. 核对变更部门机器ip的信息,选择新的部门,并点击确定;![本地路径](./figures/变更部门1.png) -4. 页面弹框提示“机器部门修改成功”,并显示变更后的信息。![本地路径](./figures/变更部门2.png) - -#### 2.7.3 修改机器内核参数 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击内核参数信息栏目;![本地路径](./figures/机器内核修改1.png) -3. 输入要查找的内核,点击修改,输入参数值并点击确定;![本地路径](./figures/机器内核修改2.png) -4. 页面显示修改进度,成功后显示100%。![本地路径](./figures/机器内核修改3.png) - -#### 2.7.4 启动机器服务 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击服务信息栏目; -3. 在搜索框输入要启动的服务名称,并点击启动按钮; -4. 页面显示软件包名、执行动作、执行结果进度条信息。![本地路径](./figures/机器服务启动.png) - -#### 2.7.5 重启机器服务 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击服务信息栏目; -3. 在搜索框输入要重启的服务名称,并点击重启按钮; -4. 页面显示软件包名、执行动作、执行结果进度条信息。![本地路径](./figures/机器服务重启.png) - -#### 2.7.6 停止机器服务 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击服务信息栏目; -3. 在搜索框输入要启动的服务名称,并点击停止按钮; -4. 页面显示软件包名、执行动作、执行结果进度条信息。![本地路径](./figures/机器服务停止.png) - -#### 2.7.7 安装软件包 - -1. 有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击软件包信息栏目; -3. 在搜索框输入软件包的名称,并点击安装按钮; -4. 页面显示repo名称、repo地址信息,并页面显示软件包名、执行动作、结果等信息。![本地路径](./figures/机器软件包安装2.png) - -#### 2.7.8 卸载软件包 - -1. 有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击软件包信息栏目; -3. 在搜索框输入软件包的名称,并点击卸载按钮; -4. 页面显示repo名称、repo地址信息,并页面显示软件包名、执行动作、结果等信息。![本地路径](./figures/机器软件包卸载.png) - -#### 2.7.9 连接机器终端 - -1. 有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击终端信息栏目; -3. 输入ip地址和机器密码,点击连接按钮;![本地路径](./figures/机器终端1.png) -4. 页面显示终端窗口。![本地路径](./figures/机器终端.png) - -## 3 PilotGo平台插件使用说明 - -### 3.1 Grafana插件使用说明 - -1. 在任意一台服务器上执行dnf install PilotGo-plugin-grafana grafana; -2. 将/opt/PilotGo/plugin/grafana/config.yaml文件中ip地址修改为本机真实ip,修改/etc/grafana/grafana.ini文件一下信息: - - ```shell - root_url = http://真实ip:9999/plugin/grafana - - serve_from_sub_path = true - - allow_embedding = true - ``` - -3. 重启两个服务,执行以下命令: - - ```shell - systemctl restart grafana-server - - systemctl start PilotGo-plugin-grafana - ``` - -4. 成功登录pilotgo平台,点击左侧导航栏中的插件管理,点击添加插件按钮,填写插件名称和服务地址,并点击确定;![本地路径](./figures/G插件1.png) -5. 页面增加一条插件管理数据,导航栏增加一个插件按钮。![本地路径](./figures/G插件2.png)![本地路径](./figures/G插件3.png) - -### 3.2 Prometheus插件使用说明 - -1. 在任意一台服务器上执行dnf install PilotGo-plugin-prometheus; -2. 将/opt/PilotGo/plugin/prometheus/server/config.yml文件中ip地址修改为本机真实ip和mysql服务地址; -3. 重启服务,执行以下命令: - - ```shell - systemctl start PilotGo-plugin-prometheusX - ``` - -4. 成功登录pilotgo平台,点击左侧导航栏中的插件管理,点击添加插件按钮,填写插件名称和服务地址,并点击确定;![本地路径](./figures/P插件1.png) -5. 页面增加一条插件管理数据,导航栏增加一个插件按钮。![本地路径](./figures/P插件2.png)![本地路径](./figures/P插件3.png) -6. 在页面选择机器ip和监控时间,展示机器数据面板。![本地路径](./figures/P插件4.png) diff --git a/docs/en/tools/community_tools/_toc.yaml b/docs/en/tools/community_tools/_toc.yaml index 24b9d27a83afd272cf3e1330d739950e05a7c775..a72ebd37b2328eb14153b42511260d922de67588 100644 --- a/docs/en/tools/community_tools/_toc.yaml +++ b/docs/en/tools/community_tools/_toc.yaml @@ -2,8 +2,12 @@ label: Community Tools sections: - label: Image Creation sections: - - href: ./image_custom/isocut/_toc.yaml - - href: ./image_custom/image_tailor/_toc.yaml + - href: + upstream: https://gitee.com/src-openeuler/oemaker/blob/master/docs/en/_toc.yaml + path: ./isocut + - href: + upstream: https://gitee.com/openeuler/imageTailor/blob/master/docs/en/master/_toc.yaml + path: ./imagetailor - label: Compilation sections: - href: ../../server/development/gcc/_toc.yaml @@ -13,11 +17,16 @@ sections: - href: ../../server/performance/tuning_framework/oeaware/_toc.yaml - label: Migration sections: - - href: ./migration/migration_tools/_toc.yaml + - href: + upstream: https://gitee.com/src-openeuler/migration-tools/blob/master/docs/en/_toc.yaml + path: ./migration_tools - label: Virtualization sections: - - href: ./virtualization/euler_launcher/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/eulerlauncher/blob/master/docs/en/master/_toc.yaml - label: Package Management sections: - - href: ./epkg/epkg_use/_toc.yaml - - href: ./epkg/autopkg/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/epkg/blob/master/docs/en/master/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/epkg-autopkg/blob/master/docs/en/master/_toc.yaml diff --git a/docs/en/tools/community_tools/epkg/autopkg/_toc.yaml b/docs/en/tools/community_tools/epkg/autopkg/_toc.yaml deleted file mode 100644 index 638466b275e0b6bb7dc96410c76ee24aad6c2682..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/epkg/autopkg/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: autopkg User Guide -isManual: true -description: Streamlined process of packaging software source code into compatible packages for openEuler -sections: - - label: autopkg User Guide - href: ./autopkg.md diff --git a/docs/en/tools/community_tools/epkg/autopkg/autopkg.md b/docs/en/tools/community_tools/epkg/autopkg/autopkg.md deleted file mode 100644 index 6a0baa0b86cc570ab289e29f1fd1eb1270f040e8..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/epkg/autopkg/autopkg.md +++ /dev/null @@ -1,166 +0,0 @@ -# Overview - -This software streamlines package integration for the openEuler community by automating the bulk import of source code repositories from public platforms like GitHub. It detects package dependencies and generates binary files automatically, eliminating the need for manual package writing and maintenance. With built-in support for cMake, autotools, Meson, Maven, and Python build systems, the software substantially increases the success rate of end-to-end package integration. - -## Installation and Uninstallation - -### 1. Installation - -Download the source code from the repository. - -```bash -git clone https://gitee.com/qiu-tangke/autopkg.git -b ${branch} -``` - -Navigate to the repository directory and install the software using `pip`. This is compatible with openeuler 22.03 LTS and newer versions. For other versions, ensure that a Python 3.8 or higher environment is available. - -```bash -pip install dist/autopkg-***-py3-none-any.whl -``` - -### 2. Uninstallation - -```bash -pip uninstall autopkg -``` - -## Quick Start - -### 1. Environment Preparation - -The software must run on the host machine and requires Docker container support. Prepare a Docker image of the openEuler OS using the following methods. - -#### Method 1: Direct Image Acquisition from Source Repository - -```bash -arch=$(uname -m) -if [ "$arch" == "aarch64" ]; then - wget https://cache-openeuler.obs.cn-north-4.myhuaweicloud.com/52f2b17e15ceeefecf5646d7711df7e94691ea1adb11884b926532ae52ab3c22/autopkg-latest_aarch64.tar.xz - docker load < autopkg-latest_aarch64.tar.xz -elif [ "$arch" == "x86_64" ]; then - wget https://cache-openeuler.obs.cn-north-4.myhuaweicloud.com/710a5f18188efc70bfa0119d0b35dcbb62cab911c9eb77b86dc6aebdbbfc69de/autopkg-latest_x86-64.tar.xz - docker load < autopkg-latest_x86-64.tar.xz -else - echo "Error: The system architecture is neither aarch64 nor x86_64, it is $arch." -fi -``` - -#### Method 2: Manual Image Construction via Commands (in Case Method 1 Fails) - -```bash -arch=$(uname -m) -wget "https://repo.huaweicloud.com/openeuler/openEuler-23.03/docker_img/${arch}/openEuler-docker.${arch}.tar.xz" -docker load < "openEuler-docker.${arch}.tar.xz" -docker run -dti --privileged --name=autopkg_working --network=host openEuler-23.03:latest -docker exec -ti ${container_id} bash # The following commands are executed inside the container. -yum install -y git make gcc cmake python3-pip ruby ruby-devel rubygems-devel npm maven automake perl wget curl meson -cat >> /root/phase.sh << EOF -#/usr/bin/env bash - -prep -build -install -EOF -exit # Exit the container. -docker commit ${container_id} > autopkg:latest # Save the container modifications. -docker tag ${new_image_id} autopkg:latest # Name and tag the image. -``` - -### 2. Command Line - -```bash -autopkg --help --g,--git-url: Provide the git repository URL, for example, 'https://***.git'. --t,--tar-url: Provide the tar package URL. --d,--dir: Specify the local repository path. --n,--name: Specify the package name, used for interface request information. --v,--version: Specify the version, used with "-n". --l,--language: Specify the language, used with "-n". --o,--output: Set the output file path. --b,--build: Enable debug log mode. --c,--config: Provide directly usable configuration information. -``` - -### 3. Common Commands - -#### A. Specifying Local Repository Path - -```bash -autopkg -d ${package_dir} -o ${output_path} -``` - -![](./images/dir_test.PNG) - -#### B. Specifying Source Package URL - -```bash -autopkg -t ${tar_url} -o ${output_path} -``` - -![](./images/tar_url_test.PNG) - -#### C. Specifying Package Name without Compilation - -```bash -autopkg -n ${name} -v ${version} -l ${language} -o ${output_path} -``` - -![](./images/name_test.PNG) - -## Output File Description - -Upon successful package compilation, the system generates **package.yaml**, **phase.sh**, and **{package_name}.epkg**. If compilation is skipped, only **package.yaml** and **phase.sh** are produced. The output path is determined by the `--output` parameter, defaulting to **/tmp/autopkg/output**. - -### 1. package.yaml (Example: Jekyll, Ruby Compilation) - -Basic information of the package - -```yaml -meta: - summary: No detailed summary available - description: | - # [Jekyll](https://jekyllrb.com/) -name: jekyll -version: 4.3.3 -homepage: https://localhost:8080/jekyll-0.0.1.tar.gz -license: MIT -source: - '0': https://localhost:8080/jekyll-0.0.1.tar.gz # For local repositories, the URL is simulated by the local service -release: 0 -buildRequires: -- ruby -- ruby-devel -- rubygems-devel -``` - -### 2. phase.sh (Example: Jekyll, Ruby Compilation) - -Build script for the package - -```bash -#!/usr/bin/env bash - -prep() { - cd /root/workspace -} - -build() { - if [ -f *.gemspec ]; then - gem build *.gemspec - fi - mkdir -p usr/ - gem install -V --local --build-root usr --force --document=ri,rdoc *.gem -} - -install() { - rm -rf /opt/buildroot - mkdir /opt/buildroot - cp -r usr/ /opt/buildroot -} -``` - -### 3. ***.epkg - -Installation package of the software. - -![](./images/local_epkg.PNG) diff --git a/docs/en/tools/community_tools/epkg/autopkg/images/dir_test.PNG b/docs/en/tools/community_tools/epkg/autopkg/images/dir_test.PNG deleted file mode 100644 index 3d223e1c3f7aca150b724746b43a931f77e6c6d9..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/epkg/autopkg/images/dir_test.PNG and /dev/null differ diff --git a/docs/en/tools/community_tools/epkg/autopkg/images/local_epkg.PNG b/docs/en/tools/community_tools/epkg/autopkg/images/local_epkg.PNG deleted file mode 100644 index 7f5ecdf2948a661ab2d513f008ae72758706fe28..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/epkg/autopkg/images/local_epkg.PNG and /dev/null differ diff --git a/docs/en/tools/community_tools/epkg/autopkg/images/name_test.PNG b/docs/en/tools/community_tools/epkg/autopkg/images/name_test.PNG deleted file mode 100644 index 95e5cbfc916919e0996172cd4c55433c55eed4c2..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/epkg/autopkg/images/name_test.PNG and /dev/null differ diff --git a/docs/en/tools/community_tools/epkg/autopkg/images/tar_url_test.PNG b/docs/en/tools/community_tools/epkg/autopkg/images/tar_url_test.PNG deleted file mode 100644 index 80a49875c4eacbe74da42a859d7d9df251533fb8..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/epkg/autopkg/images/tar_url_test.PNG and /dev/null differ diff --git a/docs/en/tools/community_tools/epkg/epkg_use/_toc.yaml b/docs/en/tools/community_tools/epkg/epkg_use/_toc.yaml deleted file mode 100644 index b4635f57dd6e4370e9aac614e2d1696e2f9a4161..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/epkg/epkg_use/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: epkg User Guide -isManual: true -description: epkg for package management -sections: - - label: epkg User Guide - href: ./epkg_package_manager_usage_guide.md diff --git a/docs/en/tools/community_tools/epkg/epkg_use/epkg_package_manager_usage_guide.md b/docs/en/tools/community_tools/epkg/epkg_use/epkg_package_manager_usage_guide.md deleted file mode 100644 index d88d3e2949955d7fb4be45cf9389bb966ea70394..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/epkg/epkg_use/epkg_package_manager_usage_guide.md +++ /dev/null @@ -1,320 +0,0 @@ -# epkg User Guide - -## Introduction - -This document explains how to initialize the working environment for the epkg package manager and how to use its basic features. All operation results in this document are demonstrated using a non-root user as an example. -Note: Currently, epkg packages are only compatible with the AArch64 architecture, and support for other architectures will be expanded in the future. - -## Quick Start - -The following examples demonstrate how to install different versions of software packages. - -```bash -# Install epkg using curl. -# During installation, you can choose between user/global installation modes to install epkg for the current user or all users. -# Only the root user can use the global installation mode. -wget https://repo.oepkgs.net/openeuler/epkg/rootfs/epkg-installer.sh -sh epkg-installer.sh - -# Uninstall epkg. -wget https://repo.oepkgs.net/openeuler/epkg/rootfs/epkg-uninstaller.sh -sh epkg-uninstaller.sh - -# Initialize epkg. -epkg init -bash // Re-execute .bashrc to update the PATH - -# Create environment 1. -epkg env create t1 -epkg install tree -tree --version -which tree - -# View repositories. -[root@vm-4p64g ~]# epkg repo list ------------------------------------------------------------------------------------------------------------------------------------------------------- -channel | repo | url ------------------------------------------------------------------------------------------------------------------------------------------------------- -openEuler-22.03-LTS-SP3 | OS | https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-22.03-LTS-SP3/OS/aarch64/ -openEuler-24.09 | everything | https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64/ -openEuler-24.09 | OS | https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/OS/aarch64/ ------------------------------------------------------------------------------------------------------------------------------------------------------- - -# Create environment 2, specify a repository. -epkg env create t2 --repo openEuler-22.03-LTS-SP3 -epkg install tree -tree --version -which tree - -# Switch back to environment 1. -epkg env activate t1 -``` - -## epkg Usage - -```bash -Usage: - epkg install PACKAGE - epkg install [--env ENV] PACKAGE (under development) - epkg remove [--env ENV] PACKAGE (under development) - epkg upgrade [PACKAGE] (under development) - - epkg search PACKAGE (under development) - epkg list (under development) - - epkg env list - epkg env create|remove ENV - epkg env activate ENV - epkg env deactivate ENV - epkg env register|unregister ENV - epkg env history ENV (under development) - epkg env rollback ENV (under development) -``` - -Package installation: - -```bash -epkg env create $env # Create an environment. -epkg install $package # Install a package in the environment. -epkg env create $env2 --repo $repo # Create environment 2, specify a repository. -epkg install $package # Install a package in environment 2. -``` - -Package building: - -```bash -epkg build ${yaml_path}/$pkg_name.yaml -``` - -### Installing Software - -Function description: - -Install software in the current environment (confirm the current environment before operation). - -Command: - -```shell -epkg install ${package_name} -``` - -Example output: - -```shell -[root@2d785c36ee2e /]# epkg env activate t1 -Add common to path -Add t1 to path -Environment 't1' activated. -Environment 't1' activated. -[root@2d785c36ee2e /]# epkg install tree -EPKG_ENV_NAME: t1 -Caching repodata for: "OS" -Cache for "OS" already exists. Skipping... -Caching repodata for: "OS" -Cache for "OS" already exists. Skipping... -Caching repodata for: "everything" -Cache for "everything" already exists. Skipping... -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/FF/FFCRTKRFGFQ6S2YVLOSUF6PHSMRP7A2N__ncurses-libs__6.4__8.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/D5/D5BOEFTRBNV3E4EXBVXDSRNTIGLGWVB7__glibc-all-langpacks__2.38__34.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/VX/VX6SUOPGEVDWF6E5M2XBV53VS7IXSFM5__openEuler-repos__1.0__3.3.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/LO/LO6RYZTBB2Q7ZLG6SWSICKGTEHUTBWUA__libselinux__3.5__3.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/EP/EPIEEK2P5IUPO4PIOJ2BXM3QPEFTZUCT__basesystem__12__3.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/2G/2GYDDYVWYYIDGOLGTVUACSBHYVRCRJH3__setup__2.14.5__2.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/HC/HCOKXTWQQUPCFPNI7DMDC6FGSDOWNACC__glibc__2.38__34.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/OJ/OJQAHJTY3Y7MZAXETYMTYRYSFRVVLPDC__glibc-common__2.38__34.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/FJ/FJXG3K2TSUYXNU4SES2K3YSTA3AHHUMB__tree__2.1.1__1.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/KD/KDYRBN74LHKSZISTLMYOMTTFVLV4GPYX__readline__8.2__2.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/MN/MNJPSSBS4OZJL5EB6YKVFLMV4TGVBUBA__tzdata__2024a__2.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/S4/S4FBO2SOMG3GKP5OMDWP4XN5V4FY7OY5__bash__5.2.21__1.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/EJ/EJGRNRY5I6XIDBWL7H5BNYJKJLKANVF6__libsepol__3.5__3.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/TZ/TZRQZRU2PNXQXHRE32VCADWGLQG6UL36__bc__1.07.1__12.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/WY/WYMBYMCARHXD62ZNUMN3GQ34DIWMIQ4P__filesystem__3.16__6.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/KQ/KQ2UE3U5VFVAQORZS4ZTYCUM4QNHBYZ7__openEuler-release__24.09__55.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/HD/HDTOK5OTTFFKSTZBBH6AIAGV4BTLC7VT__openEuler-gpg-keys__1.0__3.3.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/EB/EBLBURHOKKIUEEFHZHMS2WYF5OOKB4L3__pcre2__10.42__8.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/YW/YW5WTOMKY2E5DLYYMTIDIWY3XIGHNILT__info__7.0.3__3.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start download https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/aarch64//store/E4/E4KCO6VAAQV5AJGNPW4HIXDHFXMR4EJV__ncurses-base__6.4__8.oe2409.epkg -############################################################################################################################################################################################################### 100.0% -start install FFCRTKRFGFQ6S2YVLOSUF6PHSMRP7A2N__ncurses-libs__6.4__8.oe2409 -start install D5BOEFTRBNV3E4EXBVXDSRNTIGLGWVB7__glibc-all-langpacks__2.38__34.oe2409 -start install VX6SUOPGEVDWF6E5M2XBV53VS7IXSFM5__openEuler-repos__1.0__3.3.oe2409 -start install LO6RYZTBB2Q7ZLG6SWSICKGTEHUTBWUA__libselinux__3.5__3.oe2409 -start install EPIEEK2P5IUPO4PIOJ2BXM3QPEFTZUCT__basesystem__12__3.oe2409 -start install 2GYDDYVWYYIDGOLGTVUACSBHYVRCRJH3__setup__2.14.5__2.oe2409 -start install HCOKXTWQQUPCFPNI7DMDC6FGSDOWNACC__glibc__2.38__34.oe2409 -start install OJQAHJTY3Y7MZAXETYMTYRYSFRVVLPDC__glibc-common__2.38__34.oe2409 -start install FJXG3K2TSUYXNU4SES2K3YSTA3AHHUMB__tree__2.1.1__1.oe2409 -start install KDYRBN74LHKSZISTLMYOMTTFVLV4GPYX__readline__8.2__2.oe2409 -start install MNJPSSBS4OZJL5EB6YKVFLMV4TGVBUBA__tzdata__2024a__2.oe2409 -start install S4FBO2SOMG3GKP5OMDWP4XN5V4FY7OY5__bash__5.2.21__1.oe2409 -start install EJGRNRY5I6XIDBWL7H5BNYJKJLKANVF6__libsepol__3.5__3.oe2409 -start install TZRQZRU2PNXQXHRE32VCADWGLQG6UL36__bc__1.07.1__12.oe2409 -start install WYMBYMCARHXD62ZNUMN3GQ34DIWMIQ4P__filesystem__3.16__6.oe2409 -start install KQ2UE3U5VFVAQORZS4ZTYCUM4QNHBYZ7__openEuler-release__24.09__55.oe2409 -start install HDTOK5OTTFFKSTZBBH6AIAGV4BTLC7VT__openEuler-gpg-keys__1.0__3.3.oe2409 -start install EBLBURHOKKIUEEFHZHMS2WYF5OOKB4L3__pcre2__10.42__8.oe2409 -start install YW5WTOMKY2E5DLYYMTIDIWY3XIGHNILT__info__7.0.3__3.oe2409 -start install E4KCO6VAAQV5AJGNPW4HIXDHFXMR4EJV__ncurses-base__6.4__8.oe2409 -``` - -### Listing Environments - -Function description: - -List all environments in epkg (under the `$EPKG_ENVS_ROOT` directory) and indicate the current environment. - -Command: - -```shell -epkg env list -``` - -Example output: - -```shell -[small_leek@19e784a5bc38 bin]# epkg env list -Available environments(sort by time): -w1 -main -common -You are in [main] now -``` - -### Creating an Environment - -Function description: - -Create a new environment. After successful creation, the new environment is activated by default, but is not globally registered. - -Command: - -```shell -epkg env create ${env_name} -``` - -Example output: - -```shell -[small_leek@b0e608264355 bin]# epkg env create work1 -YUM --installroot directory structure created successfully in: /root/.epkg/envs/work1/profile-1 -Environment 'work1' added to PATH. -Environment 'work1' activated. -Environment 'work1' created. -``` - -### Activating an Environment - -Function description: - -Activate the specified environment, refresh `EPKG_ENV_NAME` and `RPMDB_DIR` (used to point to `--dbpath` when software is installed into the specified environment), refresh `PATH` to include the specified environment and the common environment, and set the specified environment as the first priority. - -Command: - -```shell -epkg env activate ${env_name} -``` - -Example output: - -```shell -[small_leek@9d991d463f89 bin]# epkg env activate main -Environment 'main' activated -``` - -### Deactivating an Environment - -Function description: - -Deactivate the specified environment, refresh `EPKG_ENV_NAME` and `RPMDB_DIR`, refresh `PATH`, and default to the main environment. - -Command: - -```shell -epkg env deactivate ${env_name} -``` - -Example output: - -```shell -[small_leek@398ec57ce780 bin]# epkg env deactivate w1 -Environment 'w1' deactivated. -``` - -### Registering an Environment - -Function description: - -Register the specified environment, persistently refresh `PATH` to include all registered environments in epkg, and set the specified environment as the first priority. - -Command: - -```shell -epkg env register ${env_name} -``` - -Example output: - -```shell -[small_leek@5042ae77dd75 bin]# epkg env register lkp -EPKG_ACTIVE_ENV: -Environment 'lkp' has been registered to PATH. -``` - -### Unregistering an Environment - -Function description: - -Unregister the specified environment, persistently refresh `PATH` to include all registered environments in epkg except the specified one. - -Command: - -```shell -epkg env unregister ${env_name} -``` - -Example output: - -```shell -[small_leek@69393675945d /]# epkg env unregister w4 -EPKG_ACTIVE_ENV: -Environment 'w4' has been unregistered from PATH. -``` - -### Building an epkg Package - -Function description: - -Build an epkg package using the YAML file provided by autopkg. - -Command: - -```shell -epkg build ${yaml_path}/$pkg_name.yaml -``` - -Example output: - -```shell -[small_leek@69393675945d /]# epkg build /root/epkg/build/test/tree/package.yaml -pkg_hash: fbfqtsnza9ez1zk0cy23vyh07xfzsydh, dir: /root/.cache/epkg/build-workspace/result -Compress success: /root/.cache/epkg/build-workspace/epkg/fbfqtsnza9ez1zk0cy23vyh07xfzsydh__tree__2.1.1__0.oe2409.epkg -``` diff --git a/docs/en/tools/community_tools/image_custom/image_tailor/_toc.yaml b/docs/en/tools/community_tools/image_custom/image_tailor/_toc.yaml deleted file mode 100644 index 28992d35e1f4dc90fe53ffb3ec6f6820d459d578..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/image_custom/image_tailor/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: imageTailor User Guide -isManual: true -description: OS image tailoring by removing unneeded packages or files -sections: - - label: imageTailor User Guide - href: ./imagetailor_user_guide.md diff --git a/docs/en/tools/community_tools/image_custom/image_tailor/figures/flowchart.png b/docs/en/tools/community_tools/image_custom/image_tailor/figures/flowchart.png deleted file mode 100644 index d3a71e8bfdb886222151cea3b2a3c0e8d8eae64a..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/image_custom/image_tailor/figures/flowchart.png and /dev/null differ diff --git a/docs/en/tools/community_tools/image_custom/image_tailor/imagetailor_user_guide.md b/docs/en/tools/community_tools/image_custom/image_tailor/imagetailor_user_guide.md deleted file mode 100644 index 71d48c496bcf745d9c63e2c3b4aaa5fc3591628d..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/image_custom/image_tailor/imagetailor_user_guide.md +++ /dev/null @@ -1,916 +0,0 @@ -# imageTailor User Guide - -- [imageTailor User Guide](#imagetailor-user-guide) - - [Introduction](#introduction) - - [Installation](#installation) - - [Software and Hardware Requirements](#software-and-hardware-requirements) - - [Obtaining the Installation Package](#obtaining-the-installation-package) - - [Installing imageTailor](#installing-imagetailor) - - [Directory Description](#directory-description) - - [Image Customization](#image-customization) - - [Overall Process](#overall-process) - - [Customizing Service Packages](#customizing-service-packages) - - [Setting a Local repository](#setting-a-local-repository) - - [Adding Files](#adding-files) - - [Adding RPM Packages](#adding-rpm-packages) - - [Adding Hook Scripts](#adding-hook-scripts) - - [Configuring System Parameters](#configuring-system-parameters) - - [Configuring Host Parameters](#configuring-host-parameters) - - [Configuring Initial Passwords](#configuring-initial-passwords) - - [Configuring Partitions](#configuring-partitions) - - [Configuring the Network](#configuring-the-network) - - [Configuring Kernel Parameters](#configuring-kernel-parameters) - - [Creating an Image](#creating-an-image) - - [Command Description](#command-description) - - [Image Creation Guide](#image-creation-guide) - - [Tailoring Time Zones](#tailoring-time-zones) - - [Customization Example](#customization-example) - -## Introduction - -In addition to the kernel, an operating system contains various peripheral packages. These peripheral packages provide functions of a general-purpose operating system but also cause the following problems: - -- A large number of resources (such as memory, disks, and CPUs) are occupied, resulting in low system performance. -- Unnecessary functions increase the development and maintenance costs. - -To address these problems, openEuler provides the imageTailor tool for tailoring and customization images. You can tailor unnecessary peripheral packages in the OS image or add service packages or files as required. This tool includes the following functions: - -- System package tailoring: Tailors system commands, libraries, and drivers based on the list of RPM packages to be installed. -- System configuration modification: Configures the host name, startup services, time zone, network, partitions, drivers to be loaded, and kernel version. -- Software package addition: Adds custom RPM packages or files to the system. - -## Installation - -This section uses openEuler 22.03 LTS in the AArch64 architecture as an example to describe the installation method. - -### Software and Hardware Requirements - -The software and hardware requirements of imageTailor are as follows: - -- The architecture is x86_64 or AArch64. - -- The OS is openEuler 22.03 LTS (the kernel version is 5.10 and the Python version is 3.9, which meet the tool requirements). - -- The root directory **/** of the host to run the tool have at least 40 GB space. - -- The Python version is 3.9 or later. - -- The kernel version is 5.10 or later. - -- The SElinux service is disabled. - - ```shell - $ sudo setenforce 0 - $ getenforce - Permissive - ``` - -### Obtaining the Installation Package - -Download the openEuler release package to install and use imageTailor. - -1. Obtain the ISO image file and the corresponding verification file. - - The image must be an everything image. Assume that the image is to be stored in the **root** directory. Run the following commands: - - ```shell - cd /root/temp - wget https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-everything-aarch64-dvd.iso - wget https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-everything-aarch64-dvd.iso.sha256sum - ``` - -2. Obtain the verification value in the sha256sum verification file. - - ```shell - cat openEuler-22.03-LTS-everything-aarch64-dvd.iso.sha256sum - ``` - -3. Calculate the verification value of the ISO image file. - - ```shell - sha256sum openEuler-22.03-LTS-everything-aarch64-dvd.iso - ``` - -4. Compare the verification value in the sha256sum file with that of the ISO image. If they are the same, the file integrity is verified. Otherwise, the file integrity is damaged. You need to obtain the file again. - -### Installing imageTailor - -The following uses openEuler 22.03 LTS in AArch64 architecture as an example to describe how to install imageTailor. - -1. Ensure that openEuler 22.03 LTS (or a running environment that meets the requirements of imageTailor) has been installed on the host. - - ```shell - $ cat /etc/openEuler-release - openEuler release 22.03 LTS - ``` - -2. Create a **/etc/yum.repos.d/local.repo** file to configure the Yum source. The following is an example of the configuration file. **baseurl** indicates the directory for mounting the ISO image. - - ```shell - [local] - name=local - baseurl=file:///root/imageTailor_mount - gpgcheck=0 - enabled=1 - ``` - -3. Run the following commands as the **root** user to mount the image to the **/root/imageTailor_mount** directory as the Yum source (ensure that the value of **baseurl** is the same as that configured in the repo file and the disk space of the directory is greater than 20 GB): - - ```shell - mkdir /root/imageTailor_mount - sudo mount -o loop /root/temp/openEuler-22.03-LTS-everything-aarch64-dvd.iso /root/imageTailor_mount/ - ``` - -4. Make the Yum source take effect. - - ```shell - yum clean all - yum makecache - ``` - -5. Install the imageTailor tool as the **root** user. - - ```shell - sudo yum install -y imageTailor - ``` - -6. Run the following command as the **root** user to verify that the tool has been installed successfully: - - ```shell - $ cd /opt/imageTailor/ - $ sudo ./mkdliso -h - ------------------------------------------------------------------------------------------------------------- - Usage: mkdliso -p product_name -c configpath [--minios yes|no|force] [-h] [--sec] - Options: - -p,--product Specify the product to make, check custom/cfg_yourProduct. - -c,--cfg-path Specify the configuration file path, the form should be consistent with custom/cfg_xxx - --minios Make minios: yes|no|force - --sec Perform security hardening - -h,--help Display help information - - Example: - command: - ./mkdliso -p openEuler -c custom/cfg_openEuler --sec - - help: - ./mkdliso -h - ------------------------------------------------------------------------------------------------------------- - ``` - -### Directory Description - -After imageTailor is installed, the directory structure of the tool package is as follows: - -```shell -[imageTailor] - |-[custom] - |-[cfg_openEuler] - |-[usr_file] // Stores files to be added. - |-[usr_install] //Stores hook scripts to be added. - |-[all] - |-[conf] - |-[hook] - |-[cmd.conf] // Configures the default commands and libraries used by an ISO image. - |-[rpm.conf] // Configures the list of RPM packages and drivers installed by default for an ISO image. - |-[security_s.conf] // Configures security hardening policies. - |-[sys.conf] // Configures ISO image system parameters. - |-[kiwi] // Basic configurations of imageTailor. - |-[repos] //RPM sources for obtaining the RPM packages required for creating an ISO image. - |-[security-tool] // Security hardening tool. - |-mkdliso // Executable script for creating an ISO image. -``` - -## Image Customization - -This section describes how to use the imageTailor tool to package the service RPM packages, custom files, drivers, commands, and libraries to the target ISO image. - -### Overall Process - -The following figure shows the process of using imageTailor to customize an image. - -![](./figures/flowchart.png) - -The steps are described as follows: - -- Check software and hardware environment: Ensure that the host for creating the ISO image meets the software and hardware requirements. - -- Customize service packages: Add RPM packages (including service RPM packages, commands, drivers, and library files) and files (including custom files, commands, drivers, and library files). - - - Adding service RPM packages: Add RPM packages to the ISO image as required. For details, see [Installation](#installation). - - Adding custom files: If you want to perform custom operations such as hardware check, system configuration check, and driver installation when the target ISO system is installed or started, you can compile custom files and package them to the ISO image. - - Adding drivers, commands, and library files: If the RPM package source of openEuler does not contain the required drivers, commands, or library files, you can use imageTailor to package the corresponding drivers, commands, or library files into the ISO image. - -- Configure system parameters: - - - Configuring host parameters: To ensure that the ISO image is successfully installed and started, you need to configure host parameters. - - Configuring partitions: You can configure service partitions based on the service plan and adjust system partitions. - - Configuring the network: You can set system network parameters as required, such as the NIC name, IP address, and subnet mask. - - Configuring the initial password: To ensure that the ISO image is successfully installed and started, you need to configure the initial passwords of the **root** user and GRUB. - - Configuring kernel parameters: You can configure the command line parameters of the kernel as required. - -- Configure security hardening policies. - - imageTailor provides default security hardening policies. You can modify **security_s.conf** (in the ISO image customization phase) to perform secondary security hardening on the system based on service requirements. For details, see the [Security Hardening Guide](https://docs.openeuler.org/en/docs/22.03_LTS/docs/SecHarden/secHarden.html). - -- Create an ISO image: - - Use the imageTailor tool to create an ISO image. - -### Customizing Service Packages - -You can pack service RPM packages, custom files, drivers, commands, and library files into the target ISO image as required. - -#### Setting a Local repository - -To customize an ISO image, you must set a repository in the **/opt/imageTailor/repos/euler_base/** directory. This section describes how to set a local repository. - -1. Download the ISO file released by openEuler. (The RPM package of the everything image released by the openEuler must be used.) - - ```shell - cd /opt - wget https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-everything-aarch64-dvd.iso - ``` - -2. Create a mount directory **/opt/openEuler_repo** and mount the ISO file to the directory. - - ```shell - $ sudo mkdir -p /opt/openEuler_repo - $ sudo mount openEuler-22.03-LTS-everything-aarch64-dvd.iso /opt/openEuler_repo - mount: /opt/openEuler_repo: WARNING: source write-protected, mounted read-only. - ``` - -3. Copy the RPM packages in the ISO file to the **/opt/imageTailor/repos/euler_base/** directory. - - ```shell - $ sudo rm -rf /opt/imageTailor/repos/euler_base && sudo mkdir -p /opt/imageTailor/repos/euler_base - $ sudo cp -ar /opt/openEuler_repo/Packages/* /opt/imageTailor/repos/euler_base - $ sudo chmod -R 644 /opt/imageTailor/repos/euler_base - $ sudo ls /opt/imageTailor/repos/euler_base|wc -l - 2577 - $ sudo umount /opt/openEuler_repo && sudo rm -rf /opt/openEuler_repo - $ cd /opt/imageTailor - ``` - -#### Adding Files - -You can add files to an ISO image as required. The file types include custom files, drivers, commands, or library file. Store the files to the **/opt/imageTailor/custom/cfg_openEuler/usr_file** directory. - -##### Precautions - -- The commands to be packed must be executable. Otherwise, imageTailor will fail to pack the commands into the ISO. - -- The file stored in the **/opt/imageTailor/custom/cfg_openEuler/usr_file** directory will be generated in the root directory of the ISO. Therefore, the directory structure of the file must be a complete path starting from the root directory so that imageTailor can place the file in the correct directory. - - For example, if you want **file1** to be in the **/opt** directory of the ISO, create an **opt** directory in the **usr_file** directory and copy **file1** to the **opt** directory. For example: - - ```shell - $ pwd - /opt/imageTailor/custom/cfg_openEuler/usr_file - - $ tree - . - ├── etc - │   ├── default - │   │   └── grub - │   └── profile.d - │   └── csh.precmd - └── opt - └── file1 - - 4 directories, 3 files - ``` - -- The paths in **/opt/imageTailor/custom/cfg_openEuler/usr_file** must be real paths. For example, the paths do not contain soft links. You can run the `realpath` or `readlink -f` command to query the real path. - -- If you need to invoke a custom script in the system startup or installation phase, that is, a hook script, store the file in the **hook** directory. - -#### Adding RPM Packages - -##### Procedure - -To add RPM packages (drivers, commands, or library files) to an ISO image, perform the following steps: - -> [!NOTE]NOTE -> -> - The **rpm.conf** and **cmd.conf** files are stored in the **/opt/imageTailor/custom/cfg_openEuler/** directory. -> - The RPM package tailoring granularity below indicates **sys_cut='no'**. For details about the cutout granularity, see [Configuring Host Parameters](#configuring-host-parameters). -> - If no local repository is configured, configure a local repository by referring to [Setting a Local repository](#setting-a-local-repository). -> - -1. Check whether the **/opt/imageTailor/repos/euler_base/** directory contains the RPM package to be added. - - - If yes, go to step 2. - - If no, go to step 3. - -2. Configure the RPM package information in the **\** section in the **rpm.conf** file. - - - For the RPM package tailoring granularity, no further action is required. - - For other tailoring granularities, go to step 4. - -3. Obtain the RPM package and store it in the **/opt/imageTailor/custom/cfg_openEuler/usr_rpm** directory. If the RPM package depends on other RPM packages, store the dependency packages to this directory because the added RPM package and its dependent RPM packages must be packed into the ISO image at the same time. - - - For the RPM package tailoring granularity, go to step 4. - - For other tailoring granularities, no further action is required. - -4. Configure the drivers, commands, and library files to be retained in the RPM package in the **rpm.conf** and **cmd.conf** files. If there are common files to be tailored, configure them in the **\\** section in the **cmd.conf** file. - -##### Configuration File Description - -| Operation | Configuration File| Section | -| :----------- | :----------- | :----------------------------------------------------------- | -| Adding drivers | rpm.conf | \
\
\

Note: The **driver_name** is the relative path of **/lib/modules/{kernel_version_number}/kernel/**.| -| Adding commands | cmd.conf | \
\
\
| -| Adding library files | cmd.conf | \
\
\
| -| Deleting other files| cmd.conf | \
\
\

Note: The file name must be an absolute path.| - -**Example** - -- Adding drivers - - ```shell - - - - - ...... - - ``` - -- Adding commands - - ```shell - - - - - ...... - - ``` - -- Adding library files - - ```shell - - - - - - ``` - -- Deleting other files - - ```shell - - - - - - ``` - -#### Adding Hook Scripts - -A hook script is invoked by the OS during startup and installation to execute the actions defined in the script. The directory for storing hook scripts of imageTailor is **custom/cfg_openEuler/usr_install/hook directory**, which has different subdirectories. Each subdirectory represents an OS startup or installation phase. Store the scripts based on the phases in which the scripts are invoked. - -##### Script Naming Rule - -The script name must start with **S+number** (the number must be at least two digits). The number indicates the execution sequence of the hook script. Example: **S01xxx.sh** - -> [!NOTE]NOTE -> -> The scripts in the **hook** directory are executed using the `source` command. Therefore, exercise caution when using the `exit` command in the scripts because the entire installation script exits after the `exit` command is executed. - -##### Description of hook Subdirectories - -| Subdirectory | Script Example | Time for Execution | Description | -| :-------------------- | :---------------------| :------------------------------- | :----------------------------------------------------------- | -| insmod_drv_hook | N/A | After OS drivers are loaded | N/A | -| custom_install_hook | S01custom_install.sh | After the drivers are loaded, that is, after **insmod_drv_hook** is executed| You can customize the OS installation process by using a custom script.| -| env_check_hook | S01check_hw.sh | Before the OS installation initialization | The script is used to check hardware specifications and types before initialization.| -| set_install_ip_hook | S01set_install_ip.sh | When network configuration is being performed during OS installation initialization. | You can customize the network configuration by using a custom script.| -| before_partition_hook | S01checkpart.sh | Before partitioning | You can check correctness of the partition configuration file by using a custom script.| -| before_setup_os_hook | N/A | Before the repo file is decompressed | You can customize partition mounting.
If the decompression path of the installation package is not the root partition specified in the partition configuration, customize partition mounting and assign the decompression path to the input global variable.| -| before_mkinitrd_hook | S01install_drv.sh | Before the `mkinitrd` command is run | The hook script executed before running the `mkinitrd` command when **initrd** is saved to the disk. You can add and update driver files in **initrd**.| -| after_setup_os_hook | N/A | After OS installation | After the installation is complete, you can perform custom operations on the system files, such as modifying **grub.cfg**.| -| install_succ_hook | N/A | When the OS is successfully installed | The scripts in this subdirectory are used to parse the installation information and send information of whether the installation succeeds.**install_succ_hook** cannot be set to **install_break**.| -| install_fail_hook | N/A | When the OS installation fails | The scripts in this subdirectory are used to parse the installation information and send information of whether the installation succeeds.**install_fail_hook** cannot be set to **install_break**.| - -### Configuring System Parameters - -Before creating an ISO image, you need to configure system parameters, including host parameters, initial passwords, partitions, network, compilation parameters, and system command line parameters. - -#### Configuring Host Parameters - -The **\ \** section in the **/opt/imageTailor/custom/cfg_openEuler/sys.conf** file is used to configure common system parameters, such as the host name and kernel boot parameters. - -The default configuration provided by openEuler is as follows. You can modify the configuration as required. - -```shell - - sys_service_enable='ipcc' - sys_service_disable='cloud-config cloud-final cloud-init-local cloud-init' - sys_utc='yes' - sys_timezone='' - sys_cut='no' - sys_usrrpm_cut='no' - sys_hostname='Euler' - sys_usermodules_autoload='' - sys_gconv='GBK' - -``` - -The parameters are described as follows: - -- sys_service_enable - - This parameter is optional. Services enabled by the OS by default. Separate multiple services with spaces. If you do not need to add a system service, use the default value **ipcc**. Pay attention to the following during the configuration: - - - Default system services cannot be deleted. - - You can configure service-related services, but the repository must contain the service RPM package. - - By default, only the services configured in this parameter are enabled. If a service depends on other services, you need to configure the depended services in this parameter. - -- sys_service_disable - - This parameter is optional. Services that are not allowed to automatically start upon system startup. Separate multiple services with spaces. If no system service needs to be disabled, leave this parameter blank. - -- sys_utc - - (Mandatory) Indicates whether to use coordinated universal time (UTC) time. The value can be **yes** or **no**. The default value is **yes**. - -- sys_timezone - - This parameter is optional. Sets the time zone. The value can be a time zone supported by openEuler, which can be queried in the **/usr/share/zoneinfo/zone.tab** file. - -- sys_cut - - (Mandatory) Indicates whether to tailor the RPM packages. The value can be **yes**, **no**, or **debug**.**yes** indicates that the RPM packages are tailored. **no** indicates that the RPM packages are not tailored (only the RPM packages in the **rpm.conf** file is installed). **debug** indicates that the RPM packages are tailored but the `rpm` command is retained for customization after installation. The default value is **no**. - - > [!NOTE]NOTE - > imageTailor installs the RPM package added by the user, deletes the files configured in the **\** section of the **cmd.conf** file, and then deletes the commands, libraries, and drivers that are not configured in **cmd.conf** or **rpm.conf**. - > When **sys_cut='yes'** is configured, imageTailor does not support the installation of the `rpm` command. Even if the `rpm` command is configured in the **rpm.conf** file, the configuration does not take effect. - -- sys_usrrpm_cut - - (Mandatory) Indicates whether to tailor the RPM packages added by users to the **/opt/imageTailor/custom/cfg_openEuler/usr_rpm** directory. The value can be **yes** or **no**. The default value is **no**. - - - **sys_usrrpm_cut='yes'**: imageTailor installs the RPM packages added by the user, deletes the file configured in the **\** section in the **cmd.conf** file, and then deletes the commands, libraries, and drivers that are not configured in **cmd.conf** or **rpm.conf**. - - - **sys_usrrpm_cut='no'**: imageTailor installs the RPM packages added by the user but does not delete the files in the RPM packages. - -- sys_hostname - - (Mandatory) Host name. After the OS is deployed in batches, you are advised to change the host name of each node to ensure that the host name of each node is unique. - - The host name must be a combination of letters, digits, and hyphens (-) and must start with a letter or digit. Letters are case sensitive. The value contains a maximum of 63 characters. The default value is **Euler**. - -- sys_usermodules_autoload - - (Optional) Driver loaded during system startup. When configuring this parameter, you do not need to enter the file extension **.ko**. If there are multiple drivers, separate them by space. By default, this parameter is left blank, indicating that no additional driver is loaded. - -- sys_gconv - - (Optional) This parameter is used to tailor **/usr/lib/gconv** and **/usr/lib64/gconv**. The options are as follows: - - - **null**/**NULL**: indicates that this parameter is not configured. If **sys_cut='yes'** is configured, **/usr/lib/gconv** and **/usr/lib64/gconv** will be deleted. - - **all**/**ALL**: keeps **/usr/lib/gconv** and **/usr/lib64/gconv**. - - **xxx,xxx**: keeps the corresponding files in the **/usr/lib/gconv** and **/usr/lib64/gconv** directories. If multiple files need to be kept, use commas (,) to separate them. - -- sys_man_cut - - (Optional) Indicates whether to tailor the man pages. The value can be **yes** or **no**. The default value is **yes**. - -> [!NOTE]NOTE -> If both **sys_cut** and **sys_usrrpm_cut** are configured, **sys_cut** is used. The following rules apply: - -- sys_cut='no' - -No matter whether **sys_usrrpm_cut** is set to **yes** or **no**, the system RPM package tailoring granularity is used. That is, imageTailor installs the RPM packages in the repository and the RPM packages in the **usr_rpm** directory, however, the files in the RPM package are not deleted. Even if some files in the RPM packages are not required, imageTailor will delete them. - -- sys_cut='yes' - -1. sys_usrrpm_cut='no' - - System RPM package tailoring granularity: imageTailor deletes files in the RPM packages in the repositories as configured. - -2. sys_usrrpm_cut='yes' - - System and user RPM package tailoring granularity: imageTailor deletes files in the RPM packages in the repositories and the **usr_rpm** directory as configured. - -#### Configuring Initial Passwords - -The **root** and GRUB passwords must be configured during OS installation. Otherwise, you cannot log in to the OS as the **root** user after the OS is installed using the tailored ISO image. This section describes how to configure the initial passwords. - -> [!NOTE]NOTE -> You must configure the initial **root** and GRUB passwords manually. - -##### Configuring the Initial Password of the root User - -###### Introduction - -The initial password of the **root** user is stored in the **/opt/imageTailor/custom/cfg_openEuler/rpm.conf** file. You can modify this file to set the initial password of the **root** user. - -> [!NOTE]NOTE -> -> - If the `--minios yes/force` parameter is required when you run the `mkdliso` command to create an ISO image, you need to enter the corresponding information in the **/opt/imageTailor/kiwi/minios/cfg_minios/rpm.conf** file. - -The default configuration of the initial password of the **root** user in the **/opt/imageTailor/custom/cfg_openEuler/rpm.conf** file is as follows. Add a password of your choice. - -```xml - - - -``` - -The parameters are described as follows: - -- **group**: group to which the user belongs. -- **pwd**: ciphertext of the initial password. The encryption algorithm is SHA-512. Replace **${pwd}** with the actual ciphertext. -- **home**: home directory of the user. -- **name**: name of the user to be configured. - -###### Modification Method - -Before creating an ISO image, you need to change the initial password of the **root** user. The following describes how to set the initial password of the **root** user (**root** permissions are required): - -1. Add a user for generating a password, for example, **testUser**. - - ```shell - sudo useradd testUser - ``` - -2. Set the password of **testUser**. Run the following command and set the password as prompted: - - ```shell - $ sudo passwd testUser - Changing password for user testUser. - New password: - Retype new password: - passwd: all authentication tokens updated successfully. - ``` - -3. View the **/etc/shadow** file. The content following **testUser** (string between two colons) is the ciphertext of the password. - - ``` shell script - $ sudo cat /etc/shadow | grep testUser - testUser:$6$YkX5uFDGVO1VWbab$jvbwkZ2Kt0MzZXmPWy.7bJsgmkN0U2gEqhm9KqT1jwQBlwBGsF3Z59heEXyh8QKm3Qhc5C3jqg2N1ktv25xdP0:19052:0:90:7:35:: - ``` - -4. Copy and paste the ciphertext to the **pwd** field in the **/opt/imageTailor/custom/cfg_openEuler/rpm.conf** file. - - ``` shell script - - - - ``` - -5. If the `--minios yes/force` parameter is required when you run the `mkdliso` command to create an ISO image, configure the **pwd** field of the corresponding user in **/opt/imageTailor/kiwi/minios/cfg_minios/rpm.conf**. - - ``` shell script - - - - ``` - -##### Configuring the Initial GRUB Password - -The initial GRUB password is stored in the **/opt/imageTailor/custom/cfg_openEuler/usr_file/etc/default/grub** file. Modify this file to configure the initial GRUB password. If the initial GRUB password is not configured, the ISO image will fail to be created. - -> [!NOTE]NOTE: - -- The **root** permissions are required for configuring the initial GRUB password. -- The default user corresponding to the GRUB password is **root**. -- The `grub2-set-password` command must exist in the system. If the command does not exist, install it in advance. - -1. Run the following command and set the GRUB password as prompted: - - ```shell - $ sudo grub2-set-password -o ./ - Enter password: - Confirm password: - grep: .//grub.cfg: No such file or directory - WARNING: The current configuration lacks password support! - Update your configuration with grub2-mkconfig to support this feature. - ``` - -2. After the command is executed, the **user.cfg** file is generated in the current directory. The content starting with **grub.pbkdf2.sha512** is the encrypted GRUB password. - - ```shell - $ sudo cat user.cfg - GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.CE285BE1DED0012F8B2FB3DEA38782A5B1040FEC1E49D5F602285FD6A972D60177C365F1 - B5D4CB9D648AD4C70CF9AA2CF9F4D7F793D4CE008D9A2A696A3AF96A.0AF86AB3954777F40D324816E45DD8F66CA1DE836DC7FBED053DB02 - 4456EE657350A27FF1E74429546AD9B87BE8D3A13C2E686DD7C71D4D4E85294B6B06E0615 - ``` - -3. Copy the preceding ciphertext and add the following configuration to the **/opt/imageTailor/custom/cfg_openEuler/usr_file/etc/default/grub** file: - - ```shell - GRUB_PASSWORD="grub.pbkdf2.sha512.10000.CE285BE1DED0012F8B2FB3DEA38782A5B1040FEC1E49D5F602285FD6A972D60177C365F1 - B5D4CB9D648AD4C70CF9AA2CF9F4D7F793D4CE008D9A2A696A3AF96A.0AF86AB3954777F40D324816E45DD8F66CA1DE836DC7FBED053DB02 - 4456EE657350A27FF1E74429546AD9B87BE8D3A13C2E686DD7C71D4D4E85294B6B06E0615" - ``` - -#### Configuring Partitions - -If you want to adjust system partitions or service partitions, modify the **\** section in the **/opt/imageTailor/custom/cfg_openEuler/sys.conf** file. - -> [!NOTE]NOTE -> -> - System partition: partition for storing the OS. -> - Service partition: partition for service data. -> - The type of a partition is determined by the content it stores, not the size, mount path, or file system. -> - Partition configuration is optional. You can manually configure partitions after OS installation. - -The format of **\** is as follows: - -disk_ID mount_path partition _size partition_type file_system \[Secondary formatting flag] - -The default configuration is as follows: - -```shell - -hd0 /boot 512M primary ext4 yes -hd0 /boot/efi 200M primary vfat yes -hd0 / 30G primary ext4 -hd0 - - extended - -hd0 /var 1536M logical ext4 -hd0 /home max logical ext4 - -``` - -The parameters are described as follows: - -- disk_ID: - ID of a disk. Set this parameter in the format of **hd***x*, where *x* indicates the *x*th disk. - - > [!NOTE]NOTE - > - > Partition configuration takes effect only when the disk can be recognized. - -- mount_path: - Mount path to a specified partition. You can configure service partitions and adjust the default system partition. If you do not mount partitions, set this parameter to **-**. - - > [!NOTE]NOTE - > - > - You must configure the mount path to **/**. You can adjust mount paths to other partitions according to your needs. - > - When the UEFI boot mode is used, the partition configuration in the x86_64 architecture must contain the mount path **/boot**, and the partition configuration in the AArch64 architecture must contain the mount path **/boot/efi**. - -- partition_size: - The value types are as follows: - - - G/g: The unit of a partition size is GB, for example, 2G. - - M/m: The unit of a partition size is MB, for example, 300M. - - T/t: The unit of a partition size is TB, for example, 1T. - - MAX/max: The rest space of a hard disk is used to create a partition. This value can only be assigned to the last partition. - - > [!NOTE]NOTE - > - > - A partition size value cannot contain decimal numbers. If there are decimal numbers, change the unit of the value to make the value an integer. For example, 1.5 GB should be changed to 1536 MB. - > - When the partition size is set to **MAX**/**max**, the size of the remaining partition cannot exceed the limit of the supported file system type (the default file system type is **ext4**, and the maximum size is **16T**). - -- partition_type: - The values of partition types are as follows: - - - primary: primary partitions - - extended: extended partition (configure only *disk_ID* for this partition) - - logical: logical partitions - -- file_system: - Currently, **ext4** and **vfat** file systems are supported. - -- Secondary formatting flag: - Indicates whether to format the disk during secondary installation. This parameter is optional. - - - The value can be **yes** or **no**. The default value is **no**. - - > [!NOTE]NOTE - > - > Secondary formatting indicates that openEuler has been installed on the disk before this installation. If the partition table configuration (partition size, mount point, and file type) used in the previous installation is the same as that used in the current installation, this flag can be used to configure whether to format the previous partitions, except the **/boot** and **/** partitions. If the target host is installed for the first time, this flag does not take effect, and all partitions with specified file systems are formatted. - -#### Configuring the Network - -The system network parameters are stored in **/opt/imageTailor/custom/cfg_openEuler/sys.conf**. You can modify the network parameters of the target ISO image, such as the NIC name, IP address, and subnet mask, by configuring **\\** in this file. - -The default network configuration in the **sys.conf** file is as follows. **netconfig-0** indicates the **eth0** NIC. If you need to configure an additional NIC, for example, **eth1**, add **\\** to the configuration file and set the parameters of **eth1**. - -```shell - -BOOTPROTO="dhcp" -DEVICE="eth0" -IPADDR="" -NETMASK="" -STARTMODE="auto" - -``` - -The following table describes the parameters. - -| Parameter | Mandatory or Not| Value | Description | -| :-------- | -------- | :------------------------------------------------ | :----------------------------------------------------------- | -| BOOTPROTO | Yes | none / static / dhcp | **none**: No protocol is used for boot, and no IP address is assigned.
**static**: An IP address is statically assigned.
**dhcp**: An IP address is dynamically obtained using the dynamic host configuration protocol (DHCP).| -| DEVICE | Yes | Example: **eth1** | NIC name. | -| IPADDR | Yes | Example: **192.168.11.100** | IP address.
This parameter must be configured only when the value of **BOOTPROTO** is **static**.| -| NETMASK | Yes | - | Subnet mask.
This parameter must be configured only when the value of **BOOTPROTO** is **static**.| -| STARTMODE | Yes | manual / auto / hotplug / ifplugd / nfsroot / off | NIC start mode.
**manual**: A user runs the `ifup` command on a terminal to start an NIC.
**auto**/**hotplug**/**ifplug**/**nfsroot**: An NIC is started when the OS identifies it.
**off**: An NIC cannot be started in any situations.
For details about the parameters, run the `man ifcfg` command on the host that is used to create the ISO image.| - -#### Configuring Kernel Parameters - -To ensure stable and efficient running of the system, you can modify kernel command line parameters as required. For an OS image created by imageTailor, you can modify the **GRUB_CMDLINE_LINUX** configuration in the **/opt/imageTailor/custom/cfg_openEuler/usr_file/etc/default/grub** file to modify the kernel command line parameters. The default settings of the kernel command line parameters in **GRUB_CMDLINE_LINUX** are as follows: - -```shell -GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 crashkernel=512M oops=panic softlockup_panic=1 reserve_kbox_mem=16M crash_kexec_post_notifiers panic=3 console=tty0" -``` - -The meanings of the configurations are as follows (for details about other common kernel command line parameters, see related kernel documents): - -- net.ifnames=0 biosdevname=0 - - Name the NIC in traditional mode. - -- crashkernel=512M - - The memory space reserved for kdump is 512 MB. - -- oops=panic panic=3 - - The kernel panics when an oops error occurs, and the system restarts 3 seconds later. - -- softlockup_panic=1 - - The kernel panics when a soft-lockup is detected. - -- reserve_kbox_mem=16M - - The memory space reserved for Kbox is 16 MB. - -- console=tty0 - - Specifies **tty0** as the output device of the first virtual console. - -- crash_kexec_post_notifiers - - After the system crashes, the function registered with the panic notification chain is called first, and then kdump is executed. - -### Creating an Image - -After customizing the operating system, you can use the `mkdliso` script to create the OS image file. The OSimage created using imageTailor is an ISO image file. - -#### Command Description - -##### Syntax - -**mkdliso -p openEuler -c custom/cfg_openEuler \[--minios yes\|no\|force] \[--sec] \[-h]** - -##### Parameter Description - -| Parameter| Mandatory| Description | Value Range | -| -------- | -------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -| -p | Yes | Specifies the product name. | **openEuler** | -| c | Yes | Specifies the relative path of the configuration file. | **custom/cfg_openEuler** | -| --minios | No | Specifies whether to create the **initrd** file that is used to boot the system during system installation. | The default value is **yes**.
**yes**: The **initrd** file will be created when the command is executed for the first time. When a subsequent `mkdliso` is executed, the system checks whether the **initrd** file exists in the **usr_install/boot** directory using sha256 verification. If the **initrd** file exists, it is not created again. Otherwise, it is created.
**no**: The **initrd** file is not created. The **initrd** file used for system boot and running is the same.
**force**: The **initrd** file will be created forcibly, regardless of whether it exists in the **usr_install/boot** directory or not.| -| --sec | No | Specifies whether to perform security hardening on the generated ISO file.
If this parameter is not specified, the user should undertake the resultant security risks| N/A | -| -h | No | Obtains help information. | N/A | - -#### Image Creation Guide - -To create an ISO image using`mkdliso`, perform the following steps: - -> [!NOTE]NOTE: - -- The absolute path to `mkdliso` must not contain spaces. Otherwise, the ISO image creation will fail. -- In the environment for creating the ISO image, the value of **umask** must be set to **0022**. - -1. Run the `mkdliso` command as the **root** user to generate the ISO image file. The following command is used for reference: - - ```shell - # sudo /opt/imageTailor/mkdliso -p openEuler -c custom/cfg_openEuler --sec - ``` - - After the command is executed, the created files are stored in the **/opt/imageTailor/result/{date}** directory, including **openEuler-aarch64.iso** and **openEuler-aarch64.iso.sha256**. - -2. Verify the integrity of the ISO image file. Assume that the date and time is **2022-03-21-14-48**. - - ```shell - cd /opt/imageTailor/result/2022-03-21-14-48/ - sha256sum -c openEuler-aarch64.iso.sha256 - ``` - - If the following information is displayed, the ISO image creation is complete. - - ```text - openEuler-aarch64.iso: OK - ``` - - If the following information is displayed, the image is incomplete. The ISO image file is damaged and needs to be created again. - - ```shell - openEuler-aarch64.iso: FAILED - sha256sum: WARNING: 1 computed checksum did NOT match - ``` - -3. View the logs. - - After an image is created, you can view logs as required (for example, when an error occurs during image creation). When an image is created for the first time, the corresponding log file and security hardening log file are compressed into a TAR package (the log file is named in the format of **sys_custom_log_{Date}.tar.gz**) and stored in the **result/log directory**. Only the latest 50 compressed log packages are stored in this directory. If the number of compressed log packages exceeds 50, the earliest files will be overwritten. - -### Tailoring Time Zones - -After the customized ISO image is installed, you can tailor the time zones supported by the openEuler system as required. This section describes how to tailor the time zones. - -The information about time zones supported by openEuler is stored in the time zone folder **/usr/shre/zoninfo**. You can run the following command to view the time zone information: - -```shell -$ ls /usr/share/zoneinfo/ -Africa/ America/ Asia/ Atlantic/ Australia/ Etc/ Europe/ -Pacific/ zone.tab -``` - -Each subfolder represents an area. The current areas include continents, oceans, and **Etc**. Each area folder contains the locations that belong to it. Generally, a location is a city or an island. - -All time zones are in the format of *area/location*. For example, if China Standard Time is used in southern China, the time zone is Asia/Shanghai (location may not be the capital). The corresponding time zone file is: - -```texta -/usr/share/zoneinfo/Asia/Shanghai -``` - -If you want to tailor some time zones, delete the corresponding time zone files. - -### Customization Example - -This section describes how to use imageTailor to create an ISO image. - -1. Check whether the environment used to create the ISO meets the requirements. - - ``` shell - $ cat /etc/openEuler-release - openEuler release 22.03 LTS - ``` - -2. Ensure that the root directory has at least 40 GB free space. - - ```shell - $ df -h - Filesystem Size Used Avail Use% Mounted on - ...... - /dev/vdb 196G 28K 186G 1% / - ``` - -3. Install the imageTailor tailoring tool. For details, see [Installation](#installation). - - ```shell - $ sudo yum install -y imageTailor - $ ll /opt/imageTailor/ - total 88K - drwxr-xr-x. 3 root root 4.0K Mar 3 08:00 custom - drwxr-xr-x. 10 root root 4.0K Mar 3 08:00 kiwi - -r-x------. 1 root root 69K Mar 3 08:00 mkdliso - drwxr-xr-x. 2 root root 4.0K Mar 9 14:48 repos - drwxr-xr-x. 2 root root 4.0K Mar 9 14:48 security-tool - ``` - -4. Configure a local repository. - - ```shell - $ wget https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-everything-aarch64-dvd.iso - $ sudo mkdir -p /opt/openEuler_repo - $ sudo mount openEuler-22.03-LTS-everything-aarch64-dvd.iso /opt/openEuler_repo - mount: /opt/openEuler_repo: WARNING: source write-protected, mounted read-only. - $ sudo rm -rf /opt/imageTailor/repos/euler_base && sudo mkdir -p /opt/imageTailor/repos/euler_base - $ sudo cp -ar /opt/openEuler_repo/Packages/* /opt/imageTailor/repos/euler_base - $ sudo chmod -R 644 /opt/imageTailor/repos/euler_base - $ sudo ls /opt/imageTailor/repos/euler_base|wc -l - 2577 - $ sudo umount /opt/openEuler_repo && sudo rm -rf /opt/openEuler_repo - $ cd /opt/imageTailor - ``` - -5. Change the **root** and GRUB passwords. - - Replace **\${pwd}** with the encrypted password by referring to [Configuring Initial Passwords](#configuring-initial-passwords). - - ```shell - $ cd /opt/imageTailor/ - $ sudo vi custom/cfg_openEuler/usr_file/etc/default/grub - GRUB_PASSWORD="${pwd1}" - $ - $ sudo vi kiwi/minios/cfg_minios/rpm.conf - - - - $ - $ sudo vi custom/cfg_openEuler/rpm.conf - - - - ``` - -6. Run the tailoring command. - - ```shell - $ sudo rm -rf /opt/imageTailor/result - $ sudo ./mkdliso -p openEuler -c custom/cfg_openEuler --minios force - ...... - Complete release iso file at: result/2022-03-09-15-31/openEuler-aarch64.iso - move all mkdliso log file to result/log/sys_custom_log_20220309153231.tar.gz - $ ll result/2022-03-09-15-31/ - total 889M - -rw-r--r--. 1 root root 889M Mar 9 15:32 openEuler-aarch64.iso - -rw-r--r--. 1 root root 87 Mar 9 15:32 openEuler-aarch64.iso.sha256 - ``` diff --git a/docs/en/tools/community_tools/image_custom/isocut/_toc.yaml b/docs/en/tools/community_tools/image_custom/isocut/_toc.yaml deleted file mode 100644 index 4009019c4843949290a4a9690c5ebc91e72fe541..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/image_custom/isocut/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: isocut User Guide -isManual: true -description: Customize openEuler ISO images. -sections: - - label: isocut User Guide - href: ./isocut_user_guide.md \ No newline at end of file diff --git a/docs/en/tools/community_tools/image_custom/isocut/figures/lack_pack.png b/docs/en/tools/community_tools/image_custom/isocut/figures/lack_pack.png deleted file mode 100644 index a4b7f1da15da70f63a86aae360e89017c2b98f2d..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/image_custom/isocut/figures/lack_pack.png and /dev/null differ diff --git a/docs/en/tools/community_tools/image_custom/isocut/isocut_user_guide.md b/docs/en/tools/community_tools/image_custom/isocut/isocut_user_guide.md deleted file mode 100644 index 7d8508fc9486df1c4d9e4166fc6de61501bbc164..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/image_custom/isocut/isocut_user_guide.md +++ /dev/null @@ -1,327 +0,0 @@ -# isocut User Guide - -- [Introduction](#introduction) -- [Software and Hardware Requirements](#software-and-hardware-requirements) -- [Installation](#Installation) -- [Tailoring and Customizing an Image](#tailoring-and-customizing-an-image) - - [Command Description](#command-description) - - [Software Package Source](#software-package-source) - - [Operation Guide](#operation-guide) - -## Introduction - -The size of an openEuler image is large, and the process of downloading or transferring an image is time-consuming. In addition, when an openEuler image is used to install the OS, all RPM packages contained in the image are installed. You cannot choose to install only the required software packages. - -In some scenarios, you do not need to install the full software package provided by the image, or you need to install additional software packages. Therefore, openEuler provides an image tailoring and customization tool. You can use this tool to customize an ISO image that contains only the required RPM packages based on an openEuler image. The software packages can be the ones contained in an official ISO image or specified in addition to meet custom requirements. - -This document describes how to install and use the openEuler image tailoring and customization tool. - -## Software and Hardware Requirements - -The hardware and software requirements of the computer to make an ISO file using the openEuler tailoring and customization tool are as follows: - -- The CPU architecture is AArch64 or x86_64. -- The operating system is openEuler 20.03 LTS SP3. -- You are advised to reserve at least 30 GB drive space for running the tailoring and customization tool and storing the ISO image. - -## Installation - -The following uses openEuler 20.03 LTS SP3 on the AArch64 architecture as an example to describe how to install the ISO image tailoring and customization tool. - -1. Ensure that openEuler 20.03 LTS SP3 has been installed on the computer. - - ```shell - $ cat /etc/openEuler-release - openEuler release 20.03 (LTS-SP3) - ``` - -2. Download the ISO image (must be an **everything** image) of the corresponding architecture and save it to any directory (it is recommended that the available space of the directory be greater than 20 GB). In this example, the ISO image is saved to the **/home/isocut_iso** directory. - - The download address of the AArch64 image is as follows: - - - - > **Note:** - > The download address of the x86_64 image is as follows: - > - > - -3. Create a **/etc/yum.repos.d/local.repo** file to configure the Yum source. The following is an example of the configuration file. **baseurl** is the directory for mounting the ISO image. - - ```shell - [local] - name=local - baseurl=file:///home/isocut_mount - gpgcheck=0 - enabled=1 - ``` - -4. Run the following command as the **root** user to mount the image to the **/home/isocut_mount** directory (ensure that the mount directory is the same as **baseurl** configured in the **repo** file) as the Yum source: - - ```shell - sudo mount -o loop /home/isocut_iso/openEuler-20.03-LTS-SP3-everything-aarch64-dvd.iso /home/isocut_mount - ``` - -5. Make the Yum source take effect. - - ```shell - yum clean all - yum makecache - ``` - -6. Install the image tailoring and customization tool as the **root** user. - - ```shell - sudo yum install -y isocut - ``` - -7. Run the following command as the **root** user to verify that the tool has been installed successfully: - - ```shell - $ sudo isocut -h - Checking input ... - usage: isocut [-h] [-t temporary_path] [-r rpm_path] [-k file_path] source_iso dest_iso - - Cut openEuler iso to small one - - positional arguments: - source_iso source iso image - dest_iso destination iso image - - optional arguments: - -h, --help show this help message and exit - -t temporary_path temporary path - -r rpm_path extern rpm packages path - -k file_path kickstart file - ``` - -## Tailoring and Customizing an Image - -This section describes how to use the image tailoring and customization tool to create an image by tailoring or adding RPM packages to an openEuler image. - -### Command Description - -#### Format - -Run the `isocut` command to use the image tailoring and customization tool. The command format is as follows: - -**isocut** \[ --help \| -h \] \[ -t \ ] \[ -r \ ] \[ -k \ ] \ \ - -#### Parameter Description - -| Parameter | Mandatory | Description | -| ---------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | -| --help \| -h | No | Queries the help information about the command. | -| -t \<*temp_path*> | No | Specifies the temporary directory *temp_path* for running the tool, which is an absolute path. The default value is **/tmp**. | -| -r \<*rpm_path*> | No | Specifies the path of the RPM packages to be added to the ISO image. | -| -k \<*file_path*> | No | Specifies the kickstart template path if kickstart is used for automatic installation. | -| *source_iso* | Yes | Path and name of the ISO source image to be tailored. If no path is specified, the current path is used by default. | -| *dest_iso* | Yes | Specifies the path and name of the new ISO image created by the tool. If no path is specified, the current path is used by default. | - -### Software Package Source - -The RPM packages of the new image can be: - -- Packages contained in an official ISO image. In this case, the RPM packages to be installed are specified in the configuration file **/etc/isocut/rpmlist**. The configuration format is *software_package_name.architecture*. For example, **kernel.aarch64**. - -- Specified in addition. In this case, use the `-r` parameter to specify the path in which the RPM packages are stored when running the `isocut` command and add the RPM package names to the **/etc/isocut/rpmlist** configuration file. (See the name format above.) - - > [!NOTE]NOTE - > - > - When customizing an image, if an RPM package specified in the configuration file cannot be found, the RPM package will not be added to the image. - > - If the dependency of the RPM package is incorrect, an error may be reported when running the tailoring and customization tool. - -### kickstart Functions - -You can use kickstart to install images automatically by using the `-k` parameter to specify a kickstart file when running the `isocut` command. - -The isocut tool provides a kickstart template (**/etc/isocut/anaconda-ks.cfg**). You can modify the template as required. - -#### Modifying the kickstart Template - -If you need to use the kickstart template provided by the isocut tool, perform the following modifications: - -- Configure the root user password and the GRUB2 password in the **/etc/isocut/anaconda-ks.cfg** file. Otherwise, the automatic image installation will pause during the password setting process, waiting for you to manually enter the passwords. -- If you want to specify additional RPM packages and use kickstart for automatic installation, specify the RPM packages in the **%packages** field in both the **/etc/isocut/rpmlist** file and the kickstart file. - -See the next section for details about how to modify the kickstart file. - -##### Configuring Initial Passwords - -###### Setting the Initial Password of the **root** User - -Set the initial password of the **root** user as follows in the **/etc/isocut/anaconda-ks.cfg** file. Replace **${pwd}** with the encrypted password. - -```shell -rootpw --iscrypted ${pwd} -``` - -Obtain the initial password of the **root** user as follows (**root** permissions are required): - -1. Add a user for generating the password, for example, **testUser**. - - ```shell - sudo useradd testUser - ``` - -2. Set the password for the **testUser** user. Run the following command to set the password as prompted: - - ```shell - $ sudo passwd testUser - Changing password for user testUser. - New password: - Retype new password: - passwd: all authentication tokens updated successfully. - ``` - -3. View the **/etc/shadow** file to obtain the encrypted password. The encrypted password is the string between the two colons (:) following the **testUser** user name. (******* is used as an example.) - - ```shell - $ sudo cat /etc/shadow | grep testUser - testUser:***:19052:0:90:7:35:: - ``` - -4. Run the following command to replace the **pwd** field in the **/etc/isocut/anaconda-ks.cfg** file with the encrypted password (replace __***__ with the actual password): - - ```shell - rootpw --iscrypted *** - ``` - -###### Configuring the Initial GRUB2 Password - -Add the following configuration to the **/etc/isocut/anaconda-ks.cfg** file to set the initial GRUB2 password: Replace **${pwd}** with the encrypted password. - -```shell -%addon com_huawei_grub_safe --iscrypted --password='${pwd}' -%end -``` - -> ![](./public_sys-resources/icon-note.gif)NOTE: -> -> - The **root** permissions are required for configuring the initial GRUB password. -> - The default user corresponding to the GRUB password is **root**. -> -> - The `grub2-set-password` command must exist in the system. If the command does not exist, install it in advance. - -1. Run the following command and set the GRUB2 password as prompted: - - ```shell - $ sudo grub2-set-password -o ./ - Enter password: - Confirm password: - grep: .//grub.cfg: No such file or directory - WARNING: The current configuration lacks password support! - Update your configuration with grub2-mkconfig to support this feature. - ``` - -2. After the command is executed, the **user.cfg** file is generated in the current directory. The content starting with **grub.pbkdf2.sha512** is the encrypted GRUB2 password. - - ```shell - $ sudo cat user.cfg - GRUB2_PASSWORD=grub.pbkdf2.sha512.*** - ``` - -3. Add the following information to the **/etc/isocut/anaconda-ks.cfg** file. Replace ******* with the encrypted GRUB2 password. - - ```shell - %addon com_huawei_grub_safe --iscrypted --password='grub.pbkdf2.sha512.***' - %end - ``` - -##### Configuring the %packages Field - -If you want to specify additional RPM packages and use kickstart for automatic installation, specify the RPM packages in the **%packages** field in both the **/etc/isocut/rpmlist** file and the kickstart file. - -This section describes how to specify RPM packages in the **/etc/isocut/anaconda-ks.cfg** file. - -The default configurations of **%packages** in the **/etc/isocut/anaconda-ks.cfg** file are as follows: - -```shell -%packages --multilib --ignoremissing -acl.aarch64 -aide.aarch64 -...... -NetworkManager.aarch64 -%end -``` - -Add specified RPM packages to the **%packages** configurations in the following format: - -*software_package_name.architecture*. For example, **kernel.aarch64**. - -```shell -%packages --multilib --ignoremissing -acl.aarch64 -aide.aarch64 -...... -NetworkManager.aarch64 -kernel.aarch64 -%end -``` - -### Operation Guide - -> [!NOTE]NOTE -> -> - Do not modify or delete the default configuration items in the **/etc/isocut/rpmlist** file. -> - All `isocut` operations require **root** permissions. -> - The source image to be tailored can be a basic image or **everything** image. In this example, the basic image **openEuler-20.03-LTS-SP3-aarch64-dvd.iso** is used. -> - In this example, assume that the new image is named **new.iso** and stored in the **/home/result** directory, the temporary directory for running the tool is **/home/temp**, and the additional RPM packages are stored in the **/home/rpms** directory. - -1. Open the configuration file **/etc/isocut/rpmlist** and specify the RPM packages to be installed (from the official ISO image). - - ```shell - sudo vi /etc/isocut/rpmlist - ``` - -2. Ensure that the space of the temporary directory for running the image tailoring and customization tool is greater than 8 GB. The default temporary directory is**/tmp**. You can also use the `-t` parameter to specify another directory as the temporary directory. The path of the directory must be an absolute path. In this example, the **/home/temp** directory is used. The following command output indicates that the available drive space of the **/home** directory is 38 GB, which meets the requirements. - - ```shell - $ df -h - Filesystem Size Used Avail Use% Mounted on - devtmpfs 1.2G 0 1.2G 0% /dev - tmpfs 1.5G 0 1.5G 0% /dev/shm - tmpfs 1.5G 23M 1.5G 2% /run - tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup - /dev/mapper/openeuler_openeuler-root 69G 2.8G 63G 5% / - /dev/sda2 976M 114M 796M 13% /boot - /dev/mapper/openeuler_openeuler-home 61G 21G 38G 35% /home - ``` - -3. Tailor and customize the image. - - **Scenario 1**: All RPM packages of the new image are from the official ISO image. - - ```shell - $ sudo isocut -t /home/temp /home/isocut_iso/openEuler-20.03-LTS-SP3-aarch64-dvd.iso /home/result/new.iso - Checking input ... - Checking user ... - Checking necessary tools ... - Initing workspace ... - Copying basic part of iso image ... - Downloading rpms ... - Finish create yum conf - finished - Regenerating repodata ... - Checking rpm deps ... - Getting the description of iso image ... - Remaking iso ... - Adding checksum for iso ... - Adding sha256sum for iso ... - ISO cutout succeeded, enjoy your new image "/home/result/new.iso" - isocut.lock unlocked ... - ``` - - If the preceding information is displayed, the custom image **new.iso** is successfully created. - - **Scenario 2**: The RPM packages of the new image are from the official ISO image and additional packages in **/home/rpms**. - - ```shell - sudo isocut -t /home/temp -r /home/rpms /home/isocut_iso/openEuler-20.03-LTS-SP3-aarch64-dvd.iso /home/result/new.iso - ``` - - **Scenario 3**: The kickstart file is used for automatic installation. You need to modify the **/etc/isocut/anaconda-ks.cfg** file. - - ```shell - sudo isocut -t /home/temp -k /etc/isocut/anaconda-ks.cfg /home/isocut_iso/openEuler-20.03-LTS-SP3-aarch64-dvd.iso /home/result/new.iso - ``` diff --git a/docs/en/tools/community_tools/image_custom/isocut/public_sys-resources/icon-note.gif b/docs/en/tools/community_tools/image_custom/isocut/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/image_custom/isocut/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/_toc.yaml b/docs/en/tools/community_tools/migration/migration_tools/_toc.yaml deleted file mode 100644 index 4d5cd9d79ad2390eb14ad81a03eeb83b9d5cb0bd..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/migration/migration_tools/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: migration-tools User Guide -isManual: true -description: Migration from other OSs (CentOS 7/8) to UnionTech OS Server -sections: - - label: migration-tools User Guide - href: ./migration_tools_user_guide.md diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/environment-check.png b/docs/en/tools/community_tools/migration/migration_tools/figures/environment-check.png deleted file mode 100644 index b03c4da5ba24e345a3614cd2c7d7e3b52983ad1a..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/environment-check.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/home-page.png b/docs/en/tools/community_tools/migration/migration_tools/figures/home-page.png deleted file mode 100644 index 2fb66ae7dc8336d6e38437ba79175fe1c2207a5d..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/home-page.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/kernel.png b/docs/en/tools/community_tools/migration/migration_tools/figures/kernel.png deleted file mode 100644 index ecd5bbb3cf306e46da3448de46c4f9fc2e03eed2..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/kernel.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/license.png b/docs/en/tools/community_tools/migration/migration_tools/figures/license.png deleted file mode 100644 index 41eb3b6aa755619b94965f8060a27c1940e6936e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/license.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-check.png b/docs/en/tools/community_tools/migration/migration_tools/figures/migration-check.png deleted file mode 100644 index 776e9cafdf7e569cd33e1abd47217aa47c86f134..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-check.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-complete.png b/docs/en/tools/community_tools/migration/migration_tools/figures/migration-complete.png deleted file mode 100644 index c832bb723ea5400aa2fe1f932f1f5dcb5a3d5065..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-complete.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-confirmation.png b/docs/en/tools/community_tools/migration/migration_tools/figures/migration-confirmation.png deleted file mode 100644 index 69567eabd886befe43fb8a512e7b6cde87fd0937..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-confirmation.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-in-progress.png b/docs/en/tools/community_tools/migration/migration_tools/figures/migration-in-progress.png deleted file mode 100644 index e5bae64aaa303a6e7950ec0fdeb46a66bfaa70a3..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-in-progress.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-start.png b/docs/en/tools/community_tools/migration/migration_tools/figures/migration-start.png deleted file mode 100644 index d8a2b58cd5ce8e559bd82c14400e16b4635d0ec3..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-start.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-tools-conf.png b/docs/en/tools/community_tools/migration/migration_tools/figures/migration-tools-conf.png deleted file mode 100644 index 80520c44a86172c9f18e3d50930e0fcc25f411bb..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/migration-tools-conf.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/openeuler-migration-complete.png b/docs/en/tools/community_tools/migration/migration_tools/figures/openeuler-migration-complete.png deleted file mode 100644 index 20c5a4afaf2b06fae865137b9d4efd53326a9611..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/openeuler-migration-complete.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/prompt.png b/docs/en/tools/community_tools/migration/migration_tools/figures/prompt.png deleted file mode 100644 index 224a79aece026a4fa2b003753f40fc0f1ebd4d0d..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/prompt.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/repo.png b/docs/en/tools/community_tools/migration/migration_tools/figures/repo.png deleted file mode 100644 index 78437bbc839bff8906b535989bbac0c38a6263b7..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/repo.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/figures/user-check.png b/docs/en/tools/community_tools/migration/migration_tools/figures/user-check.png deleted file mode 100644 index 8ec0b5518f37532eedb5897bc368d9b58a1ccafc..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/migration/migration_tools/figures/user-check.png and /dev/null differ diff --git a/docs/en/tools/community_tools/migration/migration_tools/migration_tools_user_guide.md b/docs/en/tools/community_tools/migration/migration_tools/migration_tools_user_guide.md deleted file mode 100644 index 819845fe31eb071accbf7babc2c468de22f7644d..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/migration/migration_tools/migration_tools_user_guide.md +++ /dev/null @@ -1,245 +0,0 @@ -# migration-tools User Guide - -## Introduction - -This document outlines the usage of server migration software (migration-tools) for seamless migration from CentOS 7 and CentOS 8 systems to UnionTech OS Server (UOS). -The software features a web-based interface that simplifies the migration process through an intuitive graphical environment. - -### Deployment Method - -Install the server component on an openEuler 23.09 server and deploy the agent component on CentOS 7/CentOS 8 servers targeted for migration. - -#### Supported Systems for Migration - -1. Migration from AMD64 and AArch64 CentOS systems to UOS is supported. You need to prepare a complete repository for the target system before migration. - -2. openEuler migration: Only migration from CentOS 7.4 CUI to openEuler 20.03 LTS SP1 is supported. - -3. Systems with i686 architecture RPM packages should not be migrated as this will lead to migration failure. - -| Source System | Target System | Software Repository | -| ----------------- | ----------------------- | ------------------------------- | -| CentOS 7.4 CUI | openEuler 20.03 LTS SP1 | openEuler public repository | -| CentOS 7.0 to 7.7 | UOS 1002a | UOS 1002a (complete repository) | -| CentOS 8.0 to 8.2 | UOS 1050a | UOS 1050a (complete repository) | - -### Usage Instructions - -#### Installation and Configuration - -##### Installing migration-tools-server - -- Disable the firewall. - - ``` shell - systemctl stop firewalld - ``` - -- Install migration-tools-server. - - ``` shell - yum install migration-tools-server -y - ``` - -- Edit the configuration file. - - ``` shell - vim /etc/migration-tools/migration-tools.conf - ``` - - ![Configuration File](./figures/migration-tools-conf.png) - -- Restart the migration-tools-server service. - - ``` shell - systemctl restart migration-tools-server - ``` - -- Distribute the agent package. Choose the appropriate agent package based on the migration system version. - - For CentOS 7 series: - - Replace `xx.xx.xx.xx` with the migration machine's IP address. - - ``` shell - scp -r /usr/lib/migration-tools-server/agent-rpm/el7 root@xx.xx.xx.xx:/root - ``` - - For CentOS 8 series: - - ``` shell - scp -r /usr/lib/migration-tools-server/agent-rpm/el8 root@xx.xx.xx.xx:/root - ``` - -#### Migrating to openEuler - -> **Note:** openEuler migration currently supports only standalone script-based migration. - -- Distribute the migration script from the server to the agent. - - ``` shell - cd /usr/lib/migration-tools-server/ut-Migration-tools-0.1/centos7/ - scp openeuler/centos72openeuler.py root@10.12.23.106:/root - ``` - -- Install the required dependencies for migration. - - ``` shell - yum install python3 dnf rsync yum-utils -y - ``` - -- Begin the migration process. - - ``` shell - python3 centos7/openeuler/centos72openeuler.py - ``` - -- The system will automatically reboot after migration, and the process will be complete upon restart. - - ![openEuler Migration Complete](./figures/openeuler-migration-complete.png) - -#### Migrating to UOS - -##### Installing migration-tools-agent - -On the CentOS machine to be migrated, follow these steps: - -> **Note:** Currently, migration-tools only supports migration from CentOS 7.4 CUI to openEuler 20.03 LTS SP1. - -- Disable the firewall. - - ``` shell - systemctl stop firewalld - ``` - -- Install epel-release (some dependencies are included in the epel repository). - - ``` shell - yum install epel-release -y - ``` - -- Install the migration-tools-agent package (for CentOS 7 series, install the package corresponding to the architecture). - - For CentOS 7: - - ``` shell - cd /root/el7/x86_64 - yum install ./* -y - ``` - - For CentOS 8: - - ``` shell - cd /root/el8/ - yum install ./* -y - ``` - -- Edit the configuration file. - - ``` shell - vim /etc/migration-tools/migration-tools.conf - ``` - - ![Configuration File](./figures/migration-tools-conf.png) - -- Restart the migration-tools-agent service. - - ``` shell - systemctl restart migration-tools-agent - ``` - -##### UOS Migration Steps - -- Access the web interface. - - Once both the server and agent services are running, open a browser (Chrome is recommended) and navigate to `https://server_IP_address:9999`. - - ![Home Page](./figures/home-page.png) - -- Click "I have read and agree to this agreement," then proceed by clicking "Next." - ![License Agreement](./figures/license.png) - -- Review the migration prompt page and click "Next." - ![Prompt](./figures/prompt.png) - -- The environment check page will verify the system version and available disk space. Click "Next" once the check is complete. - -> **Note:** If the check stalls, ensure the agent firewall is disabled and both server and agent services are active. Refresh the browser to restart the check. - -![Environment Check](./figures/environment-check.png) - -- The user check page will validate the username and password. Using the root user is recommended. Click "Next" to initiate the check, and the system will automatically proceed to the repository configuration page upon completion. - - ![User Check](./figures/user-check.png) - -Repository Configuration Page: - -- Enter the appropriate repository path based on the system to be migrated. - - CentOS 7: 1002a, CentOS 8: 1050a - -- Ensure the repository is complete; otherwise, the migration will fail. - -- Only one repository path needs to be entered in the input field. - -![Repo](./figures/repo.png) - -- After entering the repository, click "Next." Once the repository connectivity check is complete, proceed to the kernel version selection page. Select the 4.19 kernel and click "Next." - - ![Kernel](./figures/kernel.png) - -- The migration environment check page compares software package differences before and after migration and generates a report. After the check, you can export the report. - - > **Note:** The check typically takes about one hour. Please wait patiently. - - ![Migration Check](./figures/migration-check.png) - -- After the check, click "Next." A confirmation window for system migration will appear. Ensure the system is backed up, then click "Confirm" to start the migration. - - ![Migration Confirmation](./figures/migration-confirmation.png) - -- After clicking "Confirm," the system migration page will appear. - - ![Migration Start](./figures/migration-start.png) - -- Click "View Details" to monitor the migration progress. - - ![Migration in Progress](./figures/migration-in-progress.png) - -- Once migration is complete, the page will redirect to the completion page. From here, you can export the migration analysis report and logs. - -- The exported files can be found in the **/var/tmp/uos-migration/** directory on the server. Unzip the files to view them. - - ![Migration Complete](./figures/migration-complete.png) - -- After migration, manually restart the agent machine and verify the migration status. - -###### Verification Steps - -Run the following command to verify if the OS has been successfully migrated to the target version. - -``` shell -uosinfo -``` - -If the output matches the expected information below, the migration is successful. - -1002a: - -``` shell -################################################# -Release: UnionTech OS Server release 20 (kongli) -Kernel : 4.19.0-91.77.97.uelc20.x86_64 -Build : UnionTech OS Server 20 1002c 20211228 x86_64 -################################################# -``` - -1050a: - -``` shell -################################################# -Release: UnionTech OS Server release 20 (kongzi) -Kernel : 4.19.0-91.82.88.uelc20.x86_64 -Build : UnionTech OS Server 20 1050a 20220214 x86_64 -################################################# -``` diff --git a/docs/en/tools/community_tools/virtualization/euler_launcher/_toc.yaml b/docs/en/tools/community_tools/virtualization/euler_launcher/_toc.yaml deleted file mode 100644 index fd5414ac7b55fa12e99d131490a9adcb99731ca8..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/virtualization/euler_launcher/_toc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -label: EulerLauncher User Guide -isManual: true -description: High-performance development resources on mainstream desktop OSs. -sections: - - label: Overview - href: ./overall.md - - label: Installing and Running EulerLauncher on Windows - href: ./win_user_manual.md - - label: Installing and Running EulerLauncher on macOS - href: ./mac_user_manual.md diff --git a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-content.jpg b/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-content.jpg deleted file mode 100644 index 7db445ef7e6b068454e510bfd74f4e56ff523063..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-content.jpg and /dev/null differ diff --git a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-install.jpg b/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-install.jpg deleted file mode 100644 index 07945fa95430a28993b65410881a248a62845bcb..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-install.jpg and /dev/null differ diff --git a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-start.jpg b/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-start.jpg deleted file mode 100644 index d950b29c99438703a5dd670953c9afc30feb9494..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-start.jpg and /dev/null differ diff --git a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-terminal.jpg b/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-terminal.jpg deleted file mode 100644 index d0f3082cc64658afd888a02ca578f76857578f83..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-terminal.jpg and /dev/null differ diff --git a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-visudo.jpg b/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-visudo.jpg deleted file mode 100644 index 7466ef4fec0f928ca0c0255ba59b628251216eb1..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/community_tools/virtualization/euler_launcher/images/mac-visudo.jpg and /dev/null differ diff --git a/docs/en/tools/community_tools/virtualization/euler_launcher/mac_user_manual.md b/docs/en/tools/community_tools/virtualization/euler_launcher/mac_user_manual.md deleted file mode 100644 index 979f9ea1d3a8eb33b2437d312266fa9a5728447c..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/virtualization/euler_launcher/mac_user_manual.md +++ /dev/null @@ -1,234 +0,0 @@ -# Installing and Running EulerLauncher on macOS - -## Preparations - -### Installing Homebrew - -Homebrew is the software package manager for macOS, which provides many practical functions, such as installation, uninstallation, update, viewing, and search. It allows you to use a simple command to manage packages without considering dependencies and file paths. - -On the macOS desktop, press **Shift**+**Command**+**U** to open the **Utilities** folder in **Go** and find **Terminal.app**. - -![](./images/mac-terminal.jpg) - -Install Homebrew based on the network status. - -Run the following command to install Homebrew: - -``` Shell -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -``` - -Alternatively, run the following command to install Homebrew: - -``` Shell -/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" -``` - -### Installing QEMU and Wget - -EulerLauncher depends on QEMU to run on macOS, and image download depends on Wget. Homebrew can be used to easily download and manage such software. Run the following command to install QEMU and Wget: - -``` Shell -brew install qemu -brew install wget -``` - -### Configuring the sudo Password-Free Permission - -EulerLauncher depends on QEMU to run on macOS. To improve user network experience, [vmnet framework][1] of macOS is used to provide VM network capabilities. Currently, administrator permissions are required for using vmnet. When using the QEMU backend to create VMs with vmnet network devices, you need to enable the administrator permission. EulerLauncher automatically uses the `sudo` command to implement this process during startup. Therefore, you need to configure the `sudo` password-free permission for the current user. If you do not want to perform this configuration, please stop using EulerLauncher. - -1. On the macOS desktop, press **Shift**+**Command**+**U** to open the **Utilities** folder in **Go** and find **Terminal.app**. - - ![](./images/mac-terminal.jpg) - -2. Enter `sudo visudo` in the terminal to modify the sudo configuration file. Note that you may be required to enter the password in this step. Enter the password as prompted. - -3. Find and replace `%admin ALL=(ALL) ALL` with `%admin ALL=(ALL) NOPASSWD: ALL`. - - ![](./images/mac-visudo.jpg) - -4. Press **ESC** and enter **:wq** to save the settings. - -## Installing EulerLauncher - -EulerLauncher supports macOS Ventura for Apple Silicon and x86 architectures. [Download the latest version of EulerLauncher][1] for macOS and decompress it to the desired location. - -The directory generated after the decompression contains the following files: - -![](./images/mac-content.jpg) - -**install.exe** is the installation file, which is used to install the support files required by EulerLauncher to the specified location. **EulerLauncher.dmg** is the disk image of the main program. - -1. This operation requires the `sudo` permission. You need to [configure the sudo password-free permission](#configuring-the-sudo-password-free-permission) first. -2. Install the support files. Double-click the **install** file and wait until the program execution is completed. - -3. Configure EulerLauncher. - - - Check the locations of QEMU and Wget. The name of the QEMU binary file varies according to the architecture. Select the correct name (Apple Silicon: **qemu-system-aarch64**; Intel: **qemu-system-x86_64**) as required. - - ``` Shell - which wget - which qemu-system-{host_arch} - ``` - - Reference output: - - ```shell - /opt/homebrew/bin/wget - /opt/homebrew/bin/qemu-system-aarch64 - ``` - - Record the paths, which will be used in the following steps. - - - Open the **eulerlauncher.conf** file and configure it. - - ```shell - sudo vi /Library/Application\ Support/org.openeuler.eulerlauncher/eulerlauncher.conf - ``` - - EulerLauncher configurations are as follows: - - ```ini - [default] - log_dir = # Log file location (xxx.log) - work_dir = # EulerLauncher working directory, which is used to store VM images and VM files. - wget_dir = # Path of the Wget executable file. Set this parameter based on the previous step. - qemu_dir = # Path of the QEMU executable file. Set this parameter based on the previous step. - debug = True - - [vm] - cpu_num = 1 # Number of CPUs of the VM. - memory = 1024 #Memory size of the VM, in MB. Do not set this parameter to a value greater than 2048 for M1 users. - ``` - - Save the modifications and exit. - -4. Install **EulerLauncher.app**. - - - Double-click **EulerLauncher.dmg**. In the displayed window, drag **EulerLauncher.app** to **Applications** to complete the installation. You can find **EulerLauncher.app** in applications. - - ![](./images/mac-install.jpg) - -## Using EulerLauncher - -1. Find **EulerLauncher.app** in applications and click to start the program. - -2. EulerLauncher needs to access the network. When the following dialog box is displayed, click **Allow**. - - ![](./images/mac-start.jpg) - -3. Currently, EulerLauncher can be accessed only in CLI mode. Open **Terminal.app** and use the CLI to perform operations. - -### Operations on Images - -1. List available images. - - ```Shell - eulerlauncher images - ``` - - There are two types of EulerLauncher images: remote images and local images. Only local images in the **Ready** state can be used to create VMs. Remote images can be used only after being downloaded. You can also load a downloaded local image to EulerLauncher. For details, see the following sections. - -2. Download a remote image. - - ```Shell - eulerlauncher download-image 23.09 - - Downloading: 23.09, this might take a while, please check image status with "images" command. - ``` - - The image download request is an asynchronous request. The download is completed in the background. The time required depends on your network status. The overall image download process includes download, decompression, and format conversion. During the download, you can run the `image` command to view the download progress and image status at any time. - - ```Shell - eulerlauncher images - ``` - - When the image status changes to **Ready**, the image is downloaded successfully. The image in the **Ready** state can be used to create VMs. - - ```Shell - eulerlauncher images - ``` - -3. Load a local image. - - Load a custom image or an image downloaded to the local host to EulerLauncher to create a custom VM. - - ```Shell - eulerlauncher load-image --path {image_file_path} IMAGE_NAME - ``` - - The supported image formats are *xxx***.qcow2.xz** and *xxx***.qcow2**. - - Example: - - ```Shell - eulerlauncher load-image --path /opt/openEuler-23.09-x86_64.qcow2.xz 2309-load - - Loading: 2309-load, this might take a while, please check image status with "images" command. - ``` - - Load the **openEuler-23.09-x86_64.qcow2.xz** file in the **/opt** directory to the EulerLauncher system and name it **2309-load**. Similar to the download command, the load command is also an asynchronous command. You need to run the image list command to query the image status until the image status is **Ready**. Compared with directly downloading an image, loading an image is much faster. - - ```Shell - eulerlauncher images - ...... - - eulerlauncher images - ...... - ``` - -4. Delete an image. - - Run the following command to delete an image from the EulerLauncher system: - - ```Shell - eulerlauncher delete-image 2309-load - - Image: 2309-load has been successfully deleted. - ``` - -### Operations on VMs - -1. List VMs. - - ```shell - eulerlauncher list - - +----------+-----------+---------+---------------+ - | Name | Image | State | IP | - +----------+-----------+---------+---------------+ - | test1 | 2309-load | Running | 172.22.57.220 | - +----------+-----------+---------+---------------+ - | test2 | 2309-load | Running | N/A | - +----------+-----------+---------+---------------+ - ``` - - If the VM IP address is **N/A** and the VM status is **Running**, the VM is newly created and the network configuration is not complete. Configuring the network takes several seconds. You can obtain the VM information again later. - -2. Log in to a VM. - - If an IP address has been assigned to a VM, you can run the `ssh` command to log in to the VM. - - ```Shell - ssh root@{instance_ip} - ``` - - If the official image provided by the openEuler community is used, the default username is **root** and the default password is **openEuler12#$**. - -3. Create a VM. - - ```Shell - eulerlauncher launch --image {image_name} {instance_name} - ``` - - Use `--image` to specify an image and a VM name. - -4. Delete a VM. - - ```Shell - eulerlauncher delete-instance {instance_name} - ``` - -Delete a specified VM based on the VM name. - -[1]: https://developer.apple.com/documentation/vmnet diff --git a/docs/en/tools/community_tools/virtualization/euler_launcher/overall.md b/docs/en/tools/community_tools/virtualization/euler_launcher/overall.md deleted file mode 100644 index bb672f4915b578d19f5364b367384e634b8b37d5..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/virtualization/euler_launcher/overall.md +++ /dev/null @@ -1,18 +0,0 @@ -# EulerLauncher - -EulerLauncher is a developer tool set incubated by the technical operation team and infrastructure team of the openEuler community. It integrates virtualization technologies (such as LXD, HyperV, and Virtualization Framework) in mainstream desktop operating systems (OSs). It utilizes VMs and container images officially released by the openEuler community to provide developers with unified development resource (such as VMs and containers) provisioning and management experience on Windows, macOS, and Linux, improving the convenience and stability of using the openEuler development environment on mainstream desktop OSs, as well as developer experience. - -## Background - -The convenience and stability of development resources (such as VMs and containers) provided by mainstream desktop OSs are important factors that affect the experience of openEuler developers, especially for individuals and university developers with limited development resources. Common VM management platforms have many limitations. For example, VirtualBox requires developers to download a large ISO image and install the OS, WSL cannot provide a real openEuler kernel, most VM management software does not fully support Apple Sillicon chips, and many software needs to be paid, greatly reducing developers' work efficiency. - -EulerLauncher provides a convenient, easy-to-use, and unified developer tool set on mainstream desktop OSs such as Windows, macOS, and Linux (planned). It supported the x86_64 and AArch64 hardware architectures, including Apple Sillicon chips. It also supports virtual hardware acceleration capabilities for different platforms, providing developers with high-performance development resources. EulerLauncher allows users to use VMs and container images (planned) released by the openEuler community, Daily Build images provided by the openEuler community, and other custom images that meet requirements, providing developers with multiple choices. - -## Quick Start - -For macOS users, see [Installing and Running EulerLauncher on macOS][1]. - -For Windows users, see [Installing and Running EulerLauncher in Windows][2]. - -[1]: ./mac-user-manual.md -[2]: ./win-user-manual.md diff --git a/docs/en/tools/community_tools/virtualization/euler_launcher/win_user_manual.md b/docs/en/tools/community_tools/virtualization/euler_launcher/win_user_manual.md deleted file mode 100644 index aa74f01b92d287da7c163e96f49ff6d862e47b32..0000000000000000000000000000000000000000 --- a/docs/en/tools/community_tools/virtualization/euler_launcher/win_user_manual.md +++ /dev/null @@ -1,159 +0,0 @@ -# Installing and Running EulerLauncher on Windows - -EulerLauncher currently supports Windows 10/11. [Download the latest version of EulerLauncher][1] for Windows and decompress it to the desired location. -Right-click **config-env.bat** and choose **Run as administrator** from the shortcut menu. This script adds the current directory to the system environment variable `PATH`. If you know how to configure environment variables or the configuration script is incorrect, you can manually add the directory where the current script is located and the **qemu-img** subdirectory to the system environment variable `PATH`. - -To run EulerLauncher on Windows, you need to connect EulerLauncher to the Hyper-V virtualization backend. Hyper-V is a Microsoft hardware virtualization product that provides better performance for VMs on Windows. Before running EulerLauncher, check whether Hyper-V is enabled in your system. For details about how to check and enable Hyper-V, see [Install Hyper-V][2] or other network resources. - -The directory generated after the decompression contains the following files: - -- **eulerlauncherd.exe**: main process of EulerLauncher. It is a daemon process running in the background. It interacts with various virtualization backends and manages the life cycles of VMs, containers, and images. -- **eulerlauncher.exe**: EulerLauncher CLI client. You can use this client to interact with the eulerlauncherd daemon process and perform operations on VMs and images. -- **eulerlauncher.conf**: EulerLauncher configuration file, which must be stored in the same directory as **eulerlauncherd.exe**. Configure the file as follows: - -```ini -[default] -# Configure the directory for storing log files. -log_dir = D:\eulerlauncher-workdir\logs -# Whether to enable the debug log level. -debug = True -# Configure the EulerLauncher working directory. -work_dir = D:\eulerlauncher-workdir -# Configure the EulerLauncher image directory. The image directory is relative to the working directory. -image_dir = images -# Configure the VM file directory of EulerLauncher. The VM file directory is relative to the working directory. -instance_dir = instances -``` - -After the configuration is complete, right-click **eulerlauncherd.exe** and choose **Run as administrator** from the shortcut menu. **eulerlauncherd.exe** runs as a daemon process in the background. - -Start PowerShell or Command Prompt to prepare for the corresponding operation. - -## Exiting the eulerlauncherd Background Process on Windows - -After **eulerlauncherd.exe** is executed, the eulerlauncherd icon is displayed in the system tray in the lower right corner. Right-click the icon and choose **Exit EulerLauncher** from the shortcut menu to exit the eulerlauncherd background process. - -## Operations on Images - -1. List available images. - - ```PowerShell - eulerlauncher.exe images - - +-----------+----------+--------------+ - | Images | Location | Status | - +-----------+----------+--------------+ - | 22.03-LTS | Remote | Downloadable | - | 21.09 | Remote | Downloadable | - | 2203-load | Local | Ready | - +-----------+----------+--------------+ - ``` - - There are two types of EulerLauncher images: remote images and local images. Only local images in the **Ready** state can be used to create VMs. Remote images can be used only after being downloaded. You can also load a downloaded local image to EulerLauncher. For details, see the following sections. - -2. Download a remote image. - - ```PowerShell - eulerlauncher.exe download-image 23.09 - - Downloading: 23.09, this might take a while, please check image status with "images" command. - ``` - - The image download request is an asynchronous request. The download is completed in the background. The time required depends on your network status. The overall image download process includes download, decompression, and format conversion. During the download, you can run the `image` command to view the download progress and image status at any time. - - ```PowerShell - eulerlauncher.exe images - ``` - - When the image status changes to **Ready**, the image is downloaded successfully. The image in the **Ready** state can be used to create VMs. - - ```PowerShell - eulerlauncher.exe images - ``` - -3. Load a local image. - - Load a custom image or an image downloaded to the local host to EulerLauncher to create a custom VM. - - ```PowerShell - eulerlauncher.exe load-image --path {image_file_path} IMAGE_NAME - ``` - - The supported image formats are *xxx***.qcow2.xz** and *xxx***.qcow2**. - - Example: - - ```PowerShell - eulerlauncher.exe load-image --path D:\openEuler-23.09-x86_64.qcow2.xz 2309-load - - Loading: 2309-load, this might take a while, please check image status with "images" command. - ``` - - Load the **openEuler-23.09-x86_64.qcow2.xz** file in the **D:\\** directory to the EulerLauncher system and name it **2309-load**. Similar to the download command, the load command is also an asynchronous command. You need to run the image list command to query the image status until the image status is **Ready**. Compared with directly downloading an image, loading an image is much faster. - - ```PowerShell - eulerlauncher.exe images - - ...... - - eulerlauncher images - - ...... - ``` - -4. Delete an image. - - Run the following command to delete an image from the EulerLauncher system: - - ```PowerShell - eulerlauncher.exe delete-image 2309-load - - Image: 2309-load has been successfully deleted. - ``` - -## Operations on VMs - -1. List VMs. - - ```Powershell - eulerlauncher.exe list - - +----------+-----------+---------+---------------+ - | Name | Image | State | IP | - +----------+-----------+---------+---------------+ - | test1 | 2309-load | Running | 172.22.57.220 | - +----------+-----------+---------+---------------+ - | test2 | 2309-load | Running | N/A | - +----------+-----------+---------+---------------+ - ``` - - If the VM IP address is **N/A** and the VM status is **Running**, the VM is newly created and the network configuration is not complete. Configuring the network takes several seconds. You can obtain the VM information again later. - -2. Log in to a VM. - - If an IP address has been assigned to a VM, you can run the `ssh` command to log in to the VM. - - ```PowerShell - ssh root@{instance_ip} - ``` - - If the official image provided by the openEuler community is used, the default username is **root** and the default password is **openEuler12#$**. - -3. Create a VM. - - ```PowerShell - eulerlauncher.exe launch --image {image_name} {instance_name} - ``` - - Use `--image` to specify an image and a VM name. - -4. Delete a VM. - - ```PowerShell - eulerlauncher.exe delete-instance {instance_name} - ``` - - Delete a specified VM based on the VM name. - -[1]: https://gitee.com/openeuler/eulerlauncher/releases -[2]: https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v diff --git a/docs/en/tools/desktop/.keep b/docs/en/tools/desktop/.keep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/docs/en/tools/desktop/_toc.yaml b/docs/en/tools/desktop/_toc.yaml index e402fdce6877f76bba9d33a38339ab6bdc4767cb..227c07b07abb130e6f17e446d30456fc99044fbe 100644 --- a/docs/en/tools/desktop/_toc.yaml +++ b/docs/en/tools/desktop/_toc.yaml @@ -1,8 +1,9 @@ label: Desktop Environments sections: - - href: ./gnome/_toc.yaml - href: upstream: https://gitee.com/openeuler/ukui/blob/master/docs/en/_toc.yaml - - href: ./dde/_toc.yaml - - href: ./kiran/_toc.yaml - - href: ./xfce/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/dde/blob/master/docs/en/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/kiran-desktop/blob/master/docs/en/_toc.yaml + path: ./kiran diff --git a/docs/en/tools/desktop/dde/_toc.yaml b/docs/en/tools/desktop/dde/_toc.yaml deleted file mode 100644 index 7b9b081c20faa49ceb41e735d9673d10ee89de16..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: DDE User Guide -isManual: true -description: Install and use DDE. -sections: - - label: DDE Installation - href: ./dde_installation.md - - label: DDE User Guide - href: ./dde_user_guide.md diff --git a/docs/en/tools/desktop/dde/dde_installation.md b/docs/en/tools/desktop/dde/dde_installation.md deleted file mode 100644 index 80b1e26de882060a6597193ebfc5c6c31d4390b5..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/dde_installation.md +++ /dev/null @@ -1,39 +0,0 @@ -# DDE Installation - -## Introduction - -DDE is a powerful desktop environment developed by UnionTech. It contains dozens of self-developed desktop applications. - -## Procedure - -1. [Download](https://openeuler.org/en/download/) the openEuler ISO file and install the OS. -2. Update the software source. - - ```bash - sudo dnf update - ``` - -3. Install DDE. - - ```bash - sudo dnf install dde - ``` - -4. Set the system to start with the graphical interface. - - ```bash - sudo systemctl set-default graphical.target - ``` - -5. Reboot the system. - - ```bash - sudo reboot - ``` - -6. After the reboot is complete, use the user created during the installation process or the **openeuler** user to log in to the desktop. - - > DDE does not allow login as the **root** user. - > DDE has a built-in **openeuler** user whose password is **openeuler**. - -Now you can use DDE. diff --git a/docs/en/tools/desktop/dde/dde_user_guide.md b/docs/en/tools/desktop/dde/dde_user_guide.md deleted file mode 100644 index b33fab70dd22c3096fb3a71a6163b52866f3d996..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/dde_user_guide.md +++ /dev/null @@ -1,849 +0,0 @@ -# DDE Desktop Environment - -## Overview - -DDE desktop environment is an elegant, secure, reliable and easy to use GUI comprised of the desktop, dock, launcher and control center. Acting as the key basis for our operating system, its main interface is shown as below. - -![](./figures/43.jpg) - -### Getting Started - -When you enter DDE for the very first time, a welcome program will automatically start. You can watch the introduction video, select your desktop style and icon theme, and learn more about the system functions. - -![](./figures/46.png) - -## Desktop - -Desktop is the main screen you see after logging in. On the desktop, you can create a new file/folder, sort files, open in terminal, set wallpaper and screensaver and etc. You can also add shortcuts for applications on desktop by using [Send to desktop](#set-app-shortcut). - -![](./figures/41.png) - -### Create New Folder/Document - -Just as in File Manager, you can create a new folder/document on the desktop, or do some operations for the files on it. - -- Right-click the desktop, select **New folder** and enter the name for it. -- Right-click the desktop, select **New document**, select the type and enter its name. - -Right-click a file or folder on the desktop, and use the features of File Manager as below: - -| Function | Description | -| ---------------- | ------------------------------------------------------------ | -| Open with | Select an app to open it. | -| Cut | Move it to another location. | -| Copy | Copy it to another location. | -| Rename | Change its name. | -| Delete | Delete and move it to the trash. | -| Create link | Create a shortcut of the file or folder. | -| Tag information | Add a tag. | -| Compress/Extract | Compress the file or folder, or extract the compressed file. | -| Properties | View the basic info, share it or change the permission. | - -### Sort Files - -Sort the files on your desktop to make it organized and fit your needs. - -1. Right-click the desktop. -2. Click **Sort by**, you can: - -- Click **Name** to display files in the name sequence. -- Click **Size** to display files in the size sequence. -- Click **Type** to display files in type. -- Click **Time modified** to display files in the order of last modified date. - -> ![](./figures/icon125-o.svg)Tips: *Check **Auto arrange**, icons on the desktop will be listed in order automatically, and if an icon is removed, another one will fill in the blank.* - -### Adjust Icon Size - -1. Right-click the desktop. -2. Click **Icon size**, and choose a proper size. - -> ![](./figures/icon125-o.svg)Tips: *Press **Ctrl** + ![](./figures/icon134-o.svg)/![](./figures/icon132-o.svg) scrolling mouse wheel to adjust icon size on the desktop and in Launcher.* - -### Set Display - -You can set display scaling, screen resolution, brightness and so on from the desktop. - -1. Right-click the desktop. -2. Click **Display Settings** to open the settings in Control Center. - -> ![](./figures/icon99-o.svg)Notes: *For specific operations, please refer to [Display](#Display).* - -### Change Wallpaper - -Select some elegant and fashionable wallpapers to beautify your desktop and make it distinctive. - -1. Right-click the desktop. -2. Click **Wallpaper and Screensaver** to preview all the wallpapers. -3. Click your favorite one and it will apply in your desktop and screen lock. -4. You can also choose **Only desktop**, **Only lock screen**, or both. - -![](./figures/63.jpg) - -> ![](./figures/icon125-o.svg)Tips: *You can also set your favorite picture as wallpaper in an image viewer.* - -### Clipboard - -All the texts, pictures and documents cut and copied by the current user after login are displayed in the clipboard, which can be copied quickly by double-clicking the clipboard. The clipboard is cleared automatically after logout and shutdown. - -1. Use the shortcuts **Ctrl**+**Alt**+ **V** to wake up the clipboard. - -2. Double-click in the clipboard to copy the current content quickly and the corresponding block will be moved to the top of the clipboard. - -3. Select the target destination to paste it. - -4. Click![](./figures/icon57-o.svg)to delete the current content and click **Clear All** to clear the clipboard. - - ![](./figures/40.png) - -## Dock - -Dock is at the bottom of the desktop by default to help you quickly open frequently-used applications, which includes Launcher, applications, system tray, and plugins. In the dock, you can open launcher, show the desktop, enter the workspaces, open and exit apps, set input methods, adjust the volume, connect to the network, view the calendar and enter the shutdown interface, and so on. - -### Icons on Dock - -In the Dock, there are icons of Launcher, applications, system tray, and plugins. - -![](./figures/45.png) - -| Icon | Description | -| ---- | ---- | -| ![](./figures/icon66-o.svg) | Launcher - click to view all the installed applications. | -| ![](./figures/icon69-o.svg) | Click to show the desktop. | -| ![](./figures/icon63-o.svg) | File Manager - click to view files and folders on the disk. | -| ![](./figures/icon62-o.svg) | Calendar - view dates and create new schedules. | -| ![](./figures/icon58-o.svg) | Control Center - click to check or change system settings. | -| ![](./figures/icon101-o.svg) | Notification Center - show all notifications from the system and applications. | -| ![](./figures/icon103-o.svg) | Onboard virtual keyboard. | -| ![](./figures/icon122-o.svg) | Click to enter the shutdown interface. | -| ![](./figures/icon126-o.svg) | Trash. | - -> ![](./figures/icon125-o.svg)Tips: *In Efficient Mode, you can click the right side of Dock to show the desktop. Move the cursor to the running app in the Dock and you will see its preview window.* - -### Switch Display Mode - -There are two display modes of Dock: fashion mode and efficient mode, icon sizes are different in them. - -![](./figures/46.png) - -![](./figures/63.png) - -You can switch the display modes by the following operations: - -1. Right-click the Dock and select **Mode**. -2. Select the display mode. - -### Change Dock Location - -You can place Dock on any direction of your desktop. - -1. Right-click the Dock and select **Location**. -2. Select a location. - -### Change Dock Height - -Drag the top edge to increase or decrease the height. - -### Show/Hide Plugins - -1. Right-click the Dock and select **Plugins**. -2. On the submenu, you can check or uncheck **Trash, Power, Show Desktop, Onboard**, and **Datetime** to show or hide the corresponding icon in the Dock. - -### View Notifications - -When there are system or application notifications, they will be shown in the middle of the screen. If there are buttons in the message, click buttons to do the actions; if there are not, click the message to close it. - -![](./figures/51.png) - -Click notification in Dock to view all the notifications. - -### View Date and Time - -- Hover the cursor over the Time icon in Dock to view the current time, date and day of the week. -- Click the Time icon to open Calendar. - -### Enter Shutdown Interface - -There are two ways to enter the shutdown interface: - -- Click ![](./figures/icon122-o.svg) in Dock. -- Click ![](./figures/icon136-o.svg) at the bottom right corner of Launcher mini mode. - -| Function | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | -| Shut down ![](./figures/icon136-o.svg) | Shut down the computer. | -| Reboot ![](./figures/icon110-o.svg) | Restart the computer. | -| Lock ![](./figures/icon90-o.svg) | Lock the computer with the password. Or press **Super** + **L** to lock it. | -| Switch user ![](./figures/icon128-o.svg) | Log in with another user account. | -| Log out ![](./figures/icon92-o.svg) | End all the processes and initialize the system. | -| Start system monitor ![](./figures/icon68-o.svg) | View the running processes and end the one you want. | - -> ![](./figures/icon99-o.svg)Notes: ![](./figures/icon128-o.svg) *will be shown if there are multiple accounts in the system.* - -### Trash - -You can find all deleted files in the trash, which can be restored or emptied. - -#### Restore Files - -You can restore deleted files in Trash or press **Ctrl** + **Z** to restore the lately deleted files. - -1. Select the file in the trash. -2. Right-click the file and select **Restore**. -3. The file will be in its original path. - -> ![](./figures/icon52-o.svg)Attention: *If the original folder of the file has been deleted, the deleted file will be restored to a new folder automatically created.* - -#### Empty Trash - -In the trash, click **Empty** to permanently delete all the files in the trash. - -## Launcher - -Launcher ![](./figures/icon66-o.svg) helps you manage all the installed applications, where you can quickly find an application by category navigation or by a search. - -> ![](./figures/icon125-o.svg)Tips: *You can view newly installed applications in Launcher. The newly-installed ones are followed with a blue dot.* - -### Switch Launcher Modes - -There are two display modes of Launcher: fullscreen mode and mini mode. Click the icon at the upper right corner to switch modes. - -Both modes support searching applications and sending them to the desktop or Dock. - -The mini mode also supports opening File Manager, Control Center and shutdown interface directly. - -![](./figures/47.jpg) -![](./figures/52.png) - -### Sort Applications - -In fullscreen mode, all applications in Launcher are listed by the installation time by default. You can sort the application icons as the ways below: - -- Hover the cursor over an application icon, hold down the left key of mouse, drag and drop the application icon to arrange it freely. -- Click the category icon ![](./figures/icon56-o.svg) on the upper left in Launcher to arrange the icons by category. - -![](./figures/60.jpg) - -In mini mode, applications are displayed according to using frequency by default. - -### Find Applications - -In Launcher, you can scroll up and down to find an application, or locate it with the category navigation. - -If you already know the application name, just search for it. - -### Set App Shortcut - -The shortcut offers a method to run applications easily and quickly. - -#### Create App Shortcut - -Send the application icon to the desktop or Dock to facilitate the follow-up operations. - -In Launcher, right-click an app icon and you can: - -- Select **Send to desktop** to create a shortcut on the desktop. -- Select **Send to dock** to fix the application icon in Dock. - -![](./figures/58.png) - -> ![](./figures/icon99-o.svg)Notes: *You can drag the application icon from Launcher to Dock. But you cannot drag and drop the application while it is running. Then you can right-click the application icon in Dock and select **Dock** to fix it in order to open it quickly for the next time.* - -#### Delete Shortcut - -Delete a shortcut from the desktop directly, or remove it from Dock or Launcher. - -**Remove the shortcut from Dock:** - -- Hold down the left key of mouse, drag and drop the icon away from Dock. -- You cannot drag and drop the application icon while it is running. Then you can right-click the application icon in Dock and select **Undock** to remove it from Dock. - -**Remove the shortcut from Launcher:** - -In Launcher, right-click the icon and you can: - -- Select **Remove from desktop** to delete the shortcut from the desktop. -- Select **Remove from dock** to remove the application icon from Dock. - -> ![](./figures/icon99-o.svg)Notes: *The above operations only delete the shortcut rather than uninstall the applications.* - -### Run Applications - -For the applications whose shortcuts have been created on the desktop or Dock, you can open them in the following ways: - -- Double-click the desktop icon or right-click it and select **Open**. -- Click the application icon in Dock or right-click it and select **Open**. - -To open the application only shown in Launcher, click the icon or right-click it and select **Open**. - -> ![](./figures/icon125-o.svg)Tips: *For the frequently-used applications, right-click the app icon and select **Add to startup** to run it when the computer boots.* - -## Control Center - -You can manage the system settings in Control Center, including account management, network settings, date and time, personalization, display settings, etc. After entering the desktop environment, click ![](./figures/icon58-o.svg) to open Control Center. - -### Homepage Introduction - -The homepage of Control Center provides several setting modules and click one to enter the detailed settings. - -![](./figures/42.png) - -Once you open a setting module in Control Center, the navigation appears on the left. Click the left navigation to quickly switch to other settings. - -![](./figures/39.png) - -#### Title Bar - -The title bar contains the back button, search box, main menu and the window buttons. - -- Back button: Click ![](./figures/icon53-o.svg) to go back to the homepage. -- Search box: Input a keyword and search the related settings. -- Main menu: Click ![](./figures/icon83-o.svg) to enter the main menu where you can set the window theme, view the manual and exit. - -### Accounts - -You have already created an account when installing the system. Here you can modify account settings or create a new one. - -![](./figures/38.png) - -#### Create New Account - -1. On the homepage of Control Center, click ![](./figures/icon49-o.svg). -2. Click ![](./figures/icon50-o.svg). -3. Input a username and a password twice. -4. Click **Create**. -5. Input the password of the current user account in the authentication dialog box, and the new account will be added to the account list. - -#### Change Account Avatar - -1. On the homepage of Control Center, click ![](./figures/icon49-o.svg). -2. Click an existing account in the list. -3. Click the user avatar. -4. Select a avatar or upload a local avatar. - -#### Set Full Name - -The account full name is shown in account list and system login interface and you can set it as needed. - -1. On the homepage of Control Center, click ![](./figures/icon49-o.svg). -2. Click an existing account in the list. -3. Click ![](./figures/icon75-o.svg) after **Full Name**, and input a name. - -#### Change Password - -1. On the homepage of Control Center, click ![](./figures/icon49-o.svg). - -2. Click the current account. - -3. Click **Change Password**. - -4. Input a new password twice and confirm. - -#### Delete Account - -1. On the homepage of Control Center, click ![](./figures/icon49-o.svg). -2. Click an account that's not logged in. -3. Click **Delete Account**. -4. Click **Delete** in the pop-up window. - -> ![](./figures/icon52-o.svg)Attention: *The logged in account cannot be deleted.* - -#### Privilege - -The first account has administrator privilege when you install the system. All other accounts you add after that are common users. One account can be grouped in many user groups. - -##### Group setting - -When you add or modify accounts, you can: - -- Select a group existing in the system. -- Select the group with the same name as the current user. -- Select the group with the same name as another user when the account was previously added. - -### Display - -Set screen resolution, brightness, direction and display scaling properly to have the best visual effect. - -![](./figures/44.png) - -#### Single Screen Settings - -##### Change Resolution - -1. On the homepage of Control Center, click ![](./figures/icon72-o.svg). -2. Click **Resolution**. -3. Select a proper resolution in the list. -4. Click **Save**. - -##### Adjust Brightness - -1. On the homepage of Control Center, click ![](./figures/icon72-o.svg). -2. Click **Brightness**. - - Drag the slider to set screen brightness. - - Switch on **Night Shift**, the screen hue will be auto-adjusted according to your location. - - Switch on **Auto Brightness**, the monitor will change the brightness automatically according to ambient light (shown only if PC has a light sensor). - -##### Change Refresh Rate - -1. On the homepage of Control Center, click ![](./figures/icon72-o.svg). -2. Click **Refresh Rate**. -3. Select a proper one, and click **Save**. - -##### Change Display Direction - -1. On the homepage of Control Center, click ![](./figures/icon72-o.svg). -2. Click ![](./figures/icon112-o.svg). -3. Every time you click, the screen will rotate 90 degrees counterclockwise. -4. To restore to the original direction, click the right button to exit; to use the current direction, press **Ctrl**+ **S** to save it. - -#### Multiple Screen Settings - -Expand your desktop by multiple screens! Use VGA/HDMI/DP cable to connect your computer to other display devices. - -1. On the homepage of Control Center, click ![](./figures/icon72-o.svg). -2. Click **Multiple Displays**. -3. Select a display mode: - - **Duplicate**: display the same image on other screens. - - **Extend**: expand the desktop across the screens. - - **Customize**: customize the display settings for multiple screens. - -In multiple displays, press **Super** + **P** to show its OSD. - -Operations are as follows: - -1. Hold **Super** and press **P** or click to select the options. -2. Release the keys, the selected mode will take into effect. - ->![](./figures/icon99-o.svg)Notes: *When the multiple displays are in the extend mode, only the main screen supports desktop icon display, right-click menu operation and other functions, while the sub-screens do not.* - -##### Custom Settings - -1. On the homepage of Control Center, click ![](./figures/icon72-o.svg). -2. Click **Multiple Displays** > **Customize**. -3. Click **Recognize**. -4. Choose **Merge** or **Split** the screens, specify the main screen, set the resolution and refresh rate, and rotate screen if you want. -5. Click **Save**. - -> ![](./figures/icon99-o.svg)Notes: *"Merge" means duplicate mode, "Split" means extend mode.* - -### Default Application Settings - -If you have installed several applications with similar functions, such as text editor, choose one of them to be the default application to open that type of file. - -![](./figures/39.png) - -#### Set Default Application - -1. Right-click the file, choose **Open with** > **Set default program**. -2. Select one application, **Set as default** is checked by default, and click **Confirm**. -3. The application will automatically be added to the default application list in Control Center. - -#### Change Default Application - -1. On the homepage of Control Center, click ![](./figures/icon70-o.svg). -2. Select a file type. -3. Select another one in the list as the default application. - -#### Add Default Application - -1. On the homepage of Control Center, click ![](./figures/icon70-o.svg). -2. Select a file type. -3. Click ![](./figures/icon50-o.svg) below to add a desktop file (usually at /usr/share/applications) or a specified binary file as the default application. -4. The application will be added to the list and set as default application automatically. - -#### Delete Default Application - -In the default application list, you can only delete the applications you added. To remove other applications from the list, the only way is to uninstall them. Once uninstalled, they will automatically be deleted from the list. - -To delete the default applications you have added, do as below: - -1. On the homepage of Control Center, click ![](./figures/icon70-o.svg). -2. Select a file type. -3. Click ![](./figures/icon57-o.svg) after the application name to delete it. - -### Personalization Settings - -You can set theme, accent color, font, change the appearance of the desktop and windows to your favorite style. - -![](./figures/56.png) - -#### Set Window Theme - -1. On the homepage of Control Center, click ![](./figures/icon105-o.svg). -2. Click **General**. -3. Select one window theme, which will be used as system theme. - -> ![](./figures/icon99-o.svg)Notes: *"Auto" means changing window theme automatically according to the sunset and sunrise time. After sunrise, it is light theme; after sunset, it is dark theme.* - -#### Change Accent Color - -Accent color refers to the color used when you select one option or file in the system. - -1. On the homepage of Control Center, click ![](./figures/icon105-o.svg). -2. Click **General**. -3. Pick a color under **Accent Color** and view its effects. - -#### Set Icon Theme - -1. On the homepage of Control Center, click ![](./figures/icon105-o.svg). -2. Click **Icon Theme** and select an icon style. - -#### Set Cursor Theme - -1. On the homepage of Control Center, click ![](./figures/icon105-o.svg). -2. Click **Cursor Theme** and select a set of cursors. - -#### Change Font - -1. On the homepage of Control Center, click ![](./figures/icon105-o.svg). -2. Click **Font**. -3. Set the font and font size for the system. - -### Network Settings - -After login, you need to connect to a network first and then surf the Internet! - -> ![](./figures/icon125-o.svg)Tips: *Check your network status by hovering over or clicking the network icon in Dock.* - -![](./figures/54.png) - -#### Wired Network - -Wired network is secure and stable, which makes it the most common way to connect to the Internet. After your router is set, connect both ends of the network cable to the computer and router to connect to a wired network. - -1. Plug the cable into the network slot of a computer. -2. Plug another end of the cable into the router or network port. -3. On the homepage of Control Center, click ![](./figures/icon97-o.svg). -4. Click **Wired Network** to enter the setting page of wired network. -5. Switch on **Wired Network Adapter** to enable wired network. -6. If it is successfully connected to the network, there will be a prompt "Wired Connection connected". - -You can also edit and add a new wired network in the setting page. - -#### Mobile Network - -If you are at a place without network, mobile network adapter is a useful tool to help you connect to the Internet as long as the place is covered by telephone signals. - -1. Plug the mobile network adapter into your computer USB port. -2. Your computer will auto connect to the network. -3. On the homepage of Control Center, click ![](./figures/icon97-o.svg). -4. Click **Mobile Network** to view the detailed network info. - -#### DSL/PPPoE Connections - -DSL is a dial-up connection using a standard phone line and analog modem to access the Internet. Configure the modem, plug the telephone line into the network interface of the computer, create a broadband dial-up connection, and enter the user name and password provided by the operator to dial up the Internet. - -##### Create a PPPoE Connection - -1. On the homepage of Control Center, click ![](./figures/icon97-o.svg). -2. Click **DSL**. -3. Click ![](./figures/icon50-o.svg). -4. Enter the name, your account and password the operator provides. -5. Click **Save**. The connection will automatically start. - -#### VPN - -VPN is a virtual private network. Its main function is to establish a private network on the public network for encrypted communication. Whether you are on a business trip or working at home, you can use VPN to access intranet resources as long as you can access the Internet. You can also use VPN to speed up access to websites in other countries. - -1. On the homepage of Control Center, click ![](./figures/icon97-o.svg). -2. Click **VPN**, and click ![](./figures/icon50-o.svg) or ![](./figures/icon84-o.svg). -3. Select the VPN protocol type, and enter the name, gateway, account, password and other information. (Importing VPN will automatically fill in information) -4. Click **Save**, the system will try to connect VPN network automatically. -5. You can export the VPN settings to backup or share with other users. - -> ![](./figures/icon99-o.svg)Notes: *If you don't want to use the VPN as the default routing, but only want it to take effect on specific network resources, switch on **Only applied in corresponding resources**.* - -#### System Proxy - -1. On the homepage of Control Center, click ![](./figures/icon97-o.svg). -2. Click **System Proxy**. - -- Click **None** and **Save** to disable the proxy. -- Click **Manual** and input the address and port of proxy servers. -- Click **Auto** and input a URL to configure the proxy info. - -#### Application Proxy - -1. On the homepage of Control Center, click ![](./figures/icon97-o.svg). -2. Click **Application Proxy**. -3. Select a proxy type, and fill in the IP address, port, etc. -4. Click **Save** to save the proxy settings. - -> ![](./figures/icon99-o.svg)Notes: *After being configured, run Launcher, right-click any application's icon and check **Use a proxy**, and then the application will be opened by proxy.* - -#### Network Info - -You can view MAC, IP address, gateway and other network info in network details. - -1. On the homepage of Control Center, click ![](./figures/icon97-o.svg). -2. Click **Network Details**. -3. View the network info of the current network. - -### Sound Settings - -Set your speaker and microphone properly to make you hear more comfortable and make clearer recordings. - -![](./figures/61.png) - -#### Output - -1. On the homepage of Control Center, click ![](./figures/icon116-o.svg). - -2. Click **Output** to: - - - Select output device type from the dropdown list after **Output Device**. - - - Drag the slider to adjust output volume and left/right balance. - - Switch on **Volume Boost**, the volume could be adjustable from 0~150% (the former range is 0~100%). - -#### Input - -1. On the homepage of Control Center, click ![](./figures/icon116-o.svg). -2. Click **Input** to: - - Select input device type from the dropdown list after **Input Device**. - - Adjust input volume by dragging the slider. - - You can enable **Automatic Noise Suppression** by clicking the button after "Automatic Noise Suppression". - -> ![](./figures/icon125-o.svg)Tips: *Usually, you need to turn up the input volume to make sure that you can hear the sound of the sound source, but the volume should not be too high, because it will cause distortion of the sound. Here is how to set input volume: Speak to your microphone at a normal volume and view "Input Level". If the indicator changes obviously according to the volume, then the input volume is at a proper level.* - -#### System Sound Effects - -1. On the homepage of Control Center, click ![](./figures/icon116-o.svg). -2. Click **Sound Effects**, check the options you want to switch on the sound when the corresponding event occurs. - -> ![](./figures/icon125-o.svg)Tips: *Click to listen to the sound effect.* - -### Date and Time - -Set your timezone properly to have correct date and time. You can also change them manually. - -![](./figures/62.png) - -#### Change Timezone - -You have selected the timezone during system installation and do as follows to change it. - -1. On the homepage of Control Center, click ![](./figures/icon124-o.svg). -2. Click **Timezone List**. -3. Click **Change System Timezone** and select a timezone by searching or clicking on the map. -4. Click **Confirm**. - -#### Add Timezone - -Add another timezone to see the date and time there. - -1. On the homepage of Control Center, click ![](./figures/icon124-o.svg). -2. Click **Timezone List**. -3. Click ![](./figures/icon50-o.svg), select a timezone by searching or clicking on the map. -4. Click **Add**. - -#### Delete Timezone - -1. On the homepage of Control Center, click ![](./figures/icon124-o.svg). -2. Click **Timezone List**. -3. Click **Edit** after "Timezone List". -4. Click ![](./figures/icon71-o.svg) to remove the timezone. - -#### Change Date and Time - -Note that the auto-sync function will be disabled after changing date and time manually. - -1. On the homepage of Control Center, click ![](./figures/icon124-o.svg). -2. Click **Time Settings**. - - Switch on/off **Auto Sync**. - - Enter the correct date and time. -3. Click **Confirm**. - -#### Set Time Format - -Setting the format of time and date is supported. - -1. On the homepage of Control Center, click ![](./figures/icon124-o.svg). -2. Click **Time Format** to set the first day of week, long date, short date, long time, and short time. - -### Power Management - -Power management helps you to improve system safety. - -![](./figures/57.png) - -#### Time to Suspend - -1. On the homepage of Control Center, click ![](./figures/icon107-o.svg). -2. Click **Plugged In**. -3. Set the time to suspend. - -#### Time to Lock Screen - -1. On the homepage of Control Center, click ![](./figures/icon107-o.svg). -2. Click **Plugged In**. -3. Set the time to lock screen. - -#### Power button settings - -1. On the homepage of Control Center, click ![](./figures/icon107-o.svg). -2. Click **Plugged In**. -3. You can select **Shut down, Suspend, Hibernate, Turn off the monitor, Do nothing** from the drop-down list after **When pressing the power button**. - -Any operation done here will take effect immediately. At the same time, the system will notify the user that the power button setting is changed. - -### Mouse - -Mouse is common computer input device. Using the mouse, you can make the operation easier and faster. - -![](./figures/53.png) - -#### General Settings - -1. On the homepage of Control Center, click ![](./figures/icon94-o.svg). -2. Click **General**. -3. Switch on **Left Hand**, and adjust **Scrolling Speed**, **Double-click Speed**. - -> ![](./figures/icon99-o.svg)Notes: *If "Left Hand" is enabled, left-click and right-click of the mouse exchange.* - -#### Mouse - -After inserting or connecting the mouse, make relevant settings in the Control Center to make it more in line with your usage habits. - -1. On the homepage of Control Center, click ![](./figures/icon94-o.svg). -2. Click **Mouse**. -3. Adjust **Pointer Speed**, which helps you to control the speed at which the pointer moves as the mouse moves. -4. Switch on **Natural Scrolling**/**Mouse Acceleration** if you want. - -> ![](./figures/icon99-o.svg)Notes: -> -> - *Turn on the mouse acceleration to improve the accuracy of the pointer. The moving distance of the mouse pointer on the screen will increase according to the acceleration of the moving speed. It can be turned on or off according to the usage.* -> - *If Natural Scrolling is enabled, when you scroll down, the page will scroll down, when you scroll up, the page will scroll up as well.* - -### Keyboard and Language - -Set keyboard properties and select your keyboard layout to keep your typing habit. You can also adjust the keyboard layout according to the country and language, change system language, and customize shortcuts here. - -![](./figures/59.png) - -#### Keyboard Properties - -1. On the homepage of Control Center, click ![](./figures/icon86-o.svg). -2. Click **General**. -3. Adjust **Repeat Delay**/**Repeat Rate**. -4. Click "Test here" and hold down a key to test the repeat rate. -5. Switch on **Numeric Keypad** and **Caps Lock Prompt** if you want. - -#### Keyboard Layout - -Set the keyboard layout to customize the keyboard for the current language. When you press a key on the keyboard, the keyboard layout controls which characters are displayed on the screen. After changing the keyboard layout, the characters on the screen may not match the characters on the keyboard keys. - -You have set a keyboard layout during system installation, but you can add more for other purposes. - -![](./figures/50.png) - -##### Add Keyboard Layout - -1. On the homepage of Control Center, click ![](./figures/icon86-o.svg). -2. Click **Keyboard Layout**. -3. Click ![](./figures/icon50-o.svg). Click a keyboard layout to add it. - -##### Delete Keyboard Layout - -1. On the homepage of Control Center, click ![](./figures/icon86-o.svg). -2. Click **Keyboard Layout**. -3. Click **Edit**. -4. Click ![](./figures/icon71-o.svg) to delete keyboard layout. - -##### Switch Keyboard Layout - -1. On the homepage of Control Center, click ![](./figures/icon86-o.svg). -2. Click **Keyboard Layout**. -3. Click the layout you want to switch to. -4. After successful switching, the layout will be marked with a check. - -> ![](./figures/icon125-o.svg)Tips: *You can also select one or more shortcuts to switch the keyboard layouts in order. Select **Applies to** to make the keyboard layout after switching be applied to the whole system or current application.* - -#### System Language - -The system language is the language you selected when you installed the system by default, which can be changed at any time. - -##### Add System Language - -Add multiple languages into the list to change language conveniently. - -1. On the homepage of Control Center, click ![](./figures/icon86-o.svg). -2. Click **System Language**. -3. Click ![](./figures/icon50-o.svg) to enter the language list. -4. Select the language you want, and it will be added into system language list automatically. - -##### Change System Language - -1. On the homepage of Control Center, click ![](./figures/icon86-o.svg). -2. Click **System Language**. -3. Select the language you want to switch to, and the language package will be installed automatically. -4. After being successfully installed, log out and log in again to view the changes. - -> ![](./figures/icon52-o.svg)Attention: *The keyboard layout may also be changed in the process of switching the system language. Please make sure that you select a correct keyboard layout to enter the login password.* - -#### Shortcuts - -The shortcut list includes all shortcuts in the system. View, modify and customize the shortcuts here as you want. - -![](./figures/59.png) - -##### View Shortcuts - -1. On the homepage of Control Center, click ![](./figures/icon86-o.svg). -2. Click **Shortcuts**. -3. You can search or view the default shortcuts for system, window and workspace. - -##### Modify Shortcuts - -1. On the homepage of Control Center, click ![](./figures/icon86-o.svg). -2. Click **Shortcuts**. -3. Click the shortcut you want to modify. -4. Press new shortcut to change it. - -> ![](./figures/icon125-o.svg)Tips: *To disable a shortcut, please press ![](./figures/icon54-o.svg) on the keyboard. To cancel modifying, press **Esc** or click Restore Defaults at the bottom.* - -##### Customize Shortcuts - -1. On the homepage of Control Center, click ![](./figures/icon86-o.svg). -2. Click **Shortcuts**. -3. Click ![](./figures/icon50-o.svg). -4. Enter the name, command and shortcut. -5. Click **Add**. -6. After being successfully added, click **Edit**. -7. Click ![](./figures/icon71-o.svg) to delete the custom shortcut. - -> ![](./figures/icon125-o.svg)Tips: *To change the shortcut, click it and press a new shortcut to change it directly. To edit the name and command of the custom shortcut, click **Edit** > ![](./figures/icon75-o.svg) near the shortcut name to enter the shortcut settings.* - -### System Info - -You can view system version, authorization info, hardware info, and the agreements here. - -![](./figures/48.png) - -#### About This PC - -1. On the homepage of Control Center, click ![](./figures/icon120-o.svg). -2. Under **About This PC**, you can view system version, authorization and hardware information. -3. If the system has not been activated, click **Activate** to activate the system. - -#### Edition License - -1. On the homepage of Control Center, click ![](./figures/icon120-o.svg). -2. View the system edition license under **Edition License**. - -#### End User License Agreement - -1. On the homepage of Control Center, click ![](./figures/icon120-o.svg). -2. View the End User License Agreement under **End User License Agreement**. - -## Keyboard Interaction - -You can use the keyboard to switch between various interface areas, select objects and perform operations. - -| Key | Function | -| :----------------------------------------------------------- | :----------------------------------------------------------- | -| **Tab** | Switch between different areas or dialog buttons. | -| ![](./figures/icon127-o.svg) ![](./figures/icon73-o.svg) ![](./figures/icon88-o.svg) ![](./figures/icon111-o.svg) | Used to select different objects in the same area. Press ![](./figures/icon111-o.svg) to enter the lower menu and ![](./figures/icon88-o.svg) to return to the upper menu. Press![](./figures/icon127-o.svg)and ![](./figures/icon73-o.svg) to switch between up and down. | -| **Enter** | Execute the selected operation. | -| **Space** | Preview the selected object in File Manager; start and pause the playback in Music and Movie; expand the drop-down options in the drop-down list (The enter key is also available.). | -| **Ctrl**+**M** | Open the right-click menu. | diff --git a/docs/en/tools/desktop/dde/figures/38.png b/docs/en/tools/desktop/dde/figures/38.png deleted file mode 100644 index 838f5ff0616a83cdf42edb053f4e72b93bfa644e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/38.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/39.png b/docs/en/tools/desktop/dde/figures/39.png deleted file mode 100644 index 12a379403d73a47b2fa564120a28fdb58d188963..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/39.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/40.png b/docs/en/tools/desktop/dde/figures/40.png deleted file mode 100644 index bf419894eab852b45604966c62fafa71f051c4df..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/40.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/41.png b/docs/en/tools/desktop/dde/figures/41.png deleted file mode 100644 index f94b0ee72e0d4e9277e9b44b4268cfbdb8402104..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/41.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/42.png b/docs/en/tools/desktop/dde/figures/42.png deleted file mode 100644 index 3182e551c4e4b03885bad6339f1de514b3f55f8c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/42.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/43.jpg b/docs/en/tools/desktop/dde/figures/43.jpg deleted file mode 100644 index 26e9244f58ea9800081fd61ae135477f05b21b40..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/43.jpg and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/44.png b/docs/en/tools/desktop/dde/figures/44.png deleted file mode 100644 index c3abaecd6e053272d81e0ad9bd183c6858b4f3c5..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/44.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/45.png b/docs/en/tools/desktop/dde/figures/45.png deleted file mode 100644 index 86b051acde857c88479714414f721a7f59cca483..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/45.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/46.png b/docs/en/tools/desktop/dde/figures/46.png deleted file mode 100644 index d8ec41c87628bf28c9905523f99ae93aebd13614..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/46.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/47.jpg b/docs/en/tools/desktop/dde/figures/47.jpg deleted file mode 100644 index bf95f03c8ea0f84a878bc63af20972c9da71bc04..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/47.jpg and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/48.png b/docs/en/tools/desktop/dde/figures/48.png deleted file mode 100644 index ef21fa1ce1e2e9848a8dca16e692de673df7c6d7..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/48.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/50.png b/docs/en/tools/desktop/dde/figures/50.png deleted file mode 100644 index b86a55fe4363f56fc18befc9d27025a75ca427ad..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/50.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/51.png b/docs/en/tools/desktop/dde/figures/51.png deleted file mode 100644 index d427ac871dba9c32eb4ffe736d5352f8408da533..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/51.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/52.png b/docs/en/tools/desktop/dde/figures/52.png deleted file mode 100644 index 0ca0a2db05c70bc25f9bb59e82d074f671cfc74e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/52.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/53.png b/docs/en/tools/desktop/dde/figures/53.png deleted file mode 100644 index 76fbc34a1d5621b83c2d8c93222766acad33350d..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/53.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/54.png b/docs/en/tools/desktop/dde/figures/54.png deleted file mode 100644 index 49ecae6f8941a118223f3765c23015df074c4983..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/54.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/56.png b/docs/en/tools/desktop/dde/figures/56.png deleted file mode 100644 index 36fee795bfe593b6246c8d6c2bddea9386b06f45..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/56.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/57.png b/docs/en/tools/desktop/dde/figures/57.png deleted file mode 100644 index 539d06b77b058a933cb154c43641d498050986e0..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/57.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/58.png b/docs/en/tools/desktop/dde/figures/58.png deleted file mode 100644 index 396ca16d873e54505bcdbd41d669366eea7f5dee..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/58.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/59.png b/docs/en/tools/desktop/dde/figures/59.png deleted file mode 100644 index 9b1de98ac4fe686937ca844d3e9481548a79ce63..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/59.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/60.jpg b/docs/en/tools/desktop/dde/figures/60.jpg deleted file mode 100644 index 033c88aaadd04f7d4058ec2eb5b2c70498319bf7..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/60.jpg and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/61.png b/docs/en/tools/desktop/dde/figures/61.png deleted file mode 100644 index 8df17062963a3baf92318a12ec34b1378122687b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/61.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/62.png b/docs/en/tools/desktop/dde/figures/62.png deleted file mode 100644 index ec312d6c0c22018c1745dd866da71ce9be47fbda..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/62.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/63.jpg b/docs/en/tools/desktop/dde/figures/63.jpg deleted file mode 100644 index 504f7cf59768f6fd1cd73a115d01fbc4e15a02e1..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/63.jpg and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/63.png b/docs/en/tools/desktop/dde/figures/63.png deleted file mode 100644 index 86b051acde857c88479714414f721a7f59cca483..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/63.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/dde-1.png b/docs/en/tools/desktop/dde/figures/dde-1.png deleted file mode 100644 index fb1d5177c39262ed182f10a57fdae850d007eeb1..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/dde-1.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/dde-2.png b/docs/en/tools/desktop/dde/figures/dde-2.png deleted file mode 100644 index be5d296937bd17b9646b32c80934aa76738027af..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/dde/figures/dde-2.png and /dev/null differ diff --git a/docs/en/tools/desktop/dde/figures/icon101-o.svg b/docs/en/tools/desktop/dde/figures/icon101-o.svg deleted file mode 100644 index af1c5d3dc0277a6ea59e71efb6ca97bdfc782e8e..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon101-o.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/en/tools/desktop/dde/figures/icon103-o.svg b/docs/en/tools/desktop/dde/figures/icon103-o.svg deleted file mode 100644 index c06c885725c569ab8db1fe7d595a7c65f18c5142..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon103-o.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon105-o.svg b/docs/en/tools/desktop/dde/figures/icon105-o.svg deleted file mode 100644 index 36c49949fa569330b761c2d65518f36c10435508..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon105-o.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon107-o.svg b/docs/en/tools/desktop/dde/figures/icon107-o.svg deleted file mode 100644 index fb5a3ea756f6ccb7b3e5c31122a433347a908c96..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon107-o.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon110-o.svg b/docs/en/tools/desktop/dde/figures/icon110-o.svg deleted file mode 100644 index 7958e3f192061592e002e1e8a1bad06ffa86742c..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon110-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - reboot_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon111-o.svg b/docs/en/tools/desktop/dde/figures/icon111-o.svg deleted file mode 100644 index 097d16a08d305a8b3f3b2268ab1ea8342e799377..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon111-o.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Right - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon112-o.svg b/docs/en/tools/desktop/dde/figures/icon112-o.svg deleted file mode 100644 index e51628c2b8b10495f3410d219814286696ea2fd5..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon112-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon116-o.svg b/docs/en/tools/desktop/dde/figures/icon116-o.svg deleted file mode 100644 index 4d79cd6dbbbfd3969f4e0ad0ad88e27398853505..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon116-o.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon120-o.svg b/docs/en/tools/desktop/dde/figures/icon120-o.svg deleted file mode 100644 index e895c347d16a200aea46b00428b0b9f1a3c94246..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon120-o.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon122-o.svg b/docs/en/tools/desktop/dde/figures/icon122-o.svg deleted file mode 100644 index 7fb014b5fd6097ca37a84d0b6a27dc982d675c8a..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon122-o.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/en/tools/desktop/dde/figures/icon124-o.svg b/docs/en/tools/desktop/dde/figures/icon124-o.svg deleted file mode 100644 index 960c0ec096c925213f8953398f0e8e5db3cdaed3..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon124-o.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon125-o.svg b/docs/en/tools/desktop/dde/figures/icon125-o.svg deleted file mode 100644 index 011c05f4b8f296867cd408a339230323fcbb28dd..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon125-o.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - tips - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon126-o.svg b/docs/en/tools/desktop/dde/figures/icon126-o.svg deleted file mode 100644 index e0a43b6b8beb434090ac0dd3a8fd68c023f11fce..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon126-o.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon127-o.svg b/docs/en/tools/desktop/dde/figures/icon127-o.svg deleted file mode 100644 index bed95d35334a8d0151211054236c0bacddcc0dd3..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon127-o.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Up - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon128-o.svg b/docs/en/tools/desktop/dde/figures/icon128-o.svg deleted file mode 100644 index aa727f3f5d5883b3fb83a79c4b98e8b5bfe4ade6..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon128-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - userswitch_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon132-o.svg b/docs/en/tools/desktop/dde/figures/icon132-o.svg deleted file mode 100644 index 588ba9d98864ba67a562fa9179f29405f7687aa0..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon132-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Created with Sketch. - - - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon134-o.svg b/docs/en/tools/desktop/dde/figures/icon134-o.svg deleted file mode 100644 index 784cf383eb0e8f5c7a57a602047be50ad0a3bc05..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon134-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - = - Created with Sketch. - - - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon136-o.svg b/docs/en/tools/desktop/dde/figures/icon136-o.svg deleted file mode 100644 index 24aa139ab2fefaee20935551f1af5aef473719ed..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon136-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - poweroff_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon49-o.svg b/docs/en/tools/desktop/dde/figures/icon49-o.svg deleted file mode 100644 index 72ffb173fdb95e1aff5b0001b08ed6b71122b7f2..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon49-o.svg +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon50-o.svg b/docs/en/tools/desktop/dde/figures/icon50-o.svg deleted file mode 100644 index 05026802be4718205065d6369e14cc0b6ef05bc7..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon50-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon52-o.svg b/docs/en/tools/desktop/dde/figures/icon52-o.svg deleted file mode 100644 index 23149c05873259cd39721b8ee9c3ab7db86d64c5..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon52-o.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - attention - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon53-o.svg b/docs/en/tools/desktop/dde/figures/icon53-o.svg deleted file mode 100644 index 50e33489ce984b0acfd621da4a8ef837fdf048c1..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon53-o.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - previous - Created with Sketch. - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon54-o.svg b/docs/en/tools/desktop/dde/figures/icon54-o.svg deleted file mode 100644 index 3b599aef4b822c707d2f646405bb00837aed96fd..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon54-o.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - Backspace - Created with Sketch. - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon56-o.svg b/docs/en/tools/desktop/dde/figures/icon56-o.svg deleted file mode 100644 index 9f13b6861e3858deec8d57a5301c934acc247069..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon56-o.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - Slice 1 - Created with Sketch. - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon57-o.svg b/docs/en/tools/desktop/dde/figures/icon57-o.svg deleted file mode 100644 index e6fbfa1381b76ab3fcd45652b33267a7f6c69bb7..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon57-o.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - titlebutton/close_normal - Created with Sketch. - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon58-o.svg b/docs/en/tools/desktop/dde/figures/icon58-o.svg deleted file mode 100644 index 9746dcacfc8e5d4c4b63233801e37418a190fc8f..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon58-o.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon62-o.svg b/docs/en/tools/desktop/dde/figures/icon62-o.svg deleted file mode 100644 index 09f61b446669df2e05a3351d40d8c30879c7b035..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon62-o.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon63-o.svg b/docs/en/tools/desktop/dde/figures/icon63-o.svg deleted file mode 100644 index 06c03ed99260ffadc681475dad35610aedf67f83..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon63-o.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon66-o.svg b/docs/en/tools/desktop/dde/figures/icon66-o.svg deleted file mode 100644 index 5793b3846b7fe6a5758379591215b16c7f9e1b52..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon66-o.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon68-o.svg b/docs/en/tools/desktop/dde/figures/icon68-o.svg deleted file mode 100644 index a7748052dfa436116d8742dca28f7d90865231ed..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon68-o.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - deepin-system-monitor - Created with Sketch. - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon69-o.svg b/docs/en/tools/desktop/dde/figures/icon69-o.svg deleted file mode 100644 index e21dfd00a32a44ee1c8e3882b4ca8239be04690f..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon69-o.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon70-o.svg b/docs/en/tools/desktop/dde/figures/icon70-o.svg deleted file mode 100644 index b5787a7ffa5ed9519a48c6937c60927fd11fd455..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon70-o.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon71-o.svg b/docs/en/tools/desktop/dde/figures/icon71-o.svg deleted file mode 100644 index 669a21f143b06cb45ea3f45f7f071809f2cbc8a8..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon71-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon72-o.svg b/docs/en/tools/desktop/dde/figures/icon72-o.svg deleted file mode 100644 index 79067ed9b9ff7912e1742183b461fa056601b9cc..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon72-o.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon73-o.svg b/docs/en/tools/desktop/dde/figures/icon73-o.svg deleted file mode 100644 index cf6292387f5e790db6ebd66184aabcbb39257ee7..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon73-o.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Down - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon75-o.svg b/docs/en/tools/desktop/dde/figures/icon75-o.svg deleted file mode 100644 index ef6823ccc19858f57374f0b78ad31514e8311be3..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon75-o.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/en/tools/desktop/dde/figures/icon83-o.svg b/docs/en/tools/desktop/dde/figures/icon83-o.svg deleted file mode 100644 index 35dd6eacc54a933dc9ebc3f3010edfa7363fecc0..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon83-o.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - image/svg+xml - - img_upload - - - - - - img_upload - Created with Sketch. - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon84-o.svg b/docs/en/tools/desktop/dde/figures/icon84-o.svg deleted file mode 100644 index 9bd11b9e7b45b506dd7e1c87d09d545d8f48af06..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon84-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon86-o.svg b/docs/en/tools/desktop/dde/figures/icon86-o.svg deleted file mode 100644 index 5da20233309c43d4fc7b315f441cde476c835c67..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon86-o.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon88-o.svg b/docs/en/tools/desktop/dde/figures/icon88-o.svg deleted file mode 100644 index c2570c26575fd14cb5e9d9fe77831d2e8f6c9333..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon88-o.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Left - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon90-o.svg b/docs/en/tools/desktop/dde/figures/icon90-o.svg deleted file mode 100644 index 79b5e0a141f7969a8f77ae61f4c240de7187afe9..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon90-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - lock_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon92-o.svg b/docs/en/tools/desktop/dde/figures/icon92-o.svg deleted file mode 100644 index 21341b64a832e1935252aa82e7a4e0b083c16eae..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon92-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - logout_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/dde/figures/icon94-o.svg b/docs/en/tools/desktop/dde/figures/icon94-o.svg deleted file mode 100644 index a47044149a02101dbd24a3fdb2f3ead77efca6c1..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon94-o.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon97-o.svg b/docs/en/tools/desktop/dde/figures/icon97-o.svg deleted file mode 100644 index 4f4670de29d8c86885b5aa806b2c8cdc6fc16dcb..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon97-o.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/en/tools/desktop/dde/figures/icon99-o.svg b/docs/en/tools/desktop/dde/figures/icon99-o.svg deleted file mode 100644 index e9a3aa60a51404c9390bfbea8d8ff09edc0e2e32..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/dde/figures/icon99-o.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - notes - - - - - - - - \ No newline at end of file diff --git a/docs/en/tools/desktop/gnome/_toc.yaml b/docs/en/tools/desktop/gnome/_toc.yaml deleted file mode 100644 index 2e07a42ec3f872e8d85211fb75444c005935d025..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/gnome/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: Gnome User Guide -isManual: true -description: Install and use Gnome. -sections: - - label: GNOME Installation - href: ./gnome_installation.md - - label: GNOME User Guide - href: ./gnome_user_guide.md diff --git a/docs/en/tools/desktop/gnome/figures/gnome-1.png b/docs/en/tools/desktop/gnome/figures/gnome-1.png deleted file mode 100644 index ed57060770957f304a3fb7ca993241d56e90f541..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-1.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-10.png b/docs/en/tools/desktop/gnome/figures/gnome-10.png deleted file mode 100644 index 94af842ca7d0de47db4d0030a0741d0cae634a21..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-10.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-11.png b/docs/en/tools/desktop/gnome/figures/gnome-11.png deleted file mode 100644 index 022c764002542196b723eadaaaae080b3afc1d0f..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-11.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-12.png b/docs/en/tools/desktop/gnome/figures/gnome-12.png deleted file mode 100644 index 4255aa3e1629b2af94ec59ae0fe346d91da8ba61..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-12.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-13.png b/docs/en/tools/desktop/gnome/figures/gnome-13.png deleted file mode 100644 index f6bad1c09c36bdef3ed4dd48c14e98c03a230cc7..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-13.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-14.png b/docs/en/tools/desktop/gnome/figures/gnome-14.png deleted file mode 100644 index a661a4e759ff3107fc9bfa5f664a86f77051dfcf..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-14.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-15.png b/docs/en/tools/desktop/gnome/figures/gnome-15.png deleted file mode 100644 index 2e5a26c33b2cb432d4b7a79af8407b5b13592d09..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-15.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-16.png b/docs/en/tools/desktop/gnome/figures/gnome-16.png deleted file mode 100644 index 178d5e836b69168c441676c4e77721e22f460981..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-16.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-17.png b/docs/en/tools/desktop/gnome/figures/gnome-17.png deleted file mode 100644 index 2ea9f9e1914bb90193689e3d35e48918dcc7c019..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-17.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-18.png b/docs/en/tools/desktop/gnome/figures/gnome-18.png deleted file mode 100644 index 55b5c07ea89fca246600ff7ea0ff66f03427ddcb..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-18.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-19.png b/docs/en/tools/desktop/gnome/figures/gnome-19.png deleted file mode 100644 index b9f78d01b726078d25d900e4ef9f9ffb1bdc9075..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-19.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-2.png b/docs/en/tools/desktop/gnome/figures/gnome-2.png deleted file mode 100644 index cf86813c71dd47584c5f4d9c0d6fec29813c9dc9..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-2.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-20.png b/docs/en/tools/desktop/gnome/figures/gnome-20.png deleted file mode 100644 index 37133665e2025c5267c3bf1ea742bc7295d0cb59..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-20.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-21.png b/docs/en/tools/desktop/gnome/figures/gnome-21.png deleted file mode 100644 index 0d0bc17b2a973d6e035b3d08097e0ad6138ed786..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-21.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-22.png b/docs/en/tools/desktop/gnome/figures/gnome-22.png deleted file mode 100644 index 4967a95e8c1fcf4fa5e6a799933149365e447725..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-22.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-23.png b/docs/en/tools/desktop/gnome/figures/gnome-23.png deleted file mode 100644 index ac39542d77bdfe64b1c3d0119870cbd5e0136d17..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-23.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-24.png b/docs/en/tools/desktop/gnome/figures/gnome-24.png deleted file mode 100644 index e4572c436249b329643a6777ddf6a2852fcab5a6..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-24.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-25.png b/docs/en/tools/desktop/gnome/figures/gnome-25.png deleted file mode 100644 index 93ac3582bd0dc5a273614e20b89ea654fe02ff9d..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-25.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-26.png b/docs/en/tools/desktop/gnome/figures/gnome-26.png deleted file mode 100644 index 98f349dab192b4b6a297d4907b9156c5d6240652..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-26.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-27.png b/docs/en/tools/desktop/gnome/figures/gnome-27.png deleted file mode 100644 index ea319f8df41e1bdbccb34e597ccdb3c6d21a3727..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-27.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-28.png b/docs/en/tools/desktop/gnome/figures/gnome-28.png deleted file mode 100644 index b2f1db5ea27cdfada82ba9572395598df2ecf648..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-28.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-29.png b/docs/en/tools/desktop/gnome/figures/gnome-29.png deleted file mode 100644 index fc2f6a8a2bbc56af1b657a5a25359aa15183125e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-29.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-3.png b/docs/en/tools/desktop/gnome/figures/gnome-3.png deleted file mode 100644 index 3ac1eb3b0d6cd8a84b0c408f745e40db6d845ca8..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-3.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-30.png b/docs/en/tools/desktop/gnome/figures/gnome-30.png deleted file mode 100644 index 6799ad80c89443267a31c0b2d3b059cc9dd8aceb..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-30.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-31.png b/docs/en/tools/desktop/gnome/figures/gnome-31.png deleted file mode 100644 index 39ebf079f7a11c28359440111b548bf2d7be5aaa..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-31.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-32.png b/docs/en/tools/desktop/gnome/figures/gnome-32.png deleted file mode 100644 index 28a77475cf3a1176a0c5d01418e1833fef627cc7..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-32.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-33.png b/docs/en/tools/desktop/gnome/figures/gnome-33.png deleted file mode 100644 index cecde6d0ab299f69ad95f25ff7d3f7130da09d02..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-33.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-34.png b/docs/en/tools/desktop/gnome/figures/gnome-34.png deleted file mode 100644 index a760c501d86debdb81a89ef3a70b694e22d0e4da..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-34.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-35.png b/docs/en/tools/desktop/gnome/figures/gnome-35.png deleted file mode 100644 index ab46f383f1b8f2c740effff3c59ad224b9e5025b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-35.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-36.png b/docs/en/tools/desktop/gnome/figures/gnome-36.png deleted file mode 100644 index e248144b99bb65943446f6c9fbd6ad45c11ddd58..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-36.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-37.png b/docs/en/tools/desktop/gnome/figures/gnome-37.png deleted file mode 100644 index 7181726fb3d074298e41ee59ca14c9be68884aad..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-37.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-38.png b/docs/en/tools/desktop/gnome/figures/gnome-38.png deleted file mode 100644 index b5c02d20fbad894fa3702b6274b047ef26ea1a10..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-38.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-39.png b/docs/en/tools/desktop/gnome/figures/gnome-39.png deleted file mode 100644 index 0c85bb5f72d7625e683409c3d4605b56f74d746b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-39.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-4.png b/docs/en/tools/desktop/gnome/figures/gnome-4.png deleted file mode 100644 index 0bce0130188f00f30c67a4a8d4904ad8419428da..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-4.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-40.png b/docs/en/tools/desktop/gnome/figures/gnome-40.png deleted file mode 100644 index e0c5a085776933b08d94cf51ae22d52af0a68ca0..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-40.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-41.png b/docs/en/tools/desktop/gnome/figures/gnome-41.png deleted file mode 100644 index 0fc42fc339480115cc588fee59983faf4652fc80..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-41.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-42.png b/docs/en/tools/desktop/gnome/figures/gnome-42.png deleted file mode 100644 index fa18531c9e9ec6ee9dcb9e7c5046ee41bcfa454f..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-42.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-43.png b/docs/en/tools/desktop/gnome/figures/gnome-43.png deleted file mode 100644 index aadb23eda46dc831a56935a38f9a7d0c9534db89..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-43.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-44.png b/docs/en/tools/desktop/gnome/figures/gnome-44.png deleted file mode 100644 index 8747e97f510cfd64abf520e099b5abeceb056970..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-44.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-45.png b/docs/en/tools/desktop/gnome/figures/gnome-45.png deleted file mode 100644 index a0841f2360ad016c15444ff913a4a7b437ee047e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-45.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-46.png b/docs/en/tools/desktop/gnome/figures/gnome-46.png deleted file mode 100644 index d1815b118b98b523c1c97d14a69292528248878c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-46.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-47.png b/docs/en/tools/desktop/gnome/figures/gnome-47.png deleted file mode 100644 index 73c8deaf7bf8c3fca34fec443e9b60d13910732b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-47.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-48.png b/docs/en/tools/desktop/gnome/figures/gnome-48.png deleted file mode 100644 index 6414ceafc991a94815324d362918b06e849d952e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-48.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-49.png b/docs/en/tools/desktop/gnome/figures/gnome-49.png deleted file mode 100644 index 040a7a235cc3dca8dfae6d89f1d28bb308a42391..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-49.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-5.png b/docs/en/tools/desktop/gnome/figures/gnome-5.png deleted file mode 100644 index 30076d824d8dde3206ff012538e1691df3a3e5ed..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-5.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-50.png b/docs/en/tools/desktop/gnome/figures/gnome-50.png deleted file mode 100644 index 05951779983fa2c198afca908f6c54cbc35f557a..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-50.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-51.png b/docs/en/tools/desktop/gnome/figures/gnome-51.png deleted file mode 100644 index 995f82f57a7828926ceea5dbaaf9f79ec453c1ab..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-51.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-52.png b/docs/en/tools/desktop/gnome/figures/gnome-52.png deleted file mode 100644 index 6607be66dc61953729cf5106b4d39aa724b8bf76..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-52.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-53.png b/docs/en/tools/desktop/gnome/figures/gnome-53.png deleted file mode 100644 index b1e851620eadab0376be79fcc12c0d8d3d943ec3..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-53.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-54.png b/docs/en/tools/desktop/gnome/figures/gnome-54.png deleted file mode 100644 index c9e773a1aec444feedfbfb3dce8ca9745ccb9f9e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-54.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-55.png b/docs/en/tools/desktop/gnome/figures/gnome-55.png deleted file mode 100644 index bd935df19ada2bbbf6f9f4b58d020f73fbdbbed0..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-55.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-56.png b/docs/en/tools/desktop/gnome/figures/gnome-56.png deleted file mode 100644 index 4475f73a68296d19cf0010b1f848aa3cbcd82858..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-56.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-57.png b/docs/en/tools/desktop/gnome/figures/gnome-57.png deleted file mode 100644 index 24073cd56613e3fce7f3a7e0f057a12d8d8f3077..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-57.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-58.png b/docs/en/tools/desktop/gnome/figures/gnome-58.png deleted file mode 100644 index 19112ae3f1f4ee9e0d7b2191ddec2d14ad171d67..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-58.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-59.png b/docs/en/tools/desktop/gnome/figures/gnome-59.png deleted file mode 100644 index 4c4225e9208ad3d38e1ec9e846d6b7c5e89e3991..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-59.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-6.png b/docs/en/tools/desktop/gnome/figures/gnome-6.png deleted file mode 100644 index fa53206b21811a75382f6aee788c1cd8a20d9ba7..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-6.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-7.png b/docs/en/tools/desktop/gnome/figures/gnome-7.png deleted file mode 100644 index fe38b39118bb79bef4412ed0f08c472ad145980e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-7.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-8.png b/docs/en/tools/desktop/gnome/figures/gnome-8.png deleted file mode 100644 index 769939c5583d02d014ded8065eaa7ac6aeb81cd4..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-8.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/figures/gnome-9.png b/docs/en/tools/desktop/gnome/figures/gnome-9.png deleted file mode 100644 index b699942966fe2fe444e86231638f917f524328d9..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/gnome/figures/gnome-9.png and /dev/null differ diff --git a/docs/en/tools/desktop/gnome/gnome_installation.md b/docs/en/tools/desktop/gnome/gnome_installation.md deleted file mode 100644 index d0d79345e8c0bfe4b0d0b4c196b35697157be026..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/gnome/gnome_installation.md +++ /dev/null @@ -1,123 +0,0 @@ -# Installing GNOME on openEuler - -GNOME is a desktop environment for Unix-like operating systems. As the officially released desktop of GNU Project, GNOME provides a comprehensive, easy-to-use, and user-friendly desktop environment for application usage and development. - -For users, GNOME is a suite that integrates the desktop environment and applications. For developers, GNOME is an application development framework, consisting of a large number of function libraries. Applications written in GNOME can run properly even if users do not run the GNOME desktop environment. - -GNOME includes basic software such as the file manager, app store, and text editor, and advanced applications and tools such as system sampling analysis, system logs, software engineering IDE, web browser, simple VM monitor, and developer document browser. - -You are advised to create an administrator during the installation. - -1. [Download](https://www.openeuler.org/en/) the openEuler ISO image, install the system, and update the software source. The Everything and EPOL sources need to be configured. The following command is used to install GNOME in minimum installation mode. - - ```shell - sudo dnf update - ``` - -2. Install font libraries. - - ```shell - sudo dnf install dejavu-fonts liberation-fonts gnu-*-fonts google-*-fonts - ``` - -3. Install Xorg. - - ```shell - sudo dnf install xorg-* - ``` - - In this case, many unnecessary packages may be installed. You can run the following commands to install the required Xorg packages: - - ```shell - sudo dnf install xorg-x11-apps xorg-x11-drivers xorg-x11-drv-ati \ - xorg-x11-drv-dummy xorg-x11-drv-evdev xorg-x11-drv-fbdev xorg-x11-drv-intel \ - xorg-x11-drv-libinput xorg-x11-drv-nouveau xorg-x11-drv-qxl \ - xorg-x11-drv-synaptics-legacy xorg-x11-drv-v4l xorg-x11-drv-vesa \ - xorg-x11-drv-vmware xorg-x11-drv-wacom xorg-x11-fonts xorg-x11-fonts-others \ - xorg-x11-font-utils xorg-x11-server xorg-x11-server-utils xorg-x11-server-Xephyr \ - xorg-x11-server-Xspice xorg-x11-util-macros xorg-x11-utils xorg-x11-xauth \ - xorg-x11-xbitmaps xorg-x11-xinit xorg-x11-xkb-utils - ``` - -4. Install GNOME and it components. - - ```shell - sudo dnf install adwaita-icon-theme atk atkmm at-spi2-atk at-spi2-core baobab \ - abattis-cantarell-fonts cheese clutter clutter-gst3 clutter-gtk cogl dconf \ - dconf-editor devhelp eog epiphany evince evolution-data-server file-roller folks \ - gcab gcr gdk-pixbuf2 gdm gedit geocode-glib gfbgraph gjs glib2 glibmm24 \ - glib-networking gmime30 gnome-autoar gnome-backgrounds gnome-bluetooth \ - gnome-boxes gnome-builder gnome-calculator gnome-calendar gnome-characters \ - gnome-clocks gnome-color-manager gnome-contacts gnome-control-center \ - gnome-desktop3 gnome-disk-utility gnome-font-viewer gnome-getting-started-docs \ - gnome-initial-setup gnome-keyring gnome-logs gnome-menus gnome-music \ - gnome-online-accounts gnome-online-miners gnome-photos gnome-remote-desktop \ - gnome-screenshot gnome-session gnome-settings-daemon gnome-shell \ - gnome-shell-extensions gnome-software gnome-system-monitor gnome-terminal \ - gnome-tour gnome-user-docs gnome-user-share gnome-video-effects \ - gnome-weather gobject-introspection gom grilo grilo-plugins \ - gsettings-desktop-schemas gsound gspell gssdp gtk3 gtk4 gtk-doc gtkmm30 \ - gtksourceview4 gtk-vnc2 gupnp gupnp-av gupnp-dlna gvfs json-glib libchamplain \ - libdazzle libgdata libgee libgnomekbd libgsf libgtop2 libgweather libgxps libhandy \ - libmediaart libnma libnotify libpeas librsvg2 libsecret libsigc++20 libsoup \ - mm-common mutter nautilus orca pango pangomm libphodav python3-pyatspi \ - python3-gobject rest rygel simple-scan sushi sysprof tepl totem totem-pl-parser \ - tracker3 tracker3-miners vala vte291 yelp yelp-tools \ - yelp-xsl zenity - ``` - -5. Enable GNOME Display Manager (GDM). - - ```shell - sudo systemctl enable gdm - ``` - -6. Set the default login mode to GUI. - - ```shell - sudo systemctl set-default graphical.target - ``` - - Reboot the device for configuration verification. - - ```shell - sudo reboot - ``` - -7. If GDM cannot work: - -Disable GDM if it is installed by default. - -```shell -sudo systemctl disable gdm -``` - -Install LightDM instead. - -```shell -sudo dnf install lightdm lightdm-gtk -``` - -Set the default desktop to GNOME as the root user. - -```shell -echo 'user-session=gnome' >> /etc/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf -``` - -Enable LightDM. - -```shell -sudo systemctl enable lightdm -``` - -Set the default login mode to GUI. - -```shell -sudo systemctl set-default graphical.target -``` - -Reboot the device for configuration verification. - -```shell -sudo reboot -``` diff --git a/docs/en/tools/desktop/gnome/gnome_user_guide.md b/docs/en/tools/desktop/gnome/gnome_user_guide.md deleted file mode 100644 index 9e3ce4ed07ace5d9956eb7eff8ffad01768dc3fb..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/gnome/gnome_user_guide.md +++ /dev/null @@ -1,384 +0,0 @@ -# GNOME User Guide - -## 1. Overview - -GNOME is a desktop environment for Unix-like operating systems. As the officially desktop of GNU Project, GNOME aims to build a comprehensive, easy-to-use, and user-friendly desktop environment for Unix or Unix-like operating systems based on free software. - -GNOME provides the following functional components: - -ATK: accessibility toolkit. - -Bonobo: component framework to compound documents. - -GObject: object-oriented framework in C language. - -GConf: system for storing configuration settings of apps. - -GNOME VFS: virtual file system. - -GNOME Keyring: security system. - -GNOME Print: software for printing documents. - -GStreamer: multimedia framework of GNOME. - -GTK+: building toolkit. - -Cairo: complex 2D graphics library. - -Human Interface Guidelines: software development documents provided by Sun Microsystems to facilitate GNOME usage. - -LibXML: XML library designed for GNOME. - -ORBit: CORBA Object Request Broker (ORB) that makes software componentized. - -Pango: library for i18n text arrangement and transformation. - -Metacity: window manager. - -This document describes how to use GNOME. - -The following figure shows the GUI. - -![](./figures/gnome-1.png) - -## 2. Desktop - -### 2.1 Desktop - -The GNOME desktop is clean because it does not display any files or directories. Only the left, middle, and right parts of the top bar on the desktop have entry options. They are the activity entry, message notification entry, and system status entry. - -![](./figures/gnome-2.png) - -### 2.2 Shortcut Menu - -After you right-click in the blank area on the desktop, a shortcut menu shown in the following figure is displayed, providing users with some shortcut functions. - -![](./figures/gnome-3.png) - -The following table describes the shortcuts. - -| Shortcut| Description| -| :------------ | :------------ | -| Change Background| Changes the image displayed on the desktop.| -| Display Settings| Sets the resolution, screen rotation, and night light.| -| Settings| Navigates to system settings.| - -## 3. Top Bar on the Desktop - -### 3.1 Activities - -The **Activities** entry is located in the upper left corner of the desktop. It contains app favorites, lists of all apps and active apps, a multi-view switchover function, and an indicator to the current active app. - -#### 3.1.1 App Favorites - -![](./figures/gnome-4.png) - -You can right-click an app icon in **Favorites** and choose **Remove from Favorites** from the shortcut menu to remove the app from **Favorites**. - -#### 3.1.2 List of All Apps - -To display the list of all apps, click the ![](./figures/gnome-5.png) icon under the app favorites folder. - -![](./figures/gnome-6.png) - -Similarly, you can right-click an app icon in the app list and choose **Add to Favorites** from the shortcut menu to add the app to **Favorites**. - -If there are so many apps and you know their names, you can enter an app name in the search box to search for it. - -![](./figures/gnome-7.png) - -#### 3.1.3 List of Active Apps - -Active apps, that is, running apps are displayed one by one after the last app in **Favorites**. There is a white dot under the icon of each active app. - -![](./figures/gnome-8.png) - -If you right-click an active app, operations that can be performed on the app are displayed. The operations vary with apps. Take **Screenshot** as an example. See the following figure. - -![](./figures/gnome-9.png) - -#### 3.1.4 Multi-View Switchover - -As you view the active app list, the active apps are displayed on the right of the list in multi-view mode. - -![](./figures/gnome-10.png) - -When you move the cursor to the right of the multi-view page, the vertical bar on the right becomes wider to display the window and desktop of the current active app. You can click the desktop image to switch back to the desktop. - -![Figure 10 Multi-view switch 2-big](./figures/gnome-11.png) - -If you click another app, it will be displayed on the top of the vertical bar. - -#### 3.1.5 Indicator to the Current Active App - -The indicator to the current active app is displayed on the right of **Activities**. You can click the indicator to display the operations that can be performed on the app. The operations vary with the apps. Take **Terminal** as an example. See the following figure. - -![](./figures/gnome-12.png) - -You can click **Preferences** to set the terminal preferences. - -### 3.2 Message Notification - -The message notification entry is located in the middle of the top bar on the desktop, including message notification, calendar, clock, and weather. - -![](./figures/gnome-13.png) - -#### 3.2.1 Message Notification - -If you set an alarm or countdown timer in **Clocks**, messages will be displayed on the left of the notification pane when the timer expires. The detailed information about the to-do items set in **Calendar** are also displayed on the left of the notification pane, and the summary information is displayed below the calendar on the right. - -![](./figures/gnome-14.png) - -You can click **Do Not Disturb** to close pop-up notifications on the desktop. - -#### 3.2.2 Calendar - -As shown in the preceding figure, the calendar is displayed on the right, and there is a dot under the date of a to-do item. You can click the date to view the summary about a to-do item at the bottom of the calendar. - -#### 3.2.3 Clock and Weather - -You can also add the clock and weather to areas under the calendar. Clicking the **World Clocks** area will invoke the **Clocks** app, and clicking the **Weather** area will invoke the **Weather** app. - -![](./figures/gnome-15.png) - -### 3.3 System Status - -The system status entry is located in the upper right corner of the desktop. It contains multiple options, as described in the following table. - -| Option| Description| -| :------------ | :------------ | -| Sound| Volume slider| -| Ethernet| Ethernet cards and their connections| -| Location In Use| Location of the system| -| Settings| System settings| -| Lock| Immediate screen lock. A password is required to unlock the screen.| -| Power Off/Log Out| Suspension, shutdown, restart, and logout| - -![](./figures/gnome-16.png) - -The system status displayed here varies according to different settings and system configurations, such as Wi-Fi, Bluetooth, and battery. System statuses can also be appended to the left of the upper right corner by other apps, such as the input source display in the preceding figure. - -#### 3.3.1 Sound - -Quickly adjust the volume. To further set the sound, open the system settings. - -#### 3.3.2 Network - -Quickly enable or disable the network. To further configure the network, open the system settings. - -![](./figures/gnome-17.png) - -#### 3.3.3 Location Service - -Quick enable or disable the location service. To further set the location, open the system settings. - -![](./figures/gnome-18.png) - -#### 3.3.4 Settings - -It is one of the convenient entries to system settings. - -![](./figures/gnome-19.png) - -You can set a large number of system-related options in the **Settings** window, which are shown in the left pane of the preceding and following figures. - -![](./figures/gnome-20.png) - -The settings are also dynamically extended. For example, if the hardware where the system is located has Wi-Fi, the Wi-Fi item is displayed. Some important settings are described in the following sections. - -#### 3.3.4 Lock - -If you click **Lock**, the screen is locked and turns black. When you move the cursor, the screen turns on immediately. You can press any key to access the login page and enter the password to log in to the system again. The following figure shows the lock screen. - -![](./figures/gnome-21.png) - -#### 3.3.4 Power-off/Logout - -The actions include suspension, power-off, restart, and logout. The difference between suspension and locking is that a black screen is directly displayed after suspension. You need to use the keyboard to wake up the login page, which takes a longer time than screen locking. Logout is to log out the current user and return to the login page without a black screen. You can use the same or another user account to log in again. - -![](./figures/gnome-22.png) - -The following figure shows the user login page. - -![](./figures/gnome-23.png) - -After the locking and suspension is waked up, the lock screen is displayed first. You need to press a key or click the screen to enter the user login page. The login page is directly displayed after the logout and restart. - -## 4. Common System Settings and App Examples - -### 4.1 Examples of System Settings - -There are four entries to system settings: - -Right-click on the desktop and choose **Settings**. - -Click the system status entry in the upper right corner and choose **Settings**. - -Click the **Activities** entry in the upper left corner and choose **Settings**. - -On the **Terminal**, run the **gnome-control-center** command. - -#### 4.1.1 Network - -![](./figures/gnome-19.png) - -Wired networks are displayed here. You can click the button to enable or disable a network. You can also set the VPN and network proxy. - -Click the gear icon on the right of an Ethernet connection to view details, and modify or remove the connection. - -![](./figures/gnome-24.png) - -Change the connection name. - -![](./figures/gnome-25.png) - -Change the IP address obtaining mode (**Automatic** or **Manual**), and add the DNS and a route. - -![](./figures/gnome-26.png) - -You can also click the plus sign (+) above the gear icon to create a connection. The settings of the new connection are similar to those shown in preceding figures. The prerequisite is that the Ethernet port exists. - -#### 4.1.2 Displays - -You can set the fixed resolution on the **Displays** tab page. If the resolution of your hardware system is not included, set it on the command line. Then, the newly set resolution will be displayed here. - -![](./figures/gnome-27.png) - -Select a resolution and click **Keep Changes** to make the settings take effect. - -![](./figures/gnome-28.png) - -Some displays allow you to rotate the screen vertically, for example, to view the text at the bottom of the screen at a time. The **Orientation** here also provides such support. - -![](./figures/gnome-29.png) - -#### 4.1.3 Keyboard Shortcuts - -You can set keyboard shortcuts to perform shortcut operations, such as quickly opening the home folder, camera, or browser. GNOME does not provide a shortcut for starting the **Terminal**. You can set a default one. - -View existing shortcut settings in scrolling mode or search for shortcuts. - -![](./figures/gnome-30.png) - -Clicking a disabled item, such as the home folder and web browser, triggers shortcut settings. - -![](./figures/gnome-31.png) - -![](./figures/gnome-32.png) - -Effect after the setting is successful. - -![](./figures/gnome-33.png) - -Scroll the keyboard shortcuts page to the bottom and click + to add a shortcut for opening the **Terminal**. - -![](./figures/gnome-34.png) - -![](./figures/gnome-35.png) - -![](./figures/gnome-36.png) - -![](./figures/gnome-37.png) - -Now, you can press **Ctrl+Alt+T** to open the **Terminal**. Settings of the home folder and web browser are similar. - -![](./figures/gnome-38.png) - -#### 4.1.4 Region and Language - -The system can be switched between multiple languages, even if a language is not selected during system installation. - -![](./figures/gnome-39.png) - -You can click **Language** and **Formats** to change the language from Chinese to English, and click **Restart**. You need to log in to the system again and restart the session for the language settings to take effect. - -![](./figures/gnome-40.png) - -![](./figures/gnome-41.png) - -![](./figures/gnome-42.png) - -Click the gear icon on the right of **Input Sources** to view the keyboard shortcuts and input source options. You can click the plus sign (+) to add an input source. - -![](./figures/gnome-43.png) - -When you use the shortcut to switch the input method, you can view the change in the system status area in the upper right corner. - -![](./figures/gnome-44.png) - -#### 4.1.5 Users - -You can add and delete users on the **Users** GUI. For a non-root user, you need to click **Unlock** and enter the password of the super user to display the complete information. - -![](./figures/gnome-45.png) - -Click **Password** to change the password of the current user. - -![](./figures/gnome-46.png) - -Click **Account Activity** to view the login status of the user in this week. - -![](./figures/gnome-47.png) - -Click **Add User** in the upper right corner to add a user and set the password when adding the user or when logging in to the system as the new user. To log in to the system as a new user, log out of the system and then log in as the new user. The new user can be removed by clicking **Remove User**. The current login user cannot be removed. - -![](./figures/gnome-48.png) - -### 4.2 Application Examples - -#### 4.2.1 Files - -The binary file name of the **Files** app is **nautilus**. You can create, modify, move, save, and delete files in the file system displayed in **Files**. - -![](./figures/gnome-49.png) - -#### 4.2.2 Terminal - -The running **Terminal** is a special process under the GNOME login session. It functions as a console and is a new session in essence. It can perform almost all the tasks that the console can do, and it is what Linux would be without a graphical interface. - -![](./figures/gnome-50.png) - -In the **Preferences** dialog box, you can set the font, character spacing, and theme background. - -#### 4.2.3 Software - -In **Software**, you can search for and install many free open source apps, and view and uninstall installed apps. - -![](./figures/gnome-51.png) - -![](./figures/gnome-52.png) - -#### 4.2.4 Browser - -GNOME has a built-in browser named **Web**. Its interface and functions are simpler than those of Chrome or Firefox, but supports common functions, such as bookmarks, search engine settings, history, and file download. - -![](./figures/gnome-53.png) - -#### 4.2.5 System Monitor - -It is similar to the Task Manager in Windows operating systems, on which you can view the process name, user, and usage of CPU and memory resources. This monitor is dynamic, but its change effect is much worse than that of running the top command. - -![](./figures/gnome-54.png) - -You can also view the usage trend of important components such as the CPU, memory, and network. - -![](./figures/gnome-55.png) - -#### 4.2.6 Text Editor - -A text editor is required for creating, modifying, and saving files. In its **Preferences** dialog box, you can set the font, tab width, theme, and plug-ins. - -![](./figures/gnome-56.png) - -#### 4.2.7 Sysprof - -Sysprof samples and presents a system, including the software and hardware, and is used to locate system performance problems, for example, app startup freezing and system response delay. You can select the project to be traced and click **Record** to start sampling. - -![](./figures/gnome-57.png) - -![](./figures/gnome-58.png) - -After the sampling is stopped, the result provides abundant information for diagnosis and analysis. - -![](./figures/gnome-59.png) diff --git a/docs/en/tools/desktop/kiran/_toc.yaml b/docs/en/tools/desktop/kiran/_toc.yaml deleted file mode 100644 index 8e6d2d731b5dc06923e5a83aef1f4b9bb6bdacf8..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/kiran/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: Kiran User Guide -isManual: true -description: Install and use Kiran. -sections: - - label: Kiran Installation - href: ./kiran_installation.md - - label: Kiran User Guide - href: ./kiran_user_guide.md diff --git a/docs/en/tools/desktop/kiran/figures/kiran-1.png b/docs/en/tools/desktop/kiran/figures/kiran-1.png deleted file mode 100644 index 59b632062ba3ff6e26c550567e858eb4dfdfc780..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-1.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-10.png b/docs/en/tools/desktop/kiran/figures/kiran-10.png deleted file mode 100644 index 18cfa3074af1f4b8d49d064a77b016f24ab8c17c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-10.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-11.png b/docs/en/tools/desktop/kiran/figures/kiran-11.png deleted file mode 100644 index b58fbb7ce8a798d5355855a4ac0638540df74d9e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-11.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-12.png b/docs/en/tools/desktop/kiran/figures/kiran-12.png deleted file mode 100644 index 920d0c7112be6bed509773413de36506d748b822..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-12.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-13.png b/docs/en/tools/desktop/kiran/figures/kiran-13.png deleted file mode 100644 index f6632732bd2e8a10d0cda2bd0550f43741a7ba97..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-13.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-14.png b/docs/en/tools/desktop/kiran/figures/kiran-14.png deleted file mode 100644 index 52eae7cc40fe4f7c6b2a8fe9744209a1fcbc30d8..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-14.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-15.png b/docs/en/tools/desktop/kiran/figures/kiran-15.png deleted file mode 100644 index 5496c56ca72983780b9785d2d15c4008fb73aeef..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-15.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-16.png b/docs/en/tools/desktop/kiran/figures/kiran-16.png deleted file mode 100644 index 6125b257245aa89f9b6592ed5b14a95d5699076e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-16.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-17.png b/docs/en/tools/desktop/kiran/figures/kiran-17.png deleted file mode 100644 index d8a4cb88017efe9f41f78ffc2f9de06dedcc1b23..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-17.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-18.png b/docs/en/tools/desktop/kiran/figures/kiran-18.png deleted file mode 100644 index 0cb0c50d15597998fbd4cf3db2d1d0f9ec3c920e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-18.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-19.png b/docs/en/tools/desktop/kiran/figures/kiran-19.png deleted file mode 100644 index 58ef2d33a52cf6404ea03b6a2d37f8d8b8391539..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-19.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-2.png b/docs/en/tools/desktop/kiran/figures/kiran-2.png deleted file mode 100644 index 088bf53c1e763924e7cee46d0cdac98ad0a9d5e2..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-2.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-20.png b/docs/en/tools/desktop/kiran/figures/kiran-20.png deleted file mode 100644 index e8608485553033eb2ae141162e4300fa48c578cd..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-20.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-21.png b/docs/en/tools/desktop/kiran/figures/kiran-21.png deleted file mode 100644 index 4d4c0ff304bdfbc8e715d2e756315a005c008336..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-21.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-22.png b/docs/en/tools/desktop/kiran/figures/kiran-22.png deleted file mode 100644 index 6778d5a40a82e699da9531f4727a196d1442b9ae..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-22.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-23.png b/docs/en/tools/desktop/kiran/figures/kiran-23.png deleted file mode 100644 index fc1d5e284eb299a771c5abbfdff611270ddf2449..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-23.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-24.png b/docs/en/tools/desktop/kiran/figures/kiran-24.png deleted file mode 100644 index a3ed57f9e9c300a65f867d29a44f287405a0509c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-24.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-25.png b/docs/en/tools/desktop/kiran/figures/kiran-25.png deleted file mode 100644 index 694e6173dfbf1fda8d07670a8e3daf4fbeb263ac..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-25.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-26.png b/docs/en/tools/desktop/kiran/figures/kiran-26.png deleted file mode 100644 index 3b6ae2eeff3aae39107f15b60c5bb14ffc787cd8..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-26.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-27.png b/docs/en/tools/desktop/kiran/figures/kiran-27.png deleted file mode 100644 index 3b6ae2eeff3aae39107f15b60c5bb14ffc787cd8..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-27.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-28.png b/docs/en/tools/desktop/kiran/figures/kiran-28.png deleted file mode 100644 index 01ff3a8f47248d96c714e78b80fd81cd1ed16e0f..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-28.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-29.png b/docs/en/tools/desktop/kiran/figures/kiran-29.png deleted file mode 100644 index c5ad5b4438eae441f6086ce5e1aae2e6755aa12a..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-29.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-3.png b/docs/en/tools/desktop/kiran/figures/kiran-3.png deleted file mode 100644 index e1399424c52eee8804f9433c9e9bf203950008c6..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-3.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-30.png b/docs/en/tools/desktop/kiran/figures/kiran-30.png deleted file mode 100644 index c1efc1e3931a129affd5dfcea9e319556e492f04..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-30.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-31.png b/docs/en/tools/desktop/kiran/figures/kiran-31.png deleted file mode 100644 index c5ad5b4438eae441f6086ce5e1aae2e6755aa12a..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-31.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-32.png b/docs/en/tools/desktop/kiran/figures/kiran-32.png deleted file mode 100644 index fd900ec891b09313a7c558c61213b1816b803034..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-32.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-33.png b/docs/en/tools/desktop/kiran/figures/kiran-33.png deleted file mode 100644 index 64ba70b08ed63c6e0942478d61e36a8c443f0604..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-33.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-34.png b/docs/en/tools/desktop/kiran/figures/kiran-34.png deleted file mode 100644 index 4b869e7d172e2f2889d487157b92204a28a8dc4e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-34.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-35.png b/docs/en/tools/desktop/kiran/figures/kiran-35.png deleted file mode 100644 index 9b383f3c84964b4fc34c4d8e75400325f93908bc..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-35.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-36.png b/docs/en/tools/desktop/kiran/figures/kiran-36.png deleted file mode 100644 index 0b16632852c5024e2c6ec4fbd49513e3b7a2b146..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-36.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-37.png b/docs/en/tools/desktop/kiran/figures/kiran-37.png deleted file mode 100644 index 2be3cc3b2528260c579b59f529e7a5663f1cc779..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-37.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-38.png b/docs/en/tools/desktop/kiran/figures/kiran-38.png deleted file mode 100644 index fc1ffaf3aa920f922357f6d48700f42974600d77..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-38.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-39.png b/docs/en/tools/desktop/kiran/figures/kiran-39.png deleted file mode 100644 index fd0e5add782b6c9cf4a8b9f6473c96641c39bd1d..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-39.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-4.png b/docs/en/tools/desktop/kiran/figures/kiran-4.png deleted file mode 100644 index bd318280b403912ab4846b694592d580b9e5d242..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-4.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-40.png b/docs/en/tools/desktop/kiran/figures/kiran-40.png deleted file mode 100644 index 083031058ff47dc1550881d3a9f189861d3e8563..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-40.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-41.png b/docs/en/tools/desktop/kiran/figures/kiran-41.png deleted file mode 100644 index 582893929e2c10a96c49696411bbed3ea9fd7c55..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-41.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-42.png b/docs/en/tools/desktop/kiran/figures/kiran-42.png deleted file mode 100644 index eede1243506ccd309ee707465f56c31581dd8554..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-42.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-43.png b/docs/en/tools/desktop/kiran/figures/kiran-43.png deleted file mode 100644 index 4ea9f45ed8f327fce426352c4ae7fbf06cbefc84..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-43.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-44.png b/docs/en/tools/desktop/kiran/figures/kiran-44.png deleted file mode 100644 index c86a100005f89dbb9b24055e42d716205d47399e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-44.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-45.png b/docs/en/tools/desktop/kiran/figures/kiran-45.png deleted file mode 100644 index c5b5d75f972e594587f3393c8d384dcd76e7477e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-45.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-46.png b/docs/en/tools/desktop/kiran/figures/kiran-46.png deleted file mode 100644 index e9a28632c62de95d8ea2d436ba9bc705ff980991..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-46.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-47.png b/docs/en/tools/desktop/kiran/figures/kiran-47.png deleted file mode 100644 index a3606e3c899f944eb84d206d98cedc3377197c97..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-47.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-48.png b/docs/en/tools/desktop/kiran/figures/kiran-48.png deleted file mode 100644 index b69202c9a83bfc2c835ab166ef0fc2455bb4bcd3..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-48.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-49.png b/docs/en/tools/desktop/kiran/figures/kiran-49.png deleted file mode 100644 index d739e6107fd80ecd741dacaaf9dfb868afc61e37..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-49.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-5.png b/docs/en/tools/desktop/kiran/figures/kiran-5.png deleted file mode 100644 index 154dd54d43b5b98682eb798518046e72fc7e3f83..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-5.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-50.png b/docs/en/tools/desktop/kiran/figures/kiran-50.png deleted file mode 100644 index 96957676afc9f66bcc4b63c5e39eb8890f108015..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-50.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-6.png b/docs/en/tools/desktop/kiran/figures/kiran-6.png deleted file mode 100644 index 927b475d6687d60f04fed8a535b2225a8f4b23f7..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-6.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-7.png b/docs/en/tools/desktop/kiran/figures/kiran-7.png deleted file mode 100644 index 254ef11f36d958f6ef7c70853e5f61032f825463..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-7.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-8.png b/docs/en/tools/desktop/kiran/figures/kiran-8.png deleted file mode 100644 index 29b5845d2fa94cba92719b8649a5e86c926ea911..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-8.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/figures/kiran-9.png b/docs/en/tools/desktop/kiran/figures/kiran-9.png deleted file mode 100644 index 46bcfdd0e1e88ad0f0ade4a3990c3ac5d66060e7..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/kiran/figures/kiran-9.png and /dev/null differ diff --git a/docs/en/tools/desktop/kiran/kiran_installation.md b/docs/en/tools/desktop/kiran/kiran_installation.md deleted file mode 100644 index 4aab96decb8c766339c2913d7c671e27d81c61c9..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/kiran/kiran_installation.md +++ /dev/null @@ -1,31 +0,0 @@ -# Kiran Installation - -## Introduction - -Kiran desktop environment, developed by Kylinsec, is a stable, efficient, and easy-to-use desktop environment oriented towards user and market requirements. Kiran supports x86 and AArch64 architectures. - -## Procedure - -You are advised to install Kiran as the **root** user or a newly created administrator. - -1. Download the openEuler 22.09 ISO file and install the OS. - -2. Update the software repository. - -```shell -sudo dnf update -``` - -1. Install kiran-desktop. - -```shell -sudo dnf -y install kiran-desktop -``` - -1. Set the system to start with the graphical interface, and then restart the system using the `reboot` command. - -```shell -systemctl set-default graphical.target -``` - -After the reboot is complete, log in to the Kiran desktop. diff --git a/docs/en/tools/desktop/kiran/kiran_user_guide.md b/docs/en/tools/desktop/kiran/kiran_user_guide.md deleted file mode 100644 index 7780aa7b5621ec35fa8976c19bb4fafa3cb6dd6a..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/kiran/kiran_user_guide.md +++ /dev/null @@ -1,298 +0,0 @@ -# Kiran Desktop Environment - -## 1. Overview - -Kiran desktop environment is a stable, efficient, and easy-to-use desktop environment oriented towards user and market requirements. It consists of the desktop, taskbar, tray, control center, and window management components. This document describes how to use the Kiran desktop. - -## 2. Desktop - -### 2.1. Login Screen - -After the installation is complete, restart the system. After the system is started, enter the user name and password to log in to the system. The login screen displays the time, date, power button, and soft keyboard button. The adaptive UI supports screen zooming and multi-screen display. The login dialog box can be switched between screens following the mouse pointer. - -![Figure 1 Login screen](figures/kiran-1.png) - -### 2.2. Main Screen - -Enter the correct user name and password to log in to the system. The main screen is displayed, as shown in the following figure: - -![Figure 2-Main screen ](figures/kiran-2.png) - -Several icons are displayed on the desktop, such as **Computer**, **Home** folder, and **Trash**. The panel, located at the bottom of the screen, allows you to launch applications and switch between virtual desktops. -A desktop is a working area of a user. You will perform operations and run applications on the desktop. You can place the files and applications on the desktop for easy access. Double-click the icons to run the corresponding applications or open the files. You can drag, add, or delete desktop icons. Desktop icons allow you to complete your work more conveniently. - -![Figure 3-Computer](figures/kiran-3.png) **Computer**: Double-click to display all the local and remote disks and folders accessed from this computer. - -![Figure 4-Home folder](figures/kiran-4.png) **Home** folder: Double-click to display the contents in the home directory of the current user. - -![Figure 5- Trash](figures/kiran-5.png) **Trash**: Deleted files are temporarily stored in Trash. - -Shortcut menu: Right-click on the desktop to display the shortcut menu, which provides shortcuts for icon management, folder creation, document creation, desktop background settings, and theme settings. - -**Create Folder**: Creates a folder. - -**Create Launcher...**: Creates a launcher. - -**Create Document**: Creates an empty plain-text file. - -**Open Terminal...**: Opens the terminal application. - -**Organize Desktop by Name**: Sorts desktop files by name. - -**Keep Aligned**: If this option is selected, the desktop icons are aligned to the grid. - -**Change Desktop Background**: Opens Background to change the background picture of the desktop or lock screen. - -### 2.3 Panel - -The panel is usually located at the bottom of the screen and includes the start menu button, quick launch area, icons of frequently used applications and desktop applets, and taskbar that displays the currently running application. -When you hover the mouse pointer over an icon for several seconds, a white dialog box is displayed, describing the function of the icon. - -![Figure 6-System panel](figures/kiran-6.png) - -## 3. Taskbar - -Taskbar: displays running applications or opened documents. You can click an item on the taskbar to maximize or minimize the selected application window. You can right-click an item and choose Maximize, Minimize, or Close the application window from the shortcut menu. - -| Component | Description | -| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------ | -| ![Figure 7-Start Menu](figures/kiran-7.png) | Start Menu button: Similar to the Start button in Windows. When you click it, the cascaded start menu is displayed. | -| ![Figure 8 Workspace button](figures/kiran-8.png) | Click to display the workspaces. | -| ![Figure 9 File browser button](figures/kiran-9.png) | Click to start the file browser to view and manage files. | -| ![Figure 10 Terminal button](figures/kiran-10.png) | Click to start the terminal. | -| ![Figure 11 Web browser button](figures/kiran-11.png) | Click to start the Firefox browser. | -| ![Figure 12 Network control icon](figures/kiran-12.png) | Displays the current network status. Click to modify the network configuration. | -| ![Figure 13-Clock button](figures/kiran-13.png) | Displays the current date and time. You can customize the display style as required. | - -## 4. Control Center - -### 4.1. Start Menu Settings - -Choose **Start Menu** > **Control Center** > **Start Menu** Settings. -You can set the display mode and opacity of the start menu, as shown in the following figure: - -![Figure 14-Start Menu Settings](figures/kiran-14.png) - -The appearance start menu changes based on the opacity and display mode, as shown in the following figure: - -![Figure 15-Start menu](figures/kiran-15.png) - -### 4.2. Greeter Settings - -Choose **Start Menu** > **Control Center** > **Greeter Settings**. -In the Kiran desktop, you can set the login screen appearance by choosing **Greeter Settings** in **Control Center**, including the background image of the login screen, whether to enable automatic login, zoom ratio, whether to allow login by entering the user name, and whether to display the user list, as shown in the following figure: - -![Figure 16-Greeter Settings](figures/kiran-16.png) - -You can also set automatic login. Set the user name and delay for automatic login. After the system is restarted, the user automatically logs in without entering the password. - -![Figure 17 Autologin settings](figures/kiran-17.png) - -### 4.3 Display Settings - -Display attribute customization is required for every desktop environment. The Kiran desktop provides a powerful tool for customizing display attributes. You can choose **Start Menu** > **Control Center** > **Display Settings** to open the **Display Settings** window, as shown in the following figure: - -![Figure 18-Display Settings](figures/kiran-18.png) - -You can set the screen rotation, resolution, refresh rate, zoom rate, and flip. After the settings are complete, click **Apply**. - -### 4.4 Mouse Settings - -Configure the mouse by selecting **Kiran Cpanel Mouse** in **Control Center**. You can select left-hand or right-hand mode, adjust the mouse pointer speed, set whether to scroll naturally, and set whether to enable the middle button emulation by pressing the left and right button simultaneously. The following figure shows the normal mouse setting window: - -![Figure 19-Kiran Cpanel Mouse](figures/kiran-19.png) - -### 4.5. Account Manager - -Account Manager is an easy-to-use tool for managing users and user groups. You can use this tool to: - -1. Add users and set user attributes. -2. Modify user attributes. -3. View user attributes. -4. Delete users. - -User attributes include the user name, password, and login shell. User group attribute indicates the users in the user group. - -#### 4.5.1 Starting Account Manager - -In **Control Center**, choose **Account Manager** to start the account management tool, as shown in the following figure: - -![Figure 20 Account Manager](figures/kiran-20.png) - -In the window, you can see the user list on the left and the detailed information on the right. Currently, all users in the system except the root user are listed. Click a user on the left. The detailed information about the user is displayed, including the user ID and user type. -Click **Create new user**. On the page that is displayed on the right, enter the user name, user type, and password, and change the avatar as required. After setting the attributes, click **Confirm**. - -![Figure 21 Creating an account](figures/kiran-21.png) - -**Note**: If you have set the minimum length of a password (for example, four digits), you must enter a password of at least four digits. Otherwise, the system will not accept the password. - -Click the avatar area to change the avatar. The system has built-in avatars for you to select. You can also add your own avatar and click Confirm to save the settings. - -![Figure 22-Change avatar](figures/kiran-22.png) - -#### 4.5.2. Deleting a User - -Click the user to be deleted in the left area and click **Delete** on the toolbar on the right, as shown in the following figures: - -![Figure 23 Deleting a user](figures/kiran-23.png) -![Figure 24-Confirming the deletion](figures/kiran-24.png) - -In the displayed dialog box, click **No** to cancel the deletion, or click **Yes** to confirm the deletion. - -#### 4.5.3. Advanced Settings - -Choose **Create new user**, enter the user name and password, and then choose **Advanced Settings**. In the displayed dialog box, set the login shell, user ID, and user home directory. - -![Figure 25-Advanced Settings](figures/kiran-25.png) - -### 4.6. Appearance - -Display attribute customization is required for every desktop environment. The Kiran desktop provides a powerful tool for customizing display attributes. Appearance is a tool that provides unified configuration and management for the desktop background, theme, and font of the system. -Choose **Start Menu** > **Control Center** > **Appearance**. The **Appearance** window is displayed, as shown in the following figure: - -![Figure 26-Appearance Preferences](figures/kiran-26.png) - -#### 4.6.1. Theme - -Theme can be used to set the style of the dialog boxes, menus, system panels, and icons in a unified manner or separately according to your preference. - -1. Theme Settings - The system provides multiple themes by default. You can view the theme information in the **Theme** tab page. Click the theme in the **Theme** tab page to set the system theme, as shown in the following figure: - - ![Figure 27 Theme settings](figures/kiran-27.png) - -2. Customizing a Theme - You can click Customize... to customize a theme based on your preferences, as shown in the following figure. Customization options include controls, color, window border, icons, and pointer. - - ![Figure 28-Customize theme](figures/kiran-28.png) - -#### 4.6.2. Background - -You can set the desktop background, including the color and style. - -1. Background image settings - As shown in the following figure, click a wallpaper in the wallpaper area to set it as the desktop wallpaper. - - ![Figure 29-Background Settings](figures/kiran-29.png) - -2. Style - You can choose how the wallpaper fits the screen by choosing a style from the drop-down list. The styles include tile, zoom, center, scale, stretch, and span. - -3. Adding and removing wallpapers - You can click **Add...** to add your own wallpaper, as shown in the following figure: - - ![Figure 30-Add wallpaper](figures/kiran-30.png) - - Click **Open** to add the wallpaper. - You can also click **Remove** to remove wallpapers that you do not like. Simply select a wallpaper and click **Remove**. - -4. Desktop background color filling settings - You can set a color as the background. In the wallpaper tab page, choose **No Desktop Background** to use a color as the background. - The color filling styles include solid color, horizontal gradient, and vertical gradient. - - ![Figure 31-Background color filling](figures/kiran-31.png) - -#### 4.6.3. Font - -1. Font Settings - -You can set the fonts of the GUI of the system. The font styles include application, document, desktop, window title, and fixed width fonts. - -![Figure 32-Font settings](figures/kiran-32.png) - -1. Font rendering and details settings - -Font rendering settings: You can choose one of the following font rendering styles: monochrome, best shapes, best contrast, and subpixel smoothing. -By default, **best shapes** is used, as shown in the following figure: - -![Figure 33 Font rendering settings](figures/kiran-33.png) - -1. Font Details Settings - You can click **Details...** to set the font details. Details settings include resolution, smoothing, hinting, and subpixel order. - -![Figure 34-Font details setting](figures/kiran-34.png) - -You can choose whether to display icons in menus and on buttons. - -![Figure 35-Icon display settings](figures/kiran-35.png) - -## 5. Desktop Applications - -### 5.1. Text Editor - -To launch the text editor, click **Start Menu**> **All applications** > **Utilities**> **Pluma**. You can also start the text editor by entering **pluma** in the shell prompt. -A text editor is one of the most commonly used tools in all computer systems. Whether to you are creating a plain text file, data file, or source program, you need to use an editor. The text editor is used to view and modify plain text files. Plain text files, such as system logs and configuration files, are common text files that do not contain fonts or style formats. - -![Figure 36-Text editor](figures/kiran-36.png) - -### 5.2. Terminal - -In the desktop environment, you can use the Terminal application to enter the command line interface. To start Terminal, choose **Start Menu** > **All applications** > **Utilities** > **Terminal**, or click the icon on the desktop panel. - -![Figure 37-Terminal](figures/kiran-37.png) - -### 5.3. Firefox - -To launch Firefox, click **Start Menu** > **All applications** > **Network** > **Firefox**. -Firefox is a free and open source web browser. It uses the Gecko rendering engine and supports multiple operating systems, such as Windows, Mac OS X, and GNU/Linux. Firefox is small in size, fast in speed, and has other advanced features, such as tabbed browsing, faster loading speed, pop-up blocker, customizable toolbar, extension management, better search features, and a convenient sidebar. - -![Figure 38 Firefox](figures/kiran-38.png) - -### 5.4 Screenshot Tool - -Choose **Start Menu** > **All applications** > **Graphics** > **Screenshot tool** to start the screenshot tool. -Screenshot tool is a small and flexible screenshot software of the Kiran desktop. The operation UI is simple and easy to use. When the software is started, the icon of the screenshot tool is added to the tray. - -![Figure 39-Screenshot icon in the tray](figures/kiran-39.png) - -Click the icon to display the screenshot interface. You can select the screenshot area. You can right-click the icon and choose Open Launcher to set the capture area and delay. - -![Figure 40-Screenshot UI](figures/kiran-40.png) -![Figure 41-Launcher UI](figures/kiran-41.png) - -In the displayed dialog box, click **√** to save the file to the desktop, or choose Options and select a custom save location, as shown in the following figure: - -![Figure 42-Screenshot process](figures/kiran-42.png) - -### 5.5 Network Settings - -The Kiran desktop uses NetworkManager as the network configuration tool. NetworkManager can set, configure, and manage various network types, and provides advanced support for mobile broadband devices, Bluetooth, and IPv6 protocol. Choose Start Menu > **Control Center** > **Advanced Network Configuration**, or right-click the network icon in the lower right corner of the desktop and choose **Edit Connections...**, as shown in the following figure: - -![Figure 43-NetworkManager](figures/kiran-43.png) - -Wired connection settings: -Select the current NIC. For example, **ens33** is the NIC of the current system. Select the NIC and click the edit button. The NIC editing dialog box is displayed: - -![Figure 44 Editing an NIC](figures/kiran-44.png) - -IPv4 Settings are frequently used. In this example, DHCP is selected to obtain the IP address and DNS server. The system automatically obtains an IP address for the user. -When you need to manually enter the IP address, select **Manual** from the **Method** drop-down list, as shown in the following figure: - -![Figure 45 IPv4 settings](figures/kiran-45.png) - -Click **Add**, enter the IP address, subnet mask, gateway, and DNS server, as shown in the following figure: - -![Figure 46 Setting the network IP address and DNS](figures/kiran-46.png) - -Enter the IP address, subnet mask, gateway, and DNS, and Click **Save**. Click the network icon in the lower right corner of the desktop, choose **Disconnect** to disconnect from the network, and then reconnect to the network. - ---- - -### 5.6. Time and Date Manager - -To set the date and time, select **Time And Date Manager** in **Control Center**, or click the date area in the lower right corner of the desktop. The following window is displayed: - -![Figure 47 Time And Date Manager](figures/kiran-47.png) - -Automatic synchronization: Enable **Automatic synchronization** and connect to the Internet to automatically synchronize the date and time. -Time zone settings: Click **Change Time Zone**, select a time zone from the list on the right, and then click **Save**. - -![Figure 48 Change Time Zone](figures/kiran-48.png) - -Manually set the time: Disable **Automatic synchronization** and click **Set Time Manually** to manually set the year, month, day, and time. After the modification is complete, click **Save**. - -![Figure 49 Set Time Manually](figures/kiran-49.png) - -Modifying the date format: Click **Time date format setting** to modify the date format. You can set the long and short date display formats, time format, and whether to display seconds. - -![Figure 50 Time date format setting](figures/kiran-50.png) diff --git a/docs/en/tools/desktop/ukui/_toc.yaml b/docs/en/tools/desktop/ukui/_toc.yaml deleted file mode 100644 index ce0429446766ab5e70a03e4dff80862f4b05ea0e..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/ukui/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: UKUI User Guide -isManual: true -description: Install and use UKUI. -sections: - - label: UKUI Installation - href: ./ukui_installation.md - - label: UKUI User Guide - href: ./ukui_user_guide.md diff --git a/docs/en/tools/desktop/ukui/figures/1.png b/docs/en/tools/desktop/ukui/figures/1.png deleted file mode 100644 index 40af4242eebb440a76c749a8d970d50cd7b89bf4..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/1.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/10.png b/docs/en/tools/desktop/ukui/figures/10.png deleted file mode 100644 index e588ffbe3d8d7b66d92ae8f2b4bcec7c80d0592c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/10.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/11.png b/docs/en/tools/desktop/ukui/figures/11.png deleted file mode 100644 index 1989a5bb08155f920363e154e68bb148715c7e9e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/11.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/12.png b/docs/en/tools/desktop/ukui/figures/12.png deleted file mode 100644 index cb6346161182d2cfeaf3818d5ec518ddb11c732e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/12.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/13.png b/docs/en/tools/desktop/ukui/figures/13.png deleted file mode 100644 index 0a7def1fb66c90da62acde799eaffca97e3b5396..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/13.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/14.png b/docs/en/tools/desktop/ukui/figures/14.png deleted file mode 100644 index 3a27a66d57e284775420d467f90dcc02889bbffe..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/14.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/15.png b/docs/en/tools/desktop/ukui/figures/15.png deleted file mode 100644 index 370bea32abcaa8a2b06a1a61c1455d4b35f43474..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/15.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/16.png b/docs/en/tools/desktop/ukui/figures/16.png deleted file mode 100644 index 812ee462669c5263ef4bffc49ca4f9b6af4541c6..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/16.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/17.png b/docs/en/tools/desktop/ukui/figures/17.png deleted file mode 100644 index 36e524b806874fa3788f5e4dcd78350686281107..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/17.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/18.png b/docs/en/tools/desktop/ukui/figures/18.png deleted file mode 100644 index 51b32442980aa60646f77dabd53ade74f55891fe..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/18.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/19.png b/docs/en/tools/desktop/ukui/figures/19.png deleted file mode 100644 index c9457d09aa9f1662b2c9e4550cdbdb9f57dd020e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/19.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/2.png b/docs/en/tools/desktop/ukui/figures/2.png deleted file mode 100644 index 97917cc245484a43bec8562757d920a06f123121..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/2.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/20.png b/docs/en/tools/desktop/ukui/figures/20.png deleted file mode 100644 index b0943189920d7a541d35da27340593ea93f92a17..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/20.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/21.png b/docs/en/tools/desktop/ukui/figures/21.png deleted file mode 100644 index e590c22c0ea28906b5f4ea7ccbc6ab11e47ad173..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/21.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/22.png b/docs/en/tools/desktop/ukui/figures/22.png deleted file mode 100644 index 03a548b1ffb1f0ad53cfa5387af2721af90bca81..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/22.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/23.png b/docs/en/tools/desktop/ukui/figures/23.png deleted file mode 100644 index 834c492094715cde1c02c91752ecabfe7921ed62..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/23.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/24.png b/docs/en/tools/desktop/ukui/figures/24.png deleted file mode 100644 index 1881e868b74a60888b319576fa38fb4af92ba75c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/24.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/25.png b/docs/en/tools/desktop/ukui/figures/25.png deleted file mode 100644 index f38839725d27a3486984d152e5d9de305364fbd2..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/25.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/26.png b/docs/en/tools/desktop/ukui/figures/26.png deleted file mode 100644 index 6d7957119133ecb98b1b6b104e54a3a4647ec2a5..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/26.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/27.png b/docs/en/tools/desktop/ukui/figures/27.png deleted file mode 100644 index 3e4733717fdc5172d6479b393005219e65e96df4..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/27.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/28.png b/docs/en/tools/desktop/ukui/figures/28.png deleted file mode 100644 index a77772e818e3f6c11acac3b9cfa18bad14a0a48c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/28.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/29.png b/docs/en/tools/desktop/ukui/figures/29.png deleted file mode 100644 index c4f58ffe5855295268298448744e5aadbdc55276..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/29.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/3.png b/docs/en/tools/desktop/ukui/figures/3.png deleted file mode 100644 index fbb76b336957020ed6867d908e0a8bdcfc953c52..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/3.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/30.png b/docs/en/tools/desktop/ukui/figures/30.png deleted file mode 100644 index d91adefba1753959e90ccf4aa1501ac08d7144bd..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/30.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/31.png b/docs/en/tools/desktop/ukui/figures/31.png deleted file mode 100644 index 0abef09ab438f5f8cfb68090993f55c493b8c15e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/31.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/32.png b/docs/en/tools/desktop/ukui/figures/32.png deleted file mode 100644 index d567cfbacc07a9eb46ff2c54a68432f45e034e94..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/32.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/33.png b/docs/en/tools/desktop/ukui/figures/33.png deleted file mode 100644 index 7b5896e2884520672c0bd88d68471b45a09c56fe..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/33.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/34.png b/docs/en/tools/desktop/ukui/figures/34.png deleted file mode 100644 index 81bc9480fbbd81a97c559d7a6a74274deeab2bd1..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/34.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/35.png b/docs/en/tools/desktop/ukui/figures/35.png deleted file mode 100644 index ab2399847a643a87279337704e23fea7609bb211..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/35.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/36.png b/docs/en/tools/desktop/ukui/figures/36.png deleted file mode 100644 index 536981609b9ae5d32be56bec612f2b3446146184..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/36.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/37.png b/docs/en/tools/desktop/ukui/figures/37.png deleted file mode 100644 index e39aa03587642dc1f8622fff515b05a9a3085b28..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/37.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/4.png b/docs/en/tools/desktop/ukui/figures/4.png deleted file mode 100644 index 5078e36aca713706d2cf08a3ebecdc3769951899..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/4.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/5.png b/docs/en/tools/desktop/ukui/figures/5.png deleted file mode 100644 index 2976a745cfaede26594d6daa01cfc18d18b1de8b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/5.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/6.png b/docs/en/tools/desktop/ukui/figures/6.png deleted file mode 100644 index 275c23872f2353f007371672714902babcc3db53..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/6.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/7.png b/docs/en/tools/desktop/ukui/figures/7.png deleted file mode 100644 index 4d397959ac7f6d166ef5a3b7084bd5c3c93b475f..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/7.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/8.png b/docs/en/tools/desktop/ukui/figures/8.png deleted file mode 100644 index 8ade274092d7b3e461c96d7909a9d89d3a944f09..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/8.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/9.png b/docs/en/tools/desktop/ukui/figures/9.png deleted file mode 100644 index f7b2215404929346f1a814b0b1d6d482559c08b5..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/9.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon1.png b/docs/en/tools/desktop/ukui/figures/icon1.png deleted file mode 100644 index 9bac00355cf4aa57d32287fd4271404f6fd3fd4d..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon1.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon10-o.png b/docs/en/tools/desktop/ukui/figures/icon10-o.png deleted file mode 100644 index d6c56d1a64c588d86f8fe510c74e5a7c4cb810d4..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon10-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon11-o.png b/docs/en/tools/desktop/ukui/figures/icon11-o.png deleted file mode 100644 index 47a1f2cb7f99b583768c7cbd7e05a57f302dbe8a..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon11-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon12-o.png b/docs/en/tools/desktop/ukui/figures/icon12-o.png deleted file mode 100644 index f1f0f59dd3879461a0b5bc0632693a4a4124def3..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon12-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon13-o.png b/docs/en/tools/desktop/ukui/figures/icon13-o.png deleted file mode 100644 index c05a981b29d8ad11c6682f796f79b4cafd0f088b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon13-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon14-o.png b/docs/en/tools/desktop/ukui/figures/icon14-o.png deleted file mode 100644 index b21deee4d98593d93fb5f72158d2d78f3d3f1cb9..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon14-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon15-o.png b/docs/en/tools/desktop/ukui/figures/icon15-o.png deleted file mode 100644 index 1827a20e9da4d28e35e8ab2eae739b2fec37b385..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon15-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon16.png b/docs/en/tools/desktop/ukui/figures/icon16.png deleted file mode 100644 index f271594dda9d3ad0f038c9d719dd68c3e82c59f1..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon16.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon17.png b/docs/en/tools/desktop/ukui/figures/icon17.png deleted file mode 100644 index dbe58b89347c857920bce25f067fbd11c308e502..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon17.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon18.png b/docs/en/tools/desktop/ukui/figures/icon18.png deleted file mode 100644 index 1827a20e9da4d28e35e8ab2eae739b2fec37b385..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon18.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon19-o.png b/docs/en/tools/desktop/ukui/figures/icon19-o.png deleted file mode 100644 index 47a1f2cb7f99b583768c7cbd7e05a57f302dbe8a..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon19-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon2.png b/docs/en/tools/desktop/ukui/figures/icon2.png deleted file mode 100644 index 9101e4b386df065a87d422bc5a0b287528ea5ec7..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon2.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon26-o.png b/docs/en/tools/desktop/ukui/figures/icon26-o.png deleted file mode 100644 index 2293a893caf6d89c3beb978598fe7f281e68e7d5..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon26-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon27-o.png b/docs/en/tools/desktop/ukui/figures/icon27-o.png deleted file mode 100644 index abbab8e40f7e3ca7c2a6f28ff78f08f15117828e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon27-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon28-o.png b/docs/en/tools/desktop/ukui/figures/icon28-o.png deleted file mode 100644 index e40d45fc0a9d2af93280ea14e01512838bb3c3dc..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon28-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon3.png b/docs/en/tools/desktop/ukui/figures/icon3.png deleted file mode 100644 index 930ee8909e89e3624c581f83d713af271cd96c75..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon3.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon30-o.png b/docs/en/tools/desktop/ukui/figures/icon30-o.png deleted file mode 100644 index e40d45fc0a9d2af93280ea14e01512838bb3c3dc..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon30-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon31-o.png b/docs/en/tools/desktop/ukui/figures/icon31-o.png deleted file mode 100644 index 25959977f986f433ddf3d66935f8d2c2bc6ed86b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon31-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon32.png b/docs/en/tools/desktop/ukui/figures/icon32.png deleted file mode 100644 index 25959977f986f433ddf3d66935f8d2c2bc6ed86b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon32.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon33.png b/docs/en/tools/desktop/ukui/figures/icon33.png deleted file mode 100644 index 88ed145b25f6f025ad795ceb012500e0944cb54c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon33.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon34.png b/docs/en/tools/desktop/ukui/figures/icon34.png deleted file mode 100644 index 8247f52a3424c81b451ceb318f4a7979a5eddece..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon34.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon35.png b/docs/en/tools/desktop/ukui/figures/icon35.png deleted file mode 100644 index 7c656e9030b94809a57c7e369921e6a585f3574c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon35.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon36.png b/docs/en/tools/desktop/ukui/figures/icon36.png deleted file mode 100644 index 7d29d173e914dfff48245d3d3a4d42575ce2d1db..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon36.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon37.png b/docs/en/tools/desktop/ukui/figures/icon37.png deleted file mode 100644 index 58be4c621b6638115153e361801deb9ee06634d8..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon37.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon38.png b/docs/en/tools/desktop/ukui/figures/icon38.png deleted file mode 100644 index 0c861ccb891f4fb5e533eb7f7151a8fce1571f17..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon38.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon39.png b/docs/en/tools/desktop/ukui/figures/icon39.png deleted file mode 100644 index b1ba1f347452d0cd1c06c6c51d2cdf5aea5e490b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon39.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon4.png b/docs/en/tools/desktop/ukui/figures/icon4.png deleted file mode 100644 index 548dc8b648edb73ff1dd8a0266e8479203e72ca0..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon4.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon40.png b/docs/en/tools/desktop/ukui/figures/icon40.png deleted file mode 100644 index 9c29dd1e9a1bf22c36abf51cb18fa9e47b455fab..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon40.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon41.png b/docs/en/tools/desktop/ukui/figures/icon41.png deleted file mode 100644 index 9e8aea527a2119433fffec5a8800ebfa4fa5062f..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon41.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon42-o.png b/docs/en/tools/desktop/ukui/figures/icon42-o.png deleted file mode 100644 index 25959977f986f433ddf3d66935f8d2c2bc6ed86b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon42-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon43-o.png b/docs/en/tools/desktop/ukui/figures/icon43-o.png deleted file mode 100644 index 284bdd551baf25beb4143013402e77a1a4c60ccb..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon43-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon44-o.png b/docs/en/tools/desktop/ukui/figures/icon44-o.png deleted file mode 100644 index 810f4d784ee140dbf562e67a0d3fd391272626a5..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon44-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon45-o.png b/docs/en/tools/desktop/ukui/figures/icon45-o.png deleted file mode 100644 index 3e528ce2c98284f020ae4912a853f5864526396b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon45-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon46-o.png b/docs/en/tools/desktop/ukui/figures/icon46-o.png deleted file mode 100644 index ec6a3ca0fe57016f3685981ed518493ceea1c855..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon46-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon47-o.png b/docs/en/tools/desktop/ukui/figures/icon47-o.png deleted file mode 100644 index 6eeaba98d908775bd363a8ffcec27c3b6a214013..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon47-o.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon5.png b/docs/en/tools/desktop/ukui/figures/icon5.png deleted file mode 100644 index e4206b7b584bf0702c7cb2f03a3a41e20bfba844..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon5.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon6.png b/docs/en/tools/desktop/ukui/figures/icon6.png deleted file mode 100644 index 88ced3587e9a42b145fe11393726f40aba9d1b2c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon6.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon7.png b/docs/en/tools/desktop/ukui/figures/icon7.png deleted file mode 100644 index 05fe8aa38c84ca0c0c99b0b005ddec2f2ba42f4a..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon7.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon8.png b/docs/en/tools/desktop/ukui/figures/icon8.png deleted file mode 100644 index 01543c3e0f5e96a023b4e1f0859a03e3a0dafd56..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon8.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/figures/icon9.png b/docs/en/tools/desktop/ukui/figures/icon9.png deleted file mode 100644 index a07c9ab8e51decd9a3bca8c969d2ae95bd68512c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/ukui/figures/icon9.png and /dev/null differ diff --git a/docs/en/tools/desktop/ukui/ukui_installation.md b/docs/en/tools/desktop/ukui/ukui_installation.md deleted file mode 100644 index df992cb81e772eeecd010ad4bb5e9ef3040e9a4f..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/ukui/ukui_installation.md +++ /dev/null @@ -1,28 +0,0 @@ -# UKUI Installation - -UKUI is a Linux desktop built by the KylinSoft software team over the years, primarily based on GTK and QT. Compared to other UI interfaces, UKUI is easy to use. The components of UKUI are small and low coupling, can run alone without relying on other suites. It can provide user a friendly and efficient experience. - -UKUI supports both x86_64 and aarch64 architectures. - -You are advised to create an administrator user before installing UKUI. - -1. Download openEuler ISO and update the software source. - - ```shell - sudo dnf update - ``` - -2. Install UKUI. - - ```shell - sudo dnf install ukui - ``` - -3. If you want to set the system to start with the graphical interface after confirming the installation, run the following command and reboot the system (`reboot`). - - ```shell - systemctl set-default graphical.target - ``` - -UKUI is constantly updated. Please check the latest installation method: -[https://gitee.com/openeuler/ukui](https://gitee.com/openeuler/ukui) diff --git a/docs/en/tools/desktop/ukui/ukui_user_guide.md b/docs/en/tools/desktop/ukui/ukui_user_guide.md deleted file mode 100644 index b83ee3007186d46635695105c1c407887cd4c65f..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/ukui/ukui_user_guide.md +++ /dev/null @@ -1,380 +0,0 @@ -# UKUI Desktop Environment - -## Overview - -Desktop Environment is the basis for the user's operation on the graphical interface, and provides multiple functions including taskbar, start menu, etc. The main interface is shown in figure below. - -![Fig. 1 Desktop main interface-big](./figures/1.png) - -## Desktop - -### Desktop Icons - -The system places three icons Computer, Recycle Bin and Personal by default, and double click the left mouse button to open the page. The functions are shown in table below. - -| Icon | Description | -| :------------ | :------------ | -| ![](./figures/icon1.png) | Computer: Show the drives and hardwares connected to the machine| -| ![](./figures/icon2.png) | Recycle Bin: Show documents that have been diverted| -| ![](./figures/icon3.png) | Personal: Show personal home directory| - -In addition, right-clicking "Computer" and selecting "Properties", it can show the current system version, kernel version, activation and other related information. - -![Fig. 2 "Computer" - "Properties"-big](./figures/2.png) - -### Right-click Menu - -Right-click on the desktop blank and a menu appears as shown in figure below, providing the users with some shortcut features. - -![Fig. 3 Right-click Menu](./figures/3.png) - -Some of the options are described in table below. - -| Option | Description | -| :------------ | :------------ | -| New | Create new folders, text documents, WPS files | -| View type | Four view types are available: small icon, medium icon, large icon, super large icon | -| Sort by | Four ways to arrange documents according to name, type of document, size and date of modification | - -## Taskbar - -### Basic Function - -Taskbar is located at the bottom and includes the Start Menu, Multi View Switch, File Browser, Firefox Web Browser, WPS, and Tray Menu. - -![Fig. 4 Taskbar](./figures/4.png) - -| Component | Description | -| :------------ | :------------ | -|![](./figures/icon4.png)| Start menu: Open the system menu to find applications and files | -|![](./figures/icon5.png)| Multi View Switch: Operate in multiple workspaces without interfering with each other | -|![](./figures/icon6.png)| File Browser: Browse and manage documents in the system | -|![](./figures/icon7.png)| Firefox Web Browser: Provide a convenient and safe way to access the Internet | -|![](./figures/icon8.png)| WPS: Realize the most common functions of office software such as text, forms, presentations, and more | -|Window Display Area| The blank part in the middle of the horizontal bar. Display running programs, opened documents, and allow users to close the windows, top the windows, etc | -|![](./figures/icon9.png)| Tray Menu: Include settings for voice, Kylin weather,input method, internet connection, notification center, date, and night mode | -|Show Desktop| The button is on the far right. Minimize all windows on the desktop and return to the desktop; Clicking again will restore the windows | - -#### Multi View Switch - -Click the icon "![](./figures/icon10-o.png)" on the taskbar to enter the interface shown in figure below, and select the operation area that users need to work on at the moment in multiple work areas. - -![Fig. 5 Multi View Switch-big](./figures/5.png) - -#### Preview Window - -Users move the mouse over the app icon in the taskbar, and then a small preview window will be shown if this app has already been opened. - -Hover over the specified window as shown below for hover state, the window will be slightly fuzzy glass effect (left), the rest of the window as default Status (right). - -![Fig. 6 Taskbar - Preview Window](./figures/6.png) - -Users can close the application by right-clicking on the app icon in the taskbar. - -![Fig. 7 Taskbar - Right-click Preview](./figures/7.png) - -#### Sidebar - -The sidebar is located at the right of the entire desktop. Click the icon "![](./figures/icon11-o.png)" in the taskbar tray menu to open the storage menu, and click the icon "![](./figures/icon12-o.png)" in Sidebar to pop up the sidebar as shown in figure below. - -The sidebar consists of two parts: Notification Center, Clipboard and Widget. - -![Fig. 8 Sidebar without message status-big](./figures/8.png) - -##### Notification Center - -Notification center will display a list of recent important and newest information. - -Select "Clear" in the upper right corner to clear the list of information; Select "Setting" in the upper right corner to go to the notification settings in the control center, and users can set which applications can show information and the quantity of information. - -![Fig. 9 Notification Center-big](./figures/9.png) - -Workspace at right side can be set to fold by applications. - -![Fig. 10 Fold messages by applications-big](./figures/10.png) - -Icon "![](./figures/icon13-o.png)" at the top right corner of the sidebar can store unimportant information. When the messages are more than 999+, it will be shown as the form of ![](./figures/icon14-o.png) which means limitless. - -![Fig. 11 Message Organizer](./figures/11.png) - -##### Clipboard - -Clipboard can save the contents those were recently selected to copy or cut, and users can operate them by using the icons in Table. - -![Fig. 12 Clipboard](./figures/12.png) - -Clicking "![](./figures/icon15-o.png)", users can edit the the contents of the clipboard. - -![Fig. 13 edit the content](./figures/13.png) - -| Icon | Description | Icon | Description | -| :------------------------ | :----------------- | :------------------------ | :--------------- | -| ![](./figures/icon16.png) | Copy the content | ![](./figures/icon18.png) | Edit the content | -| ![](./figures/icon17.png) | Delete the content | | | - -The second label of the clipboard is the small plug-in that contains alarm clock, notebook, user feedback. - -![Fig. 14 Plug-in](./figures/14.png) - -#### Tray Menu - -##### Storage Menu - -Click "![](./figures/icon19-o.png)" at the tray menu to open the storage menu. - -It contains Kylin Weather, Input Method, Bluetooth, USB, etc. - -![Fig. 15 Storage Menu](./figures/15.png) - -##### Input Method - -The taskbar input method defaults to Sogou input method. Use the shortcut key "Ctrl+Space" to switch it out, and the "Shift" key to switch between Chinese and English modes. - -![Fig. 16 Input Method](./figures/16.png) - -##### USB - -When the USB is inserted into the computer, it will be automatically read the data inside. - -Click "![](./figures/icon26-o.png)" to open the window as shown in figure below. - -When users need to umount the USB, please click the icon "![](./figures/icon27-o.png)". - -![Fig. 17 The status of USB](./figures/17.png) - -##### Power Supply - -Click the icon "![](./figures/icon28-o.png)": - -When no power supply is detected. - -![Fig. 18 No Power Supply](./figures/18.png) - -When power supply is detected. - -![Fig. 19 Have Power Supply](./figures/19.png) - -Users right-click the icon "![](./figures/icon30-o.png)" of power manager to open the power setting menu. - -It provides two setting options: adjust screen brightness, and set power and sleep. - -![Fig. 20 Power Manager](./figures/20.png) - -If the power manager pops up a"low battery" window, users can click to turn on the power save mode, and the power manager will set the machine to run in this mode immediately. - -![Fig. 21 Power Saving Mode](./figures/21.png) - -##### Network - -Users can choose wired or wireless network connections by clicking the icon "![](./figures/icon31-o.png)" of network manager. - -| Icon | Description | Icon | Description | -| :------------------------ | :----------------- | :------------------------ | :--------------------- | -| ![](./figures/icon32.png) | Connected | ![](./figures/icon37.png) | Unconnected | -| ![](./figures/icon33.png) | Connection limited | ![](./figures/icon38.png) | Locked | -| ![](./figures/icon34.png) | Connecting | ![](./figures/icon39.png) | Wifi connected | -| ![](./figures/icon35.png) | Wifi unconnected | ![](./figures/icon40.png) | Wificonnection limited | -| ![](./figures/icon36.png) | Wifi locked | ![](./figures/icon41.png) | Wifi connecting | - -![Fig. 22 Network Connection](./figures/22.png) - -- Wired Network - In the wired network connection interface, click on the wired network plan to expand. Details of the network. - - ![Fig. 23 Wired Network](./figures/23.png) - -- Wireless Network - Click the switch button in the upper right corner to turn on the wireless network connection, and select the WiFi from the list of available wireless networks. Enter the password to access the Internet. - - ![Fig. 24 Wireless Network](./figures/24.png) - -- Network Setting - Right-click the icon "![](./figures/icon42-o.png)" of network manager to pop up the setting menu. - - ![Fig. 25 Wired Network Setting](./figures/25.png) - - Click network setting to go to the setting window immediately. - - ![Fig. 26 Network Setting](./figures/26.png) - -##### Volume - -Click the icon "![](./figures/icon43-o.png)" to open the volume window, and there provides three modes. - -- Mini Mode - It only displays the volume of the speaker. - - ![Fig. 27 Mini Mode](./figures/27.png) - -- According to Equipment - It contains input equipment and output equipment. - - ![Fig. 28 According to Equipment List](./figures/28.png) - -- According to Application - It contains system volume and other applications' volume. - - ![Fig. 29 According to Application List](./figures/29.png) - -##### Calendar - -Click the date&time on the taskbar to open the calendar window. - -Users can view the day's information by filtering the year, month, day. The date will be displayed in large letters, with the time, the week, the festival,and the lunar calendar. Taboos can be seen by checking. - -![Fig. 30 Calendar-big](./figures/30.png) - -##### Night Mode - -Click the icon "![](./figures/icon44-o.png)" on the Taskbar and then the system changes to the night mode. - -#### Advanced Setting - -Right-click the Taskbar to open the menu. - -![Fig. 31 Right-Clicking Menu](./figures/31.png) - -Users can set the lauserst of taskbar according to "Taskbar Settings". - -## Window - -### Window Manager - -The functions provided as shown in Table. - -| Function | Description | -| :--------| :----------| -| Title Bar | Show the title name of current window | -| Minimize/Maximize/Close | The three icon buttons at the right of the title bar correspond to minimize, maximize and close respectively | -| Side Sliding | Users can scroll up and down to view the page by the slider at the right of the window | -| Stack | Allow overlap among windows | -| Drag and Drop | Long press the left mouse button at the title bar to move the window to any position | -| Resize | Move the mouse to the corner of the window and long press the left button to resize the window | - -### Window Switch - -There are three ways to switch windows: - -- Click the window title on the Taskbar. - -- Click the different window at the desktop. - -- Use shortcut keys **Alt + Tab**. - -## Start Menu - -### Basic Function - -Click the button to open the "Start Menu". - -It provides sliding bar. - -![Fig. 32 Start Menu](./figures/32.png) - -#### Category Menu at right side - -When the mouse is over the right side of the start menu, it will appear a pre-expanded cue bar. Clicking to expand, and then three categories are showing at the right side by default: "Common Software", "Alphabetical Category", and "Functional category". - -- All Software: List all software, recently used software will be displayed on the top of this page. - -- Alphabetical Category: List all software by first letter. - -- Functional category: List all software by their functions. - -Users can click the button at top right corner to view fullscreen menu mode. - -![Fig. 33 Fullscreen Menu-big](./figures/33.png) - -#### Function Button at right side - -It provides User Avatar, Computer, Control Center and Shutdown four options. - -##### User Avatar - -Click "![](./figures/icon45-o.png)" to view user's information. - -##### Computer - -Click "![](./figures/icon46-o.png)" to open personal home folder - -##### Control Center - -Click "![](./figures/icon47-o.png)" to go to the control center. - -##### Shutdown - -###### Lock Screen - -When users do not need to use the computer temporarily, the lock screen can be selected (without affecting the current running state of the system) to prevent misoperations. And input the password to re-enter the system. - - The system will automatically lock the screen after a period of idle time by default. - -![Fig. 34 Lock Screen-big](./figures/34.png) - -###### Switch Users & Log Out - -When users want to select another user to log in using the computer, users can select "Log out" or "Switch user". - -At this point, the system will close all running applications; Therefore, please save the current jobs before performing this action. - -###### Shutdown & Reboot - -There are two ways: - -1)"Start Menu" > "Power" > "Shutdown" - -It will pop up a dialog box, and users can choose shutdown or reboot as needed. - -![Fig. 35 Shutdown Dialog Box-big](./figures/35.png) - -2)"Start Menu" > right side menu of the "Shutdown" button > "Shutdown"/"Reboot" - -The system will shutdown or reboot immediately without popping up the dialog box. - -### Advanced Setting - -Right-clicking Start Menu, it provides lock screen, switch user, log out, reboot, and shutdown five shortcut options. - -### Applications - -Users can search apps in the search box by key words. As shown in figure below, the result will show up automatically with the input. - -![Fig. 36 Search Apps](./figures/36.png) - -Right-clicking one app in the Start Menu, the right-click menu popping up. - -![Fig. 37 Right-click Menu](./figures/37.png) - -The options are described in table below. - -| Option | Description | -| :------| :--------| -| Attach to "All Software" |Add the selected software to the top of the list of All Software| -| Attach to Taskbar |Generate icon for the application on the Taskbar| -| Add to Desktop Shortcut |Generate shortcut icon for the application on the desktop| -| Uninstall |Remove the application| - -## FAQ - -### Failed to Login to the System after Locking the Screen - -- Switch to character terminal by **Ctrl + Alt + F2**. - -- Input the user-name and passwd to login to the system. - -- Do "sudo rm -rf ~/.Xauthority". - -- Switch to graphical interface by **Ctrl + Alt + F1**, and input the passwd. - -## Appendix - -### Shortcut Key - -| Shortcut Key | Function | -| :------------------ | :------------------ | -| F5 | Refresh the desktop | -| F1 | Open the user-guide | -| Alt + Tab | Switch the window | -| win | Open the Start Menu | -| Ctrl + Alt + L | Lock Screen | -| Ctrl + Alt + Delete | Log out | diff --git a/docs/en/tools/desktop/xfce/_toc.yaml b/docs/en/tools/desktop/xfce/_toc.yaml deleted file mode 100644 index f3639c8e48fa89f128960e91ee9c590718f367fc..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/xfce/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: Xfce User Guide -isManual: true -description: Install and use Xfce -sections: - - label: Xfce Installation - href: ./xfce_installation.md - - label: Xfce User Guide - href: ./xfce_user_guide.md diff --git a/docs/en/tools/desktop/xfce/figures/xfce-1.png b/docs/en/tools/desktop/xfce/figures/xfce-1.png deleted file mode 100644 index 0e478b9f10ddf3210d5f5fada2e45329e2d1d028..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-1.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-2.png b/docs/en/tools/desktop/xfce/figures/xfce-2.png deleted file mode 100644 index 33a946d988d499a1e98cb43968b72119bd48d7a5..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-2.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-3.png b/docs/en/tools/desktop/xfce/figures/xfce-3.png deleted file mode 100644 index 020356f0c981fac2aafe33c8e997efbf01af9253..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-3.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-4.png b/docs/en/tools/desktop/xfce/figures/xfce-4.png deleted file mode 100644 index 21369e366322955023b427e7a2ae63fd29b387e5..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-4.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-5.png b/docs/en/tools/desktop/xfce/figures/xfce-5.png deleted file mode 100644 index 1f7807877f775fe6aa32652a29ef833e48e1a6ee..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-5.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-6.png b/docs/en/tools/desktop/xfce/figures/xfce-6.png deleted file mode 100644 index e5376fcfd1737234a885d4d95649cd996005cf0c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-6.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-7.png b/docs/en/tools/desktop/xfce/figures/xfce-7.png deleted file mode 100644 index b7a94df356b7b9f7dca3d305d066ec854406aaab..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-7.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-71.png b/docs/en/tools/desktop/xfce/figures/xfce-71.png deleted file mode 100644 index 11d1618c907d4bb18de1eb68e42e9b98d92d91c3..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-71.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-8.png b/docs/en/tools/desktop/xfce/figures/xfce-8.png deleted file mode 100644 index f6f97d9a173105cb6a72e4b8c48deab25ecac898..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-8.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-81.png b/docs/en/tools/desktop/xfce/figures/xfce-81.png deleted file mode 100644 index b97c9a81c2a07efe361e6dc6ee8bed5db445ecfa..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-81.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-811.png b/docs/en/tools/desktop/xfce/figures/xfce-811.png deleted file mode 100644 index 58233638eca203d917081d6a9ac5003474cbf60b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-811.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-812.png b/docs/en/tools/desktop/xfce/figures/xfce-812.png deleted file mode 100644 index 0fc975f75da95dce8a3e5a098d024578335c9426..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-812.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-813.png b/docs/en/tools/desktop/xfce/figures/xfce-813.png deleted file mode 100644 index 4d399468c74355cbaa765380720cb9561e95f834..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-813.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-814.png b/docs/en/tools/desktop/xfce/figures/xfce-814.png deleted file mode 100644 index c09fd6524a20ba04e0fca30307d35fa05e79c1f4..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-814.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-82.png b/docs/en/tools/desktop/xfce/figures/xfce-82.png deleted file mode 100644 index 170deb5fb43f4e924d5ba4eba94a02c341d31515..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-82.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-821.png b/docs/en/tools/desktop/xfce/figures/xfce-821.png deleted file mode 100644 index c5c1f3567dccda3d0d49ae445612d5b9ba27e09a..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-821.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-83.png b/docs/en/tools/desktop/xfce/figures/xfce-83.png deleted file mode 100644 index 95e4844c0ece09819d3e9f1e8457bbf371b1282e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-83.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-831.png b/docs/en/tools/desktop/xfce/figures/xfce-831.png deleted file mode 100644 index 6456dd02f0281a5ec8d752ba5b95be581bcbfa09..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-831.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-832.png b/docs/en/tools/desktop/xfce/figures/xfce-832.png deleted file mode 100644 index 2932aaacf71fa53f1d0c10340df3aebcc016e991..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-832.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-84.png b/docs/en/tools/desktop/xfce/figures/xfce-84.png deleted file mode 100644 index e0435c2edf9f68d193cff036215f32c259d378f0..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-84.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-841.png b/docs/en/tools/desktop/xfce/figures/xfce-841.png deleted file mode 100644 index c2c06346d4a296bfbe7836139cd943baa1ce6ea5..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-841.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-842.png b/docs/en/tools/desktop/xfce/figures/xfce-842.png deleted file mode 100644 index 101bf6923e3780617d33dde04b92232ca7f87b42..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-842.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-85.png b/docs/en/tools/desktop/xfce/figures/xfce-85.png deleted file mode 100644 index 21b39638fe4c83e0da5cdc69ecad9b7a22718a55..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-85.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-851.png b/docs/en/tools/desktop/xfce/figures/xfce-851.png deleted file mode 100644 index 893064ca10399a683afbcb3752266d93b0a79a51..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-851.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-86.png b/docs/en/tools/desktop/xfce/figures/xfce-86.png deleted file mode 100644 index 35e8a99e31e4a49eb64b24cfbab825111e40f709..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-86.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-861.png b/docs/en/tools/desktop/xfce/figures/xfce-861.png deleted file mode 100644 index affc46c874991a3b289e15072e06ba6566c099b1..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-861.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-87.png b/docs/en/tools/desktop/xfce/figures/xfce-87.png deleted file mode 100644 index 47524c21d57c887c3398ea53a675f89e9f92113f..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-87.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-9.png b/docs/en/tools/desktop/xfce/figures/xfce-9.png deleted file mode 100644 index 5586c4f62cc161665b91a56ad23b2320901901c0..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-9.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-91.png b/docs/en/tools/desktop/xfce/figures/xfce-91.png deleted file mode 100644 index ee69879bb4ad66405b045af5e3965e275fe8eabf..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-91.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-911.png b/docs/en/tools/desktop/xfce/figures/xfce-911.png deleted file mode 100644 index b49416558e9ab844fda2026b76e2e900ac106842..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-911.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-92.png b/docs/en/tools/desktop/xfce/figures/xfce-92.png deleted file mode 100644 index 78dd6313c603aad9ebd37fe68e06f98b2a3b331e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-92.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-921.png b/docs/en/tools/desktop/xfce/figures/xfce-921.png deleted file mode 100644 index 5eb6f40df9ca73e11b9b9fa5079496ac0c36857b..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-921.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-93.png b/docs/en/tools/desktop/xfce/figures/xfce-93.png deleted file mode 100644 index 06ac80c152fefbe1ad2ba1c989f6acfbbaf1a992..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-93.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-931.png b/docs/en/tools/desktop/xfce/figures/xfce-931.png deleted file mode 100644 index a156e5cf14ae154b93e845ff1bd5bc6ba12c9beb..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-931.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-94.png b/docs/en/tools/desktop/xfce/figures/xfce-94.png deleted file mode 100644 index f48064ff5902c4ea740ccba9a1640cbca27b5b72..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-94.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-941.png b/docs/en/tools/desktop/xfce/figures/xfce-941.png deleted file mode 100644 index f7904da12dc807836acfb9d6f24b8d9b976a2fdc..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-941.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-95.png b/docs/en/tools/desktop/xfce/figures/xfce-95.png deleted file mode 100644 index bda965b15a859e4cccf4b80f62875f79eb3470fd..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-95.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-951.png b/docs/en/tools/desktop/xfce/figures/xfce-951.png deleted file mode 100644 index 6521a28275d2b63c12b47604c7afc926f7938697..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-951.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-96.png b/docs/en/tools/desktop/xfce/figures/xfce-96.png deleted file mode 100644 index 29ce24923477065b98cacf603f185113e9959069..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-96.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-961.png b/docs/en/tools/desktop/xfce/figures/xfce-961.png deleted file mode 100644 index 874fa200f4e63b690261d7827f3c73cf70861b32..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-961.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/figures/xfce-962.png b/docs/en/tools/desktop/xfce/figures/xfce-962.png deleted file mode 100644 index bb84e35e43e992bc68b053a0da760bd5aa8b0270..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/desktop/xfce/figures/xfce-962.png and /dev/null differ diff --git a/docs/en/tools/desktop/xfce/xfce_installation.md b/docs/en/tools/desktop/xfce/xfce_installation.md deleted file mode 100644 index 80941b2a8d5e9702edcdc6d7ee4c5178695c97a0..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/xfce/xfce_installation.md +++ /dev/null @@ -1,70 +0,0 @@ -# Xfce Installation - -Xfce is a lightweight Linux desktop. In the current version, all components have been updated from GTK2 to GTK3 and from D-Dbus Glib to GDBus. Most components support GObject Introspection (GI), which is used to generate and parse the API meta information of the C program library, so that the dynamic language (or managed language) can be bound to the program library based on C + GObject. In the current version, user experience is optimized, new features are added, and a large number of bugs are fixed. Xfce occupies fewer memory and CPU resources than other UIs (GNOME and KDE), providing smoother and more efficient user experience. - -Xfce supports the x86\_64 and AArch64 architectures. - -You are advised to create an administrator during the installation. - -1. [Download](https://openeuler.org/en/download/)the openEuler ISO image and install the system. Run the following command to update the software source. You are advised to configure the Everything source and the EPOL source. This document describes how to install Xfce in the minimum installation scenario. - - ```shell - sudo dnf update - ``` - -2. Run the following command to install the font library: - - ```shell - sudo dnf install dejavu-fonts liberation-fonts gnu-*-fonts google-*-fonts - ``` - -3. Run the following command to install Xorg: - - ```shell - sudo dnf install xorg-* - ``` - -4. Run the following command to install Xfce: - - ```shell - sudo dnf install xfwm4 xfdesktop xfce4-* xfce4-*-plugin *fonts - ``` - -5. Run the following command to install the login manager: - - ```shell - sudo dnf install lightdm lightdm-gtk - ``` - -6. Run the following command to start Xfce using the login manager: - - ````shell - sudo systemctl start lightdm - ```` - - After the login manager is started, choose **Xfce Session** in the upper right corner and enter the user name and password to log in. - -7. Run the following command to set the GUI to start upon system boot: - - ```shell - sudo systemctl enable lightdm - sudo systemctl set-default graphical.target - ``` - - If GDM is installed by default, you are advised to disable GDM. - - ```shell - systemctl disable gdm - ``` - -8. Restart the server. - - ```shell - sudo reboot - ``` - -9. FAQs - - **Why Is the Background Color of the LightDM Login Page Black?** - - The login page is black because `background` is not set in the default configuration file **/etc/lightdm/lightdm-gtk-greeter.conf** of lightdm-gtk. - Set `background=/usr/share/backgrounds/xfce/xfce-blue.jpg` in the `greeter` section at the end of the configuration file, and then run the `systemctl restart lightdm` command. diff --git a/docs/en/tools/desktop/xfce/xfce_user_guide.md b/docs/en/tools/desktop/xfce/xfce_user_guide.md deleted file mode 100644 index c74a522f43d0ba2583bcf128fb4726051a02ab39..0000000000000000000000000000000000000000 --- a/docs/en/tools/desktop/xfce/xfce_user_guide.md +++ /dev/null @@ -1,238 +0,0 @@ -# Xfce User Guide - -## 1. Overview - -Xfce is a lightweight desktop environment running on Unix-like operating systems. Xfce provides multiple functional components, including all applications. This document describes how to use Xfce. - -The following figure shows the WebUI. - -![Figure 1 Main screen of the desktop](./figures/xfce-1.png) - -## 2. Desktop - -### 2.1 Desktop Icons - -By default, icons such as the file system, main folder, and mount directory are placed. You can double-click the icons to open the page. - -![Figure 2 Default desktop icons](./figures/xfce-2.png) - -### 2.2 Shortcut Menu - -Right-click in the blank area on the desktop. The shortcut menus are displayed, as shown in the following figure. - -![Figure 3 Shortcut menu](./figures/xfce-3.png) - -The following table describes some options. - -| Parameter| Description| -|:----------|:----------| -| Open in New Window| Open the **Desktop** directory of the login user.| -| Create Launcher| Create a launcher.| -| Create URL Link| Create a URL link.| -| Create Folder| Create a folder.| -| Create Document| Create a text file.| -| Open Terminal Here| Create a terminal.| -| Arrange Desktop Icons| Automatically arrange desktop icons.| -| Desktop Settings| Set the background, menus, and icons.| -| Properties| Set desktop properties, such as the general, logo, and permission.| -| Applications| Applications| - -## 3. Taskbar - -### 3.1 Basic Functions - -The taskbar is located at the top, including application, window display area, multi-view switch, and tray menus. - -![Figure 4 Taskbar](./figures/xfce-4.png) - -| Component| Description| -|:----------|:----------| -| Applications| Display all applications and settings, and allow you to search for applications and settings.| -| Window display area| The blank area in the middle of the horizontal bar, which displays running programs or opened documents. You can minimize, maximize, close, or pin the window to the top.| -| Switching views| Perform operations in multiple workspaces without interfering with each other.| -| Tray| Set the network connection, sound, power, notification center, calendar, and login user actions.| - -#### 3.1.1 Applications - -![Figure 5 All applications](./figures/xfce-5.png) - -#### 3.1.2 Window Display Area - -![Figure 6 Window display area](./figures/xfce-6.png) - -#### 3.1.3 Multi-View Switching - -Click ![](./figures/xfce-7.png) in the taskbar to enter the corresponding work area. - -For example, you can use the mouse to switch among multiple workspaces to select the operation area that you want to work in. - -![Figure 7 Switching among multiple views](./figures/xfce-71.png) - -#### 3.1.4 Tray - -![Figure 8 Tray menu](./figures/xfce-8.png) - -##### 3.1.4.1 Network - -You can click ![](./figures/xfce-81.png) on the taskbar and select a network connection mode as required. - -![Figure 9 Network connection page](./figures/xfce-811.png) - -Network settings dialog box - -Right-click the network icon ![](./figures/xfce-81.png) on the taskbar. The network setting menu is displayed. - -![Figure 10 Network settings](./figures/xfce-812.png) - -Click **Edit Connections**. The network setting dialog box is displayed. - -![Figure 11 Network setting dialog box](./figures/xfce-813.png) - -Double-click the specified network connection, for example, **enp1s0**. The page for setting the connection is displayed. - -![Figure 12 Setting the wired network](./figures/xfce-814.png) - -##### 3.1.4.2 Volume - -Click the volume icon ![](./figures/xfce-82.png) on the taskbar to open the sound page. - -![Figure 13 Volume setting window](./figures/xfce-821.png) - -##### 3.1.4.3 Power supply - -Click ![](./figures/xfce-83.png) on the taskbar. - -![Figure 14 Power supply devices](./figures/xfce-831.png) - -You can click **Power Manager Settings** to configure the display and nodes. - -![Figure 15 Setting the power manager](./figures/xfce-832.png) - -##### 3.1.4.4 Notification Center - -Click ![](./figures/xfce-84.png) on the taskbar. - -![Figure 16 Notification center](./figures/xfce-841.png) - -You can disable the notification function by selecting **Do not disturb**. - -The notification center displays the latest important information list. You can click **Clear log** to clear the information list. - -You can click **Notification settings** to go to the notification setting page of the control panel and set the applications to be displayed and the number of messages to be displayed. - -![Figure 17 Notification center](./figures/xfce-842.png) - -##### 3.1.4.5 Calendar - -You can click the date and time on the taskbar to display the calendar window and view the calendar, month calendar, and annual calendar. - -You can choose a year, a month and a day to view the information of a specific day. - -![Figure 18 Calendar-big](./figures/xfce-85.png) - -Right-click the time and date on the taskbar and click **Properties** to set the time. - -![Figure 19 Date setting](./figures/xfce-851.png) - -##### 3.1.4.6 Advanced Settings - -Right-click the taskbar and choose **Panel** from the shortcut menu. - -![Figure 20 Shortcut menu on the taskbar](./figures/xfce-86.png) - -You can set the layout of the taskbar and add or delete items. - -![Figure 21 Shortcut menu on the taskbar](./figures/xfce-861.png) - -##### 3.1.4.7 Login User Actions - -Click the login user on the task bar to view related actions. - -![Figure 22 Actions of a login user](./figures/xfce-87.png) - -###### 3.1.4.7.1 Lock Screen - -If you use the computer currently, you can lock the screen (which does not affect the current running status of the system) to prevent misoperations. After locking the screen, you can enter the password to log in to the system again. - -By default, the system automatically locks the screen after a period of idle time. - -###### 3.1.4.7.2 Switch User - -If you want to log in to the computer as another user, choose **Switch User**. - -Then, the system closes all running applications. Therefore, before performing this operation, save the current work. - -###### 3.1.4.7.3 Suspend - -For the sake of environmental protection and energy saving, you can select **Suspend****.** - -After that, the related data is read into the memory. Do not switch the power supply. - -###### 3.1.4.7.3 Shut Down - -You can choose **Shut Down** to shut down a computer. - -Before performing this operation, save the current work. - -###### 3.1.4.7.3 Log Out - -To log out of the GUI, click **Log Out**. - -Then, the system closes all running applications. Therefore, before performing this operation, save the current work. - -## 4. Shortcut Operation Bar - -### 4.1 Basic Functions - -The shortcut operation bar is located at the bottom, including the icons for displaying all the desktops, terminals, file managers, web browsers, application search, and user home directories. - -![Figure 23 Shortcut operation bar](./figures/xfce-9.png) - -| Component| Description | -|:----------|:----------| -| Show Desktop| Hide all windows and show the desktop. Click again to restore the window.| -| Terminal| Open a terminal.| -| File Manager| Open a file manager.| -| Web Browser| Open a web browser.| -| Application Finder| Open the application search window.| -| User Home Directory| Open the home directory of the login user.| - -#### 4.1.1 Show Desktop - -Click ![](./figures/xfce-91.png) on the shortcut operation bar to display the desktop. - -![Figure 24 Showing the desktop](./figures/xfce-911.png) - -#### 4.1.2 Terminal - -Click ![](./figures/xfce-92.png) on the shortcut operation bar to open a terminal. - -![Figure 25 Terminal-big](./figures/xfce-921.png) - -#### 4.1.3 File Manager - -You can click the ![](./figures/xfce-93.png) icon on the shortcut operation bar to open a file manager. - -![Figure 26 File manager](./figures/xfce-931.png) - -#### 4.1.4 Web Browser - -You can click the ![](./figures/xfce-94.png) icon on the shortcut operation bar to open a web browser. - -![Figure 27 Web browser](./figures/xfce-941.png) - -#### 4.1.5 Application Finder - -You can click the ![](./figures/xfce-95.png) icon on the shortcut operation bar to open an application program search interface. - -![Figure 28 Searching for an application](./figures/xfce-951.png) - -#### 4.1.6 User Home Directory - -Click ![](./figures/xfce-96.png) on the shortcut operation bar and click **Open File**. The user home directory page is displayed. - -![Figure 29 User home directory](./figures/xfce-961.png) - -Click the ![](./figures/xfce-96.png) icon on the shortcut operation bar, and then click **Open in Terminal** to open a terminal. The current directory is the home directory of the user. - -![Figure 30 User home directory](./figures/xfce-962.png) diff --git a/docs/en/tools/devops/_toc.yaml b/docs/en/tools/devops/_toc.yaml index a7b6721a2acd9d377b3d301159abfe5a39bf3290..4a5f33cb75897b8ec73e26d37c46a0793c5bfeec 100644 --- a/docs/en/tools/devops/_toc.yaml +++ b/docs/en/tools/devops/_toc.yaml @@ -2,7 +2,6 @@ label: Community Services sections: - label: Source Code Management sections: - - href: ./code_manage/patch_tracking/_toc.yaml - - label: Package Management - sections: - - href: ./package_manage/pkgship/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/patch-tracking/blob/master/docs/en/master/_toc.yaml + path: ./patch_tracking diff --git a/docs/en/tools/devops/code_manage/patch_tracking/_toc.yaml b/docs/en/tools/devops/code_manage/patch_tracking/_toc.yaml deleted file mode 100644 index 475936174639ef1350ae78c9ddbdd0c97adc6a38..0000000000000000000000000000000000000000 --- a/docs/en/tools/devops/code_manage/patch_tracking/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: patch-tracking -isManual: true -description: Package patch management -sections: - - label: patch-tracking - href: ./patch_tracking.md diff --git a/docs/en/tools/devops/code_manage/patch_tracking/images/Maintainer.jpg b/docs/en/tools/devops/code_manage/patch_tracking/images/Maintainer.jpg deleted file mode 100644 index da0d5f1b5d928eca3a0d63795f59c55331136065..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/devops/code_manage/patch_tracking/images/Maintainer.jpg and /dev/null differ diff --git a/docs/en/tools/devops/code_manage/patch_tracking/images/PatchTracking.jpg b/docs/en/tools/devops/code_manage/patch_tracking/images/PatchTracking.jpg deleted file mode 100644 index e12afd6227c18c333f289b9aa71abf608d8058a0..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/devops/code_manage/patch_tracking/images/PatchTracking.jpg and /dev/null differ diff --git a/docs/en/tools/devops/code_manage/patch_tracking/patch_tracking.md b/docs/en/tools/devops/code_manage/patch_tracking/patch_tracking.md deleted file mode 100644 index 599c3c5f046f5c97412f9ded7be0025e4a9de02a..0000000000000000000000000000000000000000 --- a/docs/en/tools/devops/code_manage/patch_tracking/patch_tracking.md +++ /dev/null @@ -1,300 +0,0 @@ -# patch-tracking - -## Overview - -During the development of the openEuler release, the latest code of each software package in the upstream community needs to be updated in a timely manner to fix function bugs and security issues, preventing the openEuler release from defects and vulnerabilities. - -This tool manages the patches for software packages, proactively monitors the patches submitted by the upstream community, automatically generates patches, submits issues to the corresponding Maintainer, and verifies basic patch functions to reduce the verification workload and help the Maintainer make decisions quickly. - -## Architecture - -### C/S Architecture - -patch-tracking uses the C/S architecture. - -patch-tracking is located in the server. It executes patch tracking tasks, including maintaining tracking items, identifying branch code changes in the upstream repository and generating patch files, and submitting issues and PRs to Gitee. In addition, patch-tracking provides RESTful APIs for adding, deleting, modifying, and querying tracking items. - -patch-tracking-cli is a command line tool located in the client. It invokes the RESTful APIs of patch-tracking to add, delete, modify, and query tracking items. - -### Core Procedure - -a. Patch tracking service procedure - -The procedure for handling the submitted patch is as follows: - -1. Add the tracking item using the command line tool. -2. Automatically obtain patch files from the upstream repository (for example, GitHub) that is configured for the tracking item. -3. Create a temporary branch and submit the obtained patch file to the temporary branch. -4. Automatically submit an issue to the corresponding repository and generate the PR associated with the issue. - -![PatchTracking](./images/PatchTracking.jpg) - -b. Procedure for the Maintainer to handle the submitted patch - -The procedure for handling the submitted patch is as follows: - -1. The Maintainer analyzes the PR. -2. Execute the continuous integration (CI). After the CI is successfully executed, determine whether to merge the PR. - -![Maintainer](./images/Maintainer.jpg) - -### Data structure - -- Tracking table - -| No. | Name | Description | Type | Key | Is Null Allowed | -| --- | --------------- | ----------------------------------------------------------------------- | ------- | ------- | --------------- | -| 1 | id | Sequence number of the tracking item of the self-added patch | int | - | No | -| 2 | version_control | Version control system type of the upstream SCM | String | - | No | -| 3 | scm_repo | Upstream SCM repository address | String | - | No | -| 4 | scm_branch | Upstream SCM tracking branch | String | - | No | -| 5 | scm_commit | Latest Commit ID processed by the upstream code | String | - | Yes | -| 6 | repo | Address of the Gitee repository where the package source code is stored | String | Primary | No | -| 7 | branch | Branch of the Gitee repository where the package source code is stored | String | Primary | No | -| 8 | enabled | Indicating whether to start tracking | Boolean | - | No | - -- Issue table - -| No. | Name | Description | Type | Key | Is Null Allowed | -| --- | ------ | ----------------------------------------------------------------------- | ------ | ------- | --------------- | -| 1 | issue | Issue No. | String | Primary | No | -| 2 | repo | Address of the Gitee repository where the package source code is stored | String | - | No | -| 3 | branch | Branch of the Gitee repository where the package source code is stored | String | - | No | - -## Tool Deployment - -### Downloading Software - -The repo source is officially released at . - -The RPM package can be obtained from . Choose the correct version, **everything**, correct architecture, **Packages**, then select the RPM package to download. - -### Installing the Tool - -Method 1: Install patch-tracking from the repo source. - -1. Use DNF to mount the repo source (The repo source of 21.03 or later is required. For details, see the [Application Development Guide](https://openeuler.org/zh/docs/21.03/docs/ApplicationDev/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html)). Run the following command to download and install patch-tracking and its dependencies. - -2. Run the following command to install `patch-tracking`: - - ```shell - dnf install patch-tracking - ``` - -Method 2: Install patch-tracking using the RPM package. - -1. Install the required dependencies. - - ```shell - dnf install python3-uWSGI python3-flask python3-Flask-SQLAlchemy python3-Flask-APScheduler python3-Flask-HTTPAuth python3-requests python3-pandas - ``` - -2. `patch-tracking-1.0.0-1.oe1.noarch.rpm` is used as an example. Run the following command to install patch-tracking. - - ```shell - rpm -ivh patch-tracking-1.0.0-1.oe1.noarch.rpm - ``` - -### Generating a Certificate - -Run the following command to generate a certificate: - -```shell -openssl req -x509 -days 3650 -subj "/CN=self-signed" \ --nodes -newkey rsa:4096 -keyout self-signed.key -out self-signed.crt -``` - -Copy the generated `self-signed.key` and `self-signed.crt` files to the **/etc/patch-tracking** directory. - -### Configuring Parameters - -Configure the corresponding parameters in the configuration file. The path of the configuration file is `/etc/patch-tracking/settings.conf`. - -1. Configure the service listening address. - - ```text - LISTEN = "127.0.0.1:5001" - ``` - -2. GitHub Token is used to access the repository information hosted in the upstream open source software repository of GitHub. For details about how to create a GitHub token, see [Creating a personal access token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token). - - ```text - GITHUB_ACCESS_TOKEN = "" - ``` - -3. For a repository that is hosted on Gitee and needs to be tracked, configure a Gitee Token with the repository permission to submit patch files, issues, and PRs. - - ```text - GITEE_ACCESS_TOKEN = "" - ``` - -4. Scan the database as scheduled to detect whether new or modified tracking items exist and obtain upstream patches for the detected tracking items. Set the interval of scanning and the unit is second. - - ```text - SCAN_DB_INTERVAL = 3600 - ``` - -5. When the command line tool is running, you need to enter the user name and password hash value for the authentication for the POST interface. - - ```text - USER = "admin" - PASSWORD = "" - ``` - - > The default value of `USER` is `admin`. - - Run the following command to obtain the password hash value. **Test@123** is the configured password. - - ```shell - generate_password Test@123 - ``` - - > The password hash value must meet the following complexity requirements: - > - > - The length is more than or equal to 6 bytes. - > - The password must contain uppercase letters, lowercase letters, digits, and special characters (**~!@#%\^\*-\_=+**). - - Add the password hash value to the quotation marks of `PASSWORD = ""`. - -### Starting the Patch Tracking Service - -You can use either of the following methods to start the service: - -- Using systemd. - - ```shell - systemctl start patch-tracking - ``` - -- Running the executable program. - - ```shell - /usr/bin/patch-tracking - ``` - -## Tool Usage - -### Adding a Tracking Item - -You can associate the software repository and branch to be tracked with the corresponding upstream open source software repository and branch in any of the following ways: - -- Using CLI - - Parameter description: - - > `--user`: User name to be authenticated for the POST interface. It is the same as the USER parameter in the **settings.conf** file. - > `--password`: Password to be authenticated for the POST interface. It is the password string corresponding to the PASSWORD hash value in the **settings.conf** file. - > `--server`: URL for starting the patch tracking service, for example, 127.0.0.1:5001. - > `--version\_control`: Control tool of the upstream repository version. Only GitHub is supported. - > `--repo`: Name of the repository to be tracked, in the format of organization/repository. - > - > `--branch`: Branch name of the repository to be tracked. - > `--scm\_repo`: Name of the upstream repository to be tracked, in the GitHub format of organization/repository. - > `--scm\_branch`: Branch of the upstream repository to be tracked. - > `--scm_commit`: Commit from which the tracking starts. By default, the tracking starts from the latest commit. - > `--enabled`: Indicates whether to automatically track the repository. - - For example: - - ```shell - patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --version_control github --repo testPatchTrack/testPatch1 --branch master --scm_repo BJMX/testPatch01 --scm_branch test --enabled true - ``` - -- Using a Specified File - - Parameter description: - - > `--server`: URL for starting the patch tracking service, for example, 127.0.0.1:5001. - > `--user`: User name to be authenticated for the POST interface. It is the same as the USER parameter in the **settings.conf** file. - > `--password`: Password to be authenticated for the POST interface. It is the password string corresponding to the PASSWORD hash value in the **settings.conf** file. - > `--file`: YAML file path. - - Add the information about the repository, branch, version management tool, and whether to enable monitoring to the YAML file (for example, **tracking.yaml**). The file path is used as the command of the `--file` to invoke the input parameters. - - For example: - - ```shell - patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --file tracking.yaml - ``` - - The format of the YAML file is as follows. The content on the left of the colon (:) cannot be modified, and the content on the right of the colon (:) needs to be set based on the site requirements. - - ```shell - version_control: github - scm_repo: xxx/xxx - scm_branch: master - repo: xxx/xxx - branch: master - enabled: true - ``` - - > version\_control: Control tool of the upstream repository version. Only GitHub is supported. - > scm\_repo: Name of the upstream repository to be tracked, in the GitHub format of organization/repository. - > scm\_branch: Branch of the upstream repository to be tracked. - > repo: Name of the repository to be tracked, in the format of organization/repository. - > branch: Branch name of the repository to be tracked. - > enabled: Indicates whether to automatically track the repository. - -- Using a Specified Directory - - Place multiple `xxx.yaml` files in a specified directory, such as the `test_yaml`, and run the following command to record the tracking items of all YAML files in the specified directory. - - Parameter description: - - > `--user`: User name to be authenticated for the POST interface. It is the same as the USER parameter in the **settings.conf** file. - > `--password`: Password to be authenticated for the POST interface. It is the password string corresponding to the PASSWORD hash value in the **settings.conf** file. - > `--server`: URL for starting the patch tracking service, for example, 127.0.0.1:5001. - > `--dir`: Path where the YAML file is stored. - - ```shell - patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --dir /home/Work/test_yaml/ - ``` - -### Querying a Tracking Item - -Parameter description: - -> `--server`: (Mandatory) URL for starting the patch tracking service, for example, 127.0.0.1:5001. -> `--table`: (Mandatory) Table to be queried. -> `--repo`: (Optional) repo to be queried. Query all content in the table if this parameter is not configured. -> `--branch`: (Optional) Branch to be queried. - -```shell -patch-tracking-cli query --server --table tracking -``` - -The website can be accessed properly. - -```shell -patch-tracking-cli query --server 127.0.0.1:5001 --table tracking -``` - -### Querying the Generated Issue - -```shell -patch-tracking-cli query --server --table issue -``` - -For example: - -```shell -patch-tracking-cli query --server 127.0.0.1:5001 --table issue -``` - -### Deleting a Tracking Item - -```shell -patch-tracking-cli delete --server SERVER --user USER --password PWD --repo REPO [--branch BRANCH] -``` - -For example: - -```shell -patch-tracking-cli delete --server 127.0.0.1:5001 --user admin --password Test@123 --repo testPatchTrack/testPatch1 --branch master -``` - -> You can delete a single piece of data from a specified repo or branch. You can also delete data of all branches in a specified repo. - -### Checking Issues and PRs on Gitee - -Log in to Gitee and check the software project to be tracked. On the Issues and Pull Requests tab pages of the project, you can see the item named in `[patch tracking] TIME`, for example, the `[patch tracking] 20200713101548`. This item is the issue and PR of the patch file that is just generated. diff --git a/docs/en/tools/devops/package_manage/pkgship/_toc.yaml b/docs/en/tools/devops/package_manage/pkgship/_toc.yaml deleted file mode 100644 index a5736a5dfddf5b2fc5e95638e11bb52319dceb52..0000000000000000000000000000000000000000 --- a/docs/en/tools/devops/package_manage/pkgship/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: pkgship -isManual: true -href: ./pkgship.md -description: >- - Software packages dependency lookup, lifecycle management, patch tracking, and - more. diff --git a/docs/en/tools/devops/package_manage/pkgship/images/packagemanagement.png b/docs/en/tools/devops/package_manage/pkgship/images/packagemanagement.png deleted file mode 100644 index 6d314e2c6ad6bafd321d9f76cd6aa5f17a8cb394..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/devops/package_manage/pkgship/images/packagemanagement.png and /dev/null differ diff --git a/docs/en/tools/devops/package_manage/pkgship/images/panel.png b/docs/en/tools/devops/package_manage/pkgship/images/panel.png deleted file mode 100644 index 150eb8c8229f9e8cb47706f3b82f07516a505076..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/devops/package_manage/pkgship/images/panel.png and /dev/null differ diff --git a/docs/en/tools/devops/package_manage/pkgship/pkgship.md b/docs/en/tools/devops/package_manage/pkgship/pkgship.md deleted file mode 100644 index 2d44c69434932f938ed1be7b6ec1a85edf99866c..0000000000000000000000000000000000000000 --- a/docs/en/tools/devops/package_manage/pkgship/pkgship.md +++ /dev/null @@ -1,435 +0,0 @@ -# pkgship - - - -- [pkgship](#pkgship) - - [Introduction](#introduction) - - [Architecture](#architecture) - - [Using the Software Online](#using-the-software-online) - - [Downloading the Software](#downloading-the-software) - - [Operating Environment](#operating-environment) - - [Installing the Tool](#installing-the-tool) - - [Configuring Parameters](#configuring-parameters) - - [Starting and Stopping the Service](#starting-and-stopping-the-service) - - [Using the Tool](#using-the-tool) - - [Viewing and Dumping Logs](#viewing-and-dumping-logs) - - [pkgship-panel](#pkgship-panel) - - - -## Introduction - -The pkgship is a query tool used to manage the dependency of OS software packages and provide a complete dependency graph. The pkgship provides functions such as software package dependency query and lifecycle management. - -1. Software package basic information query: Allow community personnel to quickly obtain information about the name, version, and description of the software package. -2. Software package dependency query: Allow community personnel to understand the impact on software when software packages are introduced, updated, or deleted. - -## Architecture - -The system uses the Flask-RESTful development mode. The following figure shows the architecture: - -![avatar](./images/packagemanagement.png) - -## Using the Software Online - -pkgship provides a [public online service](https://pkgmanage.openeuler.org/Packagemanagement). You can directly use pkgship online if you do not need to customize your query. - -To use a custom data source, install, configure, and use pkgship by referring to the following sections. - -## Downloading the Software - -- The repo source is officially released at: -- You can obtain the source code at: -- You can obtain the RPM package at: - -## Operating Environment - -- Hardware configuration: - -| Item| Recommended Specification| -|----------|----------| -| CPU| 8 cores| -| Memory| 32 GB (minimum: 4 GB)| -| Dive space| 20 GB| -| Network bandwidth| 300 Mbit/s| -| I/O| 375 MB/s| - -- Software configuration: - -| Name| Specifications| -|----------|----------| -| Elasticsearch| 7.10.1. Single-node and cluster deployment is available.| -| Redis| 5.0.4 or later is recommended. You are advised to set the size to 3/4 of the memory.| -| Python| 3.8 or later.| - -## Installing the Tool - ->Note: The software can run in Docker. In openEuler 21.09, due to environment restrictions, use the **--privileged** parameter when creating a Docker. Otherwise, the software fails to be started. This document will be updated after the adaptation. - -**1. Installing the pkgship** - -You can use either of the following methods to install the pkgship: - -- Method 1: Mount the repo source using DNF. - - Use DNF to mount the repo source where the pkgship is located (for details, see the [Application Development Guide](../../../../server/development/application_dev/application-development.md)). Then run the following command to download and install the pkgship and its dependencies: - - ```bash - dnf install pkgship - ``` - -- Method 2: Install the RPM package. Download the RPM package of the pkgship and run the following command to install the pkgship (x.x-x indicates the version number and needs to be replaced with the actual one): - - ```bash - rpm -ivh pkgship-x.x-x.oe1.noarch.rpm - ``` - - Or - - ```bash - dnf install pkgship-x.x-x.oe1.noarch.rpm - ``` - -**2. Installing Elasticsearch and Redis** - -If Elasticsearch or Redis is not installed in the environment, you can execute the automatic installation script after the pkgship is installed. - -The default script path is as follows: - -```bash -/etc/pkgship/auto_install_pkgship_requires.sh -``` - -Run the following command: - -```bash -/bin/bash auto_install_pkgship_requires.sh elasticsearch -``` - -Or - -```bash -/bin/bash auto_install_pkgship_requires.sh redis -``` - -**3. Adding a User After the Installation** - -After the pkgship software is installed, the system automatically creates a user named **pkgshipuser** and a user group named **pkgshipuser**. They will be used when the service is started and running. - -## Configuring Parameters - -1. Configure the parameters in the configuration file. The default configuration file of the system is stored in **/etc/pkgship/package.ini**. Modify the configuration file as required. - - ```bash - vim /etc/pkgship/package.ini - ``` - - ```ini - [SYSTEM-System Configuration] - ; Path for storing the .yaml file imported during database initialization. The .yaml file records the location of the imported .sqlite file. - init_conf_path=/etc/pkgship/conf.yaml - - ; Service query port - query_port=8090 - - ; Service query IP address - query_ip_addr=127.0.0.1 - - ; Address of the remote service. The command line can directly call the remote service to complete the data request. - remote_host=https://api.openeuler.org/pkgmanage - - ; Directory for storing temporary files during initialization and download. The directory will not be occupied for a long time. It is recommended that the available space be at least 1 GB. - temporary_directory=/opt/pkgship/tmp/ - - [LOG-Logs] - ; Service log storage path - log_path=/var/log/pkgship/ - - ; Log level. The options are as follows: - ; INFO DEBUG WARNING ERROR CRITICAL - log_level=INFO - - ; Maximum size of a service log file. If the size of a service log file exceeds the value of this parameter, the file is automatically compressed and dumped. The default value is 30 MB. - max_bytes=31457280 - - ; Maximum number of backup log files. The default value is 30. - backup_count=30 - - [UWSGI-Web Server Configuration] - ; Operation log path - daemonize=/var/log/pkgship-operation/uwsgi.log - ; Size of data transmitted between the front end and back end - buffer-size=65536 - ; Network connection timeout interval - http-timeout=600 - ; Service response time - harakiri=600 - - [REDIS-Cache Configuration] - ; The address of the Redis cache server can be the released domain or IP address that can be accessed. - ; The default link address is 127.0.0.1. - redis_host=127.0.0.1 - - ; Port number of the Redis cache server. The default value is 6379. - redis_port=6379 - - ; Maximum number of connections allowed by the Redis server at a time. - redis_max_connections=10 - - [DATABASE-Database] - ; Database access address. The default value is the IP address of the local host. - database_host=127.0.0.1 - - ; Database access port. The default value is 9200. - database_port=9200 - ``` - -2. Create a YAML configuration file to initialize the database. The **conf.yaml** file is stored in the **/etc/pkgship/** directory by default. The pkgship reads the name of the database to be created and the SQLite file to be imported based on this configuration. You can also configure the repo address of the SQLite file. An example of the **conf.yaml** file is as follows: - - ```yaml - dbname: oe20.03 #Database name - src_db_file: /etc/pkgship/repo/openEuler-20.09/src #Local path of the source package - bin_db_file: /etc/pkgship/repo/openEuler-20.09/bin #Local path of the binary package - priority: 1 #Database priority - - dbname: oe20.09 - src_db_file: https://repo.openeuler.org/openEuler-20.09/source #Repo source of the source package - bin_db_file: https://repo.openeuler.org/openEuler-20.09/everything/aarch64 #Repo source of the binary package - priority: 2 - ``` - - > To change the storage path, change the value of **init\_conf\_path** in the **package.ini** file. - > - > The SQLite file path cannot be configured directly. - > - > The value of **dbname** can contain only lowercase letters, digits, periods (.), hyphens (-), underscores (_), and plus signs (+), and must start and end with lower case letters or digits. - -## Starting and Stopping the Service - -The pkgship can be started and stopped in two modes: systemctl mode and pkgshipd mode. In systemctl mode, the automatic startup mechanism can be stopped when an exception occurs. You can run any of the following commands: - -```bash -systemctl start pkgship.service # Start the service. - -systemctl stop pkgship.service # Stop the service. - -systemctl restart pkgship.service # Restart the service. -``` - -```bash -pkgshipd start # Start the service. - -pkgshipd stop # Stop the service. -``` - -> Only one mode is supported in each start/stop period. The two modes cannot be used at the same time. -> -> The pkgshipd startup mode can be used only by the **pkgshipuser** user. -> -> If the **systemctl** command is not supported in the Docker environment, run the **pkgshipd** command to start or stop the service. - -## Using the Tool - -1. Initialize the database. - - > Application scenario: After the service is started, to query the package information and dependency in the corresponding database (for example, oe20.03 and oe20.09), you need to import the SQLite (including the source code library and binary library) generated by the **createrepo** to the service. Then insert the generated JSON body of the package information into the corresponding database of Elasticsearch. The database name is the value of d**bname-source/binary** generated based on the value of **dbname** in the **conf.yaml** file. - - ```bash - pkgship init [-filepath path] - ``` - - > Parameter description: - > **-filepath**: (Optional) Specifies the path of the initialization configuration file **config.yaml.** You can use either a relative path or an absolute path. If no parameter is specified, the default configuration is used for initialization. - -2. Query a single package. - - You can query details about a source package or binary package (**packagename**) in the specified **database** table. - - > Application scenario: You can query the detailed information about the source package or binary package in a specified database. - - ```bash - pkgship pkginfo $packageName $database [-s] - ``` - - > Parameter description: - > **packagename**: (Mandatory) Specifies the name of the software package to be queried. - > **database**: (Mandatory) Specifies the database name. - > - > **-s**: (Optional) Specifies that the source package `src` is to be queried by `-s`. If this parameter is not specified, the binary package information of `bin` is queried by default. - -3. Query all packages. - - Query information about all packages in the database. - - > Application scenario: You can query information about all software packages in a specified database. - - ```bash - pkgship list $database [-s] - ``` - - > Parameter description: - > **database**: (Mandatory) Specifies the database name. - > **-s**: (Optional) Specifies that the source package `src` is to be queried by `-s`. If this parameter is not specified, the binary package information of `bin` is queried by default. - -4. Query the installation dependency. - - Query the installation dependency of the binary package (**binaryName**). - - > Application scenario: When you need to install the binary package A, you need to install B, the installation dependency of A, and C, the installation dependency of B, etc. A can be installed only after all the installation dependencies are installed in the system. Therefore, before installing the binary package A, you may need to query all installation dependencies of A. You can run the following command to query multiple databases based on the default priority of the platform, and to customize the database query priority. - - ```bash - pkgship installdep [$binaryName $binaryName1 $binaryName2...] [-dbs] [db1 db2...] [-level] $level - ``` - - > Parameter description: - > **binaryName**: (Mandatory) Specifies the name of the dependent binary package to be queried. Multiple packages can be transferred. - > - > **-dbs:** (Optional) Specifies the priority of the database to be queried. If this parameter is not specified, the database is queried based on the default priority. - > - > **-level**: (Optional) Specifies the dependency level to be queried. If this parameter is not specified, the default value **0** is used, indicating that all levels are queried. - -5. Query the compilation dependency. - - Query all compilation dependencies of the source code package (**sourceName**). - - > Application scenario: To compile the source code package A, you need to install B, the compilation dependency package of A. To install B, you need to obtain all installation dependency packages of B. Therefore, before compiling the source code package A, you need to query the compilation dependencies of A and all installation dependencies of these compilation dependencies. You can run the following command to query multiple databases based on the default priority of the platform, and to customize the database query priority. - - ```bash - pkgship builddep [$sourceName $sourceName1 $sourceName2..] -dbs [db1 db2 ..] [-level] $level - ``` - - > Parameter description: - > **sourceName**: (Mandatory) Specifies the name of the source package on which the compilation depends. Multiple packages can be queried. - > - > **-dbs:** (Optional) Specifies the priority of the database to be queried. If this parameter is not specified, the database is queried based on the default priority. - > - > **-level**: (Optional) Specifies the dependency level to be queried. If this parameter is not specified, the default value **0** is used, indicating that all levels are queried. - -6. Query the self-compilation and self-installation dependencies. - - Query the installation and compilation dependencies of a specified binary package (**binaryName**) or source package (**sourceName**). In the command, **\[pkgName]** indicates the name of the binary package or source package to be queried. When querying a binary package, you can query all installation dependencies of the binary package, and the compilation dependencies of the source package corresponding to the binary package, as well as all installation dependencies of these compilation dependencies. When querying a source package, you can query its compilation dependency, and all installation dependencies of the compilation dependency, as well as all installation dependencies of the binary packages generated by the source package. In addition, you can run this command together with the corresponding parameters to query the self-compilation dependency of a software package and the dependency of a subpackage. - - > Application scenario: If you want to introduce a new software package based on the existing version library, you need to introduce all compilation and installation dependencies of the software package. You can run this command to query these two dependency types at the same time to know the packages introduced by the new software package, and to query binary packages and source packages. - - ```bash - pkgship selfdepend [$pkgName1 $pkgName2 $pkgName3 ..] [-dbs] [db1 db2..] [-b] [-s] [-w] - ``` - - > Parameter description: - > - > **pkgName**: (Mandatory) Specifies the name of the software package on which the installation depends. Multiple software packages can be transferred. - > - > **-dbs:** (Optional) Specifies the priority of the database to be queried. If this parameter is not specified, the database is queried based on the default priority. - > - > **-b**: (Optional) Specifies that the package to be queried is a binary package. If this parameter is not specified, the source package is queried by default. - > - > **-s**: (Optional) If **-s** is specified, all installation dependencies, compilation dependencies (that is, compilation dependencies of the source package on which compilation depends), and installation dependencies of all compilation dependencies of the software package are queried. If **-s** is not added, all installation dependencies and layer-1 compilation dependencies of the software package, as well as all installation dependencies of layer-1 compilation dependencies, are queried. - > - > **-w**: (Optional) If **-w** is specified, when a binary package is introduced, the query result displays the source package corresponding to the binary package and all binary packages generated by the source package. If **-w** is not specified, only the corresponding source package is displayed in the query result when a binary package is imported. - -7. Query dependency. - Query the packages that depend on the software package (**pkgName**) in a database (**dbName**). - - > Application scenario: You can run this command to query the software packages that will be affected by the upgrade or deletion of the software source package A. This command displays the source packages (for example, B) that depend on the binary packages generated by source package A (if it is a source package or the input binary package for compilation). It also displays the binary packages (for example, C1) that depend on A for installation. Then, it queries the source package (for example, D) that depend on the binary package generated by B C1 for compilation and the binary package (for example E1) for installation. This process continues until it traverses the packages that depend on the binary packages. - - ```bash - pkgship bedepend dbName [$pkgName1 $pkgName2 $pkgName3] [-w] [-b] [-install/build] - ``` - - > Parameter description: - > - > **dbName**: (Mandatory) Specifies the name of the repository whose dependency needs to be queried. Only one repository can be queried each time. - > - > **pkgName**: (Mandatory) Specifies the name of the software package to be queried. Multiple software packages can be queried. - > - > **-w**: (Optional) If **-w** is not specified, the query result does not contain the subpackages of the corresponding source package by default. If **\[-w]** is specified after the command, not only the dependency of binary package C1 is queried, but also the dependency of other binary packages (such as C2 and C3) generated by source package C corresponding to C1 is queried. - > - > **-b**: (Optional) Specifies `-b` and indicates that the package to be queried is a binary package. By default, the source package is queried. - > - > **-install/build**: (Optional) `-install` indicates that installation dependencies are queried. `-build` indicates that build dependencies are queried. By default, all dependencies are queried. `-install` and `-build` are exclusive to each other. - -8. Query the database information. - - > Application scenario: Check which databases are initialized in Elasticsearch. This function returns the list of initialized databases based on the priority. - - `pkgship dbs` - -9. Obtain the version number. - - > Application scenario: Obtain the version number of the pkgship software. - - `pkgship -v` - -## Viewing and Dumping Logs - -**Viewing Logs** - -When the pkgship service is running, two types of logs are generated: service logs and operation logs. - -1. Service logs: - - Path: **/var/log/pkgship/log\_info.log**. You can customize the path through the **log\_path** field in the **package.ini** file. - - Function: This log records the internal running of the code to facilitate fault locating. - - Permission: The permissions on the path and the log file are 755 and 644, respectively. Common users can view the log file. - -2. Operation logs: - - Path: **/var/log/pkgship-operation/uwsgi.log**. You can customize the path through the **daemonize** field in the **package.ini** file. - - Function: This log records user operation information, including the IP address, access time, URL, and result, to facilitate subsequent queries and record attacker information. - - Permission: The permissions on the path and the log file are 700 and 644, respectively. Only the **root** and **pkgshipuser** users can view the log file. - -**Dumping Logs** - -1. Service log dumping: - - - Dumping mechanism - - Use the dumping mechanism of the logging built-in function of Python to back up logs based on the log size. - - > The items are used to configure the capacity and number of backups of each log in the **package.ini** file. - - ```ini - ; Maximum capacity of each file, the unit is byte, default is 30M - max_bytes=31457280 - - ; Number of old logs to keep;default is 30 - backup_count=30 - ``` - - - Dumping process - - After a log is written, if the size of the log file exceeds the configured log capacity, the log file is automatically compressed and dumped. The compressed file name is **log\_info.log.***x***.gz**, where *x* is a number. A smaller number indicates a later backup. - - When the number of backup log files reaches the threshold, the earliest backup log file is deleted and the latest compressed log file is backed up. - -2. Operation log dumping: - - - Dumping mechanism - - A script is used to dump data by time. Data is dumped once a day and is retained for 30 days. Customized configuration is not supported. - - > The script is stored in **/etc/pkgship/uwsgi\_logrotate.sh**. - - - Dumping process - - When the pkgship is started, the script for dumping data runs in the background. From the startup, dumping and compression are performed every other day. A total of 30 compressed files are retained. The compressed file name is **uwsgi.log-20201010*x*.zip**, where *x* indicates the hour when the file is compressed. - - After the pkgship is stopped, the script for dumping data is stopped and data is not dumped . When the pkgship is started again, the script for dumping data is executed again. - -## pkgship-panel - -### Introduction - -pkgship-panel integrates software package build information and maintenance information so that version maintenance personnel can quickly identify abnormal software packages and notify the package owners to solve the problems, ensuring build project stability and improving the OS build success rate. - -### Architecture - -![](images/panel.png) - -### Using the Tool - -The data source of pkgship-panel cannot be configured. You are advised to use the [pkgship-panel official website](https://pkgmanage.openeuler.org/Infomanagement). diff --git a/docs/en/tools/maintenance/_toc.yaml b/docs/en/tools/maintenance/_toc.yaml index 88085c9aaac8227587cc7b626548798ca65785c9..3237328c7950f0e0ec284999f495820c85d2a4d0 100644 --- a/docs/en/tools/maintenance/_toc.yaml +++ b/docs/en/tools/maintenance/_toc.yaml @@ -2,9 +2,11 @@ label: O&M sections: - label: Hot Patch Creation sections: - - href: ../../server/maintenance/syscare/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/syscare/blob/master/docs/en/_toc.yaml + path: ./maintenance/syscare - label: System Monitoring sections: - href: upstream: https://gitee.com/openeuler/sysmonitor/blob/master/docs/en/_toc.yaml - path: ./sysmonitor + path: ./maintenance/sysmonitor \ No newline at end of file diff --git a/docs/en/tools/ros/_toc.yaml b/docs/en/tools/ros/_toc.yaml deleted file mode 100644 index ba231fd05be58dd83cc67bf5b899b557116e1586..0000000000000000000000000000000000000000 --- a/docs/en/tools/ros/_toc.yaml +++ /dev/null @@ -1,16 +0,0 @@ -label: ROS User Guide -isManual: true -description: Install, deploy, and use ROS on openEuler. -sections: - - label: ROS User Guide - href: ./ros_user_guide.md - - label: Getting to Know ROS - href: ./getting_to_know_ros.md - - label: Installation and Deployment - href: ./installation_and_deployment.md - - label: Usage - href: ./usage_guide.md - - label: Common Issues and Solutions - href: ./faqs_and_solutions.md - - label: Appendix - href: ./appendix.md diff --git a/docs/en/tools/ros/appendix.md b/docs/en/tools/ros/appendix.md deleted file mode 100644 index 07a1eb1ea8cbaa02e9eef550cd94a56dc0cf39f8..0000000000000000000000000000000000000000 --- a/docs/en/tools/ros/appendix.md +++ /dev/null @@ -1,3 +0,0 @@ -# Appendix - -For more about ROS, visit [ROS wiki](https://wiki.ros.org/) and [ROS docs](http://docs.ros.org/). diff --git a/docs/en/tools/ros/faqs_and_solutions.md b/docs/en/tools/ros/faqs_and_solutions.md deleted file mode 100644 index f5933a9ead3745a027a0d2e32590438e052dd47c..0000000000000000000000000000000000000000 --- a/docs/en/tools/ros/faqs_and_solutions.md +++ /dev/null @@ -1,3 +0,0 @@ -# Common Issues and Solutions - -This document is currently not available in English. diff --git a/docs/en/tools/ros/figures/ROS-ROS2.png b/docs/en/tools/ros/figures/ROS-ROS2.png deleted file mode 100644 index 649c0aa93b0a3710f027ecf9df2482920f16301e..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/ros/figures/ROS-ROS2.png and /dev/null differ diff --git a/docs/en/tools/ros/figures/ROS-demo.png b/docs/en/tools/ros/figures/ROS-demo.png deleted file mode 100644 index 184ae905d022e52adbac7fcee59d956903e1ff5c..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/ros/figures/ROS-demo.png and /dev/null differ diff --git a/docs/en/tools/ros/figures/ROS-release.png b/docs/en/tools/ros/figures/ROS-release.png deleted file mode 100644 index bf7c1cb7b2b0b60ec375613d32e09ecd0a9174d0..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/ros/figures/ROS-release.png and /dev/null differ diff --git a/docs/en/tools/ros/figures/ROS2-release.png b/docs/en/tools/ros/figures/ROS2-release.png deleted file mode 100644 index dc606412c467714af1d05c92b244ecfef63664f6..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/ros/figures/ROS2-release.png and /dev/null differ diff --git a/docs/en/tools/ros/figures/problem.png b/docs/en/tools/ros/figures/problem.png deleted file mode 100644 index 9f690fb99cac9b957a6601b6eca3a011bee12273..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/ros/figures/problem.png and /dev/null differ diff --git a/docs/en/tools/ros/figures/ros-humble.png b/docs/en/tools/ros/figures/ros-humble.png deleted file mode 100644 index a6079358d9df9b983d82679af067a634fe5c05c3..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/ros/figures/ros-humble.png and /dev/null differ diff --git a/docs/en/tools/ros/figures/turtlesim.png b/docs/en/tools/ros/figures/turtlesim.png deleted file mode 100644 index ebc8368f7e8e6a4b44075ad402b492638d636181..0000000000000000000000000000000000000000 Binary files a/docs/en/tools/ros/figures/turtlesim.png and /dev/null differ diff --git a/docs/en/tools/ros/getting_to_know_ros.md b/docs/en/tools/ros/getting_to_know_ros.md deleted file mode 100644 index 989b9d313f90823b7a53b0f3a3b9237d77adbdb0..0000000000000000000000000000000000000000 --- a/docs/en/tools/ros/getting_to_know_ros.md +++ /dev/null @@ -1,3 +0,0 @@ -# Getting to Know ROS - -This document is currently not available in English. diff --git a/docs/en/tools/ros/installation_and_deployment.md b/docs/en/tools/ros/installation_and_deployment.md deleted file mode 100644 index 186f2509479870128db9eb87374b6131dfce770b..0000000000000000000000000000000000000000 --- a/docs/en/tools/ros/installation_and_deployment.md +++ /dev/null @@ -1,3 +0,0 @@ -# Installation and Deployment - -This document is currently not available in English. diff --git a/docs/en/tools/ros/ros_user_guide.md b/docs/en/tools/ros/ros_user_guide.md deleted file mode 100644 index c4f1798771e0dd8e583ad1c5bfb552aecadfbb7c..0000000000000000000000000000000000000000 --- a/docs/en/tools/ros/ros_user_guide.md +++ /dev/null @@ -1,5 +0,0 @@ -# ROS User Guide - -This document describes the installation and usage of the Robot Operating System (ROS) on openEuler. - -This document is intended for developers, open source enthusiasts, and partners who use openEuler and want to know and use ROS. You need to have basic knowledge of the Linux OS. diff --git a/docs/en/tools/ros/usage_guide.md b/docs/en/tools/ros/usage_guide.md deleted file mode 100644 index fdef6804f1b60f0e5ae25973ca4150ed6254ba08..0000000000000000000000000000000000000000 --- a/docs/en/tools/ros/usage_guide.md +++ /dev/null @@ -1,3 +0,0 @@ -# Usage - -This document is currently not available in English. diff --git a/docs/zh/edge_computing/_toc.yaml b/docs/zh/edge_computing/_toc.yaml index 60d60496c1a8ec8b33fdc446382fced63b2a4eae..9e952a9329f20715e7cc7b266fc104e16b99a53d 100644 --- a/docs/zh/edge_computing/_toc.yaml +++ b/docs/zh/edge_computing/_toc.yaml @@ -1,4 +1,4 @@ label: 边缘计算 sections: - - href: ./kube_edge/_toc.yaml - - href: ./k3s/_toc.yaml + - href: + upstream: https://gitee.com/src-openeuler/k3s/blob/master/docs/zh/_toc.yaml diff --git a/docs/zh/edge_computing/k3s/_toc.yaml b/docs/zh/edge_computing/k3s/_toc.yaml deleted file mode 100644 index bdc72240b6f340bbe3eabd3ebfc17772a3fb2868..0000000000000000000000000000000000000000 --- a/docs/zh/edge_computing/k3s/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: K3s部署指南 -isManual: true -description: K3s 是一个轻量级的 Kubernetes 发行版,针对边缘计算等场景进行了优化 -sections: - - label: K3s部署指南 - href: ./k3s_deployment_guide.md diff --git a/docs/zh/edge_computing/k3s/figures/agent-install.png b/docs/zh/edge_computing/k3s/figures/agent-install.png deleted file mode 100644 index dca1d64ec8aae821393bb715daf4c56b783a68e0..0000000000000000000000000000000000000000 Binary files a/docs/zh/edge_computing/k3s/figures/agent-install.png and /dev/null differ diff --git a/docs/zh/edge_computing/k3s/figures/check-agent.png b/docs/zh/edge_computing/k3s/figures/check-agent.png deleted file mode 100644 index aa467713353d70ad513e8ee13ac9d8b6520b7ee0..0000000000000000000000000000000000000000 Binary files a/docs/zh/edge_computing/k3s/figures/check-agent.png and /dev/null differ diff --git a/docs/zh/edge_computing/k3s/figures/check-server.png b/docs/zh/edge_computing/k3s/figures/check-server.png deleted file mode 100644 index 06343de9a8b0eacb0f6194cf438b2b27af88cae4..0000000000000000000000000000000000000000 Binary files a/docs/zh/edge_computing/k3s/figures/check-server.png and /dev/null differ diff --git a/docs/zh/edge_computing/k3s/figures/server-install.png b/docs/zh/edge_computing/k3s/figures/server-install.png deleted file mode 100644 index 7d30c8f4f73946c8b0555186c1736492039da731..0000000000000000000000000000000000000000 Binary files a/docs/zh/edge_computing/k3s/figures/server-install.png and /dev/null differ diff --git a/docs/zh/edge_computing/k3s/figures/set-hostname.png b/docs/zh/edge_computing/k3s/figures/set-hostname.png deleted file mode 100644 index 32564d6159825b6d4131a6b138a493188ce88c6c..0000000000000000000000000000000000000000 Binary files a/docs/zh/edge_computing/k3s/figures/set-hostname.png and /dev/null differ diff --git a/docs/zh/edge_computing/k3s/figures/token.png b/docs/zh/edge_computing/k3s/figures/token.png deleted file mode 100644 index 79e5313bd1d5e707659cd08d4aafdf528b9df8f0..0000000000000000000000000000000000000000 Binary files a/docs/zh/edge_computing/k3s/figures/token.png and /dev/null differ diff --git a/docs/zh/edge_computing/k3s/figures/yum-install.png b/docs/zh/edge_computing/k3s/figures/yum-install.png deleted file mode 100644 index 0e601a23a5a67e7927f12bc90d1a4137e1a3a567..0000000000000000000000000000000000000000 Binary files a/docs/zh/edge_computing/k3s/figures/yum-install.png and /dev/null differ diff --git a/docs/zh/edge_computing/k3s/k3s_deployment_guide.md b/docs/zh/edge_computing/k3s/k3s_deployment_guide.md deleted file mode 100644 index f93bc3049311b561b601f6c0f825fc93c0df0e32..0000000000000000000000000000000000000000 --- a/docs/zh/edge_computing/k3s/k3s_deployment_guide.md +++ /dev/null @@ -1,90 +0,0 @@ -# K3s部署指南 - -## 什么是K3s - -K3s 是一个轻量级的 Kubernetes 发行版,它针对边缘计算、物联网等场景进行了高度优化。K3s 有以下增强功能: - -- 打包为单个二进制文件。 -- 使用基于 sqlite3 的轻量级存储后端作为默认存储机制。同时支持使用 etcd3、MySQL 和 PostgreSQL 作为存储机制。 -- 封装在简单的启动程序中,通过该启动程序处理很多复杂的 TLS 和选项。 -- 默认情况下是安全的,对轻量级环境有合理的默认值。 -- 添加了简单但功能强大的batteries-included功能,例如:本地存储提供程序,服务负载均衡器,Helm controller 和 Traefik Ingress controller。 -- 所有 Kubernetes control-plane 组件的操作都封装在单个二进制文件和进程中,使 K3s 具有自动化和管理包括证书分发在内的复杂集群操作的能力。 -- 最大程度减轻了外部依赖性,K3s 仅需要 kernel 和 cgroup 挂载。 - -## 适用场景 - -K3s 适用于以下场景: - -- 边缘计算(Edge Computing) -- 物联网(Internet of Things,IoT) -- 持续集成(Continuous Integration,CI) -- 开发(Development) -- 基于ARM的单板计算机(ARM-based single-board computers) -- 嵌入式K8s(Embedded K8s) - -由于运行 K3s 所需的资源相对较少,所以 K3s 也适用于开发和测试场景。在这些场景中,如果开发或测试人员需要对某些功能进行验证,或对某些问题进行重现,那么使用 K3s 不仅能够缩短启动集群的时间,还能够减少集群需要消耗的资源。 - -## 部署K3s - -### 准备工作 - -- 确保server节点及agent节点主机名不一致: - -可以通过 hostnamectl set-hostname “主机名” 进行主机名的修改。 - -![1661829534335](./figures/set-hostname.png) - -- 在各节点yum 安装 K3s: - - K3s官网采用下载对应架构二进制可执行文件的格式,通过install.sh脚本进行离线安装,openEuler社区将该二进制文件的编译过程移植到社区中,并编译出RPM包。此处可通过yum命令直接进行下载安装。 - -![1661830441538](./figures/yum-install.png) - -### 部署server节点 - -如需在单个服务器上安装 K3s,可以在 server 节点上执行如下操作: - -```sh -INSTALL_K3S_SKIP_DOWNLOAD=true k3s-install.sh -``` - -![1661825352724](./figures/server-install.png) - -### 检查server部署情况 - -![1661825403705](./figures/check-server.png) - -### 部署agent节点 - -首先查询server节点的token值,该token可在server节点的/var/lib/rancher/k3s/server/node-token查到。 - -> **注意**: -> -> 后续我们只用到该token的后半部分。 - -![1661825538264](./figures/token.png) - -选择添加其他 agent,请在每个 agent 节点上执行以下操作。 - -```sh -INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken k3s-install.sh -``` - -> **注意** -> -> 将 myserver 替换为 server 的 IP 或有效的 DNS,并将 mynodetoken 替换 server 节点的 token: - -![1661829392357](./figures/agent-install.png) - -### 检查agent节点是否部署成功 - -安装完毕后,回到 **server** 节点,执行 `kubectl get nodes`,可以看到agent节点已注册成功。 - -![1661826797319](./figures/check-agent.png) - -至此,一个基础的k3s集群搭建完成。 - -### 更多用法 - -K3s的更多用法可以参考K3s官网, diff --git a/docs/zh/edge_computing/kube_edge/_toc.yaml b/docs/zh/edge_computing/kube_edge/_toc.yaml deleted file mode 100644 index 637d080313503f2b499f36c559a229151d6bdcb9..0000000000000000000000000000000000000000 --- a/docs/zh/edge_computing/kube_edge/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: KubeEdge部署指南 -isManual: true -description: KubeEdge 将 Kubernetes 的能力延伸到了边缘场景中 -sections: - - label: KubeEdge使用文档 - href: ./kubeedge_usage_guide.md - - label: KubeEdge部署指南 - href: ./kubeedge_deployment_guide.md diff --git a/docs/zh/edge_computing/kube_edge/kubeedge_deployment_guide.md b/docs/zh/edge_computing/kube_edge/kubeedge_deployment_guide.md deleted file mode 100644 index 275ead8f7abf5e503685cf06bd08ecb04a797710..0000000000000000000000000000000000000000 --- a/docs/zh/edge_computing/kube_edge/kubeedge_deployment_guide.md +++ /dev/null @@ -1,224 +0,0 @@ -# KubeEdge 部署指南 - -## 介绍 - -### KubeEdge - -KubeEdge 是一个致力于解决边缘场景问题的开源系统,它将容器化应用程序编排和设备管理的能力扩展到边缘设备。基于 Kubernetes、KubeEdge 为网络、应用程序部署以及云侧与边缘侧之间的元数据同步提供核心基础设施支持。KubeEdge 支持 MQTT,并允许开发人员编写自定义逻辑,在边缘上启用资源受限的设备通信。KubeEdge 由云部分和边缘部分组成,目前均已开源。 - -> - -### iSulad - -iSulad 是一个轻量级容器 runtime 守护程序,专为 IOT 和 Cloud 基础设施而设计,具有轻便、快速且不受硬件规格和体系结构限制的特性,可以被更广泛地应用在云、IoT、边缘计算等多个场景。 - -> - -## 集群概览 - -### 组件版本 - -| 组件 | 版本 | -| ---------- | --------------------------------- | -| OS | openEuler 25.03 | -| Kubernetes | 1.20.2-4 | -| iSulad | 2.0.11 | -| KubeEdge | v1.8.0 | - -### 节点规划(示例) - -| 节点名 | 位置 | 组件 | -| -------------- | ------------ | ------------------------------ | -| cloud.kubeedge | 云侧(cloud) | k8s(master)、isulad、cloudcore | -| edge.kubeedge | 边缘侧(edge) | isulad、edgecore | - -> 提示:云侧和边缘侧的主机名可以使用 `hostnamectl set-hostname [cloud,edge].kubeedge` 命令提前设置好 - -## 准备 - -### 下载工具包 - -[kubeedge-tools](https://gitee.com/Poorunga/kubeedge-tools) 工具包提供了完备的离线安装包以及部署脚本,降低了部署复杂度,并且支持在节点无法访问外网的条件下快速搭建 KubeEdge 集群。 - -```bash -# 下载 kubeedge-tools 工具包并解压(包括云侧和边缘侧) -$ wget -O kubeedge-tools.zip https://gitee.com/Poorunga/kubeedge-tools/repository/archive/master.zip -$ unzip kubeedge-tools.zip - -# 进入 kubeedge-tools 工具包目录(后续所有操作基于此目录) -$ cd kubeedge-tools-master -``` - -### 部署 k8s - -以下操作仅在云侧执行。 - -#### 初始化云侧环境 - -```bash -$ ./setup-cloud.sh -``` - -#### 安装 k8s - -k8s 的安装部署使用 openEuler 25.03 的版本。 - -#### 安装云侧容器网络 - -目前有丰富的 cni 软件可以为 k8s 节点提供容器网络功能,比如 [flannel](https://github.com/flannel-io/flannel)、[calico](https://github.com/projectcalico/calico)、[cilium](https://github.com/cilium/cilium) 等,如果你暂时不明确选用哪款 cni 软件,可以使用下方命令安装云侧容器网络: - -```bash -$ ./install-flannel-cloud.sh -``` - -#### 检查部署情况 - -```bash -# 查看节点状态(Ready 即正常) -$ kubectl get nodes -NAME STATUS ROLES AGE VERSION -cloud.kubeedge Ready control-plane,master 12m v1.20.2 - -# 查看所有 k8s 组件运行状态(Running 即正常) -$ kubectl get pods -n kube-system -NAME READY STATUS RESTARTS AGE -coredns-74ff55c5b-4ptkh 1/1 Running 0 15m -coredns-74ff55c5b-zqx5n 1/1 Running 0 15m -etcd-cloud.kubeedge 1/1 Running 0 15m -kube-apiserver-cloud.kubeedge 1/1 Running 0 15m -kube-controller-manager-cloud.kubeedge 1/1 Running 0 15m -kube-flannel-cloud-ds-lvh4n 1/1 Running 0 13m -kube-proxy-2tcnn 1/1 Running 0 15m -kube-scheduler-cloud.kubeedge 1/1 Running 0 15m -``` - -## 部署 - -### 部署 cloudcore - -以下操作仅在云侧执行。 - -#### 初始化集群 - -```bash -# --advertise-address 填写云侧节点的主机 IP 地址 -$ keadm init --advertise-address="云侧IP" --kubeedge-version=1.8.0 -... -CloudCore started -``` - -#### 调整 cloudcore 配置 - -```bash -$ ./patch-cloud.sh -``` - -#### 检查部署情况 - -```bash -# active (running)即正常 -$ systemctl status cloudcore | grep running - Active: active (running) since Fri 2022-03-04 10:54:30 CST; 5min ago -``` - -至此,云侧的 cloudcore 已部署完成,接下来部署边缘侧 edgecore。 - -### 部署 edgecore - -以下命令如无特殊说明则仅在边缘侧执行。 - -#### 初始化边缘侧环境 - -```bash -$ ./setup-edge.sh -``` - -#### 纳管边缘节点 - -```bash -# keadm gettoken 命令需要在云侧执行 -$ keadm gettoken -96058ab80ffbeb87fe58a79bfb19ea13f9a5a6c3076a17c00f80f01b406b4f7c.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY0NDg4NzF9.1mJegWB7SUVjgf-OvAqILgbZXeMHR9eOzMxpNFc42SI -# 记录并保存此 token 值,后续步骤需要使用 - - -# keadm join 命令在边缘侧执行 -# --cloudcore-ipport 填写云侧节点的主机 IP 地址:10000,--token 填写上方 token 值 -$ keadm join --cloudcore-ipport=云侧IP:10000 --kubeedge-version=1.8.0 --token=96058ab80ffbeb87fe58a79bfb19ea13f9a5a6c3076a17c00f80f01b406b4f7c.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY0NDg4NzF9.1mJegWB7SUVjgf-OvAqILgbZXeMHR9eOzMxpNFc42SI -... -KubeEdge edgecore is running... -``` - -#### 调整 edgecore 配置 - -```bash -$ ./patch-edge.sh -``` - -#### 安装边缘侧容器网络 - -如果你暂时不明确选用哪款 cni 软件,可以使用下方命令安装边缘侧容器网络: - -```bash -# 下方命令需要在云侧执行 -$ ./install-flannel-edge.sh -``` - -#### 检查边缘节点是否纳管成功 - -```bash -# 下方命令需要在云侧执行(发现已经有了边缘节点) -$ kubectl get nodes -NAME STATUS ROLES AGE VERSION -cloud.kubeedge Ready control-plane,master 1h v1.20.2 -edge.kubeedge Ready agent,edge 10m v1.19.3-kubeedge-v1.8.0 -``` - -至此,KubeEdge 集群部署完成,接下来我们测试一下从云侧下发应用到边缘侧。 - -### 部署应用 - -以下命令在云侧执行。 - -#### 部署nginx - -```bash -$ kubectl apply -f yamls/nginx-deployment.yaml -deployment.apps/nginx-deployment created - -# 查看应用是否部署到了边缘侧(Running 即正常) -$ kubectl get pod -owide | grep nginx -nginx-deployment-84b99f4bf-jb6sz 1/1 Running 0 30s 10.244.1.2 edge.kubeedge -``` - -#### 测试功能 - -```bash -# 进入边缘侧节点,访问 nginx 应用 -$ curl 10.244.1.2:80 - - - -Welcome to nginx! - - - -

Welcome to nginx!

-

If you see this page, the nginx web server is successfully installed and -working. Further configuration is required.

- -

For online documentation and support please refer to -nginx.org.
-Commercial support is available at -nginx.com.

- -

Thank you for using nginx.

- - -``` - -至此,KubeEdge 部署已经全流程打通。 diff --git a/docs/zh/edge_computing/kube_edge/kubeedge_usage_guide.md b/docs/zh/edge_computing/kube_edge/kubeedge_usage_guide.md deleted file mode 100644 index 7fead00b78d0832b8fbd219e059179b3acb95423..0000000000000000000000000000000000000000 --- a/docs/zh/edge_computing/kube_edge/kubeedge_usage_guide.md +++ /dev/null @@ -1,224 +0,0 @@ -# KubeEdge使用文档 - -KubeEdge将Kubernetes的能力延伸到了边缘场景中,为云和边缘之间的网络,应用部署和元数据同步提供基础架构支持。KubeEdge在使用上与Kubernetes保持完全一致,除此之外还扩展了对边缘设备的管理与控制。本节将通过一个简单的例子向用户演示如何通过KubeEdge完成设备边云协同任务。 - -## 1. 准备工作 - -选用示例:**KubeEdge Counter Demo** - -计数器是一个伪设备,用户无需任何额外的物理设备即可运行此演示。计数器在边缘侧运行,用户可以从云侧在Web中对其进行控制,也可以从云侧在Web中获得计数器值。原理图如下: - -详细文档参考: - -1. 本示例要求KubeEdge版本必须是v1.2.1+,此次选择最新版的KubeEdge v1.8.0 - - ```sh - [root@ke-cloud ~]# kubectl get node - NAME STATUS ROLES AGE VERSION - ke-cloud Ready master 13h v1.20.2 - ke-edge1 Ready agent,edge 64s v1.19.3-kubeedge-v1.8.0 - - 说明:本文接下来的验证将使用边缘节点ke-edge1进行,如果你参考本文进行相关验证,后续边缘节点名称的配置需要根据你的实际情况进行更改。 - ``` - -2. 确保k8s apiserver开启了以下配置: - - ```shell - --insecuret-port=8080 - --insecure-bind-address=0.0.0.0 - ``` - - 可以通过修改/etc/kubernetes/manifests/kube-apiserver.yaml文件,并重启k8s-apiserver组件的pod来进行更改。 - -3. 下载示例代码: - - ```sh - [root@ke-cloud ~]# git clone https://github.com/kubeedge/examples.git $GOPATH/src/github.com/kubeedge/examples - ``` - -## 2. 创建device model和device - -1. 创建device model - - ```sh - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds - [root@ke-cloud crds~]# kubectl create -f kubeedge-counter-model.yaml - ``` - -2. 创建device - - 根据你的实际情况修改matchExpressions: - - ```sh - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds - [root@ke-cloud crds~]# vim kubeedge-counter-instance.yaml - apiVersion: devices.kubeedge.io/v1alpha1 - kind: Device - metadata: - name: counter - labels: - description: 'counter' - manufacturer: 'test' - spec: - deviceModelRef: - name: counter-model - nodeSelector: - nodeSelectorTerms: - - matchExpressions: - - key: 'kubernetes.io/hostname' - operator: In - values: - - ke-edge1 - - status: - twins: - - propertyName: status - desired: - metadata: - type: string - value: 'OFF' - reported: - metadata: - type: string - value: '0' - - [root@ke-cloud crds~]# kubectl create -f kubeedge-counter-instance.yaml - ``` - -## 3. 部署云端应用 - -1. 修改代码 - - 云端应用web-controller-app用来控制边缘端的pi-counter-app应用,该程序默认监听的端口号为80,此处修改为8089,如下所示: - - ```sh - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/web-controller-app - [root@ke-cloud web-controller-app~]# vim main.go - package main - - import ( - "github.com/astaxie/beego" - "github.com/kubeedge/examples/kubeedge-counter-demo/web-controller-app/controller" - ) - - func main() { - beego.Router("/", new(controllers.TrackController), "get:Index") - beego.Router("/track/control/:trackId", new(controllers.TrackController), "get,post:ControlTrack") - - beego.Run(":8089") - } - ``` - -2. 构建镜像 - - 注意:构建镜像时,请将源码拷贝到GOPATH对应的路径下,如果开启了go mod请关闭。 - - ```sh - [root@ke-cloud web-controller-app~]# make all - [root@ke-cloud web-controller-app~]# make docker - ``` - -3. 部署web-controller-app - - ```sh - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds - [root@ke-cloud crds~]# kubectl apply -f kubeedge-web-controller-app.yaml - ``` - -## 4. 部署边缘端应用 - -边缘端的pi-counter-app应用受云端应用控制,主要与mqtt服务器通信,进行简单的计数功能。 - -1. 修改代码与构建镜像 - - 需要将Makefile中的GOARCH修改为amd64才能运行该容器。 - - ```sh - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/counter-mapper - [root@ke-cloud counter-mapper~]# vim Makefile - .PHONY: all pi-execute-app docker clean - all: pi-execute-app - - pi-execute-app: - GOARCH=amd64 go build -o pi-counter-app main.go - - docker: - docker build . -t kubeedge/kubeedge-pi-counter:v1.0.0 - - clean: - rm -f pi-counter-app - - [root@ke-cloud counter-mapper~]# make all - [root@ke-cloud counter-mapper~]# make docker - ``` - -2. 部署Pi Counter App - - ```sh - [root@ke-cloud ~]# cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds - [root@ke-cloud crds~]# kubectl apply -f kubeedge-pi-counter-app.yaml - - 说明:为了防止Pod的部署卡在`ContainerCreating`,这里直接通过docker save、scp和docker load命令将镜像发布到边缘端 - - [root@ke-cloud ~]# docker save -o kubeedge-pi-counter.tar kubeedge/kubeedge-pi-counter:v1.0.0 - [root@ke-cloud ~]# scp kubeedge-pi-counter.tar root@192.168.1.56:/root - [root@ke-edge1 ~]# docker load -i kubeedge-pi-counter.tar - ``` - -## 5. 体验Demo - -现在,KubeEdge Demo的云端部分和边缘端的部分都已经部署完毕,如下: - -```sh -[root@ke-cloud ~]# kubectl get pods -o wide -NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES -kubeedge-counter-app-758b9b4ffd-f8qjj 1/1 Running 0 26m 192.168.1.66 ke-cloud -kubeedge-pi-counter-c69698d6-rb4xz 1/1 Running 0 2m 192.168.1.56 ke-edge1 -``` - -我们现在开始测试一下该Demo运行效果: - -1. 执行ON命令 - - 在web页面上选择ON,并点击Execute,可以在edge节点上通过以下命令查看执行结果: - - ```sh - [root@ke-edge1 ~]# docker logs -f counter-container-id - ``` - -2. 查看counter STATUS - - 在web页面上选择STATUS,并点击Execute,会在Web页面上返回counter当前的status。 - -3. 执行OFF命令 - - 在web页面上选择OFF,并点击Execute,可以再edge节点上通过以下命令查看执行结果: - - ```sh - [root@ke-edge1 ~]# docker logs -f counter-container-id - ``` - -## 6. 其他 - -1. 更多的KubeEdge官方示例请参考 - - |Name | Description | - |---|---| - |[LED-RaspBerry-Pi](https://github.com/kubeedge/examples/blob/master/led-raspberrypi/README.md) |Controlling a LED light with Raspberry Pi using KubeEdge platform.| - |[Data Analysis @ Edge](https://github.com/kubeedge/examples/blob/master/apache-beam-analysis/README.md) | Analyzing data at edge by using Apache Beam and KubeEdge.| - |[Security@Edge](https://github.com/kubeedge/examples/blob/master/security-demo/README.md) | Security at edge using SPIRE for identity management.| - |[Bluetooth-CC2650-demo](https://github.com/kubeedge/examples/blob/master/bluetooth-CC2650-demo/README.md) |Controlling a CC2650 SensorTag bluetooth device using KubeEdge platform.| - |[Play Music @Edge through WeChat](https://github.com/kubeedge/examples/blob/master/wechat-demo/README.md) | Play music at edge based on WeChat and KubeEdge.| - |[Play Music @Edge through Web](https://github.com/kubeedge/examples/blob/master/web-demo/README.md) | Play music at edge based on Web and KubeEdge.| - |[Collecting temperature @Edge](https://github.com/kubeedge/examples/blob/master/temperature-demo/README.md) | Collecting temperature at edge based KubeEdge.| - |[Control pseudo device counter and collect data](https://github.com/kubeedge/examples/blob/master/kubeedge-counter-demo/README.md) | Control pseudo device counter and collect data based KubeEdge.| - |[Play Music @Edge through Twitter](https://github.com/kubeedge/examples/blob/master/ke-twitter-demo/README.md)| Play music at edge based on Twitter and KubeEdge.| - |[Control Zigbee @Edge through cloud](https://github.com/kubeedge/examples/blob/master/kubeedge-edge-ai-application/README.md) | Face detection at cloud using OpenCV and using it to control zigbee on edge using Kubeedge.| - -2. 使用EdgeMesh做边缘服务发现 - - - -3. 自定义云边消息路由 - - diff --git a/docs/zh/server/_toc.yaml b/docs/zh/server/_toc.yaml index c0d1da4e6bdcceda701d910eb0e0e188f7c789c1..8cafba982213c8aee8d9cf75880ee63ac7194b8e 100644 --- a/docs/zh/server/_toc.yaml +++ b/docs/zh/server/_toc.yaml @@ -2,7 +2,7 @@ label: 服务器 sections: - label: 从这里开始 sections: - - href: ./releasenotes/releasenotes/_toc.yaml + - href: ./quickstart/releasenotes/_toc.yaml - href: ./quickstart/quickstart/_toc.yaml - label: 安装升级 sections: @@ -13,17 +13,17 @@ sections: - href: ./administration/administrator/_toc.yaml - href: upstream: http://gitee.com/openeuler/sysmaster/blob/master/docs/zh/_toc.yaml - path: ./sysmaster + path: ./administration/sysmaster - href: ./administration/compa_command/_toc.yaml - label: 系统运维 sections: - - href: ./maintenance/aops/_toc.yaml - href: ./maintenance/gala/_toc.yaml - href: upstream: https://gitee.com/openeuler/sysmonitor/blob/master/docs/zh/_toc.yaml - path: ./sysmonitor - - href: ./maintenance/kernel_live_upgrade/_toc.yaml - - href: ./maintenance/syscare/_toc.yaml + path: ./maintenance/sysmonitor + - href: + upstream: https://gitee.com/openeuler/syscare/blob/master/docs/zh/_toc.yaml + path: ./maintenance/syscare - href: ./maintenance/common_skills/_toc.yaml - href: ./maintenance/common_tools/_toc.yaml - href: ./maintenance/troubleshooting/_toc.yaml @@ -32,7 +32,9 @@ sections: - href: ./security/secharden/_toc.yaml - href: ./security/trusted_computing/_toc.yaml - href: ./security/secgear/_toc.yaml - - href: ./security/cve-ease/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/cve-ease/blob/master/docs/zh/master/_toc.yaml + path: ./security/cve_ease - href: ./security/cert_signature/_toc.yaml - href: ./security/sbom/_toc.yaml - href: ./security/shangmi/_toc.yaml @@ -40,54 +42,68 @@ sections: sections: - href: upstream: https://gitee.com/openeuler/Storage-docs/blob/master/docs/zh/lvm/_toc.yaml - path: ./lvm + path: ./storage/lvm - href: upstream: https://gitee.com/openeuler/Storage-docs/blob/master/docs/zh/etmem/_toc.yaml - path: ./etmem + path: ./storage/etmem - href: upstream: https://gitee.com/openeuler/Storage-docs/blob/master/docs/zh/gmem/_toc.yaml - path: ./gmem + path: ./storage/gmem - href: upstream: https://gitee.com/openeuler/Storage-docs/blob/master/docs/zh/hsak/_toc.yaml - path: ./hsak + path: ./storage/hsak - label: 网络 sections: - href: ./network/network_config/_toc.yaml - - href: ./network/gazelle/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/gazelle/blob/master/doc/zh/user_manual/_toc.yaml + path: ./network/gazelle - label: 性能调优 sections: - label: 概述 sections: - - href: ./performance/overall/system_resource/_toc.yaml + - href: ./performance/system_resource/_toc.yaml - label: 调优框架 sections: - - href: ./performance/tuning_framework/oeaware/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/oeAware-manager/blob/master/docs/zh/master/_toc.yaml + path: ./performance/oeaware - label: CPU调优 sections: - href: - upstream: https://gitee.com/openeuler/Computing-docs/blob/master/docs/en/sysboost/_toc.yaml - path: ./sysboost - - href: ./performance/cpu_optimization/kae/_toc.yaml + upstream: https://gitee.com/openeuler/Computing-docs/blob/master/docs/zh/sysboost/_toc.yaml + path: ./performance/sysboost + - href: + upstream: https://gitee.com/src-openeuler/kae_driver/blob/openEuler-25.09/docs/zh/_toc.yaml + path: ./performance/kae_driver - label: 系统调优 sections: - - href: ./performance/system_optimization/atune/_toc.yaml + - href: ./performance/atune/_toc.yaml - label: 内存调优 sections: - href: ./performance/tlbi/_toc.yaml - label: 应用开发 sections: - href: ./development/application_dev/_toc.yaml - - href: ./development/bisheng_autotuner/_toc.yaml - - href: ./development/gcc/_toc.yaml - - href: ./development/llvm/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/compiler-docs/blob/master/docs/zh/bisheng_autotuner/_toc.yaml + path: ./development/bisheng_autotuner + - href: + upstream: https://gitee.com/openeuler/compiler-docs/blob/master/docs/zh/gcc/_toc.yaml + path: ./development/gcc + - href: + upstream: https://gitee.com/openeuler/compiler-docs/blob/master/docs/zh/llvm/_toc.yaml + path: ./development/llvm - label: HA高可用 sections: - - href: ./high_availability/ha/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/Ha-docs/blob/master/docs/zh/_toc.yaml + path: ./ha - label: 多样性算力 sections: - href: upstream: https://gitee.com/openeuler/dpu-utilities/blob/master/docs/zh/dpu_offload/_toc.yaml - path: ./dpu_offload + path: ./diversified_computing/dpu_offload - href: upstream: https://gitee.com/openeuler/dpu-utilities/blob/master/docs/zh/dpu_os/_toc.yaml - path: ./dpu_os + path: ./diversified_computing/dpu_os diff --git a/docs/zh/server/administration/administrator/setting_up_the_database_server.md b/docs/zh/server/administration/administrator/setting_up_the_database_server.md index c6374114455f06292daffcbbd808075727c04b91..ceef49c973f02f84ff2c0fb7ca72a84bb31a6336 100644 --- a/docs/zh/server/administration/administrator/setting_up_the_database_server.md +++ b/docs/zh/server/administration/administrator/setting_up_the_database_server.md @@ -169,7 +169,7 @@ sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #### 安装 -1. 配置本地yum源,详细信息请参考[搭建repo服务器](./configuring-the-repo-server.md)。 +1. 配置本地yum源,详细信息请参考[搭建repo服务器](./configuring_the_repo_server.md)。 2. 清除缓存。 ```shell @@ -884,7 +884,7 @@ MariaDB的架构如[图2](#fig13492418164520)所示。 > [!NOTE]说明 > 此步骤需要安装镜像中的lvm2相关包,步骤如下: ->(1)配置本地yum源,详细信息请参考[搭建repo服务器](./configuring-the-repo-server.md)。如果已经执行,则可跳过此步。 +>(1)配置本地yum源,详细信息请参考[搭建repo服务器](./configuring_the_repo_server.md)。如果已经执行,则可跳过此步。 >(2)在root权限下执行`yum install lvm2`命令安装lvm2。 1. 创建物理卷(sdb为硬盘名称,具体名字以实际为准)。 @@ -939,7 +939,7 @@ MariaDB的架构如[图2](#fig13492418164520)所示。 #### 安装 -1. 配置本地yum源,详细信息请参考[搭建repo服务器](./configuring-the-repo-server.md)。 +1. 配置本地yum源,详细信息请参考[搭建repo服务器](./configuring_the_repo_server.md)。 2. 清除缓存。 ```shell diff --git a/docs/zh/server/administration/administrator/using_dnf_to_manage_software_packages.md b/docs/zh/server/administration/administrator/using_dnf_to_manage_software_packages.md index 60654839672e8020e644026e18731d6ee6f18478..c32767c1b2223b46bb3b379401e17da7ce96c480 100644 --- a/docs/zh/server/administration/administrator/using_dnf_to_manage_software_packages.md +++ b/docs/zh/server/administration/administrator/using_dnf_to_manage_software_packages.md @@ -119,7 +119,7 @@ repository部分允许您定义定制化的openEuler软件源仓库,各个仓 - 配置/etc/yum.repos.d目录下的.repo文件 - openEuler提供了多种repo源供用户在线使用,各repo源含义可参考[系统安装](../../releasenotes/releasenotes/os-installation.md)。使用root权限添加openEuler repo源,示例如下: + openEuler提供了多种repo源供用户在线使用,各repo源含义可参考[系统安装](../../quickstart/releasenotes/os_installation.md)。使用root权限添加openEuler repo源,示例如下: ```shell # vi /etc/yum.repos.d/openEuler.repo diff --git a/docs/zh/server/development/bisheng_autotuner/_toc.yaml b/docs/zh/server/development/bisheng_autotuner/_toc.yaml deleted file mode 100644 index e89d0bc5653449464d3d907ba37026e9511e0176..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/bisheng_autotuner/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: BiSheng-Autotuner 用户指南 -isManual: true -description: BiSheng-Autotuner 是一个自动编译调优工具,与支持调优的编译器(如 LLVM for openEuler、GCC for openEuler)配合使用 -sections: - - label: BiSheng-Autotuner 使用手册 - href: ./bisheng_autotuner_user_guide.md \ No newline at end of file diff --git a/docs/zh/server/development/bisheng_autotuner/bisheng_autotuner_user_guide.md b/docs/zh/server/development/bisheng_autotuner/bisheng_autotuner_user_guide.md deleted file mode 100644 index 608d5b5842f78e9cde93b601f3a5578ab8e53b76..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/bisheng_autotuner/bisheng_autotuner_user_guide.md +++ /dev/null @@ -1,227 +0,0 @@ -# BiSheng-Autotuner 使用手册 - -## BiSheng-Autotuner 介绍 - -[BiSheng-Autotuner](https://gitee.com/openeuler/BiSheng-Autotuner) 是一个基于 BiSheng-opentuner 的命令行工具,与支持调优的编译器(如 LLVM for openEuler、GCC for openEuler)配合使用。它负责生成搜索空间、操作参数并驱动整个调优过程。 - -[BiSheng-opentuner](https://github.com/Huawei-CPLLab/bisheng-opentuner) 是一个开源框架,用于构建特定领域的、多目标程序的自动调优器。 - -本文主要介绍基于 LLVM for openEuler 的自动调优编译流程,基于 GCC for openEuler 的自动调优请参考[AI4C 使用流程](https://gitee.com/openeuler/AI4C)。 - -## BiSheng-Autotuner 调优流程 - -调优流程(如图1所示)由两个阶段组成:初始编译阶段(initial compilation)和调优阶段(tuning process)。 - -![图1 BiSheng-Autotuner调优流程](figures/image1.png) - -图1 BiSheng-Autotuner调优流程 - -### 初始编译阶段 - -初始编译阶段发生在调优开始之前,BiSheng-Autotuner 首先会让编译器对目标程序代码做一次编译,在编译的过程中,编译器会生成一些包含所有可调优结构的 YAML 文件,告诉开发者在这个目标程序中哪些结构可以用来调优,比如模块(module)、函数(function)、循环(loop)。例如,循环展开是编译器中最常见的优化方法之一,它通过多次复制循环体代码,达到增大指令调度空间、减少循环分支指令开销的优化效果。若以循环展开次数(unroll factor)为对象进行调优,编译器会在 YAML 文件中生成所有可被循环展开的循环作为可调优结构。 - -### 调优阶段 - -当可调优结构顺利生成之后,调优阶段便会开始: - -1. BiSheng-Autotuner 首先读取生成好的可调优结构的 YAML 文件,从而产生对应的搜索空间,也就是生成针对每个可调优代码结构的具体的参数和范围。 - -2. 调优阶段会根据设定的搜索算法尝试一组参数的值,生成一个 YAML 格式的编译配置文件(compilation config),从而让编译器编译目标程序代码产生二进制文件。 - -3. 最后 BiSheng-Autotuner 将编译好的文件以开发者定义的方式运行并取得性能信息作为反馈。 - -4. 经过一定数量的迭代之后,BiSheng-Autotuner 将找出最终的最优配置,生成最优编译配置文件,以 YAML 的形式储存。 - -## BiSheng-Autotuner 使用 - -### 环境要求 - -必选: - -- 操作系统:openEuler 24.03 LTS 系列、openEuler 25.03 及高于 openEuler 25.03 的版本 - -- 架构:AArch64、x86_64 - -- Python 3.11.x - -- SQLite 3.0 - -可选: - -- LibYAML:推荐安装,可提升 BiSheng-Autotuner 文件解析速度 - -### BiSheng-Autotuner 获取 - -若开发者使用最新的 openEuler 系统,可以直接安装 `BiSheng-Autotuner` 和 `clang` 软件包。 - -```shell -yum install -y BiSheng-Autotuner -yum install -y clang -``` - -若需源码构建 `BiSheng-Autotuner` ,可以参考以下步骤。 - -1. 安装 [BiSheng-opentuner](https://gitee.com/src-openeuler/BiSheng-opentuner/) - - ```shell - yum install -y BiSheng-opentuner - ``` - -2. 克隆并安装 [BiSheng-Autotuner](https://gitee.com/openeuler/BiSheng-Autotuner/) - - ```shell - cd BiSheng-Autotuner - ./dev_install.sh - ``` - -### BiSheng-Autotuner 运行 - -本文将以 coremark 为示例展示如何运行自动调优, coremark 源码请从 [github 社区](https://github.com/eembc/coremark)获取。更多 llvm-autotune 的详细用法,请参阅[帮助信息](#帮助信息)章节。以下为以 20 次迭代调优 coremark 的脚本示例: - -```bash -export AUTOTUNE_DATADIR=/tmp/autotuner_data/ -CompileCommand="clang -O2 -o coremark core_list_join.c core_main.c core_matrix.c core_state.c core_util.c posix/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=300000 -I. -Iposix -g -DFLAGS_STR=\"\"" - -$CompileCommand -fautotune-generate; -llvm-autotune minimize; -for i in $(seq 20) -do - $CompileCommand -fautotune ; - time=`{ /usr/bin/time -p ./coremark 0x0 0x0 0x66 300000; } 2>&1 | grep "real" | awk '{print $2}'`; - echo "iteration: " $i "cost time:" $time; - llvm-autotune feedback $time; -done -llvm-autotune finalize; -``` - -以下为分步说明: - -1. 配置环境变量 - - 使用环境变量 `AUTOTUNE_DATADIR` 指定调优相关的数据的存放位置(指定目录需要为空)。 - - ```shell - export AUTOTUNE_DATADIR=/tmp/autotuner_data/ - ``` - -2. 初始编译步骤 - - 添加编译器选项 `-fautotune-generate` ,编译生成可调优代码结构。 - - ```shell - cd examples/coremark/ - clang -O2 -o coremark core_list_join.c core_main.c core_matrix.c core_state.c core_util.c posix/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=300000 -I. -Iposix -g -DFLAGS_STR=\"\" -fautotune-generate - ``` - - > [!WARNING]注意 - > 建议仅将此选项应用于需要重点调优的热点代码文件。若应用的代码文件过多(超过 500 个文件),则会生成数量庞大的可调优代码结构的文件,进而可能导致步骤3的初始化时间长(可长达数分钟),以及巨大的搜索空间导致的调优效果不显著、收敛时间长等问题。 - -3. 初始化调优 - - 运行 `llvm-autotune` 命令,初始化调优任务。生成最初的编译配置供下一次编译使用。 - - ```shell - llvm-autotune minimize - ``` - - `minimize` 表示调优目标,旨在最小化指标(例如程序运行时间)。也可使用 `maximize` ,旨在最大化指标(例如程序吞吐量)。 - -4. 调优编译步骤 - - 添加毕昇编译器选项 `-fautotune` ,读取当前 `AUTOTUNE_DATADIR` 配置并编译。 - - ```shell - clang -O2 -o coremark core_list_join.c core_main.c core_matrix.c core_state.c core_util.c posix/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=300000 -I. -Iposix -g -DFLAGS_STR=\"\" -fautotune - ``` - -5. 性能反馈 - - 开发者运行程序,并根据自身需求获取性能数字,使用 `llvm-autotune feedback` 反馈。如果开发者想以 coremark 运行时间为指标进行调优,可以采用如下方式: - - ```shell - time -p ./coremark 0x0 0x0 0x66 300000 2>&1 1>/dev/null | grep real | awk '{print $2}' - # 返回实际执行时间 31.09 - ``` - - ```shell - llvm-autotune feedback 31.09 - ``` - - > [!WARNING]注意 - > 建议在使用 `llvm-autotune feedback` 之前, 先验证步骤 4 编译是否正常以及编译好的程序是否运行正确。若出现编译或者运行异常的情况,请输入相应调优目标的最差值(例如,调优目标为 minimize ,可输入 `llvm-autotune feedback 9999` ;maximize 可输入 0 或者 -9999)。 - > - > 若输入的性能反馈不正确,可能会影响最终调优的结果。 - -6. 调优迭代 - - 根据开发者设定的迭代次数,重复4和5进行调优迭代。 - -7. 结束调优 - - 进行多次迭代后,开发者可选择终止调优,并保存最优的配置文件。配置文件会被保存在环境变量 `AUTOTUNE_DATADIR` 指定的目录下。 - - ```shell - llvm-autotune finalize - ``` - -8. 最终编译 - - 使用步骤7得到最优配置文件,进行最后编译。在环境变量未改变的情况下,可直接使用 `-fautotune` 选项: - - ```shell - clang -O2 -o coremark core_list_join.c core_main.c core_matrix.c core_state.c core_util.c posix/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=300000 -I. -Iposix -g -DFLAGS_STR=\"\" -fautotune - ``` - - 或者使用 `-mllvm -auto-tuning-input=` 直接指向配置文件。 - - ```shell - clang -O2 -o coremark core_list_join.c core_main.c core_matrix.c core_state.c core_util.c posix/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=300000 -I. -Iposix -g -DFLAGS_STR=\"\" -mllvm -auto-tuning-input=/tmp/autotuner_data/config.yaml - ``` - -### 帮助信息 - -llvm-autotune 执行格式如下所示: - -```shell -llvm-autotune [-h] {minimize,maximize,feedback,dump,finalize} -``` - -可选指令: - -- `minimize`:初始化调优并生成初始的编译器配置文件,旨在最小化指标(例如运行时间)。 - -- `maximize`:初始化调优并生成初始的编译器配置文件,旨在最大程度地提高指标(例如吞吐量)。 - -- `feedback`:反馈性能调优结果并生成新的编译器配置。 - -- `dump`:生成当前的最优配置,而不终止调优(可继续执行 `feedback`)。 - -- `finalize`: 终止调优,并生成最佳的编译器配置(不可再执行 `feedback`)。 - -### 编译器相关选项 - -llvm-autotune 需要与 LLVM 编译器选项 `-fautotune-generate` 和 `-fautotune` 配合使用。 - -- `-fautotune-generate`: - - - 在 `autotune_datadir` 目录下生成可调优的代码结构列表,此默认目录可由环境变量 `AUTOTUNE_DATADIR` 改写。 - - - 作为调优准备工作的第一步,通常需要在 `llvm-autotune minimize/maximize` 命令执行前使用。 - - - 此选项还可以赋值来改变调优的颗粒度(可选值为`Other`、`Function`、`Loop`、`CallSite`、`MachineBasicBlock`、`Switch`、`LLVMParam`、`ProgramParam`,其中 `LLVMParam` 和 `ProgramParam` 对应粗粒度选项调优)。例如 `-fautotune-generate=Loop` 会开启类型仅为循环的可调优代码结构,每个循环在调优过程中会被赋予不同的参数值;而 `Other` 表示全局,生成的可调优代码结构对应每个编译单元(代码文件)。 - - - `-fautotune-generate`默认等效于`-fautotune-generate=Function,Loop,CallSite`。通常建议使用默认值。 - - - 若要启用选项调优(`LLVMParam`和`ProgramParam`),需要为 llvm-autotune 指定拓展搜索空间,默认的搜索空间不包含预设调优选项。 - - ```shell - llvm-autotune minimize --search-space /usr/lib64/python/site-packages/autotuner/search_space_config/extended_search_space.yaml - ``` - - `site-packages`目录可以通过 `pip show autotuner` 指令找到。 - -- `-fautotune`: - - - 使用`autotune_datadir`下的编译器配置进行调优编译(此默认目录可由环境变量`AUTOTUNE_DATADIR`改写)。 - - - 通常在调优迭代过程中,`llvm-autotune minimize/maximize/feedback` 命令之后使用。 diff --git a/docs/zh/server/development/bisheng_autotuner/figures/image1.png b/docs/zh/server/development/bisheng_autotuner/figures/image1.png deleted file mode 100644 index 10e002c1402574e3e5b1f9d4f050efb4f439c22e..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/development/bisheng_autotuner/figures/image1.png and /dev/null differ diff --git a/docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-note.gif b/docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/server/development/gcc/_toc.yaml b/docs/zh/server/development/gcc/_toc.yaml deleted file mode 100644 index 2e190e4458c09fe0209e9593bebaaac898e3e9b5..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/gcc/_toc.yaml +++ /dev/null @@ -1,18 +0,0 @@ -label: GCC用户指南 -isManual: true -description: GCC for openEuler 编译器基于开源 GCC 开发,聚焦于C、C++、Fortran语言的优化 -sections: - - label: 内核反馈优化特性 - href: ./kernel_fdo_user_guide.md - - label: 链接时优化特性 - href: ./lto_user_guide.md - - label: GCC优化特性 - href: ./gcc_optimization_user_guide.md - - label: GCC14副版本编译工具链 - href: ./gcc_14_secondary_version_compilation_toolchain_user_guide.md - - label: GCC插件框架特性 - href: ./pin_user_guide.md - - label: 编译时间优化特性 - href: ./compile_time_optimization_user_guide.md - - label: 动态反馈优化特性 - href: ./dfot_user_guide.md diff --git a/docs/zh/server/development/gcc/compile_time_optimization_user_guide.md b/docs/zh/server/development/gcc/compile_time_optimization_user_guide.md deleted file mode 100644 index 89aea9f5564965d9fb092f972653281af0f8bae9..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/gcc/compile_time_optimization_user_guide.md +++ /dev/null @@ -1,36 +0,0 @@ -# 背景 - -为了提升openEuler软件包的编译效率,从而进一步提升门禁和开发者开发效率,我们在2503版本使用了打开PGO(Profile Guided Optimization)、LTO(Link Time Optimization)编译的GCC结合mold(A Modern Linker)链接器来缩短软件包中C/C++库的编译时间。 - -# 方案 - -## 优化技术原理 - -Mold:是一种对比其他链接器(ld、gold、lld)链接效率更高的开源链接器,其通过更高效的Identical Comdat Folding (ICF)算法、更好的并行编程,更高效的多线程库等技术来提升链接的效率,具体可参考:。 - -PGO:利用程序运行时的剖析信息来指导编译优化,以提高程序的性能,运行时的剖析信息包括函数调用频率,分支走向等。 - -LTO:链接时优化,可以进行更多的跨模块的优化,消除模块之间的冗余代码和不必要的函数调用,提升GCC编译其他应用时候执行效率。 - -## 使能方式 - -在GCC的编译过程取消了`--disable-bootstrap`,同时添加了`BUILD_CONFIG=bootstrap-lto profiledbootstrap`来打开PGO和LTO去编译GCC。 - -在openEuler-rpm-config的macro中我们通过检查软件包名字是否在白名单中来给LDFLAGS添加`-fuse-ld=mold`,使得软件包可使用mold进行编译。 - -## 使能范围 - -打开了PGO、LTO编译的GCC在2503版本上默认使能 - -由于mold链接器本身存在一定的功能欠缺(对kernel的不支持,对linker script支持不完善)我们在2503上使用[白名单](https://gitee.com/src-openeuler/openEuler-rpm-config/blob/openEuler-25.03/0002-Enable-mold-links-through-whitelist.patch#L49)的方式使能mold。 - -同时我们提供了更加灵活的链接器配置方式,各软件包可以在spec内覆写`_ld_use`变量来切换链接器,如: - -- `%define _ld_use %{nil}`  取消因为软件包在白名单中所添加的mold选项。 - -- `%define _ld_use -fuse-ld=xxx` 切换不同的链接器,注意当定义多个`-fuse-ld`选项时编译器会取最后一个配置项。 - -# 注意事项 - -1. 只有在构建环境上存在mold时,白名单内的软件包才会启用mold链接。 -2. 当启用mold链接的时候需在GCC 12版本及以上进行构建。 diff --git a/docs/zh/server/development/gcc/dfot_user_guide.md b/docs/zh/server/development/gcc/dfot_user_guide.md deleted file mode 100644 index 3903e5fa1ea61ef58482ae1672aa2c4d82ac385b..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/gcc/dfot_user_guide.md +++ /dev/null @@ -1,95 +0,0 @@ -# 动态反馈优化框架用户指南 - -## 介绍 - -D-FOT是动态反馈优化框架(**D**ynamic **F**eedback-oirected **O**ptimization **T**ool),目标是实现应用全自动、无感知使能反馈优化特性,全面提高反馈优化特性的易用性和性能表现。 -本框架计划实现两类动态优化特性:启动时优化和运行时优化,当前已实现基于oeAware在线调优框架的启动时优化功能。 -启动时优化:应用运行时自动执行采样和反馈优化,完成优化后自动接管下一次启动,不需要用户修改启动流程,应用重启后自动拉起优化版本。 -运行时优化:应用运行时自动执行采样和反馈优化,不需要用户操作重启,整个过程无用户介入,仅少量中断后即可使能优化版本。 - -## 软件架构说明 - -本框架包含以下几个模块: - -- 基于libkperf的采样数据处理 -- 基于sysboost的启动接管和二进制优化特性使能 -- 基于llvm-bolt的二进制反馈优化 -- oeAware调优插件dfot_tuner_sysboost实现 - -## 依赖项 - -系统OS要求:当前支持openEuler-22.03-LTS-SP4、openEuler-25.03 -以下依赖组件均可通过yum安装 - -| 组件 | 代码仓 | 说明 | -| --------------- | ---------------- | ----------- | -| oeAware-manager | [https://gitee.com/openeuler/oeAware-manager](https://gitee.com/openeuler/oeAware-manager) | 业务在线无感调优框架 | -| libkperf | [https://gitee.com/openeuler/libkperf](https://gitee.com/openeuler/libkperf) | 轻量级全内存化采集工具 | -| sysboost | [https://gitee.com/openeuler/sysboost](https://gitee.com/openeuler/sysboost) | 微架构优化工具 | -| llvm-bolt | [https://gitee.com/src-openeuler/llvm-bolt](https://gitee.com/src-openeuler/llvm-bolt) | 二进制优化器 | - -## 使用流程 - -### 被优化应用的必要条件 - -1. 被优化二进制需要带有重定位信息。使用自编译的软件:需要在编译时增加`-Wl,-q`链接选项,如MySQL:`cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DBUILD_CONFIG=mysql_release -DWITH_BOOST=../boost -DCMAKE_C_LINK_FLAGS="-Wl,-q" -DCMAKE_CXX_LINK_FLAGS="-Wl,-q"`;使用oe软件包的场景:后续会提供对应应用的relocation包,直接安装即可。 -2. 如何判断目标二进制是否带有重定位信息:`-Wl,-q`生效后,二进制会增加RELA段,可以通过`readelf -SW /path/to/bin`来判断,如MySQL加选项之前,仅有`.rela.dyn`和`.rela.plt`段,增加后会出现`.rela.text`、`.rela.eh_frame`等10+ RELA段;如果`-Wl,-q`未生效,则在手动perf采样并执行`perf2bolt`时,或者执行`llvm-bolt`优化时(无论是否通过sysboost机制)会有告警:`BOLT-WARNING: non-relocation mode for AArch64 is not fully supported`。 - -### D-FOT准备 - -yum安装D-FOT或通过以下命令源码构建(注意如果libkperf或oeAware-manager也是源码构建,执行cmake时需要额外指定lib和include路径)。 - -```shell -cd D-FOT -mkdir build && cd build -cmake ../ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_SKIP_RPATH=TRUE -make -j`nproc` - -cp build/libdfot.so /lib64/oeAware-plugin/ -chmod 440 /lib64/oeAware-plugin/libdfot.so -mkdir -p /etc/dfot/ -cp configs/dfot.ini /etc/dfot/ -``` - -### 配置修改 - -修改`/etc/dfot/dfot/ini`,内容项参考如下描述: -公共配置: [general] - -| 配置项 | 值范围 | 是否可用 | 说明 | -| ----------------------------- | ----------------------------------- | ---- | -------------------------------------------------------------------------------------- | -| LOG_LEVEL | `` | 可用 | 优化服务日志级别,注意级别越低打印的日志越多 | -| COLLECTOR_SAMPLING_STRATEGY | `<0>` | 不可用 | 采样策略
0表示插件enable后即持续低频采样
1表示enable时启动监控线程,只有负载达到阈值场景才采样
当前由oeaware控制采样流程,仅支持0 | -| COLLECTOR_HIGH_LOAD_THRESHOLD | `[0, cpus*100]` | 不可用 | 仅在采样策略1场景下生效,使用HIGH_LOAD_THRESHOLD作为触发采样的应用CPU使用率阈值,当前不支持 | -| COLLECTOR_DATA_AGING_TIME | 按实际需要确定 | 可用 | 采样数据老化时间,当前数据与最老数据时间差值达到阈值时,丢弃累积采样数据,单位ms | -| TUNER_TOOL | `["sysboost"]` | 不可用 | 二进制优化器,当前仅支持sysboost | -| TUNER_CHECK_PERIOD | `[10, max]` | 可用 | 优化插件检查时间间隔,每隔一段时间收集采样插件数据并决定是否进行优化,单位ms | -| TUNER_PROFILE_DIR | 按实际需要确定 | 可用 | 采样数据存放位置,profile文件被命名为`[app_name]_[full_path_hash]_[threshold].profile` | -| TUNER_OPTIMIZING_STRATEGY | `[0, 1]` | 可用 | 优化策略,0表示只优化一次,1表示只要采样信息在刷新,可以持续多次优化 | -| TUNER_OPTIMIZING_CONDITION | `[0, 2]` | 不可用 | 触发优化的条件,0表示应用退出后即开始优化,1表示低负载时优化,2表示应用退出且低负载时优化,当前仅支持0 | -应用配置: [app] - -| 配置项 | 值范围 | 是否可用 | 说明 | -| ----------------------------- | -------------- | ---- | ------------------------------------------------------------------------------------------ | -| FULL_PATH | 按实际需要确定 | 可用 | 应用二进制文件绝对路径 | -| DEFAULT_PROFILE | 按实际需要确定 | 可用 | 应用的开箱profile文件,用于冷启动时使能二进制优化,没有则留空 | -| COLLECTOR_DUMP_DATA_THRESHOLD | `[10000, max]` | 可用 | 采样数据达到该阈值行数时触发数据导出到profile,数值越大需要的采集的samples越多 | -| BOLT_DIR | NA | 不可用 | BOLT工具路径,留空则默认/usr/bin,内部会调用`${BOLT_DIR}/perf2bolt和${BOLT_DIR}/llvm-bolt`
当前由sysboost确定 | -| BOLT_OPTIONS | 按实际需要确定 | 可用 | BOLT优化选项,配置该项可以覆盖内置的默认选项,用于针对性的选项调优 | -| UPDATE_DEBUG_INFO | `[0, 1]` | 可用 | 优化时是否同步更新调试信息,1表示更新,0表示不更新,注意更新调试信息会有额外耗时 | - -### 插件使用 - -参考[oeAware-manager](https://gitee.com/openeuler/oeAware-manager/tree/master/docs) - -## 约束限制 - -1. 支持容器部署场景使用,D-FOT等优化组件需部署在容器外。 -2. 待优化的目标应用需要具备重定位信息。 -3. 作为oeAware调优插件使用D-FOT时,当前对应的oeAware采集插件pmu_sampling_collector固定采样频率为100,可能会导致采样时间较久(作为参考:perf默认采样频率为4000)。 - -## 未来规划 - -- [ ] 虚拟化场景完善 -- [ ] 运行时优化支持 -- [ ] 进一步提升二进制优化效果 diff --git a/docs/zh/server/development/gcc/gcc_14_secondary_version_compilation_toolchain_user_guide.md b/docs/zh/server/development/gcc/gcc_14_secondary_version_compilation_toolchain_user_guide.md deleted file mode 100644 index 1c1bdf80e88d8256af53ab9f0a2071be59c2991d..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/gcc/gcc_14_secondary_version_compilation_toolchain_user_guide.md +++ /dev/null @@ -1,144 +0,0 @@ -# 背景介绍 - -## 简介 - -为确保操作系统的稳健性,基础软件的选型策略通常倾向于采用经过时间验证、相对稳定的版本,而非最新发布版本。这一策略旨在避免版本更迭带来的潜在不稳定因素,确保在整个长期支持(LTS)周期内,系统版本保持相对稳定。因此,当前 openEuler 在 24.03 LTS 版本整个生命周期都是选择使用 GCC 12.3.1 作为基线进行开发。 - -这样的选择会带来如下问题。首先,许多的硬件特性需要基础 GCC 工具链的支持,选择非最新版本的 GCC 会导致新特性无法及时在新发布的操作系统上使能。另外,某些用户倾向使用最新版本的编译器使能最新特性,这些特性相较于低版本编译器会带来部分性能提升。 - -因此,为了使能多样算例新特性,满足不同用户对不同硬件特性支持的需求,在 openEuler 24.09 版本推出 openEuler GCC Toolset 工具链,这是一个专为 openEuler 系统设计的 GCC 多版本编译工具链,该工具链提供一个高于系统主 GCC 版本的副版本 GCC 编译工具链,为用户提供了更加灵活且高效的编译环境选择。通过使用 openEuler GCC Toolset 14 多版本编译工具链,用户可以轻松地在不同版本的 GCC 之间进行切换,以便充分利用新硬件特性,同时享受到 GCC 最新优化所带来的性能提升。 - -## 方案设计 - -### 编译工具链功能介绍 - -GCC 编译工具链是一套由 GNU 开发和维护的开源编译器集合,它是用于将高级语言代码转换为机器语言的工具集,GCC 编译工具链不仅包括GCC编译器本身,还包含一系列辅助工具和库,这些组件共同构成了一个完整的编译环境。 - -1. GCC 编译器(gcc/g++/gfrotran 等): - - * 作用:GCC 编译器是工具链的核心,负责完成预处理和编译过程,将源代码转换成汇编代码或中间表示。对于 C++ 代码,g++ 是 GCC 的 C++ 编译器前端,除了完成编译工作外,还会自动链接 C++ 标准库。 - -2. Binutils 工具集: - - * 包含工具:链接器(ld)、汇编器(as)、目标文件格式查看器(readelf)、符号查看器(nm)、目标文件格式转换工具(objcopy)、反汇编工具(objdump)、尺寸查看工具(size)等。 - * 作用:这些工具在编译过程中起辅助作用,如将汇编代码转换成机器码(汇编器)、将多个目标文件链接成可执行文件(链接器)、查看目标文件或可执行文件的信息(readelf、nm、objdump)等。 - -3. glibc 库: - - * 作用: glibc 是 GNU C Library 的缩写,是 GNU 组织为 GNU 系统以及 Linux 系统编写的 C 语言标准库。它包含了 C 语言中常用的标准函数,如 printf、malloc 等,是编译 C 语言程序时必不可少的部分。 - -4. 其他辅助工具: - - * 调试器(gdb):用于调试可执行文件,帮助开发者定位和解决程序中的错误。 - * 性能分析工具(gprof):用于分析程序的性能,帮助开发者优化代码。 - -### 工具链选型 - -在编译过程中,工具链中的软件组件对编译结果具有直接影响。具体而言,GCC、binutils 以及 glibc是其核心要素。glibc 作为 C 语言标准库,其选型通常与操作系统内核版本紧密绑定,不轻易进行更改。本工具链仅包含 GCC 和 binutils 两款软件来满足副版本编译需求。 - -当前最新的 GCC release 版本为 gcc-14.2.0,因此 openEuler GCC Toolset 工具链选型 的 GCC 的版本为gcc-14.2.0 。 - -至于 binutils,openEuler 24.09 的默认 binutils 为 2.41 版本,而最新的 GCC-14 官方推荐搭配 binutils-2.42 使用,因此本工具链的 binutils 的版本选择 binutils-2.42 。 - -基于此考量,openEuler GCC Toolset 副版本工具链引入 gcc-14.2.0 和 binutils-2.42,此举旨在确保编译环境的稳定性和效率,同时避免不必要的复杂性,力求在保障编译结果质量的同时,优化用户的使用体验。后期待 gcc-14.3.0 在上游社区 release 后,同步更新此工具链 GCC 版本。 - -### 架构设计 - -为区分于默认工具链安装,并防止 openEuler GCC Toolset 副版本编译工具链安装与默认编译工具链安装之间的依赖库冲突,将此工具链命名为 gcc-toolset-14 ,其软件包名均以前缀`gcc-toolset-14-`开头,后接原有工具链软件包名。同时,考虑到默认编译工具链安装路径为`/usr`,为避免路径重叠,特将 gcc-toolset-14 安装路径设定为`/opt/openEuler/gcc-toolset-14/`。为了与开源 GCC 做出区分,也便于后期合入更多 openEuler 社区特性,gcc-toolset-14-gcc 的版本设置为 14.2.1 。 - -副版本编译工具链 gcc-toolset-14 提供的应用程序和库不会取代系统默认GCC版本,其包含的应用程序和库旨在与系统默认编译工具链版本并存,而非取代或覆盖它们,亦不会自动设为默认或首选选项。此外,为了实现低成本切换编译工具链版本,便于版本切换与管理,本方案引入 scl-utils 版本切换工具,具体使用和切换方式见下文。 - -## 安装与部署 - -### 软件要求 - -* 操作系统:openEuler 24.09 - -### 硬件要求 - -* Aarch64 / X86_64 - -### 安装方式 - -默认 GCC 编译器 gcc-12.3.1,安装路径为 /usr : - -```shell -yum install -y gcc gcc-c++ -``` - -副版本编译工具链 gcc-toolset-14 安装路径为 /opt/openEuler/gcc-toolset-14/root/usr/ : - -```shell -yum install -y gcc-toolset-14-gcc* -yum install -y gcc-toolset-14-binutils* -``` - -## 使用方式 - -本方案引入 SCL(Software Collections)工具进行不同版本编译工具链的管理。 - -## scl工具 - -SCL(Software Collections)是 Linux 系统中一个非常重要的工具,它为用户提供了一种方便、安全的安装和使用应用程序及运行时环境多个版本的方式,同时避免了系统混乱。 - -SCL 的主要用途包括: - -1. 多版本共存:允许用户在同一系统上安装和使用多个版本的软件库、工具和语言运行环境,从而满足不同应用和开发需求。 -2. 避免系统冲突:通过隔离不同版本的软件,避免了新版本软件与系统原有版本之间的冲突。 -3. 提升开发效率:对于开发人员来说,SCL 提供了最新的开发工具链和运行时环境,从而提升了开发效率。 - -### 版本切换方式 - -**安装 SCL:** - -```shell -yum install scl-utils scl-utils-build -``` - -**注册 gcc-toolset-14:** - -```shell -## 注册 gcc-toolset-14 -scl register /opt/openEuler/gcc-toolset-14/ - -## 取消注册 gcc-toolset-14 -scl deregister gcc-toolset-14 -``` - -使用 `scl list-collections` 显示 gcc-toolset-14 已经在 scl 中注册成功; - -**切换 gcc-toolset-14:** - -```shell -scl enable gcc-toolset-14 bash -``` - -此命令会启动一个新的 bash shell 会话,使用 gcc-toolset-14 内的工具版本,而不是系统默认版本。在新的 bash shell 会话中,无需再显式切换编译器版本和路径。 -如果需要退出 gcc-toolset-14 的编译环境,输入 `exit` 退出 bash shell 会话,此时编译工具链的版本切换成系统默认版本。 - -SCL工具的本质就是自动设置不同工具版本的环境变量,具体可以参考 `/opt/openEuler/gcc-toolset-14/enable` 文档,gcc-toolset-14 的环境变量均在该文件中设置。若用户系统没有 SCL 工具,则可以使用以下方式进行工具链版本切换: - -```shell -## 方案一:无 SCL 工具,使用脚本切换编译工具链 -source /opt/openEuler/gcc-toolset-14/enable - -## 方案二:有 SCL 工具,使用 SCL 工具切换编译工具链并激活运行环境 -scl enable gcc-toolset-14 bash -``` - -## 使用约束 - -### 编译场景 - -主版本场景:正常编译使用系统默认的 gcc-12.3.1 进行构建; - -副版本场景:需要使用 GCC-14 高版本特性构建相关应用,使用 SCL 工具将 bash 环境切换为 gcc-toolset-14 编译工具链的编译环境。 - -### 副版本GCC-14使用说明 - -1. openEuler GCC Toolset 14 副版本编译工具链提供如下两种使用方式: - - 1)动态链接:默认场景下会自动添加选项 -lstdc++ 进行动态链接,此时会链接系统库动态库 /usr/lib64/libstdc++.so.6 和 GCC-14 副版本提供的 libstdc++_nonshared.a 静态库,此静态库是 GCC-14 相比于 GCC-12 新增的稳定 C++ 特性; - 2)静态链接:用户使用选项 -static 进行静态链接,此时会链接 GCC-14 副版本提供的 libstdc++.a 全量特性静态库,该静态库路径为 `/opt/openEuler/gcc-toolset-14/root/usr/lib/gcc/aarch64-openEuler-linux/14/libstdc++.a`。 - -2. 用户默认构建使用动态链接,会链接新增的 libstdc++_nonshared.a 静态库,该库为了保持和系统兼容性,仅对 C++ 中正式标准特性进行封装。对于 -fmodules-ts , -fmodule-header 等选项,属于 C++20 的模块特性,而该特性在 C++20 中仍属于实验性质,并未封装在 libstdc++_nonshared.a 中,若用户需要使用此类新增特性,建议直接使用静态链接的方式全量链接 GCC-14 副版本的静态库。 diff --git a/docs/zh/server/development/gcc/gcc_optimization_user_guide.md b/docs/zh/server/development/gcc/gcc_optimization_user_guide.md deleted file mode 100644 index e228c5e4303b7219f59024e95f28e5004bc887d1..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/gcc/gcc_optimization_user_guide.md +++ /dev/null @@ -1,279 +0,0 @@ -# GCC 优化特性用户指南 - -## 简介 - -编译器优化特性对于提高应用程序的开发效率、运行性能和可维护性都非常重要。它是计算机科学领域的一个重要研究方向,也是软件开发过程中的重要环节之一。GCC for openEuler 在通用编译优化能力的基础上,对中后端性能优化技术进行了增强,包括指令优化、向量化增强、预取增强、数据流分析增强等优化。 - -## 安装与部署 - -### 软件要求 - -操作系统:openEuler 24.03 LTS SP2 - -### 硬件要求 - -aarch64 架构 - -### 安装软件 - -按需安装 GCC 和相关组件即可,以 GCC 为例。 - -```shell -yum install gcc -``` - -## 使用方法 - -### CRC 优化 - -#### 说明 - -识别 CRC 软件循环代码,生成高效硬件指令。 - -#### 使用方法 - -在编译时增加 -floop-crc 选项。 - -注:`-floop-crc`选项需要和`-O3 -march=armv8.1-a`一起使用。 - -### If-conversion 增强 - -#### 说明 - -增强 If conversion 优化,使用更多的寄存器以减少冲突。 - -#### 使用方法 - -本优化是 RTL 优化 if-conversion 的一部分,使用如下编译选项控制优化启用。 - -`-fifcvt-allow-complicated-cmps` - -`--param=ifcvt-allow-register-renaming=[0,1,2]`数字用于控制优化范围。 - -注:此优化依赖`-O2`优化等级,以及与`--param=max-rtl-if-conversion-unpredictable-cost=48`、`--param=max-rtl-if-conversion-predictable-cost=48`共同使用。 - -### 乘法计算优化 - -#### 说明 - -Arm 相关指令合并优化,实现32位复杂组合的64位整形乘法逻辑的识别,并以高效的64位指令数输出。 - -#### 使用方法 - -使用`-fuaddsub-overflow-match-all`和`-fif-conversion-gimple`选项使能优化。 - -注:此优化需要`-O3`及以上优化等级。 - -### cmlt 指令生成优化 - -#### 说明 - -对一些四则运算生成`cmlt`指令,减少指令数。 - -#### 使用方法 - -使用选项`-mcmlt-arith`使能优化。 - -注:此优化需要`-O3`以上优化等级使用。 - -### 向量化优化增强 - -#### 说明 - -识别并简化向量化过程中生成的冗余指令,允许更短的循环进入向量化。 - -#### 使用方法 - -使用参数`--param=vect-alias-flexible-segment-len=1`使能,默认为0。 - -注:此优化需要`-O3`及以上优化等级。 - -### min max 和 uzp1/uzp2 指令联合优化 - -#### 说明 - -识别 min max 和 uzp1/uzp2 指令联合优化机会,减少指令数从而提升性能。 - -#### 使用方法 - -使用`-fconvert-minmax`选项使能`min max`优化,`uzp1/uzp2`指令优化在`-O3`以上等级默认使能。 - -注:依赖`-O3`及以上优化等级。 - -### ldp/stp 优化 - -#### 说明 - -识别某些性能表现差的 ldp/stp,将其拆分成2个 ldr 和 str。 - -#### 使用方法 - -使用`-fsplit-ldp-stp`选项使能优化,使用参数`--param=param-ldp-dependency-search-range=[1,32]`控制搜索范围,默认16。 - -注:依赖`-O1`及以上优化等级。 - -### AES指令优化 - -#### 说明 - -识别 AES 软件算法指令序列,使用硬件指令加速。 - -#### 使用方法 - -使用`-fcrypto-accel-aes`选项使能优化。 - -注:依赖`-O3`及以上优化等级。 - -### 间接调用提升 - -#### 说明 - -识别和分析程序中的间接调用,尝试将其优化为直接调用。 - -#### 使用方法 - -使用选项`-ficp -ficp-speculatively`使能优化。 - -注:此优化需要和`-O2 -flto -flto-partition=one`共同使用。 - -### IPA-prefetch - -#### 说明 - -识别循环中的间接访存,插入预取指令,从而减少间接访存的延迟。 - -#### 使用方法 - -通过选项`-fipa-prefetch -fipa-ic`使能优化。 - -注:此优化需要和`-O3 -flto`共同使用。 - -### -fipa-struct-reorg - -#### 说明 - -内存空间布局优化,将结构体成员在内存中的排布进行新的排列组合,来提高 cache 的命中率。 - -#### 使用方法 - -在选项中加入`-O3 -flto -flto-partition=one -fipa-struct-reorg`即可。 - -注:`-fipa-struct-reorg`选项,需要在`-O3 -flto -flto-partition=one`全局同时开启的基础上才使能。 - -### -fipa-reorder-fields - -#### 说明 - -内存空间布局优化,根据结构体中成员的占用空间大小,将成员从大到小排列,以减少边界对齐引入的 padding,来减少结构体整体占用的内存大小,以提高 cache 的命中率。 - -#### 使用方法 - -在选项中加入`-O3 -flto -flto-partition=one -fipa-reorder-fields`即可。 - -注:`-fipa-reorder-fields`选项,需要在`-O3 -flto -flto-partition=one`全局同时开启的基础上才使能。 - -### -ftree-slp-transpose-vectorize - -#### 说明 - -该选项在循环拆分阶段,增强对存在连续访存读的循环的数据流分析能力,通过插入临时数组拆分循环;SLP 矢量化阶段,新增对 grouped_stores 进行转置的 SLP 分析。 - -#### 使用方法 - -在选项中加入`-O3 -ftree-slp-transpose-vectorize`即可。 - -注:`-ftree-slp-transpose-vectorize`选项,需要在`-O3`开启的基础上才使能。 - -### LLC-prefetch - -#### 说明 - -通过分析程序中主要的执行路径,对主路径上的循环进行访存的复用分析,计算排序出 TOP 的热数据,并插入预取指令将数据先分配至 LLC 中,减少 LLC miss。 - -#### 使用方法 - -使能 LLC 特性,需开启 `-O2` 及以上优化等级,同时使用编译选项 `-fllc-allocate`。 - -其他相关接口: - -| 选项 | 默认值 | 说明 | -| ---- | ---- | ---- | -| --param=mem-access-ratio=[0,100] | 20 | 循环内访存数对指令数的占比。| -| --param=mem-access-num=unsigned | 3 | 循环内访存数量。 | -| --param=outer-loop-nums=[1,10] | 1 | 允许扩展的外层循环的最大层数。 | -| --param=filter-kernels=[0,1] | 1 | 是否针对循环做路径串联筛选。 | -| --param=branch-prob-threshold=[50,100] | 80 | 高概率执行分支的概率阈值。 | -| --param=prefetch-offset=[1,999999] | 1024 | 预取偏移距离,一般为2的次幂。 | -| --param=issue-topn=unsigned | 1 | 预取指令个数。 | -| --param=force-issue=[0,1] | 0 | 是否执行强制预取,即静态模式。 | -| --param=llc-capacity-per-core=[0,999999] | 107 | 多分支预取下每个核平均分配的 LLC 容量。 | - -### -fipa-struct-sfc - -#### 说明 - -静态压缩结构体成员,从而减小结构体整体占用的内存大小,以提高 cache 命中率。 - -#### 使用方法 - -在选项中加入`-O3 -flto -flto-partition=one -fipa-reorder-fields -fipa-struct-sfc`即可,可在此基础上使用`-fipa-struct-sfc-bitfield`、`-fipa-struct-sfc-shadow`开启额外优化。 - -注:`-fipa-struct-sfc`选项,需要在`-O3 -flto -flto-partition=one`全局同时开启以及开启`-fipa-reorder-fields`或`-fipa-struct-reorg>=2`的基础上才能使能。 - -### -fipa-struct-dfc - -#### 说明 - -动态压缩结构体成员,克隆程序路径并启发式压缩结构体大小,根据运行时检查选择运行路径,以提高 cache 命中率。 - -#### 使用方法 - -在选项中加入`-O3 -flto -flto-partition=one -fipa-reorder-fields -fipa-struct-dfc`即可,可在此基础上使用`-fipa-struct-dfc-bitfield`、`-fipa-struct-dfc-shadow`开启额外优化。 - -注:`-fipa-struct-dfc`选项,需要在`-O3 -flto -flto-partition=one`全局同时开启以及开启`-fipa-reorder-fields`或`-fipa-struct-reorg>=2`的基础上才能使能。 - -### -fipa-alignment-propagation - -#### 说明 - -分析并传播局部变量地址对齐值,优化按位与运算。 - -#### 使用方法 - -在选项中加入`-O3 -fipa-alignment-propagation`即可。 - -注:`-fipa-alignment-propagation`选项,需要在`-O3`开启的基础上才使能。 - -### -fipa-localize-array - -#### 说明 - -将由 calloc 分配的全局指针变量转换为局部变量。 - -#### 使用方法 - -在选项中加入`-O3 -fipa-localize-array`即可。 - -注:`-fipa-localize-array`选项,需要在`-O3`开启的基础上才使能。 - -### -fipa-array-dse - -#### 说明 - -分析数组在函数之间的传递情况以及在被调用函数中的使用情况,消除冗余的数组写入。 - -#### 使用方法 - -在选项中加入`-O3 -fipa-array-dse`即可。 - -注:`-fipa-array-dse`选项,需要在`-O3`开启的基础上才使能。 - -### -ffind-with-sve - -#### 说明 - -识别 `std::find` 函数调用,尝试使用 SVE 指令优化。 - -#### 使用方法 - -在选项中加入 `-ffind-with-sve` 即可。 diff --git a/docs/zh/server/development/gcc/kernel_fdo_user_guide.md b/docs/zh/server/development/gcc/kernel_fdo_user_guide.md deleted file mode 100644 index 439dfc86813a151ede9f637cc6d66e26d6e7e937..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/gcc/kernel_fdo_user_guide.md +++ /dev/null @@ -1,68 +0,0 @@ -# 内核反馈优化特性用户指南 - -## 简介 - -内核反馈优化(PGO kernel)特性为内核提供了反馈优化能力的支持,使用户可以为不同的应用程序构建针对性优化的内核,在单应用场景下提高目标应用的性能。同时,该特性一并在openEuler GCC内提供了相应的编译支持,以及在A-FOT中提供了自动优化的功能,使用户能够便捷地使能内核反馈优化特性。 - -## 安装与部署 - -### 软件要求 - -* 操作系统:openEuler 23.09 - -### 硬件要求 - -* aarch64架构 -* x86_64架构 - -### 安装软件 - -安装内核源码、A-FOT和其他依赖软件包 - -```shell -yum install -y kernel-source A-FOT make gcc flex bison elfutils-libelf-devel diffutils openssl-devel dwarves -``` - -复制内核源码 - -```shell -cp -r /usr/src/linux-6.4.0-8.0.0.16.oe2309.aarch64 . -``` - -**注意:具体的版本号可能会有变化。** - -## 使用方法 - -用户可以通过A-FOT工具使能内核反馈优化,一键得到优化内核。将opt_mode指定Auto_kernel_PGO则为PGO kernel模式。所有配置选项也可以通过命令行指定,例如./a-fot --pgo_phase 1,另外-s、-n选项只能在命令行指定。PGO kernel相关的选项说明如下表所示。 - -| 序号 | 选项名称(配置文件) | 选项说明 | 默认值 | -| ---- | -------------------- | ------------------------------------------------------------ | ------------------------ | -| 1 | config_file | 配置文件路径;根据此文件内容读取用户的选项配置。 | ${afot_path}/a-fot.ini | -| 2 | opt_mode | 优化模式;工具将执行的优化模式,必须为AutoFDO、AutoPrefetch、AutoBOLT、Auto_kernel_PGO四者之一;分别代表自动反馈优化、自动预取、自动二进制优化和自动内核反馈优化。 | AutoPrefetch | -| 3 | pgo_mode | PGO模式;内核的反馈优化模式,GCOV或完整的PGO*,必须为arc或all;分别代表仅使用arc profile和使用arc+value profile。 | all | -| 4 | pgo_phase | 内核反馈优化的执行阶段;工具根据阶段执行不同的操作,必须为1或2;1代表编译插桩内核的阶段,2代表收集数据、编译优化内核的阶段。 | 1 | -| 5 | kernel_src | 内核源码目录;指定则工具进入编译内核,否则工具自动下载源码。 | 无(可选) | -| 6 | kernel_name | 内核构建的本地名;工具将根据阶段添加"-pgoing"或"-pgoed"后缀。 | kernel | -| 7 | work_path | 脚本工作目录;此目录用于存放日志文件、wrapper和profile。 | /opt(不能在/tmp目录下) | -| 8 | run_script | 应用执行脚本路径;此脚本为目标应用的执行脚本,需要用户完成编写;工具将后台运行此脚本以执行目标应用。 | /root/run.sh | -| 9 | gcc_path | GCC路径;工具调用真正编译器GCC的路径。 | /usr | -| 10 | -s | 安静模式;工具自动重启系统切换内核、执行第二阶段。 | 无 | -| 11 | -n | 不要让工具来编译内核;适用于执行环境和内核编译环境分离的场景。 | 无 | - -配置完编译选项后,可以使用如下命令进行A-FOT自动化优化内核: - -```shell -a-fot --config_file ./a-fot.ini -s -``` - -**注意:-s选项会让A-FOT工具自动重启机器切换内核,如果用户不希望自动进行这一项敏感操作,请去掉这一选项。但用户需要在重启后手动执行第二阶段(--pgo_phase 2)。** - -**注意:所有路径名请使用绝对路径。** - -**注意*:openEuler 23.09版本的内核暂不支持完整的PGO,请修改pgo_mode值为arc。** - -## 兼容性说明 - -此节主要列出当前一些特殊场景下的兼容性问题。本项目持续迭代中,会尽快进行修复,也欢迎广大开发者加入。 - -* openEuler 23.09版本的内核暂不支持完整的PGO,目前只支持arc模式。 diff --git a/docs/zh/server/development/gcc/lto_user_guide.md b/docs/zh/server/development/gcc/lto_user_guide.md deleted file mode 100644 index 17ba3b7ec799c2988d3aa7974ee0311a25f89ea3..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/gcc/lto_user_guide.md +++ /dev/null @@ -1,25 +0,0 @@ -# 链接时优化简介 - -在传统编译流程中,gcc 将单个源文件(称谓一个编译单元)直接进行编译优化生成包含汇编代码的`.o`目标对象文件,并由链接器对这些`.o`文件进行符号表解析与重定位,链接成可执行文件。在这个过程中,拥有跨文件函数调用信息的链接器由于操作的是汇编代码,难以进行编译优化,而可以执行编译优化的环节,却没有跨文件的全局信息。这样的编译框架,虽然提高了编译效率,每次重新编译只需要编译修改过的少量编译单元,但也丢失了许多跨文件的优化机会。 - -链接时优化(LTO),设计的初衷就是希望能够在链接时,拥有跨编译单元的调用信息的时候,进行编译优化,提供更多的优化机会。为了达到这个目的,LTO 需要将编译优化所需的 IR 信息保留到链接时。在链接时,链接器会调用 LTO 插件,执行全程序分析,生成更加有效的优化决策,再经由编译优化生成更高效的IR,进一步转成包含汇编代码的目标对象文件,最后由链接器完成常规的链接工作。 - -# 版本构建使能 - -## 背景 - -为了获得更优的性能与更小的二进制体积,许多海外社区已经在版本构建中使用了链接时优化,链接时优化也正在成为各方寻找编译优化机会的新战场。openEuler 计划从 24.09 创新版本开始,在版本构建中引入 LTO。 - -## 方案 - -我们将在 openEuler-rpm-config 的 macro 中所包含的全局编译选项中插入 `-flto -ffat-lto-objects` ,以达到在构建软件包是使能 lto 的效果。其中 `-flto` 用以使能链接时优化,而 `-ffat-lto-objects` 用以生成同时包含 LTO 对象信息和常规链接所需的汇编信息的胖目标对象。在当前构建中,LTO 对象信息会参与 LTO 优化,而由于 LTO 目标对象文件在不同版本的 gcc 之间是不通用的,因此在打包生成对应的 `.rpm` 包之前,我们会将 `.o/.a` 文件中的 LTO 相关字段给消除,仅保留常规链接所需的汇编代码信息,不对静态库本身产生影响。 - -## 使能范围 - -由于 LTO 的编译流程与常规的编译流程相差较大,影响较广,为了控制 LTO 对版本质量的冲击,我们当前仅对 500+ 个软件包使能了 lto,你可以在 `/usr/lib/rpm/%{_vendor}/lto_white_list` 中找到这些软件包的清单。这些白名单应用在使能了 LTO 之后构建成功,并通过了自带的测试套。lto 编译选项仅在构建白名单应用时被设置为 `-flto -ffat-lto-objects`,否则置为空。 - -我们会在后续的创新版本上,联合应用维护者,扩大 LTO 使能的范围。 - -## 注意事项 - -当前热补丁机制与 LTO 仍存在不兼容,热补丁在 LTO 开启时会失效。我们已与热补丁团队就解决方式达成一致,会在后续版本中解决该问题。 diff --git a/docs/zh/server/development/gcc/pin_user_guide.md b/docs/zh/server/development/gcc/pin_user_guide.md deleted file mode 100644 index 149303bd06a098661b8f0530af6a15b1d5c6cebc..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/gcc/pin_user_guide.md +++ /dev/null @@ -1,134 +0,0 @@ -# 安装与部署 - -## 软件要求 - -* 操作系统:openEuler 23.03 - -## 硬件要求 - -* x86_64架构 -* ARM架构 - -## 环境准备 - -* 安装openEuler系统,安装方法参考 《[安装指南](../../installation_upgrade/installation/installation.md)》。 - -### 安装依赖软件 - -#### 安装插件框架GCC客户端依赖软件 - -```shell -yum install -y grpc -yum install -y grpc-devel -yum install -y grpc-plugins -yum install -y protobuf-devel -yum install -y jsoncpp -yum install -y jsoncpp-devel -yum install -y gcc-plugin-devel -yum install -y llvm-mlir -yum install -y llvm-mlir-devel -yum install -y llvm-devel -``` - -#### 安装插件框架服务端依赖软件 - -```shell -yum install -y grpc -yum install -y grpc-devel -yum install -y grpc-plugins -yum install -y protobuf-devel -yum install -y jsoncpp -yum install -y jsoncpp-devel -yum install -y llvm-mlir -yum install -y llvm-mlir-devel -yum install -y llvm-devel -``` - -## 安装Pin - -### rpm构建 - -#### 构建插件框架GCC客户端 - -```shell -git clone https://gitee.com/src-openeuler/pin-gcc-client.git -cd pin-gcc-client -mkdir -p ~/rpmbuild/SOURCES -cp *.path pin-gcc-client.tar.gz ~/rpmbuild/SOURCES -rpmbuild -ba pin-gcc-client.spec -cd ~/rpmbuild/RPMS -rpm -ivh pin-gcc-client.rpm -``` - -#### 构建插件框架服务端 - -```shell -git clone https://gitee.com/src-openeuler/pin-server.git -cd pin-server -mkdir -p ~/rpmbuild/SOURCES -cp *.path pin-server.tar.gz ~/rpmbuild/SOURCES -rpmbuild -ba pin-server.spec -cd ~/rpmbuild/RPMS -rpm -ivh pin-server.rpm -``` - -### 编译构建 - -#### 构建插件框架GCC客户端 - -```shell -git clone https://gitee.com/openeuler/pin-gcc-client.git -cd pin-gcc-client -mkdir build -cd build -cmake ../ -DMLIR_DIR=${MLIR_PATH} -DLLVM_DIR=${LLVM_PATH} -make -``` - -#### 构建插件框架服务端 - -```shell -git clone https://gitee.com/openeuler/pin-server.git -cd pin-server -mkdir build -cd build -cmake ../ -DMLIR_DIR=${MLIR_PATH} -DLLVM_DIR=${LLVM_PATH} -make -``` - -# 使用方法 - -用户可以通过`-fplugin`和`-fplugin-arg-libpin_xxx`使能插件工具。 -命令如下: - -```shell -$(TARGET): $(OBJS) - $(CXX) -fplugin=${CLIENT_PATH}/build/libpin_gcc_client.so \ - -fplugin-arg-libpin_gcc_client-server_path=${SERVER_PATH}/build/pin_server \ - -fplugin-arg-libpin_gcc_client-log_level="1" \ - -fplugin-arg-libpin_gcc_client-arg1="xxx" -``` - -为了方便用户使用,可以通过`${INSTALL_PATH}/bin/pin-gcc-client.json`文件,进行插件配置。配置选项如下: - -`path`:配置插件框架服务端可执行文件路径 - -`sha256file`:配置插件工具的校验文件`xxx.sha256`路径 - -`timeout`:配置跨进程通信超时时间,单位`ms` - -编译选项: - -`-fplugin`:指定插件客户端.so所在路径 - -`-fplugin-arg-libpin_gcc_client-server_path`:指定插件服务端可执行程序所在路径 - -`-fplugin-arg-libpin_gcc_client-log_level`:指定日志系统默认记录等级,取值`0~3`。默认为`1` - -`-fplugin-arg-libpin_gcc_client-argN`:用户可以根据插件工具要求,指定其他参数。argN代指插件工具要求的参数字段。 - -# 兼容性说明 - -此节主要列出当前一些特殊场景下的兼容性问题。本项目持续迭代中,会尽快进行修复,也欢迎广大开发者加入。 - -* 插件框架在`-flto`阶段使能时,不支持使用`make -j`多进程编译。建议改用`make -j1`进行编译。 diff --git a/docs/zh/server/development/llvm/_toc.yaml b/docs/zh/server/development/llvm/_toc.yaml deleted file mode 100644 index 90b3354d795b0ede9e2a2c27c4faa62afe326844..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/llvm/_toc.yaml +++ /dev/null @@ -1,12 +0,0 @@ -label: LLVM用户指南 -isManual: true -description: LLVM for openEuler 编译器基于开源 LLVM 开发 -sections: - - label: LLVM 反馈优化用户指南 - href: ./llvm_pgo_user_guide.md - - label: 内核反馈优化特性用户指南 - href: ./kernel_pgo_user_guide.md - - label: GNU 兼容性用户指南 - href: ./gnu_compatibility_user_guide.md - - label: 新增架构支持 - href: ./more_architecture_supported.md \ No newline at end of file diff --git a/docs/zh/server/development/llvm/figures/figure_pgo_0.png b/docs/zh/server/development/llvm/figures/figure_pgo_0.png deleted file mode 100644 index 8a4bc807f1579202d2df5fbcca592edea6cb70b2..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/development/llvm/figures/figure_pgo_0.png and /dev/null differ diff --git a/docs/zh/server/development/llvm/figures/figure_pgo_1.png b/docs/zh/server/development/llvm/figures/figure_pgo_1.png deleted file mode 100644 index db068a1491b6ae2b313f19213da50219e3ab3bc8..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/development/llvm/figures/figure_pgo_1.png and /dev/null differ diff --git a/docs/zh/server/development/llvm/figures/figure_pgo_2.png b/docs/zh/server/development/llvm/figures/figure_pgo_2.png deleted file mode 100644 index e7096da9e3f6e6ebe4c159ace8078b568785a605..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/development/llvm/figures/figure_pgo_2.png and /dev/null differ diff --git a/docs/zh/server/development/llvm/figures/figure_pgo_3.png b/docs/zh/server/development/llvm/figures/figure_pgo_3.png deleted file mode 100644 index c38cae90f81b4f4ecfb1072dcb30f9df72b42c51..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/development/llvm/figures/figure_pgo_3.png and /dev/null differ diff --git a/docs/zh/server/development/llvm/figures/figure_pgo_4.png b/docs/zh/server/development/llvm/figures/figure_pgo_4.png deleted file mode 100644 index 7f437a1a8f33ebbc1fc79e4d43c700204b536e97..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/development/llvm/figures/figure_pgo_4.png and /dev/null differ diff --git a/docs/zh/server/development/llvm/figures/figure_pgo_5.png b/docs/zh/server/development/llvm/figures/figure_pgo_5.png deleted file mode 100644 index 9068cb0d90b369710d3e1b24a92dd838563310d3..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/development/llvm/figures/figure_pgo_5.png and /dev/null differ diff --git a/docs/zh/server/development/llvm/gnu_compatibility_user_guide.md b/docs/zh/server/development/llvm/gnu_compatibility_user_guide.md deleted file mode 100644 index 9d6823f8fc637c33773411e7dc52d9c858d8538d..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/llvm/gnu_compatibility_user_guide.md +++ /dev/null @@ -1,675 +0,0 @@ -# GNU 兼容性用户指南 - -## 简介 - -相比 GNU 编译器,LLVM 前端 Clang 对语法的检查更严谨,严格匹配语言标准,Clang 的常见兼容性和可移植性问题,请参考[开源官方文档](https://clang.llvm.org/compatibility.html) 。本文主要列出一些 LLVM for openEuler 相对 GNU 编译器不支持的问题以及部分固有实现,以供用户参考。LLVM for openEuler 针对 GNU 编译器进行了一定程度的兼容,并提供针对 GNU 编译器的整体兼容选项 `-fGNU-compatibility`。 - -## -Werror 引入的问题 - -### 错误信息 - -在编译选项打开 `-Werror` 的情况下,编译器会将所有 warning 转化为 error,不同于 warning,error 会阻碍构建。此类 error 格式如下: - -```shell -test.c:6:1: error: non-void function does not return a value [-Werror,-Wreturn-type] -``` - -### 问题介绍 - -因为 LLVM 编译器和 GNU 编译器对于 warning 的处理有差异,因此可能存在切换 LLVM 后,新增 warning 并被 `-Werror` 选项转化为 error,阻碍构建的情况。 - -### 解决方案 - -可以通过增加 `-Wno` 选项关闭对应的 warning,例如上例中 warning 提示告警来自 `-Wreturn-type` 选项,则可添加 `-Wno-return-type`(`W` 后添加 `no-`)选项关闭该告警,可以通过在源码根目录 `grep -Werror` 找到设置 `-Werror` 选项的位置,并在该处添加对应的 `-Wno` 选项。openEuler 中的 LLVM17 版本可通过打开 `-fGNU-compatibility` 选项,控制大部分与 GNU 编译器存在差异的 warning 不被 `-Werror` 选项升级,批量解决该问题。 - -## 选项兼容问题 - -### 问题介绍 - -因为 LLVM 编译器和 GNU 编译器支持的选项功能存在差异,因此可能存在切换 LLVM 后,部分编译选项不识别导致报错。 - -包括但不限于: - -```shell --znow -# error: unknown argument: `-znow` - --mabi=lp64 -# error: unknown target ABI 'lp64' - -clang -std=c++11 -# error: invalid argument '-std=c++11' not allowed with 'C' - --Wa,--generate-missing-build-notes=yes -# clang: error: unsupported argument '--generate-missing-build-notes=yes' to option '-Wa,' -``` - -### 解决方式 - -1. 去除相关选项或使用 LLVM 支持的相关选项替代。 - -2. openEuler 中的 LLVM17 版本包含一系列选项兼容适配特性,使用部分选项编译时会自动适配 GNU 行为,避免生成阻塞性告警。 - -## Clang 不支持问题 - -### 不支持 print-multi-os-directory - -#### 错误信息 - -```shell -ERROR: Problem encountered: Cannot find elf_aarch64_efi.lds -``` - -#### 问题介绍 - -GCC 使用 `print-multi-os-directory`,该选项返回 `../lib64`,而 Clang 不支持该选项,故无法组成完整的路径,因此找不到某些文件。 - -#### 解决方案 - -在编译时,对需要通过选项获取 lib 路径的代码进行硬编码。 - -### 不支持 __builtin_longjmp/__builtin_setjmp - -#### 错误信息 - -```shell -error: __builtin_longjmp is not supported for the current target - __builtin_longjmp (buf, 1); - ^~~~~~~~~~~~~~~~~~~~~~~~~~ -error: __builtin_setjmp is not supported for the current target - int r = __builtin_setjmp (buf); - ^~~~~~~~~~~~~~~~~~~~~~ -``` - -#### 问题介绍 - -当前 AArch64 后端不支持内置函数 `__builtin_longjmp` 和 `__builtin_setjmp`。 - -#### 解决方案 - -- 使用标准库中的setjmp/longjmp。 - -- 编译器后续支持。 - -### 32 位下不支持 __uint128_t - -#### 错误信息 - -```shell -clang: warning: unknown platform, assuming -mfloat-abi=soft -error: unknown type name '__uint128_t' -``` - -#### 问题介绍 - -在 32 位模式下编译(例如添加了 `-m32` 参数)报错:`__uint128` 不被支持。 - -除此之外,还可能看到一个平台无法识别的 warning:使用 `-mfloat-abi=soft` 参数将浮点运算编译为软浮点。 - -#### 解决方案 - -- 去除 `-m32` 参数,使用 64 位模式编译; - -- 检查 Makefile、configure 等构建脚本的平台判断流程,使用正确的平台选项编译。 - -### 不支持选项 -aux-info - -#### 错误信息 - -无报错信息 - -#### 问题介绍 - -`-aux-info` 选项用于将编译单元中声明或定义的所有函数(包括头文件中的函数)输出到给定的输入文件。 - -该选项一般用于从 `*.c` 自动生成 `*.h` 文件。 - -Clang 不支持这个选项。 - -#### 解决方案 - -避免使用 Clang 不支持的选项。 - -如果确实需要这些信息,可以通过预处理器处理之后,用 `sed/aux` 等命令提取出想要的函数信息。 - -例如: - -```shell -clang -E -xc test.c | sed -n 's/^extern * int *\(\w*\) *(.*$/\1/p' -``` - -### 不支持 __builtin___snprintf_chk - -#### 错误信息 - -```shell -error: no member named '__builtin___snprintf_chk' in -``` - -#### 问题介绍 - -Clang 暂不支持检查 built-in 函数格式化输出,会报出 warning,当开启 `-Werror` 选项时升级为 error。 - -#### 解决方案 - -添加编译选项-Wno-builtin-memcpy-chk-size规避该告警 - -### 不支持 NEON 指令 - -#### 错误信息 - -```shell -error: unknown register name 'q0' in asm - : "memory", "cc", "q0" - ^ -``` - -#### 问题介绍 - -Clang 中不支持 NEON 指令 Q 寄存器设计 - -代码示例 - -```shell -$ cat bar.c -int foo(void) { - __asm__("":::"q0"); - return 0; -} -$ clang bar.c -bar.c:2:16: error: unknown register name 'q0' in asm - __asm__("":::"q0"); - ^ -1 error generated. -``` - -#### 解决方案 - -修改 `qX` 寄存器为 `vX` 寄存器。 - -### 不支持部分运行库 - -#### 错误信息 - -```shell -undefined reference to `__muloti4' -``` - -#### 问题介绍 - -某符号不在 libgcc 中,但是在 compiler-rt 中,特别是使用 Clang 的 `__builtin_*_overflow` 家族的内联函数时。 - -#### 解决方案 - -使用 `--rtlib=compiler-rt` 来启用 compiler-rt ,注意目前并不支持所有平台。 - -如果使用 libc++ 或者 libc++abi,使用 compiler-rt 而不是 libgcc_s,通过在 cmake 中添加 `-DLIBCXX_USE_COMPILER_RT=YES` 和 `-DLIBCXXABI_USE_COMPILER_RT=YES` 实现。否则可能会链接两个运行时库,虽然不影响功能但是造成性能浪费。 - -参考 [LLVM 官方说明](https://clang.llvm.org/docs/Toolchain.html)。 - -### 不支持原子类型(atomic type)的类型转换 - -#### 错误信息 - -```shell -error: used type '_Atomic(int_fast32_t)' where arithmetic or pointer type is required - uint32_t(_Atomic(int_fast32_t))(1) - ^ -``` - -#### 问题介绍 - -Clang 拒绝对非标准类型的类型转换,并且目前不支持对原子类型(atomic type)的转换。所支持的类型在 `clang/include/clang/AST/BuiltinTypes.def` 中有列出,不包括原子类型。 - -#### 解决方案 - -避免对原子类型使用类型转换。 - -## 链接问题 - -### 指定 pic、pie - -#### 错误信息 - -某些动态库在未使用 pic/pie 选项的情况下,会报符号表缺失的错误,比如: - -```shell -undefined reference to `cmsPlugin' -``` - -#### 问题介绍 - -生成动态库与 pie 可执行文件编译或链接时未带对应 pic/pie 选项,导致符号表缺失,需要手动指定。 - -#### 代码示例 - -执行如下命令检查是否为 PIC 库,检索到 textrel 符号则表明是 PIC 库。 - -```shell -readelf -a libhello.so |grep -i textrel -``` - -检查是否为 PIE 共享文件,使用 `file` 命令查看,或者用 `size --format=sysv` 查看基地址是否在 0 附近。 - -#### 解决方案 - -编译选项增加 `-fPIC`,链接选项增加 `-pie`。 - -> [!WARNING]注意 -> Clang 严格区分编译和链接选项,不能通过 cflags 将 `-pie` 传递给链接器,否则会报错: -> `clang: error: argument unused during compilation: '-pie' [-Werror,-Wunused-command-line-argument]` - -### 给链接器参数加上 -Wl - -#### 错误信息 - -```shell -clang: error: unsupported option `--whole-archive` -clang: error: unsupported option `--no-whole-archive` -clang: error: unknown argument: `-soname` -``` - -#### 问题介绍 - -部分应用构建脚本在编译器为 clang 时可能不会默认给需要传递给链接器加上 `-Wl`,这部分参数必须添加 `-Wl`,才能传递给链接器。 - -包括但不限于: - -```shell ---whole-archive ---no-whole-archive --soname -``` - -如果出现 `unknown argument` 或者 `unsupported option` ,并且该选项是应该传给链接器的,则需要加上 `-Wl`。 - -#### 解决方案 - -这些参数前面添加 `-Wl,`。例如: - -```shell --Wl,--whole-archive -Wl,--no-whole-archive -Wl,-soname -``` - -### Clang 不再默认传递 --build-id 到链接器 - -#### 错误信息 - -```shell -ERROR: No build ID note found in xxx.so -``` - -#### 问题介绍 - -为了避免额外链接器开销,Clang 不再默认传递 `--build-id` 到链接器。 - -#### 解决方案 - -编译目标源码时增加 `-Wl,--build-id` 选项可以临时传递。 - -### 系统 libstdc++ 库版本过低导致符号未定义或运行结果错误 - -#### 错误信息 - -无法找到高版本 C++ 标准库函数定义的接口: - -```shell -undefined reference to `std::xxx` -``` - -#### 问题介绍 - -Clang 默认使用系统路径下的 `libstdc++.so` 动态库,过低的系统 `libstdc++.so` 库版本可能不支持用户代码中使用的高版本特性,导致链接时出现未定义符号或运行结果错误。 - -#### 解决方案 - -链接时加入 `-stdlib=libc++` 或 `-lc++` 选项,使用 Clang 提供的 `libc++.so` 库中提供的标准 C++ 库实现。 - -### 系统 binutils 版本过低导致 debug_info 段链接失败 - -#### 错误信息 - -```shell -unable to initializedecompress status for section .debug_info -``` - -#### 问题介绍 - -在 x86_64 环境 CentOS 7.6、Ubuntu 18.04 系统上运行时,如果系统默认的 binutils 版本低于 2.32,会由于低版本 binutils 对调试信息段的对齐处理有误,导致在链接时如果链接由高版本(版本 >2.32)binutils 生成的 debug_info 段链接失败。 - -#### 解决方案 - -1. 在链接时使用 `-fuse-ld=lld` 选项,选择 LLVM for openEuler 自带的链接器即可。 - -2. 如仍然需要 GNU 链接器,请升级系统链接器到 2.32 版本以上。 - -## 其他类兼容问题 - -### Clang 预处理器结果与 GCC 存在较大差异 - -#### 错误信息 - -- 格式错误:syntax error, unexpected IDENT - -- 找不到头文件等 - -#### 问题介绍 - -Clang 的预处理器实现和 GCC 有比较大的不同,例如: - -- Clang 会保留每行开头的空白符。 - -- Clang 会保留引入的头文件的绝对路径。 - -其它的不一一列举。 - -有一些程序会使用预处理器来处理源码文件,但是因为Clang和GCC的预处理器的行为有一些不同,可能会因此导致一些问题。 - -#### 解决方案 - -修改源码使得其能被 Clang 的预处理器正确处理。例如: - -- 删除代码行前的空白符。 - -- 保证include的文件能被找到。 - -### Clang不支持在使用'-o'指定输出时直接添加头文件 - -#### 错误信息 - -```shell -clang test.h test.c -o test -clang: error: cannot specify -o when generating multiple output files -``` - -#### 问题介绍 - -Clang 不支持在使用 `-o` 指定输出文件时直接添加头文件,但允许在编译命令中使用预编译头文件,以减少编译时间。 - -```shell -$ cat test.c -#include "test.h" -``` - -生成预编译头文件的命令: - -```shell -clang -x c-header test.h -o test.h.pch -``` - -可以通过添加 `-include` 命令使用预编译头文件: - -```shell -clang -include test.h test.c -o test -``` - -Clang 会先检查 `test.h` 对应的预编译头文件是否存在;如果存在,则会使用对应的预编译头文件对 `test.h` 进行处理,否则,Clang 会直接处理 `test.h` 的内容。 - -如果设法在 Clang 编译命令中保留头文件,则可以通过添加命令 `-include` 的方法使其通过编译。 - -[官方参考文档](https://clang.llvm.org/docs/UsersManual.html) - -#### 解决方案 - -避免在 Clang 的编译命令中直接添加头文件,或者按照上述方法使用预编译功能。 - -### 不同编译器对 built-in includes 的实现不同 - -#### 错误信息 - -```shell -error: typedef redefinition with different types ('__uint64_t' (aka 'unsigned long') vs 'UINT64' (aka 'unsigned long long')) -error: unknown type name 'wchar_t' -``` - -#### 问题介绍 - -某些头文件(例如 `stdatomic.h`、`stdint.h` )是由编译器实现的,不同的编译器对于这些文件的实现存在差异,因此使用 GCC 头文件实现的程序,切换到 Clang 之后,用户自定义的代码可能会与 Clang 头文件发生冲突。 - -比如说重定义问题:在 Clang 的某些头文件中定义了一些在对应 GCC 的头文件中没有定义的变量,而用户在自己编写的或引入的其它库的头文件也定义了该变量,变量被重复定义,导致 redefinition 错误。 - -又或者:在 GCC 的 built-in 头文件中定义了一些变量,而 Clang 对应的头文件中没有定义该变量,用户在自己编写的代码中直接使用了该变量,结果就会导致 unknown type 的错误。 - -#### 解决方案 - -建议修改源码。 - -### 不同编译器链接的OpenMP运行时库不同 - -#### 错误信息 - -- 测试错误 - -- 无法加载OpenMP运行时库 - -#### 问题介绍 - -Clang 编译的可执行程序链接的 OpenMP 运行时库叫 `libomp.so`,GCC 链接的叫 `libgomp.so`。 - -#### 解决方案 - -确保能够找到 `libomp.so`。 - -- 将 `libomp.so` 所在的目录(例如 `{$INSTALLATION_HOME}/lib,INSTALLATION_HOME` 为安装根目录)添加到环境变量 `LD_LIBRARY_PATH`。 - -- 或者安装libomp: - - ```shell - yum install libomp -y - ``` - -### __builtin_prefetch 语义检查错误 - -#### 错误信息 - -```shell - error: argument to '__builtin_prefetch' must be a constant integer - __builtin_prefetch(address, forWrite); - ^ -``` - -#### 问题介绍 - -在这段代码中,因为 `__builtin_prefetch` 的第二个参数需要是常量,所以先用 `__builtin_constant_p` 检查 `forWrite` 是否是常量。但是,对于 Clang 而言,会出现语义检查错误。 - -#### 代码示例 - -```c -static void prefetchAddress(const void *address, bool forWrite) { - if (__builtin_constant_p(forWrite)) { - __builtin_prefetch(address, forWrite); - } -} -``` - -#### 解决方案 - -将函数转换为宏函数: - -```c -##define prefetchAddress(address,forWrite) do{\ - if (__builtin_constant_p(forWrite)) { \ - __builtin_prefetch(address, forWrite); \ - } \ -}while(0) -``` - -### 找不到符号 perl_tsa_mutex_lock - -#### 错误信息 - -```shell -Can't load 'xxx.so' for module threads: xxx.so: undefined symbol: perl_tsa_mutex_lock at xxx -``` - -#### 问题介绍 - -在文件 `/usr/lib64/perl5/CORE/perl.h` 中有如下的定义: - -```c -##if ... - defined(__clang__) - ... -## define PERL_TSA__(x) __attribute__((x)) -## define PERL_TSA_ACTIVE -##else -## define PERL_TSA__(x) /* No TSA, make TSA attributes no-ops. */ -## undef PERL_TSA_ACTIVE -##endif - -##ifdef PERL_TSA_ACTIVE -EXTERN_C int perl_tsa_mutex_lock(perl_mutex* mutex) - PERL_TSA_ACQUIRE(*mutex) - PERL_TSA_NO_TSA; -EXTERN_C int perl_tsa_mutex_unlock(perl_mutex* mutex) - PERL_TSA_RELEASE(*mutex) - PERL_TSA_NO_TSA; -##endif##endif -``` - -由于针对 Clang 使用的 mutex 相关的符号是有线程安全标记的 `perl_tsa_*`,但是 `libperl.so` 并不包含这些符号,故而出现链接错误。 - -#### 解决方案 - -- 使用包含 `perl_tsa_*` 符号的 `libperl.so`(在编译 `libperl.so` 时,加上宏 `USE_ITHREADS` 和 `I_PTHREAD`)。 - -- 去除预定义宏 `__clang__`: - - ```c - clang -U__clang__ ... - ``` - -### Clang 宏问题 - -#### 问题介绍 - -程序代码逻辑使用了 `__GNUC__` 的宏作为判断依据,但是 GCC 与 Clang 中定义的宏内容不一致,可以使用如下命令确认 Clang 中宏定义的值。 - -```shell -clang -x c /dev/null -dM -E >clang.log;cat clang.log|grep '__GNUC__' -``` - -#### 解决方案 - -若宏内容不一致导致报错,可以在编译选项加入 `-D__GNUC__=x` 进行适配修改。 - -### 支持的 Attributes 集合 - -LLVM for openEuler 只支持 Clang 框架中的 attributes,请参考[clang文档](https://clang.llvm.org/docs/AttributeReference.html) - -链接中未提到 attributes 暂不支持。 - -### -march 选项在架构扩展特性上的使用说明 - -Clang 使用架构扩展特性时,需在 `-march=` 后加上扩展特性的名称,包括架构默认支持的扩展特性。例如,DotProd 特性是 Armv8.4 架构默认支持的,可使用 `-march=armv8.4-a+dotprod` 使能该特性。 - -### -mgeneral-regs-only 选项的使用说明 - -使用该选项时将生成仅使用通用寄存器的代码,这会阻止编译器使用浮点或高级 SIMD 寄存器。因此当编译时加入该选项,编译器应避免使用浮点运算指令,如果程序中有浮点运算,LLVM for openEuler 将会调用 compiler-rt 中的库函数进行运算。因此,链接时要配合添加 `-rtlib=compiler-rt -l gcc_s` 选项。 - -### Hardware-assisted AddressSanitizer 仅支持在基于 Linux5.4 及以上内核版本的 OS 上运行 - -Hardware-assisted AddressSanitizer 可以通过 `-fsanitize=hwaddress -fuse-ld=lld` 使能,该特性依赖一部分 Linux5.4 及以上才支持的内核接口,若环境内核版本低于 5.4 则无法正常使能,这种情况下建议使用常规地址消毒。 - -### Neon Intrinsic - -Neon Intrinsic 和编译器的具体实现相关,Clang 的neon Intrinsic 的功能与官方文档[《Arm Neon Intrinsics Reference》](https://developer.arm.com/documentation/ihi0073/g)(以下简称ANIR文档)一致。 - -但生成 ANIR 文档上指定的汇编指令,需指定优化级别大于 O0。 - -#### 使用举例 - -以内容如下的test.c为例: - -```c -#include -int32x2_t test_vsudot_lane_s32(int32x2_t r, int8x8_t a, uint8x8_t b) { - return vsudot_lane_s32(r, a, b, 0); -} -``` - -表1 ANIR文档上vsudot_lane_s32的描述 - -| Intrinsic | Argument Preparation | Instruction | Result |Supported Architectures | -|-|-|-|-|-| -| int32x2_t vsudot_lane_s32(int32x2_t r, int8x8_t a, uint8x8_t b, const int lane) | r -\> Vd.2S
a -\> Vn.8B
b -\> Vm.4B
0 \<= lane \<= 1 | SUDOT Vd.2S,Vn.8B,Vm.4B[lane] | Vd.2S -\> result | A32/A64 | - -使用命令 `clang -march=armv8.6-a+i8mm test.c -O0 -S` 生成的结果是以 mov、dup 和 usdot 等多条指令组合的形式。 - -```asm -test_vsudot_lane_s32: // @test_vsudot_lane_s32 -// %bb.0: // %entry - sub sp, sp, #112 // =112 - str d0, [sp, #72] - str d1, [sp, #64] - str d2, [sp, #56] - ldr d0, [sp, #72] - str d0, [sp, #48] - ldr d0, [sp, #64] - str d0, [sp, #40] - ldr d0, [sp, #56] - str d0, [sp, #32] - ldr d0, [sp, #32] - str d0, [sp, #16] - ldr d0, [sp, #48] - ldr d1, [sp, #16] - // implicit-def: $q3 - mov v3.16b, v1.16b - dup v1.2s, v3.s[0] - ldr d2, [sp, #40] - str d0, [sp, #104] - str d1, [sp, #96] - str d2, [sp, #88] - ldr d0, [sp, #104] - ldr d1, [sp, #96] - ldr d2, [sp, #88] - usdot v0.2s, v1.8b, v2.8b - str d0, [sp, #80] - ldr d0, [sp, #80] - str d0, [sp, #24] - ldr d0, [sp, #24] - str d0, [sp, #8] - ldr d0, [sp, #8] - add sp, sp, #112 // =112 - ret -``` - -使用命令 `clang -march=armv8.6-a+i8mm test.c -O1 -S` 生成结果与 ANIR 文档一致。 - -```asm -test_vsudot_lane_s32: // @test_vsudot_lane_s32 -// %bb.0: // %entry - // kill: def $d2 killed $d2 def $q2 - sudot v0.2s, v1.8b, v2.4b[0] - ret -``` - -## OpenMP兼容性 - -### linear 子句和 chucked dynamic schedule 子句共用不支持 - -当 `linear` 子句和 `chucked dynamic schedule` 子句一起使用时,OpenMP 不支持该场景的线程调度,导致运行后循环的线性变量的值不正确。 - -该场景已提交到[上游社区](https://github.com/llvm/llvm-project/issues/61230),等待社区进行修复。 - -规避方案是可以使用其它子句来替换,或者不使用 `chucked dynamic schedule` 的线程调度方式。 - -### Omp atomic 特性依赖 10.3.0 及以上的系统 GCC 版本 - -Omp atomic 特性依赖系统 GCC 的 libgcc,低于 10.3.0 的系统 GCC 版本可能引发运行结果异常。如果需要使用请保证系统 GCC 版本满足要求。使用 Omp atomic 特性的具体用例如下: - -```c -void foo(double *Ptr, double M, double N) { - double sum = 0; - #pragma omp parallel for - for (int i = 0; i < 100; ++i){ - Ptr[i] = i+(M*2 + N); - #pragma omp atomic - sum += Ptr[i]; - } -} -``` - -## 问题反馈 - -在使用过程中遇到问题,需要技术支持时,请反馈问题信息至 openEuler 社区 [llvm-project](https://gitee.com/openeuler/llvm-project) 源码仓。 diff --git a/docs/zh/server/development/llvm/kernel_pgo_user_guide.md b/docs/zh/server/development/llvm/kernel_pgo_user_guide.md deleted file mode 100644 index 2334e114e9db303f434e3ada06257c3fa687e064..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/llvm/kernel_pgo_user_guide.md +++ /dev/null @@ -1,85 +0,0 @@ -# 内核反馈优化特性用户指南 - -## 简介 - -[PGO(Profile-Guided Optimization)](https://clang.llvm.org/docs/UsersManual.html#profile-guided-optimization)是一种编译器反馈优化技术,通过收集程序运行时的信息,指导编译器的优化决策。内核反馈优化(PGO kernel)特性为内核提供了反馈优化能力的支持,使用户可以为不同的应用程序构建针对性优化的内核,在单应用场景下提高目标应用的性能。根据业界经验,对于数据中心大型应用(如MySQL、Nginx、Redis等)通过PGO优化应用和内核有较好的效果。 - -## 环境准备 - -### 软件要求 - -* 操作系统:openEuler 24.03 LTS (SP1) -* clang、llvm、lld:17.0.6 - -### 硬件要求 - -* AArch64架构 -* x86_64架构 - -### 安装软件 - -安装内核源码、编译工具链及其他依赖包: - -```bash -yum install -y kernel-source clang llvm lld flex bison rpm-build elfutils-libelf-devel dwarves openssl-devel rsync -``` - -复制内核源码: - -```bash -cp -r /usr/src/linux-6.6.0-54.0.0.57.oe2403.aarch64 . -``` - -> [!WARNING]注意 -> -> 具体版本号可能有变化。 - -## 使用方法 - -和一般的插桩式反馈优化类似,这里也先构建一个插桩版本,使用编译器插入的探针收集运行时信息并写入到文件,使用收集到的文件二次构建,指导编译器的优化决策。 - -### 插桩版本构建 - -```bash -make LLVM=1 LLVM_IAS=1 openeuler_defconfig -scripts/config -e PGO_CLANG -make LLVM=1 LLVM_IAS=1 binrpm-pkg -j$(getconf _NPROCESSORS_ONLN) -``` - -### 安装插桩版本内核并重启 - -```bash -rpm -ivh kernel-6.6.0-1.aarch64.rpm # 注意文件名可能不同 -grub2-reboot 0 # 指定下一次重启的启动项为刚安装的内核 -reboot -``` - -### 收集profile信息 - -重置数据: - -```bash -echo 1 > /sys/kernel/debug/pgo/reset -``` - -运行程序后,获取采集到的profile信息: - -```bash -cp -a /sys/kernel/debug/pgo/vmlinux.profraw /tmp/vmlinux.profraw -llvm-profdata merge /tmp/vmlinux.profraw -o vmlinux.profdata -``` - -### 二次构建 - -```bash -make LLVM=1 LLVM_IAS=1 openeuler_defconfig -make LLVM=1 LLVM_IAS=1 KCFLAGS=-fprofile-use=/the/profile/data/path/vmlinux.profdata binrpm-pkg -j$(getconf _NPROCESSORS_ONLN) -``` - -### 安装优化版本内核并重启 - -```bash -rpm -ivh kernel-6.6.0-2.aarch64.rpm -grub2-reboot 0 -reboot -``` diff --git a/docs/zh/server/development/llvm/llvm_pgo_user_guide.md b/docs/zh/server/development/llvm/llvm_pgo_user_guide.md deleted file mode 100644 index aacc8185eda35664edb9dc23e9f1af0c69230b7b..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/llvm/llvm_pgo_user_guide.md +++ /dev/null @@ -1,80 +0,0 @@ -# LLVM 反馈优化用户指南 - -## PGO 简介 - -PGO (Profile-Guided Optimization)是一种编译器优化技术。它通过在程序运行时收集性能数据,并在编译阶段使用这些数据来优化程序的性能。PGO 需要两次编译过程,第一次编译时在应用代码中插桩,通过运行典型用例和业务,收集应用代码中函数及分支的执行次数信息,第二次编译时根据运行统计信息近一步优化,生成高性能应用。PGO 等反馈优化技术在数据库、分布式存储等数据和计算密集型等前端瓶颈较高的场景效果显著,性能可提升 10%~30%。它能够有效减少计算时间和资源消耗,提升应用性能,显著降低运营成本并提高用户体验。 - -![alt text](figures/figure_pgo_0.png) - -## 优化原理 - -传统编译优化只能通过静态的程序分析及启发式算法预测程序的执行行为。PGO 通过采集程序运行时信息,可以精准的判断代码的冷热、执行的概率,从而完成高效的冷热分区、分支预测、函数重排、寄存器分配、向量化、函数内联等优化,提升 cache 命中率、分支命中率和数据并行度,减少寄存器压力。 - -典型优化原理说明如下: - -1. 冷热分区 - - 剥离冷分支,使热点代码聚合,提升 cache 命中率。 - - ![alt text](figures/figure_pgo_1.png) - -2. 函数重排 - - 代码段函数重排,使热点函数聚合,降低 iTLB 及 icache miss。 - - ![alt text](figures/figure_pgo_2.png) - -3. 分支预测 - - 调整分支顺序,降低 branch miss 率。 - - ![alt text](figures/figure_pgo_3.png) - -4. 函数内联 - - 基于反馈的 inline:全局分析,精准内联,优化调用栈,内存排布更优。 - - ![alt text](figures/figure_pgo_4.png) - -5. switch优化 - - 结构分支调整,减少跳转,降低 branch miss 率。 - - ![alt text](figures/figure_pgo_5.png) - -## 优化效果 - -数据库场景: MySQL、GaussDB 等数据库应用,使用 LLVM LTO+PGO 优化,性能提升 20%~30%。 - -分布式存储:Ceph、LAVA 等分布式存储解决方案,使用 LLVM LTO+PGO 优化,性能提升 10%+。 - -## 使用方法 - -1. 增加编译选项 `-fprofile-generate=$PROFILE_DATA_PATH`(`$PROFILE_DATA_PATH` 为用于存放采样文件的路径)编译源码得到可执行文件。 - -2. 给可执行文件一组有代表性的输入,并运行可执行文件进行采样,采样后在 `$PROFILE_DATA_PATH` 路径下会得到 `xxxx.profraw` 采样文件。 - -3. `cd $PROFILE_DATA_PATH` ,使用下述命令处理采样文件,得到优化指导文件(`.profdata`): - - ```shell - $LLVM_DIR/bin/llvm-profdata merge -output=foo.profdata ./*.profraw #$LLVM_DIR表示编译器路径 - ``` - -4. 增加选项 `-fprofile-use=$PROFILE_DATA_PATH/foo.profdata` 编译源码得到优化后的可执行文件。 - -## 注意事项 - -1. 插桩之后的运行阶段,程序需要正常结束才能正常生成采样文件,直接 `kill -9` 不能正常生成采样文件。 - -2. 如果程序无法正常退出,可以尝试以下方法生成 profile。(以 MySQL 为例) - - ```shell - echo "set height 0" > gdb.cmd - echo "handle SIGPIPE SIGUSR1 SIGUSR2 SIG36 noprint nostop" >> gdb.cmd - echo "call (void)__llvm_profile_write_file()" >> gdb.cmd - echo "detach" >> gdb.cmd - echo "q" >> gdb.cmd - gdb -x gdb.cmd -p `pidof mysql` # mysql 对应具体采样进程 - ``` - -3. 在[使用方法](#使用方法)步骤 3 中 merge profile 时,如果出现 `counter overflow` 的错误提示,可以通过增加环境变量 `LLVM_PROFILE_FILE=$PROFILE_DATA_PATH/code-%p`,按照每个进程生成采样文件,减少进程间耦合导致采样异常的问题。 diff --git a/docs/zh/server/development/llvm/more_architecture_supported.md b/docs/zh/server/development/llvm/more_architecture_supported.md deleted file mode 100644 index 72b2a09fd53839cba4ae67c469087a83088c0bb2..0000000000000000000000000000000000000000 --- a/docs/zh/server/development/llvm/more_architecture_supported.md +++ /dev/null @@ -1,10 +0,0 @@ -# 新增架构支持 - -LLVM for openEuler 支持通过 `-mcpu=` 选项指定当前的 cpu 型号,使能该 cpu 所有默认特性。在使能对应的微架构亲和选项后,LLVM for openEuler 会依据对应架构的指令实现进行指令流水线调优,提升性能。硬件平台与该选项的配置项对应关系如下: - -|硬件平台|配置项| -|-|-| -|鲲鹏920|tsv110| -|HiSilicon Hip09|hip09| -|HiSilicon Hip10c|hip10c| -|HiSilicon Hip11|hip11| diff --git a/docs/zh/server/development/llvm/public_sys-resources/icon-note.gif b/docs/zh/server/development/llvm/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/development/llvm/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/server/diversified_computing/dpu_offload/_toc.yaml b/docs/zh/server/diversified_computing/dpu_offload/_toc.yaml deleted file mode 100644 index 603498856d2981b195bc8d876a150a1017c65d15..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/_toc.yaml +++ /dev/null @@ -1,15 +0,0 @@ -label: 直连聚合用户指南 -isManual: true -description: 介绍基于openEuler操作系统的容器管理面DPU无感卸载功能特性及安装部署方法 -sections: - - label: 直连聚合环境搭建 - href: ./libvirt_direct_connection_aggregation_environment_establishment.md - - label: qtfs共享文件系统架构 - href: ./qtfs_architecture_and_usage.md - - label: 容器管理面DPU无感卸载 - href: ./overview.md - sections: - - label: 容器管理面无感卸载 - href: ./imperceptible_container_management_plane_offload.md - - label: 容器管理面无感卸载部署指导 - href: ./offload_deployment_guide.md diff --git a/docs/zh/server/diversified_computing/dpu_offload/config/rexec.service b/docs/zh/server/diversified_computing/dpu_offload/config/rexec.service deleted file mode 100644 index ee9e5e4895adb5c010e3f8d4db6652cfaed3d355..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/config/rexec.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Rexec_server Service -After=network.target - -[Service] -Type=simple -Environment=CMD_NET_ADDR=tcp://0.0.0.0:7777 -ExecStart=/usr/bin/rexec_server -ExecReload=/bin/kill -s HUP $MAINPID -KillMode=process - -[Install] -WantedBy=multi-user.target diff --git a/docs/zh/server/diversified_computing/dpu_offload/figures/arch.png b/docs/zh/server/diversified_computing/dpu_offload/figures/arch.png deleted file mode 100644 index b6a7836fd6fab75009e781ac1ed96c73c352f75b..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/diversified_computing/dpu_offload/figures/arch.png and /dev/null differ diff --git a/docs/zh/server/diversified_computing/dpu_offload/figures/offload-arch.png b/docs/zh/server/diversified_computing/dpu_offload/figures/offload-arch.png deleted file mode 100644 index 944900b42c13091e4ec40c6d51dc3c95088aa1b8..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/diversified_computing/dpu_offload/figures/offload-arch.png and /dev/null differ diff --git a/docs/zh/server/diversified_computing/dpu_offload/figures/qtfs-arch.png b/docs/zh/server/diversified_computing/dpu_offload/figures/qtfs-arch.png deleted file mode 100644 index 40fd7e28707642801ec0b984690a25c08e092ac4..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/diversified_computing/dpu_offload/figures/qtfs-arch.png and /dev/null differ diff --git a/docs/zh/server/diversified_computing/dpu_offload/imperceptible_container_management_plane_offload.md b/docs/zh/server/diversified_computing/dpu_offload/imperceptible_container_management_plane_offload.md deleted file mode 100644 index 0eb57b2e40fb8c356f109075842288209052163a..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/imperceptible_container_management_plane_offload.md +++ /dev/null @@ -1,31 +0,0 @@ -# 容器管理面无感卸载介绍 - -## 概述 - -在数据中心及云场景下,随着摩尔定律失效,通用处理单元CPU算力增长速率放缓,而同时网络IO类速率及性能不断攀升,二者增长速率差异形成的剪刀差,即当前通用处理器的处理能力无法跟上网络、磁盘等IO处理的需求。传统数据中心下越来越多的通用CPU算力被IO及管理面等占用,这部分资源损耗称之为数据中心税(Data-center Tax)。据AWS统计,数据中心税可能占据数据中心算力的30%以上,部分场景下甚至可能更多。 - -DPU的出现就是为了将这部分算力资源从主机CPU上解放出来,通过将管理面、网络、存储、安全等能力卸载到专有的处理器芯片(DPU)上进行处理加速,达成降本增效的结果。目前主流云厂商如AWS、阿里云、华为云都通过自研芯片完成管理面及相关数据面的卸载,达成数据中心计算资源100%售卖给客户。 - -管理面进程卸载到DPU可以通过对组件源码进行拆分达成,将源码根据功能逻辑拆分成独立运行的两部分,分别运行在主机和DPU,达成组件卸载的目的。但是这种做法有以下问题:一是影响组件的软件兼容性,组件后续版本升级和维护需要自己维护相关patch,带来一定的维护工作量;二是卸载工作无法被其他组件继承,后续组件卸载后仍需要进行代码逻辑分析和拆分等工作。为解决上述问题,本方案提出DPU的无感卸载,通过OS提供的抽象层,屏蔽应用在主机和DPU间跨主机访问的差异,让业务进程近似0改动达成卸载到DPU运行的目标,且这部分工作属于操作系统通用层,与上层业务无关,其他业务进行DPU卸载时也可以继承。 - -## 架构介绍 - -### 容器管理面DPU无感卸载架构 - -**图1**容器管理面DPU无感卸载架构 - -![offload-arch](./figures/offload-arch.png) - -如图1所示,容器管理面卸载后,dockerd、kubelet等管理进程运行在DPU侧,容器进程本身运行在HOST,进程之间的交互关系由系统层提供对应的能力来保证: - -* 通信层:DPU和主机之间可能通过PCIe或网络进行通信,需要基于底层物理连接提供通信接口层,为上层业务提供通信接口。 - -* 内核共享文件系统qtfs:容器管理面组件kubelet、dockerd与容器进程之间的主要交互通过文件系统进行;管理面工具需要为容器进程准备rootfs、volume等数据面路径;还需要在运行时通过proc文件系统、cgroup文件系统等控制和监控容器进程的资源及状态。共享文件系统的详细介绍参考[共享文件系统介绍](qtfs-architecture-and-usage.md) - -* 用户态卸载环境:用户态需要使用qtfs为容器管理面准备卸载后的运行时环境,将主机的容器管理及运行时相关目录远程挂载到DPU;另外由于需要挂载proc、sys、cgroup等系统管理文件系统,为防止对DPU原生系统功能的破坏,上述挂载动作都在chroot环境内完成。另外管理面(运行于DPU)和容器进程(运行于主机)之间仍存在调用关系,需要通过远程二进制执行工具(rexec)提供对应功能。 - -容器管理面无感卸载的操作步骤可参考[部署指导文档](./offload-deployment-guide.md) - -> ![](./public_sys-resources/icon-note.gif)**说明**: -> -> 上述操作指导涉及对容器管理面组件的少量改动和rexec工具修改,这些修改基于指定版本,其他版本可基于实际执行环境做适配修改。文档中提供的patch仅供验证指导使用,不具备实际商用的条件。 diff --git a/docs/zh/server/diversified_computing/dpu_offload/libvirt_direct_connection_aggregation_environment_establishment.md b/docs/zh/server/diversified_computing/dpu_offload/libvirt_direct_connection_aggregation_environment_establishment.md deleted file mode 100644 index 2540e49f2a276e0a34ebaccedae3dba1f959d8e7..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/libvirt_direct_connection_aggregation_environment_establishment.md +++ /dev/null @@ -1,369 +0,0 @@ -# 直连聚合环境搭建 - -## **1** 硬件准备 - -### 测试模式 - -需准备2台物理机(虚拟机当前未试过),网络互通。 - -其中一台作为DPU模拟,另一台作为HOST模拟。在本文档中用DPU和HOST指代这两台服务器。 - -> [!NOTE]说明 -> 测试模式因为会暴露网络端口且不做连接认证,存在网络安全风险,仅能用于内部测试验证,不要用于实际生产环境。 - -### vsock模式 - -需要DPU加HOST,且DPU能支持通过virtio提供vsock通信方式。 - -目前还未基于真实的支持DPU vsock的环境调试过,本文档当前仅描述基于测试模式的方法,下面的内容依然默认使用测试模式。 - -## **2** libvirt卸载架构图 - -![arch](./figures/arch.png) - -## **3** 环境搭建 - -### **3.1** QTFS文件系统部署 - -可参考qtfs主页: - -QTFS建联需要关闭防火墙。 - -### **3.2** UDSPROXYD服务部署 - -#### 3.2.1 简介 - -udsproxyd是一个跨主机的unix domain socket代理服务,需要分别部署在host和dpu上,在host和dpu上的udsproxyd组件是对等的关系,可以实现分布在host与dpu上的2个进程之间的uds通信,通信进程是无感的,也就是说如果这两个进程在同一主机内通过uds正常通信的功能,拉远到host和dpu之间也可以,不需要做代码适配,只需要作为client的一端加一个环境变量`LD_PRELOAD=libudsproxy.so`。udsproxyd作为一个跨主机的unix socket服务,本身可以用LD_PRELOAD=libudsproxy.so的方式对接使用,在qtfs的支持下也可以无感应用,这需要提前做好白名单相关配置,具体有两种方式,将在后面详述。 - -#### 3.2.2 部署方式 - -首先,在dpu-utilities工程内编译udsproxyd: - -```bash -cd qtfs/ipc - -make -j UDS_TEST_MODE=1 && make install -``` - -当前最新版本下,qtfs server侧的engine服务已经整合了udsproxyd的能力,所以server侧若部署了qtfs后不需要再额外启动udsproxyd。client侧则单独拉起udsproxyd服务: - -```bash -nohup /usr/bin/udsproxyd 2>&1 & -``` - -参数解释: - -```bash -thread num: 线程数量,目前只支持单线程,填1. - -addr: 本机使用的ip - -port:本机占用的port - -peer addr: udsproxyd对端的ip - -peer port: 对端port -``` - -示例: - -```bash -nohup /usr/bin/udsproxyd 1 192.168.10.10 12121 192.168.10.11 12121 2>&1 & -``` - -如果未拉起qtfs的engine服务,想单独测试udsproxyd,则在server端也对等拉起udsproxyd即可: - -```bash -nohup /usr/bin/udsproxyd 1 192.168.10.11 12121 192.168.10.10 12121 2>&1 & -``` - -#### 3.2.3 应用方式 - -##### 3.2.3.1 独立使用udsproxyd服务 - -需要在使用uds服务的unix socket应用程序的client端进程启动时添加LD_PRELOAD=libudsproxy.so环境变量,以接管glibc的connect api进行uds对接,在libvirt卸载场景中可以将libudsproxy.so拷贝到libvirt的chroot目录下的/usr/lib64中以提供给libvirtd服务使用,这一步在后面介绍。 - -#### 3.2.3.2 无感使用udsproxyd服务 - -首先为qtfs配置uds服务的白名单,这里说的白名单是unix socket的server端bind的sock文件地址,例如libvirt的虚拟机建立的unix socket的服务端文件地址都在/var/lib/libvirt下,则我们需要增加一条白名单路径为/var/lib/libvirt/,提供两种方式供选择: - -a) 通过配置工具qtcfg加载,进入qtfs/qtinfo目录编译工具: - -在qtfs的client端执行 - -```bash -make role=client -make install -``` - -在qtfs的server端执行 - -```bash -make role=server -make install -``` - -配置工具将会自动安装,然后使用qtcfg命令配置白名单,假设需要增加的白名单为"/var/lib/libvirt/",输入: - -```bash -qtcfg -x /var/lib/libvirt/ -``` - -查询白名单为: - -```bash -qtcfg -z -``` - -删除白名单为: - -```bash -qtcfg -y 0 -``` - -删除白名单时,参数为查询白名单时列出来的index序号。 - -b) 通过配置文件增加,这需要在qtfs或qtfs_server内核模块加载前配置,通过内核模块初始化时读取该文件进行白名单配置。 - -> [!NOTE]说明 -> 白名单是为了防止不相干的unix socket链接也进行远程连接产生错误,或者浪费不必要的资源,所以白名单尽量设置得精确一些,比如本文中针对libvirt场景设置为/var/lib/libvirt/比较好,而直接将/var/lib/或/var/或直接将根目录加入的做法是有较大风险的。 - -### **3.3** REXEC服务部署 - -#### 3.3.1 简介 - -rexec是一个用c语言开发的远程执行组件,分为rexec client和rexec server。server端为一个常驻服务进程,client端为一个二进制文件,client端被执行后会基于udsproxyd服务与server端建立uds连接,并由server常驻进程在server端拉起指定程序。在libvirt虚拟化卸载中,libvirtd卸载到DPU上,当它需要在HOST拉起虚拟机qemu进程时调起rexec client进行远程拉起。 - -#### 3.3.2 部署方法 - -##### 3.3.2.1 配置环境变量与白名单 - -在host侧配置rexec server的白名单,将文件whitelist放置在/etc/rexec/目录下并修改权限为只读: - -```bash -chmod 400 /etc/rexec/whitelist -``` - -如果想仅用于测试,可以不进行白名单配置,删除此文件重启rexec_server进程后则没有白名单限制。 - -下载dpu-utilities代码后,进入qtfs/rexec主目录下,执行:`make && make install`即可安装rexec所需全部二进制到/usr/bin目录下,包括了:`rexec、rexec_server`两个二进制可执行文件。 - -在server端启动rexec_server服务之前,检查是否存在/var/run/rexec目录,没有则创建: - -```bash -mkdir /var/run/rexec -``` - -##### 3.3.2.2 服务方式 - -server端可以通过两种方式拉起rexec_server服务。 - -- 方式1: - -配置systemd服务 - -在/usr/lib/systemd/system/下增加rexec.service文件,内容如下: - -[rexec.service](./config/rexec.service) - -然后通过systemctl管理rexec服务。 - -首次配置服务时: - -```bash -systemctl daemon-reload - -systemctl enable --now rexec -``` - -后续重启新启动服务: - -```bash -systemctl stop rexec - -systemctl start rexec -``` - -- 方式2: - -手动后台拉起 - -```bash -nohup /usr/bin/rexec_server 2>&1 & -``` - -### **3.4** libvirt服务部署 - -#### 3.4.1 HOST侧部署 - -HOST无需额外部署,只需要安装虚拟机启动环境以及libvirt即可(安装libvirt主要是为了创建对应的目录): - -```bash -yum install -y qemu libvirt edk2-aarch64 #(arm环境虚拟机启动需要) -``` - -HOST需要放置虚拟机镜像,后面通过qtfs挂载到client端共享给libvirt。 - -#### 3.4.2 DPU侧部署 - -##### 3.4.2.1 创建chroot环境 - -a) 从openEuler官网下载qcow镜像,例如23.09版本。 - -b) 将qcow2挂载出来: - -```bash -cd /root/ - -mkdir p2 new_root_origin new_root - -modprobe nbd maxport=8 - -qemu-nbd -c /dev/nbd0 xxx.qcow2 - -mount /dev/nbd0p2 /root/p2 - -cp -rf /root/p2/* /root/new_root_origin/ - -umount /root/p2 - -qemu-nbd -d /dev/nbd0 -``` - -c) 此时new_root_origin有解压出来的镜像根目录,再将new_root绑定挂载到该目录上,作为chroot的根目录挂载点: - -```bash -mount --bind /root/new_root_origin /root/new_root -``` - -##### 3.4.2.2 安装libvirt - -此处介绍patch方式源码编译,如果计算提供rpm包则参考计算提供的安装方法。 - -a) 进入chroot环境,安装编译环境和常用工具: - -```bash -yum groupinstall "Development tools" -y -yum install -y vim meson qemu qemu-img strace edk2-aarch64 tar -``` - -其中edk2-aarch64是arm环境下虚拟机启动需要的。 - -b) 安装libvirt编译需要的依赖包: - -```bash -yum install -y rpcgen python3-docutils glib2-devel gnutls-devel libxml2-devel libpciaccess-devel libtirpc-devel yajl-devel systemd-devel dmidecode glusterfs-api numactl -``` - -c) 下载libvirt-x.x.x。源码包:。 - -d) 获取直连聚合libvirt patch: - - - -e) 将源码包解压到chroot环境下的目录,如/home。将patch打上。 - -f) 进入libvirt-x.x.x目录。 - -```bash -meson build --prefix=/usr -Ddriver_remote=enabled -Ddriver_network=enabled -Ddriver_qemu=enabled -Dtests=disabled -Ddocs=enabled -Ddriver_libxl=disabled -Ddriver_esx=disabled -Dsecdriver_selinux=disabled -Dselinux=disabled -``` - -g) 安装成功 - -```bash -ninja -C build install -``` - -##### 3.4.2.3 启动libvirtd服务 - -libvirt直连聚合卸载模式,需要从chroot内启动libvirtd服务,首先需要把chroot之外的libvirtd服务停掉。 - -a) 放置虚拟机跳板脚本在chroot环境下的/usr/bin和/usr/libexec下:[qemu-kvm](./scripts/qemu-kvm)。替换原同名二进制,这个跳板脚本就是用于调用rexec拉起远端虚拟机。 - -> [!NOTE]说明 -> virsh使用的xml中,\下面的\需要填qemu-kvm,如果是填的其他,则需要修改为qemu-kvm,或者将跳板脚本替换\指代的二进制,且跳板脚本内容需要对应地更改。 - -b) 将udsproxyd编译时附带产生的libudsproxy.so拷贝到本chroot目录下/usr/lib64下,如果配置qtfs的uds白名单方式使用udsproxyd服务,则不需要。 - -c) 将前面rexec编译产生的rexec二进制放置到本chroot的/usr/bin/目录下。 - -d) 配置chroot的挂载环境,需要挂载一些目录,使用如下配置脚本: - -- [virt_start.sh](./scripts/virt_start.sh)为配置脚本,virt_start.sh脚本中需要手动修改qtfs ko dir为编译的ko位置,host ip address为正确的host地址。 - -- [virt_umount.sh](./scripts/virt_umount.sh)为消除配置脚本。 - -e) 脚本中挂载目录位置都是按照本文档前文创建目录位置与名称为准,如果有修改需要同步适配修改脚本。 - -f) 配置好chroot环境后,进入chroot环境,手动拉起libvirtd。 - -未配置qtfs使用udsproxyd白名单的拉起方式: - -```bash -LD_PRELOAD=/usr/lib64/libudsproxy.so virtlogd -d -LD_PRELOAD=/usr/lib64/libudsproxy.so libvirtd -d -```` - -如果已配置qtfs使用udsproxyd白名单,则不需要增加LD_PRELOAD前缀: - -```bash -virtlogd -d -libvirtd -d -``` - -查看是否已配置白名单的方式,在chroot之外的窗口,执行: - -```bash -qtcfg -z -``` - -查看列举出来的白名单是否包含/var/lib/libvirt/。 - -### **3.5** 拉起虚拟机 - -服务部署完成后,即可以在DPU侧进行虚拟机的生命周期管理。 - -#### 3.5.1 虚拟机define - -a) 将虚拟机启动镜像放置在HOST侧某目录,例如: - -```bash -/home/VMs/Domain_name -``` - -b) 使用qtfs将这个目录挂载到DPU侧: - -```bash -mount -t qtfs /home/VMs /home/VMs -``` - -c) xml中使用`/home/VMs/Domain_name`作为启动镜像,这样在DPU和HOST侧看到的都是同一个镜像文件(Domain_name是虚拟机domain的名字)。 - -d) 检查xml中\是否指向了跳板脚本。 - -e) 执行以下命令。 - -```bash -virsh define xxx.xml -``` - -#### 3.5.2 虚拟机start - -```bash -virsh start domain -``` - -## **4** 环境重置 - -由于libvirt在DPU和HOST之间共享了部分目录,卸载环境时需要先将这部分目录全部umount。一般先停掉libvirtd和virtlogd进程,调用virt_umount脚本即可。如果HOST还有虚拟机运行,也需要先杀掉才能umount。 - -## **5** 部分问题定位思路 - -1、 libvirt编译失败:检查依赖包安装是否完全,如果chroot挂载了外部目录或者host目录,也可能导致编译失败,需先解除挂载。 - -2、 QTFS挂载失败:可能server端engine进程没拉起、防火墙没关导致qtfs建联失败。 - -3、 虚拟机define失败:检查xml里的项目仿真器是否指向跳板脚本、虚拟机镜像是否已经通过qtfs挂载到DPU上可见,且路径与HOST一致。 - -4、 虚拟机启动失败:libvirtd和virtlogd服务是否拉起、rexec服务是否拉起、跳板进程是否拉起、是否qemu-kvm拉起时报错。 diff --git a/docs/zh/server/diversified_computing/dpu_offload/offload_deployment_guide.md b/docs/zh/server/diversified_computing/dpu_offload/offload_deployment_guide.md deleted file mode 100644 index 5f24367850929e2cef67a5fb30ddc631efaec3ff..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/offload_deployment_guide.md +++ /dev/null @@ -1,166 +0,0 @@ -# 容器管理面无感卸载部署指导 - -> ![](./public_sys-resources/icon-note.gif)**说明**: -> -> 本指导涉及对容器管理面组件的少量改动和rexec工具修改,这些修改基于指定版本,其他版本可基于实际执行环境做适配修改。文档中提供的patch仅供验证指导使用,不具备实际商用的条件。 -> -> 当前共享文件系统之间通信通过网络完成,可通过网络互连的两台物理机器或VM模拟验证。 -> -> 建议用户验证前先搭建可正常使用的kubernetes集群和容器运行环境,针对其中单个节点的管理面进程进行卸载验证,卸载环境(DPU)可选择一台具备网络连接的物理机或VM。 - -## 简介 - -容器管理面,即kubernetes、dockerd、containerd、isulad等容器的管理工具,而容器管理面卸载,即是将容器管理面卸载到与容器所在机器(以下称为HOST)之外的另一台机器(当前场景下是指DPU,一个具备独立运行环境的硬件集合)上运行。 - -我们使用共享文件系统qtfs将HOST上与容器运行相关的目录挂载到DPU上,使得容器管理面工具(运行在DPU)可以访问到这些目录,并为容器(运行在HOST)准备运行所需要的环境,此处,因为需要挂载远端的proc和sys等特殊文件系统,所以,我们创建了一个专门的rootfs以作为kubernetes、dockerd的运行环境(以下称为`/another_rootfs`)。 - -并且通过rexec执行容器的拉起、删除等操作,使得可以将容器管理面和容器分离在不同的两台机器上,远程对容器进行管理。 - -## 相关组件补丁介绍 - -### rexec介绍 - -rexec是一个用go语言开发的远程执行工具,基于docker/libchan下的[rexec](https://github.com/docker/libchan/tree/master/examples/rexec)示例工具改造而成,实现远程调用远端二进制的功能,为方便使用在rexec中增加了环境变量传递和监控原进程退出等能力。 - -rexec工具的具体使用方式为在服务器端用`CMD_NET_ADDR=tcp://0.0.0.0:<端口号> rexec_server`的方式拉起rexec服务进程,然后在客户端用`CMD_NET_ADDR=tcp://<服务端ip>:<端口号> rexec [要执行的指令]`的方式启动,便可以调用rexec_server执行需要执行的指令,并等待指令执行结果返回。 - -### dockerd相关改动介绍 - -对dockerd的改动基于18.09版本。 - -在containerd中,暂时注释掉了通过hook调用libnetwork-setkey的部分,此处不影响容器的拉起。并且,为了docker load的正常使用,注释掉了在mounter_linux.go 中mount函数中一处错误的返回。 - -最后,因为在容器管理面的运行环境中,将`/proc`挂在了服务端的proc文件系统,而本地的proc文件系统则挂载在了`/local_proc`,所以,dockerd以及containerd中的对`/proc/self/xxx`或者`/proc/getpid()/xxx`或者相关的文件系统访问的部分,我们统统将`/proc`改为了`/local_proc`。 - -### containerd相关改动介绍 - -对于containerd的改动基于containerd-1.2-rc.1版本。 - -在获取mountinfo时,因为`/proc/self/mountinfo`只能获取到dockerd本身在本地的mountinfo,而无法获取到服务端的mountinfo,所以,将其改为了`/proc/1/mountinfo`,使其通过获取服务端1号进程mountinfo的方式得到服务端的mountinfo。 - -在contaienrd-shim中,将与containerd通信的unix socket改为了用tcp通信,containerd通过`SHIM_HOST`环境变量获取containerd-shim所运行环境的ip,即服务端ip。用shim的哈希值计算出一个端口号,并以此作为通信的端口,来拉起containerd-shim. - -并且,将原来的通过系统调用给contaienr-shim发信号的方式,改为了通过远程调用kill指令的方式向shim发信号,确保了docker杀死容器的行为可以正确的执行。 - -### kubernetes相关改动介绍 - -kubelet暂不需要功能性改动,可能会遇到容器QoS管理器首次设置失败的错误,该错误不影响后续Pods拉起流程,暂时忽略该报错。 - -## 容器管理面卸载操作指南 - -在服务器端和客户端,都要拉起rexec_server。服务器端拉起rexec_server,主要是用于客户端创建容器时用rexec拉起containerd-shim,而客户端拉起rexec_server,则是为了执行containerd-shim对dockerd和containerd的调用。 - -### 服务器端 - -创建容器管理面所需要的文件夹,然后插入qtfs_server.ko,并拉起engine进程。 - -此外在服务器端,还需要创建rexec脚本/usr/bin/dockerd. - -``` shell -#!/bin/bash -CMD_NET_ADDR=tcp://<客户端ip>: rexec /usr/bin/dockerd $* -``` - -### 客户端 - -需要准备一个rootfs,作为dockerd与containerd的运行环境,通过如下的脚本,将dockerd、containerd所需要的服务端目录挂载到客户端。并且,需要确保在以下脚本中被挂载的远程目录在服务端和客户端都存在。 - -``` shell -#!/bin/bash -mkdir -p /another_rootfs/var/run/docker/containerd -iptables -t nat -N DOCKER -echo "---------insmod qtfs ko----------" -insmod /YOUR/QTFS/PATH/qtfs.ko qtfs_server_ip=<服务端ip> qtfs_log_level=INFO - -# chroot环境内的proc使用DPU的proc共享文件系统替换,需要将本机真实proc文件系统挂载到local_proc下使用 -mount -t proc proc /another_rootfs/local_proc/ - -# 将chroot内环境与外部环境bind,方便进行配置和运行 -mount --bind /var/run/ /another_rootfs/var/run/ -mount --bind /var/lib/ /another_rootfs/var/lib/ -mount --bind /etc /another_rootfs/etc - -mkdir -p /another_rootfs/var/lib/isulad - -# 在chroot环境内创建并挂载dev、sys和cgroup文件系统 -mount -t devtmpfs devtmpfs /another_rootfs/dev/ -mount -t sysfs sysfs /another_rootfs/sys -mkdir -p /another_rootfs/sys/fs/cgroup -mount -t tmpfs tmpfs /another_rootfs/sys/fs/cgroup -list="perf_event freezer files net_cls,net_prio hugetlb pids rdma cpu,cpuacct memory devices blkio cpuset" -for i in $list -do - echo $i - mkdir -p /another_rootfs/sys/fs/cgroup/$i - mount -t cgroup cgroup -o rw,nosuid,nodev,noexec,relatime,$i /another_rootfs/sys/fs/cgroup/$i -done - -## common system dir -mount -t qtfs -o proc /proc /another_rootfs/proc -echo "proc" -mount -t qtfs /sys /another_rootfs/sys -echo "cgroup" - -# 挂载容器管理面所需要的共享目录 -mount -t qtfs /var/lib/docker/containers /another_rootfs/var/lib/docker/containers -mount -t qtfs /var/lib/docker/containerd /another_rootfs/var/lib/docker/containerd -mount -t qtfs /var/lib/docker/overlay2 /another_rootfs/var/lib/docker/overlay2 -mount -t qtfs /var/lib/docker/image /another_rootfs/var/lib/docker/image -mount -t qtfs /var/lib/docker/tmp /another_rootfs/var/lib/docker/tmp -mkdir -p /another_rootfs/run/containerd/io.containerd.runtime.v1.linux/ -mount -t qtfs /run/containerd/io.containerd.runtime.v1.linux/ /another_rootfs/run/containerd/io.containerd.runtime.v1.linux/ -mkdir -p /another_rootfs/var/run/docker/containerd -mount -t qtfs /var/run/docker/containerd /another_rootfs/var/run/docker/containerd -mount -t qtfs /var/lib/kubelet/pods /another_rootfs/var/lib/kubelet/pods -``` - -在/another_rootfs中,需要创建以下脚本,用来支持部分跨主机操作。 - -* /another_rootfs/usr/local/bin/containerd-shim - -``` shell -#!/bin/bash -CMD_NET_ADDR=tcp://<服务端ip>: /usr/bin/rexec /usr/bin/containerd-shim $* -``` - -* /another_rootfs/usr/local/bin/remote_kill - -``` shell -#!/bin/bash -CMD_NET_ADDR=tcp://<服务端ip>: /usr/bin/rexec /usr/bin/kill $* -``` - -* /another_rootfs/usr/sbin/modprobe - -``` shell -#!/bin/bash -CMD_NET_ADDR=tcp://<服务端ip>: /usr/bin/rexec /usr/sbin/modprobe $* -``` - -在chroot到dockerd和containerd运行所需的rootfs后,用如下的命令拉起dockerd和containerd - -* containerd - -``` shell -#!/bin/bash -SHIM_HOST=<服务端ip> containerd --config /var/run/docker/containerd/containerd.toml --address /var/run/containerd/containerd.sock -``` - -* dockerd - -``` shell -#!/bin/bash -SHIM_HOST=<服务端ip> CMD_NET_ADDR=tcp://<服务端ip>: /usr/bin/dockerd --containerd /var/run/containerd/containerd.sock -``` - -* kubelet - -在chroot环境内使用原参数拉起kubelet即可。 - -因为我们已经将/var/run/和/another_rootfs/var/run/绑定在了一起,所以可以在正常的rootfs下,通过docker来访问docker.sock接口进行容器管理。 - -至此,完成容器管理面卸载到DPU,可以通过docker相关操作进行容器创建、删除等操作,也可以通过kubectl在当前节点进行pods调度和销毁,且实际容器业务进程运行在HOST侧。 - -> ![](./public_sys-resources/icon-note.gif)**说明**: -> -> 本指导所述操作只涉及容器管理面进程卸载,不包含容器网络和数据卷volume等卸载,如有相关需求,需要通过额外的网络或存储卸载能力支持。本指导支持不带网络和存储的容器跨节点拉起。 diff --git a/docs/zh/server/diversified_computing/dpu_offload/overview.md b/docs/zh/server/diversified_computing/dpu_offload/overview.md deleted file mode 100644 index 4f4ee65a44030b0e956c71b4500e53cf8a095847..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/overview.md +++ /dev/null @@ -1,11 +0,0 @@ -# 容器管理面DPU无感卸载指南 - -本文档介绍基于openEuler操作系统的容器管理面DPU无感卸载功能特性及安装部署方法,该特性可以通过操作系统提供的统一抽象层,屏蔽容器管理面跨主机资源访问的差异,实现容器管理面业务无感卸载到DPU上。 - -本文档适用于使用openEuler系统并希望了解和使用操作系统内核及容器的社区开发者、开源爱好者以及相关合作伙伴。使用人员需要具备以下经验和技能: - -- 熟悉Linux基本操作 - -- 熟悉linux内核文件系统相关基础机制 - -- 对kubernetes和docker有一定了解,熟悉docker及kubernetes部署及使用。 diff --git a/docs/zh/server/diversified_computing/dpu_offload/public_sys-resources/icon-note.gif b/docs/zh/server/diversified_computing/dpu_offload/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/diversified_computing/dpu_offload/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/server/diversified_computing/dpu_offload/qtfs_architecture_and_usage.md b/docs/zh/server/diversified_computing/dpu_offload/qtfs_architecture_and_usage.md deleted file mode 100644 index fc24e9ce06588570651ca3f131e73aea34f61922..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/qtfs_architecture_and_usage.md +++ /dev/null @@ -1,67 +0,0 @@ -# qtfs - -## 介绍 - -qtfs是一个共享文件系统项目,可部署在host-dpu的硬件架构上,也可以部署在2台服务器之间。以客户端服务器的模式工作,使客户端能通过qtfs访问服务端的指定文件系统,得到本地文件访问一致的体验。 - -qtfs的特性: - -+ 支持挂载点传播; - -+ 支持proc、sys、cgroup等特殊文件系统的共享; - -+ 支持远程文件读写的共享; - -+ 支持在客户端对服务端的文件系统进行远程挂载; - -+ 支持特殊文件的定制化处理; - -+ 支持远端fifo、unix-socket等,并且支持epoll,使客户端和服务端像本地通信一样使用这些文件; - -+ 支持基于host-dpu架构通过PCIe协议底层通信,性能大大优于网络; - -+ 支持内核模块形式开发,无需对内核进行侵入式修改。 - -## 软件架构 - -软件大体框架图: - -![qtfs-arch](./figures/qtfs-arch.png) - -## 安装教程 - -目录说明: - -+ **qtfs**: 客户端内核模块相关代码,直接在该目录下编译客户端ko。 - -+ **qtfs_server**: 服务端内核模块相关代码,直接在该目录下编译服务端ko和相关程序。 - -+ **qtinfo**: 诊断工具,支持查询文件系统的工作状态以及修改log级别等。 - -+ **demo**、**test**、**doc**: 测试程序、演示程序以及项目资料等。 - -+ 根目录: 客户端与服务端通用的公共模块代码。 - -首先找两台服务器(或虚拟机)配置内核编译环境: - -1. 要求内核版本在5.10或更高版本。 -2. 安装内核开发包:yum install kernel-devel。 - -服务端安装: - -1. cd qtfs_server -2. make clean && make -3. insmod qtfs_server.ko qtfs_server_ip=x.x.x.x qtfs_server_port=12345 qtfs_log_level=WARN -4. ./engine 4096 16 - -客户端安装: - -1. cd qtfs -2. make clean && make -3. insmod qtfs.ko qtfs_server_ip=x.x.x.x qtfs_server_port=12345 qtfs_log_level=WARN - -## 使用说明 - -安装完成后,客户端通过挂载把服务端的文件系统让客户端可见,例如:`mount -t qtfs / /root/mnt/` - -客户端进入"/root/mnt"后便可查看到server端的所有文件,以及对其进行相关操作。 diff --git a/docs/zh/server/diversified_computing/dpu_offload/scripts/qemu-kvm b/docs/zh/server/diversified_computing/dpu_offload/scripts/qemu-kvm deleted file mode 100644 index e869371be109b57f59709fc23bc5b1cb2002cfbf..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/scripts/qemu-kvm +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec /usr/bin/rexec /usr/bin/qemu-kvm $* diff --git a/docs/zh/server/diversified_computing/dpu_offload/scripts/virt_start.sh b/docs/zh/server/diversified_computing/dpu_offload/scripts/virt_start.sh deleted file mode 100644 index 06ca194b7a639a947b6e395f116beeba7c897459..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/scripts/virt_start.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -insmod ./qtfs.ko qtfs_server_ip=192.168.10.11 qtfs_log_level=NONE - -systemctl stop libvirtd - -if [ ! -d "/root/new_root/local_proc" ]; then - mkdir -p /root/new_root/local_proc -fi -if [ ! -d "/root/new_root/local" ]; then - mkdir -p /root/new_root/local -fi -mount -t proc proc /root/new_root/local_proc/ -mount -t proc proc /root/new_root/local/proc -mount -t sysfs sysfs /root/new_root/local/sys -mount --bind /var/run/ /root/new_root/var/run/ -mount --bind /var/lib/ /root/new_root/var/lib/ -mount --bind /var/cache/ /root/new_root/var/cache -mount --bind /etc /root/new_root/etc - -mkdir -p /root/new_root/home/VMs/ -mount -t qtfs /home/VMs/ /root/new_root/home/VMs/ - -mount -t qtfs /var/lib/libvirt /root/new_root/var/lib/libvirt - -mount -t devtmpfs devtmpfs /root/new_root/dev/ -mount -t hugetlbfs hugetlbfs /root/new_root/dev/hugepages/ -mount -t mqueue mqueue /root/new_root/dev/mqueue/ -mount -t tmpfs tmpfs /root/new_root/dev/shm - -mount -t sysfs sysfs /root/new_root/sys -mkdir -p /root/new_root/sys/fs/cgroup -mount -t tmpfs tmpfs /root/new_root/sys/fs/cgroup -list="perf_event freezer files net_cls,net_prio hugetlb pids rdma cpu,cpuacct memory devices blkio cpuset" -for i in $list -do - echo $i - mkdir -p /root/new_root/sys/fs/cgroup/$i - mount -t cgroup cgroup -o rw,nosuid,nodev,noexec,relatime,$i /root/new_root/sys/fs/cgroup/$i -done - -## common system dir -mount -t qtfs -o proc /proc /root/new_root/proc -echo "proc" - -mount -t qtfs /sys /root/new_root/sys -echo "cgroup" -mount -t qtfs /dev/pts /root/new_root/dev/pts -mount -t qtfs /dev/vfio /root/new_root/dev/vfio diff --git a/docs/zh/server/diversified_computing/dpu_offload/scripts/virt_umount.sh b/docs/zh/server/diversified_computing/dpu_offload/scripts/virt_umount.sh deleted file mode 100644 index 4adddec913c23069c6bffddec0bf1770f8c5ce71..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_offload/scripts/virt_umount.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -umount /root/new_root/dev/hugepages -umount /root/new_root/etc -umount /root/new_root/home/VMs -umount /root/new_root/local_proc -umount /root/new_root/local/proc -umount /root/new_root/var/lib/libvirt -umount /root/new_root/var/lib -umount /root/new_root/* -umount /root/new_root/dev/pts -umount /root/new_root/dev/mqueue -umount /root/new_root/dev/shm -umount /root/new_root/dev/vfio -umount /root/new_root/dev -rmmod qtfs - -umount /root/new_root/sys/fs/cgroup/* -umount /root/new_root/sys/fs/cgroup -umount /root/new_root/sys diff --git a/docs/zh/server/diversified_computing/dpu_os/_toc.yaml b/docs/zh/server/diversified_computing/dpu_os/_toc.yaml deleted file mode 100644 index 46bee7c9218f7c6738954981bd8573ce51d90b7f..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_os/_toc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -label: DPU_OS -isManual: true -description: 介绍基于openEuler操作系统裁剪构建DPU_OS镜像的方法以及部署验证方法 -sections: - - label: DPU_OS背景与需求 - href: ./dpu_os_background_and_requirements.md - - label: DPU_OS裁剪指导 - href: ./dpu_os_tailoring_guide.md - - label: 验证与部署 - href: ./verification_and_deployment.md diff --git a/docs/zh/server/diversified_computing/dpu_os/dpu_os_background_and_requirements.md b/docs/zh/server/diversified_computing/dpu_os/dpu_os_background_and_requirements.md deleted file mode 100644 index b310da809defb43e6d59dde99e5e2a679b492c4c..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_os/dpu_os_background_and_requirements.md +++ /dev/null @@ -1,67 +0,0 @@ -# DPU-OS背景与需求 - -## 概述 - -在数据中心及云场景下,摩尔定律失效,通用处理单元CPU算力增长速率放缓,而网络IO类速率及性能不断攀升,二者增长速率差异形成剪刀差,即当前通用处理器的处理能力无法跟上网络、磁盘等IO处理的需求。传统数据中心下越来越多的通用CPU算力被IO及管理面等处理占用,这部分资源损耗称之为数据中心税(Datacenter Tax)。据AWS统计,数据中心税可能占据数据中心算力的30%以上,部分场景下甚至可能更多。 - -DPU (Data Processing Unit) 的出现就是为了将这部分算力资源从主机CPU上解放出来,通过将管理面、网络、存储、安全等能力卸载到专有的处理器芯片上进行处理加速,达成降本增效的结果。目前主流云厂商如AWS、阿里云、华为云都通过自研芯片完成管理面及相关数据面的卸载,实现数据中心计算资源100%售卖给客户。 - -目前DPU发展非常火热,云厂商及大数据在相关场景下对DPU存在较强烈的需求,国内也有很多DPU初创公司推出不同的DPU产品。在这一背景下,云和大数据等厂商需要考虑如何整合使用不同DPU产品,而DPU厂商也面临对不同客户交付时设备驱动适配客户指定操作系统的问题。openEuler作为国内领先的开源开放操作系统,通过基于openEuler构建的DPU-OS,解决DPU厂商及客户之间的适配问题。另外DPU上OS用于承载部分业务加速的需求,需要对DPU-OS进行性能优化加速,可以基于openEuler构建DPU相关加速能力,内置在DPU-OS中,构建DPU相关软件生态。 - -## DPU-OS需求分析及设计 - -### DPU现状及对OS需求 - -DPU普遍具有以下特点和问题: - -* DPU通用处理能力资源受限 - - 当前DPU仍处在发展早期阶段,硬件上仍在不断演进,而且由于DPU供电限制,当前硬件规格普遍较低。主流DPU中通用处理器CPU核数普遍较少,约8-24CPU,且单核处理能力较弱。内存大小受限,普遍在16-32GB。DPU本地存储空间为几十到几百GB不等。运行于DPU之上的操作系统也需要考虑这些限制。 - -* DPU-OS安装方式多样 - - 当前DPU厂商及产品多种多样,对应操作系统的安装部署方式也不尽相同,包括PXE网络安装、U盘安装或其他自定义安装方式(由HOST下发安装镜像)。 - -* DPU性能需求 - - DPU的应用场景决定其对性能有强烈需求,相比于通用服务器操作系统,DPU-OS可能对内核特性或功能组件有特殊要求,比如用于设备直通热迁移的vDPA特性、厂商特定驱动适配支持、DPU进程的无感卸载特性、定制优化的用户态数据面加速工具如DPDK/SPDK/OVS、DPU管理监控相关的工具类组件。 - -针对以上DPU现状,提出对DPU-OS的需求如下: - -* 极致轻量的DPU-OS安装包 - - 通过裁剪openEuler系统镜像,减少非必要安装包的空间占用;通过优化系统服务,减少资源底噪开销。 - -* 裁剪配置及工具支持 - - 提供裁剪配置及裁剪工具支持,客户或DPU厂商可根据各自需求进行定制;openEuler提供ISO参考实现。 - -* 定制化内核及系统,提供极致性能 - - 通过定制内核及相关驱动,提供DPU竞争力内核特性;定制化加速类组件,使能DPU硬件加速能力;优化系统配置提供更优性能;通过DPU相关管理控制工具,方便用户统一管理。 - -### DPU-OS设计 - -**图1**DPU-OS整体设计 - -![dpuos-arch](./figures/dpuos-arch.png) - -如图1所示,DPU-OS分为五层设计: - -* 内核层:通过定制内核config,裁剪非必需内核特性及模块,达成内核轻量级效果;使能特定内核特性提供高性能DPU内核能力。 - -* 驱动层:对openEuler原生驱动进行裁剪定制,选择最小集合;DPU厂商相关底层驱动集成,原生支持部分DPU硬件产品。 - -* 系统配置层:通过对系统sysctl、proc进行配置,为DPU相关业务提供最优性能。 - -* 外围包层:对openEuler外围包进行裁剪定制,选择最小集合;提供DPU相关的定制工具集合。 - -* 系统服务层:通过优化系统原生服务启动项,减少非必要系统服务运行,保证系统运行时底噪最小化。 - -通过上述五层设计达成轻量化、极致性能DPU-OS的目标。该方案为相对长期设计,且对DPU相关软硬件生态有较强的依赖;当前第一阶段先实现基于openEuler imageTailor进行裁剪。 - -DPU-OS的裁剪步骤可参考[DPU-OS裁剪指导文档](./dpu-os-tailoring-guide.md),验证与部署可参考[DPU-OS部署验证指导文档](./verification-and-deployment.md)。 - -> ![](./public_sys-resources/icon-note.gif)**说明**: -> -> 当前阶段DPU-OS先基于openEuler现有内核及外围包,使用镜像裁剪工具imageTailor进行裁剪,提供轻量化OS安装镜像。后续可根据实际诉求,进行相关内核及外围包特性的开发及集成。 diff --git a/docs/zh/server/diversified_computing/dpu_os/dpu_os_tailoring_guide.md b/docs/zh/server/diversified_computing/dpu_os/dpu_os_tailoring_guide.md deleted file mode 100644 index e42110eb1445ebee9a88a82d3870377ecacdd99e..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_os/dpu_os_tailoring_guide.md +++ /dev/null @@ -1,65 +0,0 @@ -# DPU-OS裁剪指导 - -本文档主要介绍`imageTailor`的使用方法并结合[dpu-utilities仓库](https://gitee.com/openeuler/dpu-utilities/tree/master/dpuos)的`dpuos`配置文件裁剪得到`dpuos`的安装镜像,具体步骤如下: - -## 准备imageTailor和所需的rpm包 - -参照[imageTailor使用指导文档](https://docs.openeuler.org/zh/docs/22.03_LTS/docs/TailorCustom/imageTailor%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.html)安装好`imageTailor`工具并将裁剪所要用到的rpm包准备好。 - -可以使用openEuler提供安装镜像作为镜像裁剪所需要rpm包源,`openEuler-{version}-everything-debug-aarch64-dvd.iso`中的rpm比较全但是此镜像很大,可以用镜像`openEuler-{version}-aarch64-dvd.iso`中的rpm包和一个`install-scripts.noarch`实现。 - -`install-scripts.noarch`包括可以从everything包中获取,或者在系统中通过yum下载: - -```bash -yum install -y --downloadonly --downloaddir=./ install-scripts -``` - -## 拷贝dpuos相关的配置文件 - -`imageTailor`工具默认安装在`/opt/imageTailor`路径下。执行下面的命令将`dpuos`的配置拷贝到对应的路径下,拷贝时选择对应架构目录。当前DPU-OS裁剪配置库支持x86_64和aarch64两种架构。 - -```bash -cp -rf custom/cfg_dpuos /opt/imageTailor/custom -cp -rf kiwi/minios/cfg_dpuos /opt/imageTailor/kiwi/minios/cfg_dpuos -``` - -## 修改其他配置文件 - -* 修改`kiwi/eulerkiwi/product.conf`,增加一行`dpuos`相关配置: - -```bash -dpuos PANGEA EMBEDDED DISK GRUB2 install_mode=install install_media=CD install_repo=CD selinux=0 -``` - -* 修改`kiwi/eulerkiwi/minios.conf`,增加一行`dpuos`的相关配置: - -```bash -dpuos kiwi/minios/cfg_dpuos yes -``` - -* 修改`repos/RepositoryRule.conf`,增加一行`dpuos`的相关配置: - -```bash -dpuos 1 rpm-dir euler_base -``` - -## 设置密码 - -进入到`/opt/imageTailor`子目录下,修改下面3个文件的密码: - -* `custom/cfg_dpuos/usr_file/etc/default/grub` - -* `custom/cfg_dpuos/rpm.conf` - -* `kiwi/minios/cfg_dpuos/rpm.conf` - -密码生成及修改方法可详见openEuler imageTailor手册[配置初始密码](https://docs.openeuler.org/zh/docs/22.03_LTS/docs/TailorCustom/imageTailor%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.html#%E9%85%8D%E7%BD%AE%E5%88%9D%E5%A7%8B%E5%AF%86%E7%A0%81)章节。 - -## 执行裁剪命令 - -执行下面的命令进行裁剪,最后裁剪出来的iso在`/opt/imageTailor/result`路径下: - -```bash -cd /opt/imageTailor -./mkdliso -p dpuos -c custom/cfg_dpuos --sec --minios force -``` diff --git a/docs/zh/server/diversified_computing/dpu_os/figures/dpuos-arch.png b/docs/zh/server/diversified_computing/dpu_os/figures/dpuos-arch.png deleted file mode 100644 index 453370ab07858a13a6c40f8d22e3f608e9ec6b4c..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/diversified_computing/dpu_os/figures/dpuos-arch.png and /dev/null differ diff --git a/docs/zh/server/diversified_computing/dpu_os/public_sys-resources/icon-note.gif b/docs/zh/server/diversified_computing/dpu_os/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/diversified_computing/dpu_os/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/server/diversified_computing/dpu_os/verification_and_deployment.md b/docs/zh/server/diversified_computing/dpu_os/verification_and_deployment.md deleted file mode 100644 index 3284d19d7655bfd48cb29e9b57e908e1b8dd3e11..0000000000000000000000000000000000000000 --- a/docs/zh/server/diversified_computing/dpu_os/verification_and_deployment.md +++ /dev/null @@ -1,38 +0,0 @@ -# 验证与部署 - -DPU-OS制作完成后可以安装部署进行验证。由于目前DPU硬件还不成熟,也可以通过VirtualBox拉起虚拟机进行相关部署验证。 - -## 在VirtualBox上部署DPU-OS - -本章节展示了如何在VirtualBox虚拟机管理程序上安装部署DPU-OS。 - -### 验证准备 - -在开始部署 DPU-OS 之前,需要做如下准备工作: - -- 获取 DPU-OS ISO -- 安装有VirtualBox的宿主机 - -### 初步安装与启动 - -#### 创建虚拟机 - -通过VirtualBox创建新的虚拟机: - -- 选择虚拟机配置,CPU及内存建议2CPU+4GB内存以上 - -- 创建虚拟机磁盘,磁盘大小建议60GB以上 - -- 系统扩展属性部分,勾选启动EFI - -- 存储设置部分,光驱配置选择本地DPU-OS ISO作为光驱文件 - -- 其他网络或显示设置可自定义 - -#### 启动虚拟机 - -启动新建的虚拟机,启动项选择`Install from ISO`进行DPU-OS安装,安装过程自动进行无需手动干预,安装完成后自动重启。 - -选择启动项 `Boot From Local Disk`,启动后即可进入DPU-OS。密码为DPU-OS制作时指定的密码。 - -通过上述步骤,即可完成DPU-OS的本地部署验证。 diff --git a/docs/zh/server/high_availability/ha/_toc.yaml b/docs/zh/server/high_availability/ha/_toc.yaml deleted file mode 100644 index 337aa6aa30138990816cb41ea9587b03490fa252..0000000000000000000000000000000000000000 --- a/docs/zh/server/high_availability/ha/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: HA用户指南 -isManual: true -description: 安装和使用 HA 高可用集群 -sections: - - label: HA 安装与部署 - href: ./ha_installation_and_deployment.md - - label: HA 使用实例 - href: ./ha_usage_examples.md diff --git a/docs/zh/server/high_availability/ha/figures/HA-add-resource.png b/docs/zh/server/high_availability/ha/figures/HA-add-resource.png deleted file mode 100644 index ac24895a1247828d248132f6c789ad8ef51a57e4..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-add-resource.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-apache-show.png b/docs/zh/server/high_availability/ha/figures/HA-apache-show.png deleted file mode 100644 index c216500910f75f2de1108f6b618c5c08f4df8bae..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-apache-show.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-apache-suc.png b/docs/zh/server/high_availability/ha/figures/HA-apache-suc.png deleted file mode 100644 index 23a7aaa702e3e68190ff7e01a5a673aee2c92409..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-apache-suc.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-api.png b/docs/zh/server/high_availability/ha/figures/HA-api.png deleted file mode 100644 index f825fe005705d30809d12df97958cff0e5a80135..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-api.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-clone-suc.png b/docs/zh/server/high_availability/ha/figures/HA-clone-suc.png deleted file mode 100644 index 4b6099ccc88d4f6f907a0c4563e729ab2a4dece1..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-clone-suc.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-clone.png b/docs/zh/server/high_availability/ha/figures/HA-clone.png deleted file mode 100644 index 1b09ab73849494f4ffd759fa612ae3c241bd9c1d..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-clone.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-corosync.png b/docs/zh/server/high_availability/ha/figures/HA-corosync.png deleted file mode 100644 index c4d93242e65c503b6e1b6a457e2517f647984a66..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-corosync.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-firstchoice-cmd.png b/docs/zh/server/high_availability/ha/figures/HA-firstchoice-cmd.png deleted file mode 100644 index a265bab07f1d8e46d9d965975be180a8de6c9eb2..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-firstchoice-cmd.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-firstchoice.png b/docs/zh/server/high_availability/ha/figures/HA-firstchoice.png deleted file mode 100644 index bd982ddcea55c629c0257fca86051a9ffa77e7b4..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-firstchoice.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-group-new-suc.png b/docs/zh/server/high_availability/ha/figures/HA-group-new-suc.png deleted file mode 100644 index 437fd01ee83a9a1f65c12838fe56eea8435f6759..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-group-new-suc.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-group-new-suc2.png b/docs/zh/server/high_availability/ha/figures/HA-group-new-suc2.png deleted file mode 100644 index 4fb933bd761f9808de95a324a50226ff041ebd4f..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-group-new-suc2.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-group-new.png b/docs/zh/server/high_availability/ha/figures/HA-group-new.png deleted file mode 100644 index 9c914d0cc2e14f3220fc4346175961f129efb37b..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-group-new.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-group-suc.png b/docs/zh/server/high_availability/ha/figures/HA-group-suc.png deleted file mode 100644 index 2338580343833ebab08627be3a2efbcdb48aef9e..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-group-suc.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-group.png b/docs/zh/server/high_availability/ha/figures/HA-group.png deleted file mode 100644 index 6897817665dee90c0f8c47c6a3cb4bb09db52d78..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-group.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-home-page.png b/docs/zh/server/high_availability/ha/figures/HA-home-page.png deleted file mode 100644 index c9a7a82dc412250d4c0984b3876c6f93c6aca789..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-home-page.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-login.png b/docs/zh/server/high_availability/ha/figures/HA-login.png deleted file mode 100644 index 65d0ae11ec810da7574ec72bebf6e1b020c94a0d..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-login.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-mariadb-suc.png b/docs/zh/server/high_availability/ha/figures/HA-mariadb-suc.png deleted file mode 100644 index 6f6756c945121715edc623bd9a848bc48ffeb4ca..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-mariadb-suc.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-mariadb.png b/docs/zh/server/high_availability/ha/figures/HA-mariadb.png deleted file mode 100644 index d29587c8609b9d6aefeb07170901361b5ef8402d..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-mariadb.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-nfs-suc.png b/docs/zh/server/high_availability/ha/figures/HA-nfs-suc.png deleted file mode 100644 index c0ea6af79e91649f1ad7d97ab6c2a0069a4f4fb8..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-nfs-suc.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-nfs.png b/docs/zh/server/high_availability/ha/figures/HA-nfs.png deleted file mode 100644 index f6917938eec2e0431a9891c067475dd0b21c1bd9..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-nfs.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-pacemaker.png b/docs/zh/server/high_availability/ha/figures/HA-pacemaker.png deleted file mode 100644 index 7681f963f67d2b803fef6fb2c3247384136201f8..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-pacemaker.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-pcs-status.png b/docs/zh/server/high_availability/ha/figures/HA-pcs-status.png deleted file mode 100644 index fb150fba9f6258658702b35caacf98076d1fd109..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-pcs-status.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-pcs.png b/docs/zh/server/high_availability/ha/figures/HA-pcs.png deleted file mode 100644 index 283670d7c3d0961ee1cb41345c2b2a013d7143b0..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-pcs.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-qdevice.png b/docs/zh/server/high_availability/ha/figures/HA-qdevice.png deleted file mode 100644 index 2964f36c952fc7e62fb7b041fcf6d2de8ead712c..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-qdevice.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-refresh.png b/docs/zh/server/high_availability/ha/figures/HA-refresh.png deleted file mode 100644 index c2678c0c2945acbabfbeae0d5de8924a216bbf31..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-refresh.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-vip-suc.png b/docs/zh/server/high_availability/ha/figures/HA-vip-suc.png deleted file mode 100644 index 313ce56e14f931c78dad4349ed57ab3fd7907f50..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-vip-suc.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/HA-vip.png b/docs/zh/server/high_availability/ha/figures/HA-vip.png deleted file mode 100644 index d8b417df2e64527d3b29d0289756dfbb01bf66ec..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/HA-vip.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/image.png b/docs/zh/server/high_availability/ha/figures/image.png deleted file mode 100644 index 7681f963f67d2b803fef6fb2c3247384136201f8..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/image.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/image3.png b/docs/zh/server/high_availability/ha/figures/image3.png deleted file mode 100644 index c4d93242e65c503b6e1b6a457e2517f647984a66..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/image3.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/figures/image4.png b/docs/zh/server/high_availability/ha/figures/image4.png deleted file mode 100644 index 65d0ae11ec810da7574ec72bebf6e1b020c94a0d..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/high_availability/ha/figures/image4.png and /dev/null differ diff --git a/docs/zh/server/high_availability/ha/ha_installation_and_deployment.md b/docs/zh/server/high_availability/ha/ha_installation_and_deployment.md deleted file mode 100644 index a95aa02bbb7d59e9df3234072a8da418e7bad316..0000000000000000000000000000000000000000 --- a/docs/zh/server/high_availability/ha/ha_installation_and_deployment.md +++ /dev/null @@ -1,201 +0,0 @@ -# HA的安装与部署 - -本文介绍如何安装和部署HA高可用集群。 - -## 安装与部署 - -### 环境准备 - -需要至少两台安装了openEuler 25.03 的物理机/虚拟机(现以两台为例),安装方法参考《[安装指南](../../installation_upgrade/installation/installation.md)》。 - -### 修改主机名称及/etc/hosts文件 - -**注**:两台主机均需要进行以下操作,现以其中一台为例,下文中使用的IP仅供参考。** - -在使用HA软件之前,需要确认修改主机名并将所有主机名写入/etc/hosts文件中。 - -1. 修改主机名 - - ```sh - # hostnamectl set-hostname ha1 - ``` - -2. 编辑`/etc/hosts`文件并写入以下字段 - - ```text - 172.30.30.65 ha1 - 172.30.30.66 ha2 - ``` - -### 配置yum源 - -成功安装系统后,会默认配置好yum源,文件位置存放在`/etc/yum.repos.d/openEuler.repo`文件中,HA软件包会用到以下源: - -```Conf -[OS] -name=OS -baseurl=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/ -enabled=1 -gpgcheck=1 -gpgkey=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler - -[everything] -name=everything -baseurl=http://repo.openeuler.org/openEuler-23.09/everything/$basearch/ -enabled=1 -gpgcheck=1 -gpgkey=http://repo.openeuler.org/openEuler-23.09/everything/$basearch/RPM-GPG-KEY-openEuler - -[EPOL] -name=EPOL -baseurl=http://repo.openeuler.org/openEuler-23.09/EPOL/$basearch/ -enabled=1 -gpgcheck=1 -gpgkey=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler -``` - -### 安装HA软件包组件 - -```sh -# yum install -y corosync pacemaker pcs fence-agents fence-virt corosync-qdevice sbd drbd drbd-utils -``` - -### 设置hacluster用户密码 - -```sh -# passwd hacluster -``` - -### 修改`/etc/corosync/corosync.conf`文件 - -```Conf -totem { - version: 2 - cluster_name: hacluster - crypto_cipher: none - crypto_hash: none -} -logging { - fileline: off - to_stderr: yes - to_logfile: yes - logfile: /var/log/cluster/corosync.log - to_syslog: yes - debug: on - logger_subsys { - subsys: QUORUM - debug: on - } -} -quorum { - provider: corosync_votequorum - expected_votes: 2 - two_node: 1 - } -nodelist { - node { - name: ha1 - nodeid: 1 - ring0_addr: 172.30.30.65 - } - node { - name: ha2 - nodeid: 2 - ring0_addr: 172.30.30.66 - } - } -``` - -### 管理服务 - -#### 关闭防火墙 - -1. 执行如下命令,关闭防火墙。 - - ```sh - # systemctl stop firewalld - ``` - -2. 修改`/etc/selinux/config`文件中SELINUX状态为disabled。 - - ```sh - # SELINUX=disabled - ``` - -#### 管理pcs服务 - -1. 启动pcs服务: - - ```sh - # systemctl start pcsd - ``` - -2. 查询pcs服务状态: - - ```sh - # systemctl status pcsd - ``` - - 若回显为如下,则服务启动成功。 - - ![](./figures/HA-pcs.png) - -#### 管理pacemaker服务 - -1. 启动pacemaker服务: - - ```sh - # systemctl start pacemaker - ``` - -2. 查询pacemaker服务状态: - - ```sh - # systemctl status pacemaker - ``` - - 若回显为如下,则服务启动成功。 - - ![](./figures/HA-pacemaker.png) - -#### 管理corosync服务 - -1. 启动corosync服务: - - ```sh - # systemctl start corosync - ``` - -2. 查询corosync服务状态: - - ```sh - # systemctl status corosync - ``` - - 若回显为如下,则服务启动成功。 - - ![](./figures/HA-corosync.png) - -### 节点鉴权 - -注:**任选一个节点上执行即可** - -```sh -# pcs host auth ha1 ha2 -``` - -### 访问前端管理平台 - -上述服务启动成功后,打开浏览器(建议使用:Chrome,Firefox),在浏览器导航栏中输入`https://localhost:2224`即可。 - -- 以下界面为原生管理平台 - -![](./figures/HA-login.png) - -若安装社区新开发的管理平台请参考文档[https://gitee.com/openeuler/ha-api/blob/master/docs/build.md](https://gitee.com/openeuler/ha-api/blob/master/docs/build.md) - -- 以下为社区新开发的管理平台 - -![](./figures/HA-api.png) - -想了解如何快速使用HA高可用集群,以及添加一个实例。请参考[HA的使用实例文档](./ha-usage-examples.md)。 diff --git a/docs/zh/server/high_availability/ha/ha_usage_examples.md b/docs/zh/server/high_availability/ha/ha_usage_examples.md deleted file mode 100644 index 0a6e37f4db0467047783819719c4edb5364273a4..0000000000000000000000000000000000000000 --- a/docs/zh/server/high_availability/ha/ha_usage_examples.md +++ /dev/null @@ -1,248 +0,0 @@ -# HA使用实例 - -本章介绍如何快速使用HA高可用集群,以及添加一个实例。若不了解怎么安装,请参考[HA的安装与部署文档](./ha-installation-and-deployment.md)。 - -## 快速使用指南 - -以下操作均以社区新开发的管理平台为例。 - -### 登录页面 - -用户名为`hacluster`,密码为该用户在主机上设置的密码。 - -![](./figures/HA-api.png) - -### 主页面 - -登录系统后显示主页面,主页面由四部分组成:侧边导航栏、顶部操作区、资源节点列表区以及节点操作浮动区。 - -以下将详细介绍这四部分的特点与使用方法。 - -![](./figures/HA-home-page.png) - -#### 导航栏 - -侧边导航栏由两部分组成:高可用集群软件名称和 logo 以及系统导航。系统导航由三项组成:【系统】、【集群配置】和【工具】。【系统】是默认选项,也是主页面的对应项,主要展示系统中所有资源的相关信息以及操作入口;【集群配置】下设【首选项配置】和【心跳配置】两项;【工具】下设【日志下载】和【集群快捷操作】两项,点击后以弹出框的形式出现。 - -#### 顶部操作区 - -登录用户是静态显示,鼠标滑过用户图标,出现操作菜单项,包括【刷新设置】和【退出登录】两项,点击【刷新设置】,弹出【刷新设置】对话框,包含【刷新设置】选项,可以设置系统的自动刷新模式,包括【不自动刷新】、【每 5 秒刷新】和【每 10 秒刷新】三种选择,默认选择【不自动刷新】、【退出登录】即可注销本次登录,系统将自动跳到登录页面,此时,如果希望继续访问系统,则需要重新进行登录。 - -![](./figures/HA-refresh.png) - -#### 资源节点列表区 - -资源节点列表集中展现系统中所有资源的【资源名】、【状态】、【资源类型】、【服务】、【运行节点】等资源信息,以及系统中所有的节点和节点的运行情况等节点信息。同时提供资源的【添加】、【编辑】、【启动】、【停止】、【清理】、【迁移】、【回迁】、【删除】和【关系】操作。 - -#### 节点操作浮动区 - -节点操作浮动区域默认是收起的状态,每当点击资源节点列表表头中的节点时,右侧会弹出节点操作扩展区域,如图所示,该区域由收起按钮、节点名称、停止和备用四个部分组成,提供节点的【停止】和【备用】操作。点击区域左上角的箭头,该区域收起。 - -### 首选项配置 - -以下操作均可用命令行配置,现只做简单示例,若想使用更多命令可以使用``pcs --help``进行查询。 - -- 命令行方式 - - ```sh - # pcs property set stonith-enabled=false - # pcs property set no-quorum-policy=ignore - ``` - - 执行如下命令,可以查看全部配置。 - - ```sh - # pcs property - ``` - - ![](./figures/HA-firstchoice-cmd.png) - -- 图形界面方式 - 点击侧边导航栏中的【首选项配置】按钮,弹出【首选项配置】对话框。将No Quorum Policy和Stonith Enabled由默认状态改为如下对应状态;修改完成后,点击【确定】按钮完成配置。 - - ![](./figures/HA-firstchoice.png) - -### 添加资源 - -#### 添加普通资源 - -1. 点击【添加普通资源】,弹出【创建资源】对话框。 - 其中资源的所有必填配置项均在【基本】页面内,选择【基本】页面内的【资源类型】后会进一步给出该类资源的其他必填配置项以及选填配置项。 - -2. 填写资源配置信息。 - 对话框右侧会出现灰色文字区域,对当前的配置项进行解释说明。全部必填项配置完毕后,点击【确定】按钮即可创建普通资源,点击【取消】按钮,取消本次添加动作。 - 【实例属性】、【元属性】或者【操作属性】页面中的选填配置项为选填项,不配置不会影响资源的创建过程,可以根据场景需要可选择修改,否则将按照系统缺省值处理。 - -下面以Apache为例,分别以命令行方式和图形界面方式介绍添加资源的方法。 - -- 命令行方式 - - ```sh - # pcs resource create httpd ocf:heartbeat:apache - ``` - - 查看资源运行状态 - - ```sh - # pcs status - ``` - - ![](./figures/HA-pcs-status.png) - -- 图形界面方式 - -1. 填写资源名称和资源类型,如下图所示。 - - ![](./figures/HA-add-resource.png) - -2. 回显为如下,则资源添加成功并启动,运行于其中一个节点上,例如ha1。 - - ![](./figures/HA-apache-suc.png) -3. 访问apache界面成功。 - - ![](./figures/HA-apache-show.png) - -#### 添加组资源 - ->[!TIP]须知 -> 添加组资源时,集群中需要至少存在一个普通资源。 - -1. 点击【添加组资源】,弹出【创建资源】对话框。 - 【基本】页面内均为必填项,填写完毕后,点击【确定】按钮,即可完成资源的添加,点击【取消】按钮,取消本次添加动作。 - - ![](./figures/HA-group.png) - - > [!WARNING]注意 - > 组资源的启动是按照子资源的顺序启动的,所以选择子资源时需要注意按照顺序选择。 - -2. 回显如下,资源添加成功。 - - ![](./figures/HA-group-suc.png) - -#### 添加克隆资源 - -1. 点击【添加克隆资源】,弹出【创建资源】对话框。 - 【基本】页面内填写克隆对象,资源名称会自动生成,填写完毕后,点击【确定】按钮,即可完成资源的添加,点击【取消】按钮,取消本次添加动作。 - - ![](./figures/HA-clone.png) - -2. 回显如下,资源添加成功。 - - ![](./figures/HA-clone-suc.png) - -### 编辑资源 - -- 启动资源:资源节点列表中选中一个目标资源(要求:该资源处于非运行状态),对该资源执行启动动作。 -- 停止资源:资源节点列表中选中一个目标资源(要求:该资源处于运行状态),对该资源执行停止操作。 -- 清理资源:资源节点列表中选中一个目标资源,对该资源执行清理操作。 -- 迁移资源:资源节点列表中选中一个目标资源(要求:该资源为处于运行状态的普通资源或者组资源),执行迁移操作可以将资源迁移到指定节点上运行。 -- 回迁资源:资源节点列表中选中一个目标资源(要求:该资源已经完成迁移动作),执行回迁操作,可以清除该资源的迁移设置,资源重新迁回到原来的节点上运行。(点击按钮后,列表中该资源项的变化状态与启动资源时一致。) -- 删除资源:资源节点列表中选中一个目标资源,对该资源执行删除操作。 - -### 设置资源关系 - -资源关系即为目标资源设定限制条件,资源的限制条件分为三种:资源位置、资源协同和资源顺序。 - -- 资源位置:设置集群中的节点对于该资源的运行级别,由此确定启动或者切换时资源在哪个节点上运行,运行级别按照从高到低的顺序依次为:Master Node、Slave 1。 -- 资源协同:设置目标资源与集群中的其他资源是否运行在同一节点上,同节点资源表示该资源与目标资源必须运行在相同节点上,互斥节点资源表示该资源与目标资源不能运行在相同的节点上。 -- 资源顺序:设置目标资源与集群中的其他资源启动时的先后顺序,前置资源是指目标资源运行之前,该资源必须已经运行;后置资源是指目标资源运行之后,该资源才能运行。 - -## 高可用mysql实例配置 - -### 配置虚拟IP - -1. 在首页中点击“添加”,再选择添加普通资源,并按如下进行配置。 - - ![](./figures/HA-vip.png) - -2. 资源创建成功并启动,运行于其中一个节点上,例如ha1。 -3. 可以ping通并连接,登录后可正常执行各种操作;资源切换到ha2运行;能够正常访问。如下图所示。 - ![](./figures/HA-vip-suc.png) - -### 配置NFS存储 - -另找一台机器作为nfs服务端进行配置,操作步骤如下: - -1. 安装软件包 - - ```sh - # yum install -y nfs-utils rpcbind - ``` - -2. 关闭防火墙 - - ```sh - # systemctl stop firewalld && systemctl disable firewalld - ``` - -3. 修改/etc/selinux/config文件中SELINUX状态为disabled - - ```Conf - SELINUX=disabled - ``` - -4. 启动服务 - - ```sh - # systemctl start rpcbind && systemctl enable rpcbind - # systemctl start nfs-server && systemctl enable nfs-server - ``` - -5. 服务端创建一个共享目录 - - ```sh - # mkdir -p /test - ``` - -6. 修改NFS配置文件 - - ```sh - # vim /etc/exports - # /test *(rw,no_root_squash) - ``` - -7. 重新加载服务 - - ```sh - # systemctl reload nfs - ``` - -8. 客户端安装软件包,需要先安装mysql,可以将nfs挂载到mysql数据路径。 - - ```sh - # yum install -y nfs-utils mariadb-server - ``` - -9. 在首页中依次点击“添加”,“添加普通资源”,并按如下进行配置NFS资源。 - - ![](./figures/HA-nfs.png) - -10. 资源创建成功并启动,运行于其中一个节点上,例如ha1;nfs成功挂载到`/var/lib/mysql`路径下。资源切换到ha2运行;nfs从ha1节点取消挂载,并自动在ha2节点上挂载成功。如下图所示。 - - ![](./figures/HA-nfs-suc.png) - -### 配置mysql - -1. 在首页中依次点击“添加”,“添加普通资源”,并按如下进行配置mysql资源。 - - ![](./figures/HA-mariadb.png) - -2. 若回显为如下,则资源添加成功。 - - ![](./figures/HA-mariadb-suc.png) - -### 添加上述资源为组资源 - -1. 按资源启动顺序添加三个资源 - - 在首页中依次点击“添加”,“添加组资源”,并按如下进行配置组资源。 - - ![](./figures/HA-group-new.png) - -2. 组资源创建成功并启动,若回显与上述三个普通资源成功现象一致,则资源添加成功。 - - ![](./figures/HA-group-new-suc.png) - -3. 将ha1节点备用,成功迁移到ha2节点,运行正常。 - - ![](./figures/HA-group-new-suc2.png) diff --git a/docs/zh/server/installation_upgrade/installation/installation_guide.md b/docs/zh/server/installation_upgrade/installation/installation_guide.md index db101f8a010e95af3572d1e3f8bf84a1a7bd151f..eea7e0b4d62b5c90f6b153e88e7aff7f1ca7e1b6 100644 --- a/docs/zh/server/installation_upgrade/installation/installation_guide.md +++ b/docs/zh/server/installation_upgrade/installation/installation_guide.md @@ -1,15 +1,15 @@ # 安装指导 -本章以光盘安装为例介绍安装openEuler,其他安装方式除在启动安装时的引导方式不同外,待启动安装后安装流程相同,在此不再说明。 +本章以光盘安装为例介绍安装 openeuler,其他安装方式除在启动安装时的引导方式不同外,待启动安装后安装流程相同,在此不再说明。 ## 启动安装 ### 使用光盘引导安装 -在服务器的光驱中加载openEuler安装镜像,重启服务器,具体步骤如下。 +在服务器的光驱中加载openEuler安装镜像,重启服务器。 > [!NOTE]说明 -> 在安装开始前,需要保证服务器启动选项为光驱优先。安装步骤以BMC挂载虚拟光驱进行光盘安装的操作举例。通过物理光驱安装的操作简单,启动安装后的流程相同,在此不再说明。 +> 在安装开始前,需要保证服务器启动选项为光驱优先。安装步骤以BMC挂载虚拟光驱进行光盘安装的操作举例。通过物理光驱安装的操作简单,启动安装后的流程相同,在此不再说明。 1. 在虚拟界面工具栏中,单击虚拟光驱工具如下图所示。 @@ -21,7 +21,7 @@ **图 2** 镜像对话框 ![](./figures/Image_dialog_box.png) -2. 在镜像对话框中,选择“镜像文件”, 并单击“...”。弹出“打开”对话框。 +2. 在镜像对话框中,选择“镜像文件”,并单击“...”。弹出“打开”对话框。 3. 选择镜像文件,单击“打开”。然后在镜像对话框中,单击“连接”。当“连接”显示为“断开”后,表示虚拟光驱已连接到服务器。 4. 在工具栏中,单击重启工具重启设备,如下图所示。 @@ -34,20 +34,20 @@ > [!NOTE]说明 > 如果60秒内未按任何键,系统将从默认选项“Test this media & install openEuler 25.03”自动进入安装界面。 -> 安装物理机时,如果使用键盘上下键无法选择启动选项,按“Enter”键无响应,可以单击BMC界面上的鼠标控制图标“![](./figures/zh-cn_image_0229420473.png)”,设置“键鼠复位”。 +> 安装物理机时,如果使用键盘上下键无法选择启动选项,按“Enter”键无响应,可以单击BMC界面上的鼠标控制图标“![](./figures/zh-cn_image_0229420473.png)”,设置“键鼠复位”。 **图 4** 安装引导界面 ![](./figures/Installation_wizard.png) 安装引导选项说明如下: -- Install openEuler 25.03 —— 在您的服务器上使用图形用户界面模式安装。 +- Install openEuler 25.03:在您的服务器上使用图形用户界面模式安装。 -- Test this media & install openEuler 25.03 —— 默认选项,在您的服务器上使用图形用户界面模式安装,但在启动安装程序前会进行安装介质的完整性检查。 +- Test this media & install openEuler 25.03:默认选项,在您的服务器上使用图形用户界面模式安装,但在启动安装程序前会进行安装介质的完整性检查。 -- Troubleshooting —— 问题定位模式,系统无法正常安装时使用。进入问题定位模式后,有如下两个选项。 - - Install openEuler 25.03 in basic graphics mode —— 简单图形安装模式,该模式下在系统启动并运行之前不启动视频驱动程序。 - - Rescue the openEuler system —— 救援模式,用于修复系统。该模式下输出定向到VNC或BMC(Baseboard Management Controller)端,串口不可用。 +- Troubleshooting:问题定位模式,系统无法正常安装时使用。进入问题定位模式后,有如下两个选项。 + - Install openEuler 25.03 in basic graphics mode:简单图形安装模式,该模式下在系统启动并运行之前不启动视频驱动程序。 + - Rescue the openEuler system:救援模式,用于修复系统。该模式下输出定向到VNC或BMC(Baseboard Management Controller)端,串口不可用。 在安装引导界面,按“e”进入已选选项的参数编辑界面,按“c”进入命令行模式。 @@ -200,6 +200,7 @@ **表1** 磁盘分区建议 + | 分区类型 | 逻辑挂载点 | 分区大小 | 说明 | | --- | --- | --- | --- | | 主分区 | / | 20G | 根目录,用于安装操作系统。 | diff --git a/docs/zh/server/installation_upgrade/installation/installation_guide_1.md b/docs/zh/server/installation_upgrade/installation/installation_guide_1.md index 285431b75780df8db386fe4a7bba29501ed5e2a6..d69bea16644a20138e5422ff75ecb2d9f91b15fa 100644 --- a/docs/zh/server/installation_upgrade/installation/installation_guide_1.md +++ b/docs/zh/server/installation_upgrade/installation/installation_guide_1.md @@ -1,6 +1,6 @@ # 安装指导 -本章介绍将“[树莓派镜像刷写入 SD 卡](./installation-modes-1.md)”后,启用树莓派的主要过程。 +本章介绍将“[树莓派镜像刷写入 SD 卡](./installation_modes_1.md)”后,启用树莓派的主要过程。 ## 启动系统 diff --git a/docs/zh/server/installation_upgrade/installation/installation_modes.md b/docs/zh/server/installation_upgrade/installation/installation_modes.md index b8d2a70cd938693c8b30dd75159efd8cf3a1af88..4871f04cb91ae9f33b4f2063d43a065a62a937fd 100644 --- a/docs/zh/server/installation_upgrade/installation/installation_modes.md +++ b/docs/zh/server/installation_upgrade/installation/installation_modes.md @@ -1,7 +1,7 @@ # 安装方式介绍 > [!TIP]须知 -> 硬件服务器仅支持Taishan 200服务器和FusionServer Pro机架服务器,具体支持的服务器型号可参考“[硬件兼容支持](./安装准备.html#硬件兼容支持)”;虚拟化平台仅支持openEuler自有的虚拟化组件(HostOS为openEuler,虚拟化组件为发布包中的qemu、KVM)创建的虚拟化平台和华为公有云的x86虚拟化平台。 +> 硬件服务器仅支持Taishan 200服务器和FusionServer Pro机架服务器,具体支持的服务器型号可参考“[硬件兼容支持](./installation_preparations.md#硬件兼容支持)”;虚拟化平台仅支持openEuler自有的虚拟化组件(HostOS为openEuler,虚拟化组件为发布包中的qemu、KVM)创建的虚拟化平台和华为公有云的x86虚拟化平台。 > 安装方式当前仅支持光盘、USB盘安装、网络安装、qcow2镜像安装和私有镜像安装。其中仅华为公有云的x86虚拟化平台支持私有镜像安装。 ## 通过光盘安装 @@ -164,7 +164,7 @@ 5. 创建虚拟机。 6. 启动虚拟机。 -各步骤详细的操作请参考《[虚拟化用户指南](../../../virtualization/virtualization_platform/virtualization/introduction-to-virtulization.md)》。 +各步骤详细的操作请参考《[虚拟化用户指南](../../../virtualization/virtualization_platform/virtualization/introduction_to_virtulization.md)》。 ## 通过私有镜像安装 diff --git a/docs/zh/server/installation_upgrade/installation/installation_modes_1.md b/docs/zh/server/installation_upgrade/installation/installation_modes_1.md index ada02192a1a36be97f07e16a65f7afff40ef0ca5..d8669d5f2d65da32f8847d8268eec021a6543588 100644 --- a/docs/zh/server/installation_upgrade/installation/installation_modes_1.md +++ b/docs/zh/server/installation_upgrade/installation/installation_modes_1.md @@ -3,7 +3,7 @@ > [!TIP]须知 > 硬件仅支持树莓派 3B/3B+/4B 。 > 采用刷写镜像到 SD 卡方式安装。本章节提供 Windows/Linux/Mac 上刷写镜像的操作方法。 -> 本章节使用的镜像是参考“[安装准备](./installation-preparations-1.md)”获取 openEuler 的树莓派版本镜像。 +> 本章节使用的镜像是参考“[安装准备](./installation_preparations_1.md)”获取 openEuler 的树莓派版本镜像。 ## Windows 下刷写镜像 diff --git a/docs/zh/server/installation_upgrade/installation/using_kickstart_for_automatic_installation.md b/docs/zh/server/installation_upgrade/installation/using_kickstart_for_automatic_installation.md index d9e7e4bad19bf5e910ab7880758204b65c4bbc29..fb9920b1d4dcd4a4574ac28583906dbbaf706261 100644 --- a/docs/zh/server/installation_upgrade/installation/using_kickstart_for_automatic_installation.md +++ b/docs/zh/server/installation_upgrade/installation/using_kickstart_for_automatic_installation.md @@ -162,7 +162,7 @@ TFTP(Trivial File Transfer Protocol,简单文件传输协议),该协议 **安装系统** 1. 启动系统进入安装选择界面。 - 1. 在“[启动安装](./安装指导.html#启动安装)”中的“安装引导界面”中选择“Install openEuler 21.09”,并按下“e”键。 + 1. 在“[启动安装](./installation_guide.md#启动安装)”中的“安装引导界面”中选择“Install openEuler 21.09”,并按下“e”键。 2. 启动参数中追加“inst.ks= ip/ks/openEuler-ks.cfg”。 ![](./figures/startparam.png) diff --git a/docs/zh/server/installation_upgrade/test/_toc.yaml b/docs/zh/server/installation_upgrade/test/_toc.yaml new file mode 100644 index 0000000000000000000000000000000000000000..de770f17e5aaa465f9fbe7f08488d8d843e38fac --- /dev/null +++ b/docs/zh/server/installation_upgrade/test/_toc.yaml @@ -0,0 +1,7 @@ +isManual: true +label: DevStation 用户手册 +sections: + - label: 简介 + href: ./introduction.md + - label: 安装 + href: ./installation.md diff --git a/docs/zh/server/installation_upgrade/test/installation.md b/docs/zh/server/installation_upgrade/test/installation.md new file mode 100644 index 0000000000000000000000000000000000000000..bb4c4b5652400ac06046965cc3d91a2aeef0cd4f --- /dev/null +++ b/docs/zh/server/installation_upgrade/test/installation.md @@ -0,0 +1,3 @@ +# 安装 + +这是 DevStation 的安装指导。 diff --git a/docs/zh/server/installation_upgrade/test/introduction.md b/docs/zh/server/installation_upgrade/test/introduction.md new file mode 100644 index 0000000000000000000000000000000000000000..6cf2c2f7d7119dfad25b6eb395dc88043f0ed4e4 --- /dev/null +++ b/docs/zh/server/installation_upgrade/test/introduction.md @@ -0,0 +1,3 @@ +# 简介 + +这是 DevStation 的简介。 diff --git a/docs/zh/server/maintenance/aops/_toc.yaml b/docs/zh/server/maintenance/aops/_toc.yaml deleted file mode 100644 index 91a846f0fabfe9b248b1e6d4f34fe92b820a5b1e..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/aops/_toc.yaml +++ /dev/null @@ -1,20 +0,0 @@ -label: A_Ops用户指南 -isManual: true -description: 使用 A_Ops 智能运维框架进行故障快速定位、配置项统筹管理等 -sections: - - label: 部署A_Ops - href: ./deploying_aops.md - - label: 使用A_Ops智能定位框架 - href: ./aops_intelligent_positioning_framework_user_manual.md - - label: 部署aops_agent - href: ./deploying_aops_agent.md - - label: 使用热补丁dnf插件 - href: ./dnf_command_usage.md - - label: 配置溯源服务 - href: ./configuration_tracing_service_user_manual.md - - label: 架构感知服务 - href: ./architecture_awareness_service_manual.md - - label: 社区热补丁制作发布流程 - href: ./community_hotpatch_creation_and_release_process.md - - label: 自动化运维服务 - href: ./automated_maintenance_user_manual.md diff --git a/docs/zh/server/maintenance/aops/aops_intelligent_positioning_framework_user_manual.md b/docs/zh/server/maintenance/aops/aops_intelligent_positioning_framework_user_manual.md deleted file mode 100644 index 113ef9bb115ac74210011ad07fe4c74e9e533ae9..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/aops/aops_intelligent_positioning_framework_user_manual.md +++ /dev/null @@ -1,182 +0,0 @@ -# AOps 智能定位框架使用手册 - -参照[AOps部署指南](./deploying-aops.md)部署AOps前后端服务后,即可使用AOps智能定位框架。 - -下文会从页面的维度进行AOps智能定位框架功能的介绍。 - -## 工作台 - - 该页面为数据看板页面,用户登录后,仍在该页面。 - - ![4911661916984_.pic](./figures/工作台.jpg) - -支持操作: - -- 当前纳管的主机数量 -- 当前所有未确认的告警数量 - -- 每个主机组告警情况的统计 - -- 用户帐户操作 - - - 修改密码 - - 退出登录 -- 业务域和CVE信息暂不支持 - -## 资产管理 - -资产管理分为对主机组进行管理以及对主机进行管理。每个主机在agent侧注册时需指定一个已存在的主机组进行注册,注册完毕后会在前端进行显示。 - -(1)主机组页面: - -![4761661915951_.pic](./figures/主机组.jpg) - -支持如下操作: - -- 主机组添加 -- 主机组删除 -- 查看当前所有主机组 -- 查看每个主机组下的主机信息 - -添加主机组时,需指定主机组的名称和描述。注意:请勿重复名称。 - -![添加主机组](./figures/添加主机组.jpg) - -(2)主机管理页面: - -![主机管理](./figures/主机管理.jpg) - -支持如下操作: - -- 查看主机列表(可根据主机组、管理节点进行筛选,可根据主机名称进行排序) -- 删除主机 -- 点击主机可跳转到主机详情界面 - -(3)主机详细信息界面: - -![主机详情](./figures/主机详情.jpg) - -详情页的上半部分展示了该主机的操作系统及CPU等的基础信息。 - -![插件管理](./figures/插件管理.jpg) - -详情页的下半部分,用户可以看到该主机当前运行的采集插件信息(目前agent只支持gala-gopher插件)。 - -支持如下操作: - -- 查看主机基础信息及插件信息 -- 插件的管理(gala-gopher) - - 插件资源查看 - - 插件的开启和管理 - - gala-gopher的采集探针的开启和关闭 -- 主机场景的识别 - -点击场景识别后,系统会生成该主机的场景,并推荐检测该场景所需开启的插件以及采集项,用户可以根据推荐结果进行插件/探针的调整。 - -注意:修改插件信息如关闭插件或开关探针后,需要点击保存才能生效。 - -![修改插件](./figures/修改插件.png) - -## 智能定位 - -AOps项目的智能定位策略采用内置网络诊断应用作为模板,生成个性化工作流的策略进行检测和诊断。 - -“应用”作为工作流的模板,描述了检测中各步骤的串联情况,内置各步骤中使用的检测模型的推荐逻辑。用户在生成工作流时,可根据各主机的采集项、场景等信息,定制出工作流的详细信息。 - -(1)工作流列表页面: - -![工作流](./figures/工作流.jpg) - -支持操作: - -- 查看当前工作流列表,支持按照主机组、应用和状态进行筛选,并支持分页操作 -- 查看当前应用列表 - -(2)工作流详情页面: - -![工作流详情](./figures/工作流详情.jpg) - -支持操作: - -- 查看工作流所属主机组,主机数量、状态等基础信息 -- 查看单指标检测、多指标检测、集群故障诊断各步骤的详细算法模型信息 -- 修改检测各步骤应用的模型 -- 执行、暂停和删除工作流 - -修改某检测步骤的模型时,用户可根据模型名或标签搜索系统内置的模型库,选中模型后点击应用进行更改。 - -![修改模型](./figures/修改模型.png) - -(3)应用详情页面 - -![app详情](./figures/应用.png) - -支持操作: - -- 查看应用的整体流程 -- 基于应用创建工作流 - -创建工作流时,点击右上角的创建工作流按钮,并在右侧弹出的窗口中输入工作流的名称和描述,选择要检测的主机组。选中主机组后,下方会列出该主机组的所有主机,用户可选中部分主机后移到右侧的列表,最后点击创建,即可在工作流列表中看到新创建的工作流。 - -![app详情](./figures/app详情.jpg) - -![创建工作流](./figures/创建工作流.jpg) - -(4)告警 - -启动工作流后,会根据工作流的执行周期定时触发诊断,每次诊断若结果为异常,则会作为一条告警存入数据库,同时也会反应在前端告警页面中。 - -![告警](./figures/告警.jpg) - -支持操作: - -- 查看当前告警总数 -- 查看各主机组的告警数量 -- 查看告警列表 -- 告警确认 -- 查看告警详情 -- 下载诊断报告 - -告警确认后,将不在列表中显示 - -![告警确认](./figures/告警确认.jpg) - -点击异常详情后,可以根据主机维度查看告警详情,包括异常数据项的展示以及根因节点、根因异常的判断等。 - -![告警详情](./figures/告警详情.jpg) - -## 配置溯源 - -AOps项目的配置溯源用于对目标主机配置文件内容的变动进行检测记录,对于文件配置错误类引发的故障起到很好的支撑作用。 - -### 创建配置域 - -![](./figures/chuangjianyewuyu.png) - -### 添加配置域纳管node - -![](./figures/tianjianode.png) - -### 添加配置域配置 - -![](./figures/xinzengpeizhi.png) - -### 查询预期配置 - -![](./figures/chakanyuqi.png) - -### 删除配置 - -![](./figures/shanchupeizhi.png) - -### 查询实际配置 - -![](./figures/chaxunshijipeizhi.png) - -### 配置校验 - -![](./figures/zhuangtaichaxun.png) - -### 配置同步 - -暂未提供 diff --git a/docs/zh/server/maintenance/aops/architecture_awareness_service_manual.md b/docs/zh/server/maintenance/aops/architecture_awareness_service_manual.md deleted file mode 100644 index 4191b0b93c59cd3b31206df5b4189384c39c8025..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/aops/architecture_awareness_service_manual.md +++ /dev/null @@ -1,74 +0,0 @@ -# 架构感知服务使用手册 - -## 安装 - -### 手动安装 - -- 通过yum挂载repo源实现 - - 配置yum源:openEuler23.09 和 openEuler23.09:Epol,repo源路径:/etc/yum.repos.d/openEuler.repo。 - - ```ini - [everything] # openEuler 23.09 官方发布源 - name=openEuler23.09 - baseurl=https://repo.openeuler.org/openEuler-23.09/everything/$basearch/ - enabled=1 - gpgcheck=1 - gpgkey=https://repo.openeuler.org/openEuler-23.09/everything/$basearch/RPM-GPG-KEY-openEuler - - [Epol] # openEuler 23.09:Epol 官方发布源 - name=Epol - baseurl=https://repo.openeuler.org/openEuler-23.09/EPOL/main/$basearch/ - enabled=1 - gpgcheck=1 - gpgkey=https://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler - ``` - - 然后执行如下指令下载以及安装gala-spider及其依赖。 - - ```shell - # A-Ops 架构感知,通常安装在主节点上 - yum install gala-spider - yum install python3-gala-spider - - # A-Ops 架构感知探针,通常安装在主节点上 - yum install gala-gopher - ``` - -- 通过安装rpm包实现。先下载gala-spider-vx.x.x-x.oe1.aarch64.rpm,然后执行如下命令进行安装(其中x.x-x表示版本号,请用实际情况替代)。 - - ```shell - rpm -ivh gala-spider-vx.x.x-x.oe1.aarch64.rpm - rpm -ivh gala-gopher-vx.x.x-x.oe1.aarch64.rpm - ``` - -### 使用Aops部署服务安装 - -#### 编辑任务列表 - -修改部署任务列表,打开gala_spider步骤开关: - -```yaml ---- -step_list: - ... - gala_gopher: - enable: false - continue: false - gala_spider: - enable: false - continue: false - ... -``` - -#### 编辑主机清单 - -具体步骤参见其他章节gala-spider与gala-gopher模块主机配置。 - -#### 编辑变量列表 - -具体步骤参见其他章节gala-spider与gala-gopher模块变量配置。 - -#### 执行部署任务 - -具体步骤参见其他章节执行部署任务。 diff --git a/docs/zh/server/maintenance/aops/automated_maintenance_user_manual.md b/docs/zh/server/maintenance/aops/automated_maintenance_user_manual.md deleted file mode 100644 index 7277fef3f64a28dbf6f9f035ccba8d1a16e837c9..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/aops/automated_maintenance_user_manual.md +++ /dev/null @@ -1,64 +0,0 @@ -# 自动化运维服务使用手册 - -## 主要功能 - -本服务主要包括批量命令执行和批量脚本执行的功能,两者均支持定时任务。 - -### 命令相关 - -命令页面包含命令管理和命令执行两个页签 - -#### 命令管理 - -命令管理界面可以对命令进行增删查改功能: -![](./image/新建命令.png) -![](./image/命令管理界面.png) - -#### 命令执行 - -命令执行界面可以创建命令执行任务: -![](./image/新建命令任务.png) - -命令执行界面可以对创建的任务进行任务信息查看,任务执行,任务结果查看,删除任务等操作: -![](./image/命令执行.png) -任务结果查看: -![](./image/任务结果查看.png) - -### 脚本相关 - -脚本页面包含脚本管理、脚本执行、操作管理三个页签 - -#### 操作管理 - -为了屏蔽操作系统的架构,系统对脚本执行的影响,抽象出操作的概念。一个操作对应一组包括各类架构和系统的脚本,脚本执行时选择主机和操作后,根据主机的系统和架构选择对应的脚本进行执行。 - -操作管理界面可以对操作进行增删查改功能: - -![](./image/操作管理.png) - -#### 脚本管理 - -脚本管理界面可以对脚本进行上传,查询,删除,编辑功能: -![](./image/脚本管理.png) -创建脚本: -![](./image/创建脚本.png) - -#### 脚本执行 - -脚本执行界面可以创建脚本执行任务,创建脚本任务仅能通过选择操作来选择对应脚本: -![](./image/脚本执行.png) -创建脚本任务: -![](./image/创建脚本任务.png) - -### 定时任务 - -定时任务支持指定时间执行和周期执行功能 -单次执行: -![](./image/单次执行.png) -周期执行: -![](./image/周期执行.png) - -### 文件推送 - -文件推送功能支持将脚本推送至指定目录,此类任务不会执行脚本,且推送任务与定时任务互斥: -![](./image/文件推送.png) diff --git a/docs/zh/server/maintenance/aops/community_hotpatch_creation_and_release_process.md b/docs/zh/server/maintenance/aops/community_hotpatch_creation_and_release_process.md deleted file mode 100644 index 296f071cb01b63f9076ef970c1ef9d36d5ba6c27..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/aops/community_hotpatch_creation_and_release_process.md +++ /dev/null @@ -1,264 +0,0 @@ -# 社区热补丁制作发布流程 - -## 制作内核态/用户态热补丁 - -### 场景1. 在src-openEuler/openEuler仓下评论pr制作新版本热补丁 - -> [!NOTE]说明 -> 制作内核态热补丁需在**openEuler/kernel**仓评论pr。 -> 制作用户态热补丁需在src-openEuler仓评论pr,现在支持**src-openEuler/openssl,src-openEuler/glibc,src-openEuler/systemd**。 - -#### 1. 在已合入pr下评论制作热补丁 - -- 从src-openeuler仓【支持openssl, glibc, systemd】评论已合入pr制作新版本热补丁。 - -```shell -/makehotpatch [软件包版本号] [patch list] [cve/bug] [issue id] [os_branch] -``` - -命令说明:使用多个patch用','分隔,需注意patch的先后顺序。 - -![image-20230629114903593](./image/src-openEuler仓评论.png) - -- 从openeuler仓【支持kernel】评论已合入pr制作新版本热补丁。 - -```shell -/makehotpatch [软件包版本号] [cve/bug] [issue id] [os_branch] -``` - -![image-20230629142933917](./image/openEuler仓评论.png) - -评论后,门禁触发hotpatch_metadata仓创建热补丁issue以及同步该pr。 - -#### 2. hotpatch_metadata仓自动创建热补丁issue、同步该pr - -pr评论区提示启动热补丁制作流程。 - -![image-20230629143426498](./image/启动热补丁工程流程.png) - -随后,hotpatch_metadata仓自动创建热补丁issue,并在hotpatch_metadata仓同步该pr。 - -> [!NOTE]说明 -> 热补丁issue用于跟踪热补丁制作流程。 -> hotpatch_metadata仓用于触发制作热补丁。 - -![image-20230629144503840](./image/热补丁issue链接和pr链接.png) - -点击查看热补丁issue链接内容。 - -- 热补丁Issue类别为hotpatch。 - -![image-20230607161545732](./image/image-20230607161545732.png) - -点击查看在hotpatch_metadata仓自动创建的pr。 - -![hotpatch-fix-pr](./image/hotpatch-fix-pr.png) - -#### 3. 触发制作热补丁 - -打开hotpatch_metadata仓自动创建的pr,评论区可以查看热补丁制作信息。 - -![img](./image/45515A7F-0EC2-45AA-9B58-AB92DE9B0979.png) - -查看热补丁制作结果。 - -![img](./image/E574E637-0BF3-4F3B-BAE6-04ECBD09D151.png) - -如果热补丁制作失败,可以根据相关日志信息修改pr、评论 /retest直到热补丁可以被成功制作。 - -如果热补丁制作成功,可以通过Download link下载热补丁进行自验。 - -![image-20230608151244425](./image/hotpatch-pr-success.png) - -**若热补丁制作成功,可以对热补丁进行审阅**。 - -### 场景2、从hotpatch_metadata仓提pr修改热补丁 - -> [!NOTE]说明 -> 从hotpatch_metadata仓提pr只能修改还未正式发布的热补丁。 - -#### 1. 提pr - -用户需要手动创建热补丁issue。 - -(1)阅读readme,根据热补丁issue模版创建热补丁。 - -![image-20230612113428096](./image/image-20230612113428096.png) - -> [!NOTE]说明 -> 用户不允许修改热补丁元数据文件中已被正式发布的热补丁的相关内容。 - -pr内容: - -- patch文件。 -- 修改热补丁元数据hotmetadata.xml文件。 - -#### 2. 触发制作热补丁 - -**若热补丁制作成功,可以对热补丁进行审阅**。 - -### 场景3、从hotpatch_metadata仓提pr制作新版本热补丁 - -#### 1. 提pr - -在hotpatch_metadata仓提pr。 - -(1)阅读readme,根据热补丁issue模版创建热补丁。 - -![image-20230612113428096](./image/image-20230612113428096.png) - -pr内容: - -- patch文件。 -- 如果没有相应热补丁元数据hotmetadata.xml文件,则手动创建;否则修改热补丁元数据hotmetadata.xml文件。 - -#### 2. 触发制作热补丁 - -**若热补丁制作成功,可以对热补丁进行审阅**。 - -## 审阅热补丁 - -### 1. 审阅热补丁pr - -确认可发布,合入pr。 - -### 2. pr合入,回填热补丁issue - -在热补丁issue页面补充热补丁路径,包含src.rpm/arm架构/x86架构的rpm包,以及对应hotpatch.xml,用于展示热补丁信息。 - -> [!NOTE]说明 -> 如果一个架构失败,强行合入,也可只发布单架构的包。 - -![img](./image/EF5E0132-6E5C-4DD1-8CB5-73035278E233.png) - -- 热补丁Issue标签为hotpatch。 - -- 查看热补丁元数据内容。 - -热补丁元数据模版: - -> [!NOTE]说明 -> 热补丁元数据用于管理查看热补丁相关历史制作信息。 - -```xml - - - Managing Hot Patch Metadata - - - - src.rpm归档地址 - x86架构debuginfo二进制包归档地址 - arm架构debuginfo二进制包归档地址 - patch文件 - - https://gitee.com/wanghuan158/hot-patch_metadata/issues/I7AE5F - - - - -``` - -```xml - - - Managing Hot Patch Metadata - - - - download_link - download_link - download_link - 0001-PEM-read-bio-ret-failure.patch - - https://gitee.com/wanghuan158/hot-patch_metadata/issues/I7AE5F - - - download_link - download_link - download_link - 0001-PEM-read-bio-ret-failure.patch - - https://gitee.com/wanghuan158/hot-patch_metadata/issues/I7AE5P - - - - -``` - -> [!NOTE]说明 -> 注意:download_link均为repo仓正式的归档链接。 -> 热补丁当前只考虑演进,version 2基于version 1的src继续构建。 - -![image-20230607163358749](./image/image-20230607163358749.png) - -### 3. 关闭相应热补丁Issue - -## 发布热补丁 - -### 1、收集热补丁发布需求 - -在release-management仓库每周update需求收集的issue下方,手动评论start-update命令,此时会收集待发布的热补丁和待发布的修复cve的冷补丁。后台会在hotpatch_meta仓库根据hotpatch标签查找已关闭的热补丁issue。 - -### 2、生成安全公告热补丁信息 - -社区根据收集到的热补丁issue信息,在生成安全公告的同时生成hotpatch字段补丁,过滤已经发布的漏洞补丁。 - -- 在安全公告文件新增HotPatchTree字段,记录和公告相关漏洞的热补丁,每个补丁按架构和CVE字段区分(Type=ProductName 记录分支,Type=ProductArch 记录补丁具体的rpm包)。 - -![](./image/patch-file.PNG) - -### 3、Majun平台上传文件到openEuler官网,同步生成updateinfo.xml文件 - -社区将生成的安全公告上传到openEuler官网,同时基于所收集的热补丁信息生成updateinfo.xml文件。 - -![](./image/hotpatch-xml.PNG) - -updateinfo.xml文件样例: - -```xml - - - - openEuler-SA-2022-1 - An update for mariadb is now available for openEuler-25.03 - Important - openEuler - - - - - - patch-redis-6.2.5-1-HP001.(CVE-2022-24048) - - - openEuler - - patch-redis-6.2.5-1-HP001-1-1.aarch64.rpm - - - patch-redis-6.2.5-1-HP001-1-1.x86_64.rpm - - - patch-redis-6.2.5-1-HP002-1-1.aarch64.rpm - - - patch-redis-6.2.5-1-HP002-1-1.x86_64.rpm - - - - - ... - -``` - -### 4、openEuler官网可以查看更新的热补丁信息,以cve编号划分 - -![image-20230612113626330](./image/image-20230612113626330.png) - -### 5、获取热补丁相关文件 - -社区将热补丁相关文件同步至openEuler的repo源下,可以在各个分支的hotpatch目录下获取相应文件。 - -> [!NOTE]说明 -> openEuler的repo地址: diff --git a/docs/zh/server/maintenance/aops/configuration_tracing_service_user_manual.md b/docs/zh/server/maintenance/aops/configuration_tracing_service_user_manual.md deleted file mode 100644 index fc1cc651162f7ccf3092324fe7c56d21c2736a62..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/aops/configuration_tracing_service_user_manual.md +++ /dev/null @@ -1,158 +0,0 @@ -# gala-ragdoll的使用指导 - -============================ - -## 安装 - -### 手动安装 - -- 通过yum挂载repo源实现 - - 配置yum源:openEuler23.09 和 openEuler23.09:Epol,repo源路径:/etc/yum.repos.d/openEuler.repo。 - - ```ini - [everything] # openEuler 23.09 官方发布源 - name=openEuler23.09 - baseurl=https://repo.openeuler.org/openEuler-23.09/everything/$basearch/ - enabled=1 - gpgcheck=1 - gpgkey=https://repo.openeuler.org/openEuler-23.09/everything/$basearch/RPM-GPG-KEY-openEuler - - [Epol] # openEuler 23.09:Epol 官方发布源 - name=Epol - baseurl=https://repo.openeuler.org/openEuler-23.09/EPOL/main/$basearch/ - enabled=1 - gpgcheck=1 - gpgkey=https://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler - ``` - - 然后执行如下指令下载以及安装gala-ragdoll及其依赖。 - - ```shell - yum install gala-ragdoll # A-Ops 配置溯源 - yum install python3-gala-ragdoll - - ``` - -- 通过安装rpm包实现。先下载gala-ragdoll-vx.x.x-x.oe1.aarch64.rpm,然后执行如下命令进行安装(其中x.x-x表示版本号,请用实际情况替代) - - ```shell - rpm -ivh gala-ragdoll-vx.x.x-x.oe1.aarch64.rpm - ``` - -### 使用Aops部署服务安装 - -#### 编辑任务列表 - -修改部署任务列表,打开gala_ragdoll步骤开关: - -```yaml ---- -step_list: - ... - gala_ragdoll: - enable: false - continue: false - ... -``` - -#### 编辑主机清单 - -具体步骤参见其他章节gala-ragdoll模块主机配置 - -#### 编辑变量列表 - -具体步骤参见其他章节gala-ragdoll模块变量配置 - -#### 执行部署任务 - -具体步骤参见其他章节执行部署任务 - -### 配置文件介绍 - -`/etc/yum.repos.d/openEuler.repo`是用来规定yum源地址的配置文件,该配置文件内容为: - - ```shell - [OS] - name=OS - baseurl=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/ - enabled=1 - gpgcheck=1 - gpgkey=http://repo.openeuler.org/openEuler-23.09/OS/$basearch/RPM-GPG-KEY-openEuler - ``` - -### yang模型介绍 - -`/etc/yum.repos.d/openEuler.repo`采用yang语言进行表示,参见`gala-ragdoll/yang_modules/openEuler-logos-openEuler.repo.yang`; -其中增加了三个拓展字段: - -| 拓展字段名称 | 拓展字段格式 | 样例 | -| ------------ | ---------------------- | ----------------------------------------- | -| path | OS类型:配置文件的路径 | openEuler:/etc/yum.repos.d/openEuler.repo | -| type | 配置文件类型 | ini、key-value、json、text等 | -| spacer | 配置项和配置值的中间键 | “ ”、“=”、“:”等 | - -附:yang语言的学习地址: - -### 通过配置溯源创建域 - -#### 查看配置文件 - -gala-ragdoll中存在配置溯源的配置文件 - - ```shell - [root@openeuler-development-1-1drnd ~]# cat /etc/ragdoll/gala-ragdoll.conf - [git] // 定义当前的git信息:包括git仓的目录和用户信息 - git_dir = "/home/confTraceTestConf" - user_name = "user" - user_email = "email" - - [collect] // A-OPS 对外提供的collect接口 - collect_address = "http://192.168.0.0:11111" - collect_api = "/manage/config/collect" - - [ragdoll] - port = 11114 - ``` - -#### 创建配置域 - -![](./figures/chuangjianyewuyu.png) - -#### 添加配置域纳管node - -![](./figures/tianjianode.png) - -#### 添加配置域配置 - -![](./figures/xinzengpeizhi.png) - -#### 查询预期配置 - -![](./figures/chakanyuqi.png) - -#### 删除配置 - -![](./figures/shanchupeizhi.png) - -#### 查询实际配置 - -![](./figures/chaxunshijipeizhi.png) - -#### 配置校验 - -![](./figures/zhuangtaichaxun.png) - -#### 配置同步 - -![](./figures/peizhitongbu.png) - -#### 配置文件追溯 - -##### 打开监控开关 - -![](./figures/chuangjianyewuyu.png) - -##### 配置文件修改记录追溯 - -![](./figures/conf_file_trace.png) diff --git a/docs/zh/server/maintenance/aops/deploying_aops.md b/docs/zh/server/maintenance/aops/deploying_aops.md deleted file mode 100644 index 46c479514ac7da8ef29f3da8b6219205a0baefee..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/aops/deploying_aops.md +++ /dev/null @@ -1,458 +0,0 @@ -# A-Ops部署指南 - -## 环境要求 - -- 2台openEuler 25.03机器 - - 分别用于部署check模块的两种模式:调度器,执行器。其他服务如mysql、elasticsearch、aops-manager等可在任意一台机器独立部署,为便于操作,将这些服务部署在机器A。 - -- 内存尽量为:8G+ - -## 配置部署环境 - -### 机器A - -机器A需部署的aops服务有:aops-tools、aops-manager、aops-check、aops-hermes、aops-agent、gala-gopher。 - -需部署的第三方服务有:mysql、elasticsearch、zookeeper、kafka、prometheus。 - -具体部署步骤如下: - -#### 2.1 关闭防火墙 - -关闭本节点防火墙 - -```shell -systemctl stop firewalld -systemctl disable firewalld -systemctl status firewalld -``` - -#### 2.2 部署aops-tools - -安装aops-tools: - -```shell -yum install aops-tools -``` - -#### 2.3 部署数据库[mysql、elasticsearch] - -##### 2.3.1 部署mysql - -使用安装aops-tools时安装的aops-basedatabase脚本进行安装 - -```shell -cd /opt/aops/scripts/deploy -./aops-basedatabase.sh install mysql -``` - -修改mysql配置文件 - -```shell -vim /etc/my.cnf -``` - -新增bind-address, 值为本机ip - -![1662346986112](./figures/修改mysql配置文件.png) - -重启mysql服务 - -```shell -systemctl restart mysqld -``` - -连接数据库,设置权限: - -```shell -mysql -show databases; -use mysql; -select user,host from user;//出现user为root,host为localhost时,说明mysql只允许本机连接,外网和本地软件客户端则无法连接。 -update user set host = '%' where user='root'; -flush privileges;//刷新权限 -exit -``` - -##### 2.3.2 部署elasticsearch - -使用安装aops-tools时安装的aops-basedatabase脚本进行安装 - -```shell -cd /opt/aops/scripts/deploy -./aops-basedatabase.sh install elasticsearch -``` - -修改配置文件: - -修改elasticsearch配置文件: - -```shell -vim /etc/elasticsearch/elasticsearch.yml -``` - -![1662370718890](./figures/elasticsearch配置2.png) - -![1662370575036](./figures/elasticsearch配置1.png) - -![1662370776219](./figures/elasticsearch3.png) - -重启elasticsearch服务: - -```shell -systemctl restart elasticsearch -``` - -#### 2.4 部署aops-manager - -安装aops-manager - -```shell -yum install aops-manager -``` - -修改配置文件: - -```shell -vim /etc/aops/manager.ini -``` - -将配置文件中各服务的地址修改为真实地址,由于将所有服务都部署在机器A,故需把IP地址配为机器A的地址。 - -```shell -[manager] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=11111 -host_vault_dir=/opt/aops -host_vars=/opt/aops/host_vars - -[uwsgi] -wsgi-file=manage.py -daemonize=/var/log/aops/uwsgi/manager.log -http-timeout=600 -harakiri=600 - -[elasticsearch] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=9200 -max_es_query_num=10000000 - -[mysql] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=3306 -database_name=aops -engine_format=mysql+pymysql://@%s:%s/%s -pool_size=10000 -pool_recycle=7200 - -[aops_check] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=11112 -``` - -启动aops-manager服务: - -```shell -systemctl start aops-manager -``` - -#### 2.5 部署aops-hermes - -安装aops-hermes - -```shell -yum install aops-hermes -``` - -修改配置文件,由于将所有服务都部署在机器A,故需将web访问的各服务地址配置成机器A的真实ip。 - -```shell -vim /etc/nginx/aops-nginx.conf -``` - -部分服务配置截图: - -![1662378186528](./figures/配置web.png) - -开启aops-hermesb服务: - -```shell -systemctl start aops-hermes -``` - -#### 2.6 部署kafka - -##### 2.6.1 部署zookeeper - -安装: - -```shell -yum install zookeeper -``` - -启动服务: - -```shell -systemctl start zookeeper -``` - -##### 2.6.2 部署kafka - -安装: - -```shell -yum install kafka -``` - -修改配置文件: - -```shell -vim /opt/kafka/config/server.properties -``` - -将listener 改为本机ip - -![1662381371927](./figures/kafka配置.png) - -启动kafka服务: - -```shell -cd /opt/kafka/bin -nohup ./kafka-server-start.sh ../config/server.properties & -tail -f ./nohup.out # 查看nohup所有的输出出现A本机ip 以及 kafka启动成功INFO; -``` - -#### 2.7 部署aops-check - -安装aops-check: - -```shell -yum install aops-check -``` - -修改配置文件: - -```shell -vim /etc/aops/check.ini -``` - -将配置文件中各服务的地址修改为真实地址,由于将所有服务都部署在机器A,故需把IP地址配为机器A的地址。 - -```shell -[check] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=11112 -mode=configurable // 该模式为configurable模式,用于常规诊断模式下的调度器 -timing_check=on - -[default_mode] -period=30 -step=30 - -[elasticsearch] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=9200 - -[mysql] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=3306 -database_name=aops -engine_format=mysql+pymysql://@%s:%s/%s -pool_size=10000 -pool_recycle=7200 - -[prometheus] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=9090 -query_range_step=15s - -[agent] -default_instance_port=8888 - -[manager] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=11111 - -[consumer] -kafka_server_list=192.168.1.1:9092 // 此处及后续服务ip修改为机器A真实ip -enable_auto_commit=False -auto_offset_reset=earliest -timeout_ms=5 -max_records=3 -task_name=CHECK_TASK -task_group_id=CHECK_TASK_GROUP_ID -result_name=CHECK_RESULT -[producer] -kafka_server_list = 192.168.1.1:9092 // 此处及后续服务ip修改为机器A真实ip -api_version = 0.11.5 -acks = 1 -retries = 3 -retry_backoff_ms = 100 -task_name=CHECK_TASK -task_group_id=CHECK_TASK_GROUP_ID -``` - -启动aops-check服务(configurable模式): - -```shell -systemctl start aops-check -``` - -#### 2.8 部署客户端服务 - -客户端机器的服务需要部署aops-agent及gala-gopher,具体可参考[aops-agent部署指南](./deploying_aops_agent.md)。 - -注意:主机注册时需要先在前端添加主机组操作,确保该主机所属的主机组存在。此处只对机器A做部署、纳管。 - -#### 2.9 部署prometheus - -安装prometheus: - -```shell -yum install prometheus2 -``` - -修改配置文件: - -```shell -vim /etc/prometheus/prometheus.yml -``` - -将所有客户端的gala-gopher地址新增到prometheus的监控节点中。 - -![1662377261742](./figures/prometheus配置.png) - -启动服务: - -```shell -systemctl start prometheus -``` - -#### 2.10 部署gala-ragdoll - -A-Ops配置溯源功能依赖gala-ragdoll实现,通过Git实现配置文件的变动监测。 - -安装gala-ragdoll: - -```shell -yum install gala-ragdoll # A-Ops 配置溯源 -``` - -修改配置文件: - -```shell -vim /etc/ragdoll/gala-ragdoll.conf -``` - -将collect节点collect_address中IP地址修改为机器A的地址,collect_api与collect_port修改为实际接口地址。 - -```text -[git] -git_dir = "/home/confTraceTest" -user_name = "user_name" -user_email = "user_email" - -[collect] -collect_address = "http://192.168.1.1" //此处修改为机器A的真实IP -collect_api = "/manage/config/collect" //此处修改为配置文件采集的实际接口 -collect_port = 11111 //此处修改为服务的实际端口 - -[sync] -sync_address = "http://0.0.0.0" -sync_api = "/demo/syncConf" -sync_port = 11114 - - -[ragdoll] -port = 11114 - -``` - -启动gala-ragdoll服务 - -```shell -systemctl start gala-ragdoll -``` - -### 机器B - -机器B只需部署aops-check作为执行器。 - -#### 2.11 部署aops-check - -安装aops-check: - -```shell -yum install aops-check -``` - -修改配置文件: - -```shell -vim /etc/aops/check.ini -``` - -将配置文件中各服务的地址修改为真实地址,除check服务为机器B的地址外,其他服务都部署在机器A,故只需把IP地址配置为机器A的地址即可。 - -```shell -[check] -ip=192.168.1.2 // 此处ip改为机器B真实ip -port=11112 -mode=executor // executor,用于常规诊断模式下的执行器 -timing_check=on - -[default_mode] -period=30 -step=30 - -[elasticsearch] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=9200 - -[mysql] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=3306 -database_name=aops -engine_format=mysql+pymysql://@%s:%s/%s -pool_size=10000 -pool_recycle=7200 - -[prometheus] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=9090 -query_range_step=15s - -[agent] -default_instance_port=8888 - -[manager] -ip=192.168.1.1 // 此处及后续服务ip修改为机器A真实ip -port=11111 - -[consumer] -kafka_server_list=192.168.1.1:9092 // 此处及后续服务ip修改为机器A真实ip -enable_auto_commit=False -auto_offset_reset=earliest -timeout_ms=5 -max_records=3 -task_name=CHECK_TASK -task_group_id=CHECK_TASK_GROUP_ID -result_name=CHECK_RESULT -[producer] -kafka_server_list = 192.168.1.1:9092 // 此处及后续服务ip修改为机器A真实ip -api_version = 0.11.5 -acks = 1 -retries = 3 -retry_backoff_ms = 100 -task_name=CHECK_TASK -task_group_id=CHECK_TASK_GROUP_ID -``` - -启动aops-check服务(executor模式): - -```shell -systemctl start aops-check -``` - -至此,两台机器的服务部署完成。 diff --git a/docs/zh/server/maintenance/aops/deploying_aops_agent.md b/docs/zh/server/maintenance/aops/deploying_aops_agent.md deleted file mode 100644 index c65187796d5e2ce549d7ffd526214a7d5597500f..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/aops/deploying_aops_agent.md +++ /dev/null @@ -1,652 +0,0 @@ -# aops-agent部署指南 - -## 环境要求 - -1台openEuler机器,建议openEuler-20.03及以上版本运行。 - -## 配置环境部署 - -### 1. 关闭防火墙 - -```shell -systemctl stop firewalld -systemctl disable firewalld -systemctl status firewalld -``` - -### 2. aops-agent部署 - -1. 基于yum源安装:yum install aops-agent - -2. 修改配置文件:将agent节点下IP标签值修改为本机IP, - - vim /etc/aops/agent.conf,以IP地址为192.168.1.47为例 - - ```ini - [agent] - ;启动aops-agent时,绑定的IP与端口 - ip=192.168.1.47 - port=12000 - - [gopher] - ;gala-gopher默认配置文件路径,如需修改请确保文件路径的准确性 - config_path=/opt/gala-gopher/gala-gopher.conf - - ;aops-agent采集日志配置 - [log] - ;采集日志级别,可设置为DEBUG,INFO,WARNING,ERROR,CRITICAL - log_level=INFO - ;采集日志存放位置 - log_dir=/var/log/aops - ;日志文件最大值 - max_bytes=31457280 - ;备份日志的数量 - backup_count=40 - ``` - -3. 启动服务:systemctl start aops-agent - -### 3. 向aops-manager注册 - -为了辨别使用者的身份,避免接口被随意调用,aops-agent采用token验证身份,以减轻所部署主机的压力。 - -基于安全性考虑,项目采用主动注册的方式去获取token。注册前,须在agent侧准备好需要注册的信息,调用register命令向aops-manager注册。由于agent未配置数据库,注册成功后,自动将token保存到指定文件内,并在前台展示注册结果。同时将本机相关信息存入到aops-manager侧的数据库中,以便后续管理。 - -1. 准备register.json 文件 - - 在aops-agent侧准备好注册所需信息以json格式存入文件中,数据结构如下: - - ```JSON - { - // 前端登录用户名 - "web_username":"admin", - // 用户密码 - "web_password": "changeme", - // 主机名称 - "host_name": "host1", - // 主机所在组名称 - "host_group_name": "group1", - // aops-manager运行主机IP地址 - "manager_ip":"192.168.1.23", - // 是否注册为管理机器 - "management":false, - // aops-manager运行对外端口 - "manager_port":"11111", - // agent运行端口 - "agent_port":"12000" - } - ``` - - `注意:确保aops-manager已在目标主机运行,如192.168.1.23,且注册的主机组要存在。` - -2. 执行:aops_agent register -f register.json, -3. 前台展示注册结果,注册成功时,保存token字符串至指定文件;注册失败时,根据提示以及日志内容了解具体原因。(/var/log/aops/aops.log) - - 注册结果示例: - - `注册成功` - - ```shell - [root@localhost ~]# aops_agent register -f register.json - Agent Register Success - ``` - - `注册失败,以aops-manager未启动为示例` - - ```shell - [root@localhost ~]# aops_agent register -f register.json - Agent Register Fail - [root@localhost ~]# - ``` - - `对应日志内容` - - ```shell - 2022-09-05 16:11:52,576 ERROR command_manage/register/331: HTTPConnectionPool(host='192.168.1.23', port=11111): Max retries exceeded with url: /manage/host/add (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) - [root@localhost ~]# - ``` - -## 插件支持 - -### 3.1 gala-gopher - -#### 3.1.1 介绍 - -gala-gopher是基于eBPF的低负载探针框架,可用于对主机的CPU,内存,网络等状态的监控以及数据采集服务。可根据实际业务需求对已有采集探针采集状态进行配置。 - -#### 3.1.2 部署 - -1. 基于yum源安装:yum install gala-gopher -2. 基于实际的业务需求,选择需要探针进行开启,探针信息可在/opt/gala-gopher/gala-gopher.conf下查看。 -3. 启动服务:systemctl start gala-gopher - -#### 3.1.3 其他 - -gala-gopher更多信息可参考文档 - -## 接口支持 - -### 4.1 对外接口清单 - -| 序号 | 接口名称 | 类型 | 说明 | -| ---- | ------------------------------ | ---- | ----------------------| -| 1 | /v1/agent/plugin/start | POST | 启动插件 | -| 2 | /v1/agent/plugin/stop | POST | 停止插件 | -| 3 | /v1/agent/application/info | GET | 采集目标应用集内正在运行的应用 | -| 4 | /v1/agent/host/info | GET | 获取主机信息 | -| 5 | /v1/agent/plugin/info | GET | 获取agent中插件运行信息 | -| 6 | /v1/agent/file/collect | POST | 采集配置文件内容 | -| 7 | /v1/agent/collect/items/change | POST | 改变插件采集项的运行状态 | - -#### 4.1.1、/v1/agent/plugin/start - -+ 描述:启动已安装但未运行的插件,目前仅支持gala-gopher插件。 - -+ HTTP请求方式:POST - -+ 数据提交方式:query - -+ 请求参数: - - | 参数名 | 必选 | 类型 | 说明 | - | ----------- | ---- | ---- | ------ | - | plugin_name | True | str | 插件名 | - -+ 请求参数示例 - - | 参数名 | 参数值 | - | ----------- | ----------- | - | plugin_name | gala-gopher | - -+ 返回体参数 - - | 参数名 | 类型 | 说明 | - | ------ | ---- | ---------------- | - | code | int/ | 返回码 | - | msg | str | 状态码对应的信息 | - -+ 返回示例 - - ```json - { - "code": 200, - "msg": "xxxx" - } - ``` - -#### 4.1.2、/v1/agent/plugin/stop - -+ 描述:使正在运行的插件停止,目前仅支持gala-gopher插件。 - -+ HTTP请求方式:POST - -+ 数据提交方式:query - -+ 请求参数: - - | 参数名 | 必选 | 类型 | 说明 | - | ----------- | ---- | ---- | ------ | - | plugin_name | True | str | 插件名 | - -+ 请求参数示例: - - | 参数名 | 参数值 | - | ----------- | ----------- | - | plugin_name | gala-gopher | - -+ 返回体参数: - - | 参数名 | 类型 | 说明 | - | ------ | ---- | ---------------- | - | code | int | 返回码 | - | msg | str | 状态码对应的信息 | - -+ 返回示例: - - ```json - { - "code": 200, - "msg": "xxxx" - } - ``` - -#### 4.1.3、/v1/agent/application/info - -+ 描述:采集目标应用集内正在运行的应用,当前目标应用集包含mysql, kubernetes, hadoop, nginx, docker, gala-gopher。 - -+ HTTP请求方式:GET - -+ 数据提交方式:query - -+ 请求参数: - - | 参数名 | 必选 | 类型 | 说明 | - | ------ | ---- | ---- | ---- | - | | | | | - -+ 请求参数示例: - - | 参数名 | 参数值 | - | ------ | ------ | - | | | - -+ 返回体参数: - - | 参数名 | 类型 | 说明 | - | ------ | ---- | ---------------- | - | code | int | 返回码 | - | msg | str | 状态码对应的信息 | - | resp | dict | 响应数据主体 | - - + resp - - | 参数名 | 类型 | 说明 | - | ------- | --------- | -------------------------- | - | running | List[str] | 包含正在运行应用名称的系列 | - -+ 返回示例: - - ```json - { - "code": 200, - "msg": "xxxx", - "resp": { - "running": [ - "mysql", - "docker" - ] - } - } - ``` - -#### 4.1.4、/v1/agent/host/info - -+ 描述:获取安装agent主机的信息,包含系统版本,BIOS版本,内核版本,CPU信息以及内存信息。 - -+ HTTP请求方式:POST - -+ 数据提交方式:application/json - -+ 请求参数: - - | 参数名 | 必选 | 类型 | 说明 | - | --------- | ---- | --------- | ------------------------------------------------ | - | info_type | True | List[str] | 需采集信息的名称,目前仅支持cpu、disk、memory、os | - -+ 请求参数示例: - - ```json - ["os", "cpu","memory", "disk"] - ``` - -+ 返回体参数: - - | 参数名 | 类型 | 说明 | - | ------ | ---- | ---------------- | - | code | int | 返回码 | - | msg | str | 状态码对应的信息 | - | resp | dict | 响应数据主体 | - - resp - - | 参数名 | 类型 | 说明 | - | ------ | ---------- | -------- | - | cpu | dict | cpu信息 | - | memory | dict | 内存信息 | - | os | dict | OS信息 | - | disk | List[dict] | 硬盘信息 | - - cpu - - | 参数名 | 类型 | 说明 | - | ------------ | ---- | --------------- | - | architecture | str | CPU架构 | - | core_count | int | 核心数 | - | l1d_cache | str | 1级数据缓存大小 | - | l1i_cache | str | 1级指令缓存大小 | - | l2_cache | str | 2级缓存大小 | - | l3_cache | str | 3级缓存大小 | - | model_name | str | 模式名称 | - | vendor_id | str | 厂商ID | - - memory - - | 参数名 | 类型 | 说明 | - | ------ | ---------- | -------------- | - | size | str | 总内存大小 | - | total | int | 内存条数量 | - | info | List[dict] | 所有内存条信息 | - - info - - | 参数名 | 类型 | 说明 | - | ------------ | ---- | -------- | - | size | str | 内存大小 | - | type | str | 类型 | - | speed | str | 速度 | - | manufacturer | str | 厂商 | - - os - - | 参数名 | 类型 | 说明 | - | ------------ | ---- | -------- | - | bios_version | str | bios版本 | - | os_version | str | 系统名称 | - | kernel | str | 内核版本 | - -+ 返回示例: - - ```json - { - "code": 200, - "msg": "operate success", - "resp": { - "cpu": { - "architecture": "aarch64", - "core_count": "128", - "l1d_cache": "8 MiB (128 instances)", - "l1i_cache": "8 MiB (128 instances)", - "l2_cache": "64 MiB (128 instances)", - "l3_cache": "128 MiB (4 instances)", - "model_name": "Kunpeng-920", - "vendor_id": "HiSilicon" - }, - "memory": { - "info": [ - { - "manufacturer": "Hynix", - "size": "16 GB", - "speed": "2933 MT/s", - "type": "DDR4" - }, - { - "manufacturer": "Hynix", - "size": "16 GB", - "speed": "2933 MT/s", - "type": "DDR4" - } - ], - "size": "32G", - "total": 2 - }, - "os": { - "bios_version": "1.82", - "kernel": "5.10.0-60.18.0.50", - "os_version": "openEuler 22.03 LTS" - }, - "disk": [ - { - "capacity": "xxGB", - "model": "xxxxxx" - } - ] - } - } - ``` - -#### 4.1.5、/v1/agent/plugin/info - -+ 描述:获取主机的插件运行情况,目前仅支持gala-gopher插件。 - -+ HTTP请求方式:GET - -+ 数据提交方式:query - -+ 请求参数: - - | 参数名 | 必选 | 类型 | 说明 | - | ------ | ---- | ---- | ---- | - | | | | | - -+ 请求参数示例: - - | 参数名 | 参数值 | - | ------ | ------ | - | | | - -+ 返回体参数: - - | 参数名 | 类型 | 说明 | - | ------ | ---------- | ---------------- | - | code | int | 返回码 | - | msg | str | 状态码对应的信息 | - | resp | List[dict] | 响应数据主体 | - - resp - - | 参数名 | 类型 | 说明 | - | ------------- | ---------- | ------------------ | - | plugin_name | str | 插件名称 | - | collect_items | list | 插件采集项运行情况 | - | is_installed | str | 状态码对应的信息 | - | resource | List[dict] | 插件资源使用情况 | - | status | str | 插件运行状态 | - - resource - - | 参数名 | 类型 | 说明 | - | ------------- | ---- | ---------- | - | name | str | 资源名称 | - | current_value | str | 资源使用值 | - | limit_value | str | 资源限制值 | - -+ 返回示例: - - ```json - { - "code": 200, - "msg": "operate success", - "resp": [ - { - "collect_items": [ - { - "probe_name": "system_tcp", - "probe_status": "off", - "support_auto": false - }, - { - "probe_name": "haproxy", - "probe_status": "auto", - "support_auto": true - }, - { - "probe_name": "nginx", - "probe_status": "auto", - "support_auto": true - }, - ], - "is_installed": true, - "plugin_name": "gala-gopher", - "resource": [ - { - "current_value": "0.0%", - "limit_value": null, - "name": "cpu" - }, - { - "current_value": "13 MB", - "limit_value": null, - "name": "memory" - } - ], - "status": "active" - } - ] - } - ``` - -#### 4.1.6、/v1/agent/file/collect - -+ 描述:采集目标配置文件内容、文件权限、文件所属用户等信息。当前仅支持读取小于1M,无执行权限,且支持UTF8编码的文本文件。 - -+ HTTP请求方式:POST - -+ 数据提交方式:application/json - -+ 请求参数: - - | 参数名 | 必选 | 类型 | 说明 | - | --------------- | ---- | --------- | ------------------------ | - | configfile_path | True | List[str] | 需采集文件完整路径的序列 | - -+ 请求参数示例: - - ```json - [ "/home/test.conf", "/home/test.ini", "/home/test.json"] - ``` - -+ 返回体参数: - - | 参数名 | 类型 | 说明 | - | ------------- | ---------- | ---------------- | - | infos | List[dict] | 文件采集信息 | - | success_files | List[str] | 采集成功文件列表 | - | fail_files | List[str] | 采集失败文件列表 | - - infos - - | 参数名 | 类型 | 说明 | - | --------- | ---- | -------- | - | path | str | 文件路径 | - | content | str | 文件内容 | - | file_attr | dict | 文件属性 | - - file_attr - - | 参数名 | 类型 | 说明 | - | ------ | ---- | ------------ | - | mode | str | 文件类型权限 | - | owner | str | 文件所属用户 | - | group | str | 文件所属群组 | - -+ 返回示例: - - ```json - { - "infos": [ - { - "content": "this is a test file", - "file_attr": { - "group": "root", - "mode": "0644", - "owner": "root" - }, - "path": "/home/test.txt" - } - ], - "success_files": [ - "/home/test.txt" - ], - "fail_files": [ - "/home/test.txt" - ] - } - ``` - -#### 4.1.7、/v1/agent/collect/items/change - -+ 描述:更改插件采集项的采集状态,当前仅支持对gala-gopher采集项的更改,gala-gopher采集项可在配置文件中查看`/opt/gala-gopher/gala-gopher.conf`。 - -+ HTTP请求方式:POST - -+ 数据提交方式:application/json - -+ 请求参数: - - | 参数名 | 必选 | 类型 | 说明 | - | ----------- | ---- | ---- | -------------------------- | - | plugin_name | True | dict | 插件采集项预期修改结果数据 | - - plugin_name - - | 参数名 | 必选 | 类型 | 说明 | - | ------------ | ---- | ------ | ------------------ | - | collect_item | True | string | 采集项预期修改结果 | - -+ 请求参数示例: - - ```json - { - "gala-gopher":{ - "redis":"auto", - "system_inode":"on", - "tcp":"on", - "haproxy":"auto" - } - } - ``` - -+ 返回体参数: - - | 参数名 | 类型 | 说明 | - | ------ | ---------- | ---------------- | - | code | int | 返回码 | - | msg | str | 状态码对应的信息 | - | resp | List[dict] | 响应数据主体 | - - resp - - | 参数名 | 类型 | 说明 | - | ----------- | ---- | ------------------ | - | plugin_name | dict | 对应采集项修改结果 | - - plugin_name - - | 参数名 | 类型 | 说明 | - | ------- | --------- | ---------------- | - | success | List[str] | 修改成功的采集项 | - | failure | List[str] | 修改失败的采集项 | - -+ 返回示例: - - ```json - { - "code": 200, - "msg": "operate success", - "resp": { - "gala-gopher": { - "failure": [ - "redis" - ], - "success": [ - "system_inode", - "tcp", - "haproxy" - ] - } - } - } - ``` - -## 注意事项 - -1. 若有报错,请查看日志/var/log/aops/aops.log,根据日志中相关报错提示解决问题,并重启服务。 - -2. 建议项目在Python3.7以上环境运行,安装Python依赖库时需要注意其版本。 - -3. access_token值可在注册完成后,从`/etc/aops/agent.conf`文件中获取。 - -4. 对于插件CPU,以及内存的资源限制目前通过在插件对应service文件中的Service节点下添加MemoryHigh和CPUQuota标签实现。 - - 如对gala-gopher内存限制为40M,CPU限制为20%。 - - ```ini - [Unit] - Description=a-ops gala gopher service - After=network.target - - [Service] - Type=exec - ExecStart=/usr/bin/gala-gopher - Restart=on-failure - RestartSec=1 - RemainAfterExit=yes - ;尽可能限制该单元中的进程最多可以使用多少内存,该限制允许突破,但突破限制后,进程运行速度会收到限制,并且系统会尽可能回收超出的内存 - ;选项值可以是以字节为单位的 绝对内存大小(可以使用以1024为基数的 K, M, G, T 后缀), 也可以是以百分比表示的相对内存大小 - MemoryHigh=40M - ;为此单元的进程设置CPU时间限额,必须设为一个以"%"结尾的百分数, 表示该单元最多可使用单颗CPU总时间的百分之多少 - CPUQuota=20% - - [Install] - WantedBy=multi-user.target - ``` diff --git a/docs/zh/server/maintenance/aops/dnf_command_usage.md b/docs/zh/server/maintenance/aops/dnf_command_usage.md deleted file mode 100644 index a0c721e52c6f93ad9e8a6b8d6aaf0be72adad8e5..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/aops/dnf_command_usage.md +++ /dev/null @@ -1,550 +0,0 @@ -# dnf插件命令使用手册 - -首先需要安装dnf插件: - -```shell -dnf install dnf-hotpatch-plugin -``` - -将dnf热补丁插件安装完成后,可使用dnf命令调用热补丁操作,命令包含热补丁扫描(dnf hot-updateinfo),热补丁状态设置及查询(dnf hotpatch ),热补丁应用(dnf hotupgrade),本文将介绍上述命令的具体使用方法。 - -## 热补丁扫描 - -`hot-updateinfo`命令支持扫描热补丁并指定cve查询相关热补丁,命令使用方式如下: - -```shell -dnf hot-updateinfo list cves [--cve [cve_id]] - -General DNF options: - -h, --help, --help-cmd - show command help - --cve CVES, --cves CVES - Include packages needed to fix the given CVE, in updates - -``` - -- `--list` - -1. 查询主机所有可修复的cve和对应的冷/热补丁。 - - ```shell - [root@localhost dnf]# dnf hot-updateinfo list cves - # cve-id level cold-patch hot-patch - Last metadata expiration check: 0:54:46 ago on 2023年03月16日 星期四 09时40分27秒. - CVE-2022-3080 Important/Sec. bind-libs-9.16.23-10.oe2203.aarch64 patch-bind-libs-9.16.23-09-name-1-111.aarch64 - CVE-2021-25220 Moderate/Sec. bind-9.16.23-10.oe2203.aarch64 - - CVE-2022-1886 Critical/Sec. vim-common-8.2-39.oe2203.aarch64 patch-vim-common-8.2-38-name-1-233.aarch64 - CVE-2022-1725 Low/Sec. vim-minimal-8.2-58.oe2203.aarch64 patch-vim-minimal-8.2-57-name-2-11.aarch64 - ``` - -2. 指定cve查询对应的冷/热补丁。 - - ```shell - [root@localhost dnf]# dnf hot-updateinfo list cves --cve CVE-2022-3080 - # cve-id level cold-patch hot-patch - Last metadata expiration check: 0:54:46 ago on 2023年03月16日 星期四 09时40分27秒. - CVE-2022-3080 Important/Sec. bind-libs-9.16.23-10.oe2203.aarch64 patch-bind-libs-9.16.23-09-name-1-111.aarch64 - ``` - -3. cve不存在时列表为空。 - - ```shell - [root@localhost dnf]# dnf hot-updateinfo list cves --cve CVE-2022-3089 - # cve-id level cold-patch hot-patch - Last metadata expiration check: 0:54:46 ago on 2023年03月16日 星期四 09时40分27秒. - ``` - -## 热补丁状态及转换图 - -- 热补丁状态图 - - NOT-APPLIED: 热补丁尚未安装。 - - DEACTIVED: 热补丁已被安装。 - - ACTIVED: 热补丁已被激活。 - - ACCEPT: 热补丁已被接受,后续重启后会被自动应用。 - - ![热补丁状态转换图](./figures/热补丁状态图.png) - -## 热补丁状态查询和切换 - -`hotpatch`命令支持查询、切换热补丁的状态,命令使用方式如下: - -```shell -dnf hotpatch - -General DNF options: - -h, --help, --help-cmd - show command help - --cve CVES, --cves CVES - Include packages needed to fix the given CVE, in updates - -Hotpatch command-specific options: - --list [{cve, cves}] show list of hotpatch - --apply APPLY_NAME apply hotpatch - --remove REMOVE_NAME remove hotpatch - --active ACTIVE_NAME active hotpatch - --deactive DEACTIVE_NAME - deactive hotpatch - --accept ACCEPT_NAME accept hotpatch -``` - -1. 使用`dnf hotpatch --list`命令查询当前系统中可使用的热补丁状态并展示。 - - ```shell - [root@localhost dnf]# dnf hotpatch --list - Last metadata expiration check: 0:54:46 ago on 2023年03月16日 星期四 09时40分27秒. - base-pkg/hotpatch status - redis-6.2.5-1/HP001 NOT-APPLIED - redis-6.2.5-1/HP001 NOT-APPLIED - redis-6.2.5-1/HP002 ACTIVED - redis-6.2.5-1/HP002 ACTIVED - ``` - -2. 使用`dnf hotpatch --list cves`查询漏洞(CVE-id)对应热补丁及其状态并展示。 - - ```shell - [root@localhost dnf]# dnf hotpatch --list cves - Last metadata expiration check: 0:54:46 ago on 2023年03月16日 星期四 09时40分27秒. - CVE-id base-pkg/hotpatch status - CVE-2023-1111 redis-6.2.5-1/HP001 NOT-APPLIED - CVE-2023-1112 redis-6.2.5-1/HP001 NOT-APPLIED - CVE-2023-2221 redis-6.2.5-1/HP002 ACTIVED - CVE-2023-2222 redis-6.2.5-1/HP002 ACTIVED - ``` - -3. 使用`dnf hotpatch --list cves --cve `筛选指定CVE对应的热补丁及其状态并展示。 - - ```shell - [root@localhost dnf]# dnf hotpatch --list cves --cve CVE-2023-1111 - Last metadata expiration check: 0:54:46 ago on 2023年03月16日 星期四 09时40分27秒. - CVE-id base-pkg/hotpatch status - CVE-2023-1111 redis-6.2.5-1/HP001 NOT-APPLIED - ``` - -4. 使用`dnf hotpatch --list cves --cve `查询无结果时展示为空。 - - ```shell - [root@localhost dnf]# dnf hotpatch --list cves --cve CVE-2023-1 - Last metadata expiration check: 0:54:46 ago on 2023年03月16日 星期四 09时40分27秒. - ``` - -5. 使用`dnf hotpatch --apply `命令应用热补丁,可使用`syscare list`查询应用后的状态变化,变化逻辑见上文的热补丁状态转换图。 - - ```shell - [root@openEuler dnf-plugins]# dnf hotpatch --apply redis-6.2.5-1/HP2 - Last metadata expiration check: 2:38:51 ago on 2023年05月25日 星期四 13时49分28秒. - Gonna apply this hot patch: redis-6.2.5-1/HP2 - apply hot patch 'redis-6.2.5-1/HP2' succeed - [root@openEuler dnf-plugins]# syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 ACTIVED - ``` - -6. 使用`dnf hotpatch --deactive `停用热补丁,可使用`syscare list`查询停用后的状态变化,变化逻辑见上文的热补丁状态转换图。 - - ```shell - [root@openEuler dnf-plugins]# dnf hotpatch --deactive redis-6.2.5-1/HP2 - Last metadata expiration check: 2:39:10 ago on 2023年05月25日 星期四 13时49分28秒. - Gonna deactive this hot patch: redis-6.2.5-1/HP2 - deactive hot patch 'redis-6.2.5-1/HP2' succeed - [root@openEuler dnf-plugins]# syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 DEACTIVED - ``` - -7. 使用`dnf hotpatch --remove `删除热补丁,可使用`syscare list`查询删除后的状态变化,变化逻辑见上文的热补丁状态转换图。 - - ```shell - [root@openEuler dnf-plugins]# dnf hotpatch --remove redis-6.2.5-1/HP2 - Last metadata expiration check: 2:53:25 ago on 2023年05月25日 星期四 13时49分28秒. - Gonna remove this hot patch: redis-6.2.5-1/HP2 - remove hot patch 'redis-6.2.5-1/HP2' succeed - [root@openEuler dnf-plugins]# syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 NOT-APPLIED - ``` - -8. 使用`dnf hotpatch --active `激活热补丁,可使用`syscare list`查询激活后的状态变化,变化逻辑见上文的热补丁状态转换图。 - - ```shell - [root@openEuler dnf-plugins]# dnf hotpatch --active redis-6.2.5-1/HP2 - Last metadata expiration check: 2:53:37 ago on 2023年05月25日 星期四 13时49分28秒. - Gonna active this hot patch: redis-6.2.5-1/HP2 - active hot patch 'redis-6.2.5-1/HP2' failed, remain original status. - [root@openEuler dnf-plugins]# syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 ACTIVED - ``` - -9. 使用`dnf hotpatch --accept `接收热补丁,可使用`syscare list`查询接收后的状态变化,变化逻辑见上文的热补丁状态转换图。 - - ```shell - [root@openEuler dnf-plugins]# dnf hotpatch --accept redis-6.2.5-1/HP2 - Last metadata expiration check: 2:53:25 ago on 2023年05月25日 星期四 13时49分28秒. - Gonna accept this hot patch: redis-6.2.5-1/HP2 - remove hot patch 'redis-6.2.5-1/HP2' succeed - [root@openEuler dnf-plugins]# syscare list - Uuid Name Status - 25209ddc-b1e4-48e0-b715-e759ec8db401 redis-6.2.5-1/HP2 ACCEPTED - ``` - -## 热补丁应用 - -`hotupgrade`命令根据cve id和热补丁名称进行热补丁修复,同时也支持全量修复。命令使用方式如下: - -```shell -dnf hotupgrade [--cve [cve_id]] [SPEC ...] - -General DNF options: - -h, --help, --help-cmd - show command help - --cve CVES, --cves CVES - Include packages needed to fix the given CVE, in updates - -command-specific options: - SPEC Hotpatch specification -``` - -- Case1:当热补丁已经安装时,使用`dnf hotupgrade`安装所有存在的热补丁。这时dnf hotupgrade会返回形如"Package xx is already installed."提示信息,告诉用户该软件包已安装。 - - ```shell - [root@openEuler aops-ceres]# dnf hotupgrade - Last metadata expiration check: 4:04:34 ago on 2023年06月02日 星期五 06时33分41秒. - Gonna apply these hot patches:['patch-redis-6.2.5-1-HP001-1-1.x86_64', 'patch-redis-6.2.5-1-HP002-1-1.x86_64'] - The target package 'redis-6.2.5-1' has a hotpatch 'HP001' applied - Gonna remove these hot patches: ['redis-6.2.5-1/HP001'] - Remove hot patch redis-6.2.5-1/HP001. - Package patch-redis-6.2.5-1-HP001-1-1.x86_64 is already installed. - Package patch-redis-6.2.5-1-HP002-1-1.x86_64 is already installed. - Dependencies resolved. - Nothing to do. - Complete! - Applying hot patch - Apply hot patch succeed: redis-6.2.5-1/HP001. - Apply hot patch failed: redis-6.2.5-1/HP002. - ``` - -- Case2: 热补丁未安装时,使用`dnf hotupgrade`命令安装存在的所有热补丁,将显示安装信息。(补充:使用hotupgrade命令时,如果热补丁已安装,会提示case1中的返回信息,如果未安装,则会返回本次case中的信息。) - - ```shell - [root@openEuler A-ops]# dnf hotupgrade - Last metadata expiration check: 4:13:16 ago on 2023年06月02日 星期五 06时33分41秒. - Gonna apply these hot patches:['patch-redis-6.2.5-1-HP002-1-1.x86_64', 'patch-redis-6.2.5-1-HP001-1-1.x86_64'] - Package patch-redis-6.2.5-1-HP002-1-1.x86_64 is already installed. - Dependencies resolved. - xxxx(Install messgaes) - Is this ok [y/N]: y - Downloading Packages: - xxxx(Install process) - Complete! - - Applying hot patch - Apply hot patch succeed: redis-6.2.5-1/HP001. - ``` - -- Case3: 使用`dnf hotupgrade `升级指定热补丁包。 - - ```shell - [root@openEuler ~]# dnf hotupgrade patch-redis-6.2.5-1-HP001-1-1.x86_64 - Last metadata expiration check: 0:07:49 ago on 2023年06月08日 星期四 12时03分46秒. - Package patch-redis-6.2.5-1-HP001-1-1.x86_64 is already installed. - Dependencies resolved. - Nothing to do. - Complete! - Applying hot patch - Apply hot patch succeed: redis-6.2.5-1/HP001. - ``` - -- `--cve` - - - Case1:使用`dnf hotupgrade --cve `指定cve_id安装指定CVE对应的热补丁。 - - ```shell - [root@localhost dnf]# dnf hotupgrade --cve CVE-2021-11 - Last metadata expiration check: xxx - Dependencies resolved. - xxxx(Install messgaes) - Is this ok [y/N]: y - Downloading Packages: - xxxx(Install process) - Complete! - Applying hot patch - Apply hot patch succeed: redis-6.2.5-1/HP001 - ``` - - - Case2:使用`dnf hotupgrade --cve `指定cve_id安装时cve不存在。 - - ```shell - [root@localhost dnf]# dnf hotupgrade --cve CVE-2021-11 - Last metadata expiration check: xxx - The cve doesnt exist: CVE-2021-11 - Error: No hot patches marked for install. - ``` - - - Case3:使用`dnf hotupgrade --cve `指定cve_id安装时,该CVE对应的低版本热补丁已安装时,删除低版本热补丁包,安装高版本热补丁包。 - - ```shell - [root@localhost dnf]# dnf hotupgrade --cve CVE-2021-22 - Last metadata expiration check: xxx - The target package 'redis-6.2.5-1' has a hotpatch 'HP001' applied - Gonna remove these hot patches: ['redis-6.2.5-1/HP001'] - Is this ok [y/N]: y - Remove hot patch redis-6.2.5-1/HP001 - xxxx (install messages and process install) - Apply hot patch - apply hot patch succeed: redis-6.2.5-1/HP002 - ``` - - - Case4:使用`dnf hotupgrade --cve `指定cve_id安装时,该CVE对应的最高版本热补丁包已存在。 - - ```shell - [root@localhost dnf]# dnf hotupgrade --cve CVE-2021-22 - Package patch -redis-6.2.5-1-HP002-1-1.x86_64 is already installed. - Dependencies resolved. - Nothing to do. - Complete! - Applying hot patch - Apply hot patch succeed: redis-6.2.5-1/HP002 - ``` - -- `SPEC` - - ```shell - [root@localhost dnf]# dnf hotupgrade bind-libs-hotpatch - ``` - -子命令的输出根据不同的情况与"--cve"命令相同。 - -## 使用场景说明 - -本节介绍上述命令的使用场景及使用顺序,需要提前确认本机的热补丁repo源和相应冷补丁repo源已开启。 - -使用热补丁扫描命令查看本机待修复cve。 - -```shell -[root@openEuler aops-apollo_src]# dnf hot-updateinfo list cves -Last metadata expiration check: 0:00:38 ago on 2023年03月25日 星期六 11时53分46秒. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26545 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-1 Important/Sec. redis-6.2.5-2.x86_64 patch-redis-6.2.5-1-HP001-1-1.x86_64 -CVE-2021-11 Important/Sec. redis-6.2.5-2.x86_64 patch-redis-6.2.5-1-HP001-1-1.x86_64 -CVE-2021-2 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-22 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -``` - -找到提供热补丁的相应cve,发现CVE-2021-1、CVE-2021-11、CVE-2021-2和CVE-2021-22可用热补丁修复。 - -在安装补丁前测试功能,基于redis.conf配置文件启动redis服务。 - -```shell -[root@openEuler redis_patch]# sudo redis-server ./redis.conf & -[1] 285075 -[root@openEuler redis_patch]# 285076:C 25 Mar 2023 12:09:51.503 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo -285076:C 25 Mar 2023 12:09:51.503 # Redis version=255.255.255, bits=64, commit=00000000, modified=0, pid=285076, just started -285076:C 25 Mar 2023 12:09:51.503 # Configuration loaded -285076:M 25 Mar 2023 12:09:51.504 * Increased maximum number of open files to 10032 (it was originally set to 1024). -285076:M 25 Mar 2023 12:09:51.504 * monotonic clock: POSIX clock_gettime - _._ - _.-``__ ''-._ - _.-`` `. `_. ''-._ Redis 255.255.255 (00000000/0) 64 bit - .-`` .-```. ```\/ _.,_ ''-._ - ( ' , .-` | `, ) Running in standalone mode - |`-._`-...-` __...-.``-._|'` _.-'| Port: 6380 - | `-._ `._ / _.-' | PID: 285076 - `-._ `-._ `-./ _.-' _.-' - |`-._`-._ `-.__.-' _.-'_.-'| - | `-._`-._ _.-'_.-' | https://redis.io - `-._ `-._`-.__.-'_.-' _.-' - |`-._`-._ `-.__.-' _.-'_.-'| - | `-._`-._ _.-'_.-' | - `-._ `-._`-.__.-'_.-' _.-' - `-._ `-.__.-' _.-' - `-._ _.-' - `-.__.-' - -285076:M 25 Mar 2023 12:09:51.505 # Server initialized -285076:M 25 Mar 2023 12:09:51.505 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. -285076:M 25 Mar 2023 12:09:51.506 * Ready to accept connections - -``` - -安装前测试功能。 - -```shell -[root@openEuler ~]# telnet 127.0.0.1 6380 -Trying 127.0.0.1... -Connected to 127.0.0.1. -Escape character is '^]'. - -*100 - --ERR Protocol error: expected '$', got ' ' -Connection closed by foreign host. -``` - -指定修复CVE-2021-1,确认关联到对应的热补丁包,显示安装成功。 - -```shell -[root@openEuler aops-apollo_src]# dnf hotupgrade --cve CVE-2021-1 -Last metadata expiration check: 0:05:19 ago on 2023年03月25日 星期六 11时53分46秒. -Package patch-redis-6.2.5-1-HP001-1-1.x86_64 is already installed. -Dependencies resolved. -Nothing to do. -Complete! -Applying hot patch -Apply hot patch succeed: redis-6.2.5-1/HP001. -``` - -使用syscare确认该热补丁是否安装成功,确认Status为ACTIVED。 - -```shell -[root@openEuler ~]# syscare list -Uuid Name Status -cf47649c-b370-4f5a-a914-d2ca4d8f1f3a redis-6.2.5-1/HP001 ACTIVED -``` - -确认该cve是否已被修复,由于CVE-2021-1所使用的热补丁包patch-redis-6.2.5-1-HP001-1-1.x86_64同样修复CVE-2021-11,CVE-2021-1和CVE-2021-11都不予显示。 - -```shell -[root@openEuler dnf-plugins]# dnf hot-updateinfo list cves -Last metadata expiration check: 0:08:48 ago on 2023年03月25日 星期六 11时53分46秒. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-1076 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26607 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-22 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-2 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -``` - -激活后测试功能,对比激活前回显内容。 - -```shell -[root@openEuler ~]# telnet 127.0.0.1 6380 -Trying 127.0.0.1... -Connected to 127.0.0.1. -Escape character is '^]'. - -*100 - --ERR Protocol error: unauthenticated multibulk length -Connection closed by foreign host. -``` - -由于热补丁还未开发完卸载功能,使用syscare指定Name手动卸载。 - -```shell -[root@openEuler ~]# syscare remove redis-6.2.5-1/HP001 -[root@openEuler ~]# syscare list -Uuid Name Status -cf47649c-b370-4f5a-a914-d2ca4d8f1f3a redis-6.2.5-1/HP001 NOT-APPLIED -``` - -使用热补丁扫描命令查看本机待修复cve,确认CVE-2021-1和CVE-2021-11正常显示。 - -```shell -[root@openEuler aops-apollo_src]# dnf hot-updateinfo list cves -Last metadata expiration check: 0:00:38 ago on 2023年03月25日 星期六 11时53分46秒. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26545 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-1 Important/Sec. redis-6.2.5-2.x86_64 patch-redis-6.2.5-1-HP001-1-1.x86_64 -CVE-2021-11 Important/Sec. redis-6.2.5-2.x86_64 patch-redis-6.2.5-1-HP001-1-1.x86_64 -CVE-2021-2 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-22 Important/Sec. redis-6.2.5-3.x86_64 patch-redis-6.2.5-1-HP002-1-1.x86_64 -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -``` - -- case 1 - -指定安装热补丁包patch-redis-6.2.5-1-HP002-1-1.x86_64。 - -```shell -[root@openEuler aops-apollo_src]# dnf hotupgrade patch-redis-6.2.5-1-HP002-1-1.x86_64 -Last metadata expiration check: 0:05:19 ago on 2023年03月25日 星期六 11时53分46秒. -Package patch-redis-6.2.5-1-HP002-1-1.x86_64 is already installed. -Dependencies resolved. -Nothing to do. -Complete! -Applying hot patch -Apply hot patch succeed: redis-6.2.5-1/HP002. -``` - -使用热补丁扫描命令查看本机待修复cve,由于patch-redis-6.2.5-1-HP002-1-1.x86_64对应的冷补丁redis-6.2.5-3.x86_64比redis-6.2.5-2.x86_64版本高,redis-6.2.5-2.x86_64对应的CVE-2021-1和CVE-2021-11,以及CVE-2021-2和CVE-2021-22都被修复。 - -```shell -[root@openEuler aops-apollo_src]# dnf hot-updateinfo list cves -Last metadata expiration check: 0:00:38 ago on 2023年03月25日 星期六 11时53分46秒. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26545 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -``` - -- case 2 - -查看热补丁repo源中repodata目录下的xxx-updateinfo.xml.gz,确认文件中的CVE-2021-33、CVE-2021-3相关信息。 - -```xml - - openEuler-SA-2022-3 - An update for mariadb is now available for openEuler-22.03-LTS - Important - openEuler - - - - - - patch-redis-6.2.5-2-HP001.(CVE-2022-24048) - - - openEuler - - patch-redis-6.2.5-2-HP001-1-1.aarch64.rpm - - - patch-redis-6.2.5-2-HP001-1-1.x86_64.rpm - - - - -``` - -package中的name字段"patch-redis-6.2.5-2-HP001"的组成部分为:patch-源码包名-源码包版本-源码包release-热补丁包名,该热补丁包需要本机安装redis-6.2.5-2源码版本,检查本机redis安装版本。 - -```shell -[root@openEuler ~]# rpm -qa | grep redis -redis-6.2.5-1.x86_64 -``` - -由于本机安装版本不匹配,该热补丁包名不显示,以'-'显示。 - -```shell -[root@openEuler aops-apollo_src]# dnf hot-updateinfo list cves -Last metadata expiration check: 0:00:38 ago on 2023年03月25日 星期六 11时53分46秒. -CVE-2023-22995 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2023-26545 Important/Sec. python3-perf-5.10.0-136.22.0.98.oe2203sp1.x86_64 - -CVE-2022-40897 Important/Sec. python3-setuptools-59.4.0-5.oe2203sp1.noarch - -CVE-2021-33 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2021-3 Important/Sec. redis-6.2.5-4.x86_64 - -CVE-2022-38023 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -CVE-2022-37966 Important/Sec. samba-client-4.17.2-5.oe2203sp1.x86_64 - -``` diff --git a/docs/zh/server/maintenance/aops/figures/029B66B9-5A3E-447E-B33C-98B894FC4833.png b/docs/zh/server/maintenance/aops/figures/029B66B9-5A3E-447E-B33C-98B894FC4833.png deleted file mode 100644 index 230489c21dba54311356bbf2df56e817c0975f91..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/029B66B9-5A3E-447E-B33C-98B894FC4833.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/0BFA7C40-D404-4772-9C47-76EAD7D24E69.png b/docs/zh/server/maintenance/aops/figures/0BFA7C40-D404-4772-9C47-76EAD7D24E69.png deleted file mode 100644 index 528bf4e30dc6221c496dd9a6d637359f592856db..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/0BFA7C40-D404-4772-9C47-76EAD7D24E69.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/1631073636579.png b/docs/zh/server/maintenance/aops/figures/1631073636579.png deleted file mode 100644 index 5aacc487264ac63fbe5322b4f89fca3ebf9c7cd9..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/1631073636579.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/1631073840656.png b/docs/zh/server/maintenance/aops/figures/1631073840656.png deleted file mode 100644 index 122e391eafe7c0d8d081030a240df90aea260150..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/1631073840656.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/1631101736624.png b/docs/zh/server/maintenance/aops/figures/1631101736624.png deleted file mode 100644 index 74e2f2ded2ea254c66b221e8ac27a0d8bed9362a..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/1631101736624.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/1631101865366.png b/docs/zh/server/maintenance/aops/figures/1631101865366.png deleted file mode 100644 index abfbc280a368b93af1e1165385af3a9cac89391d..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/1631101865366.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/1631101982829.png b/docs/zh/server/maintenance/aops/figures/1631101982829.png deleted file mode 100644 index 0b1c9c7c3676b804dbdf19afbe4f3ec9dbe0627f..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/1631101982829.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/1631102019026.png b/docs/zh/server/maintenance/aops/figures/1631102019026.png deleted file mode 100644 index 54e8e7d1cffbb28711074e511b08c73f66c1fb75..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/1631102019026.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/20210908212726.png b/docs/zh/server/maintenance/aops/figures/20210908212726.png deleted file mode 100644 index f7d399aecd46605c09fe2d1f50a1a8670cd80432..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/20210908212726.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/D466AC8C-2FAF-4797-9A48-F6C346A1EC77.png b/docs/zh/server/maintenance/aops/figures/D466AC8C-2FAF-4797-9A48-F6C346A1EC77.png deleted file mode 100644 index d87c5e04fa8cf4f2af0884226be66ddfb5f481e1..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/D466AC8C-2FAF-4797-9A48-F6C346A1EC77.png and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/a-ops\350\275\257\344\273\266\346\236\266\346\236\204.png" "b/docs/zh/server/maintenance/aops/figures/a-ops\350\275\257\344\273\266\346\236\266\346\236\204.png" deleted file mode 100644 index 047c6f1bfe3e38c66d34285563d910f6f3bd07e1..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/a-ops\350\275\257\344\273\266\346\236\266\346\236\204.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/app\350\257\246\346\203\205.jpg" "b/docs/zh/server/maintenance/aops/figures/app\350\257\246\346\203\205.jpg" deleted file mode 100644 index bd179be46c9e711d7148ee44dc56f4a7a02f56bf..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/app\350\257\246\346\203\205.jpg" and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/chakanyuqi.png b/docs/zh/server/maintenance/aops/figures/chakanyuqi.png deleted file mode 100644 index bbead6a91468d5dee570cfdc66faf9a4ab155d7c..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/chakanyuqi.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/chaxunshijipeizhi.png b/docs/zh/server/maintenance/aops/figures/chaxunshijipeizhi.png deleted file mode 100644 index d5f6e450fc0e1e246492ca71a6fcd8db572eb469..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/chaxunshijipeizhi.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/check.PNG b/docs/zh/server/maintenance/aops/figures/check.PNG deleted file mode 100644 index 2dce821dd43eec6f0d13cd6b2dc1e30653f35489..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/check.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/chuangjianyewuyu.png b/docs/zh/server/maintenance/aops/figures/chuangjianyewuyu.png deleted file mode 100644 index 8849a2fc81dbd14328c6c66c53033164a0b67b52..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/chuangjianyewuyu.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/conf_file_trace.png b/docs/zh/server/maintenance/aops/figures/conf_file_trace.png deleted file mode 100644 index e1e518157f8def332adfa5516b37fdb89768499c..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/conf_file_trace.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/dashboard.PNG b/docs/zh/server/maintenance/aops/figures/dashboard.PNG deleted file mode 100644 index 2a4a827191367309aad28a8a6c1835df602bdf72..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/dashboard.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/deploy.PNG b/docs/zh/server/maintenance/aops/figures/deploy.PNG deleted file mode 100644 index e30dcb0eb05eb4f41202c736863f3e0ff216398d..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/deploy.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/diag.PNG b/docs/zh/server/maintenance/aops/figures/diag.PNG deleted file mode 100644 index a67e8515b8313a50b06cb985611ef9c166851811..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/diag.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/domain.PNG b/docs/zh/server/maintenance/aops/figures/domain.PNG deleted file mode 100644 index bad499f96df5934565d36edf2308cec5e4147719..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/domain.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/domain_config.PNG b/docs/zh/server/maintenance/aops/figures/domain_config.PNG deleted file mode 100644 index 8995424b35cda75f08881037446b7816a0ca09dc..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/domain_config.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/elasticsearch3.png b/docs/zh/server/maintenance/aops/figures/elasticsearch3.png deleted file mode 100644 index 893aae242aa9117c64f323374d4728d230894973..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/elasticsearch3.png and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/elasticsearch\351\205\215\347\275\2561.png" "b/docs/zh/server/maintenance/aops/figures/elasticsearch\351\205\215\347\275\2561.png" deleted file mode 100644 index 1b7e0eab093b2f0455b8f3972884e5f757fbec3d..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/elasticsearch\351\205\215\347\275\2561.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/elasticsearch\351\205\215\347\275\2562.png" "b/docs/zh/server/maintenance/aops/figures/elasticsearch\351\205\215\347\275\2562.png" deleted file mode 100644 index 620dbbda71259e3b6ee6a2efb646a9692adf2456..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/elasticsearch\351\205\215\347\275\2562.png" and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/group.PNG b/docs/zh/server/maintenance/aops/figures/group.PNG deleted file mode 100644 index 584fd1f7195694a3419482cace2a71fa1cd9a3ec..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/group.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/host.PNG b/docs/zh/server/maintenance/aops/figures/host.PNG deleted file mode 100644 index 3c00681a567cf8f1e1baddfb6fdb7b6cf7df43de..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/host.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/jiemi.png b/docs/zh/server/maintenance/aops/figures/jiemi.png deleted file mode 100644 index da07cfdf9296e201a82cceb210e651261fe7ecee..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/jiemi.png and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/kafka\351\205\215\347\275\256.png" "b/docs/zh/server/maintenance/aops/figures/kafka\351\205\215\347\275\256.png" deleted file mode 100644 index 57eb17ccbd2fa63d97f700c29847fac7f08042ff..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/kafka\351\205\215\347\275\256.png" and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/peizhitongbu.png b/docs/zh/server/maintenance/aops/figures/peizhitongbu.png deleted file mode 100644 index c8c229bf41b27f1fe6629106957fd5e47851096d..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/peizhitongbu.png and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/prometheus\351\205\215\347\275\256.png" "b/docs/zh/server/maintenance/aops/figures/prometheus\351\205\215\347\275\256.png" deleted file mode 100644 index 7c8d0328967e8eb9bc4aa7465a273b9ef5a30b58..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/prometheus\351\205\215\347\275\256.png" and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/shanchupeizhi.png b/docs/zh/server/maintenance/aops/figures/shanchupeizhi.png deleted file mode 100644 index cfea2eb44f7b8aa809404b8b49b4bd2e24172568..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/shanchupeizhi.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/shanchuzhuji.png b/docs/zh/server/maintenance/aops/figures/shanchuzhuji.png deleted file mode 100644 index b3da935739369dad1318fe135146755ede13c694..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/shanchuzhuji.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/shanchuzhujizu.png b/docs/zh/server/maintenance/aops/figures/shanchuzhujizu.png deleted file mode 100644 index e4d85f6e3f1a269a483943f5115f54daa3de51de..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/shanchuzhujizu.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/spider.PNG b/docs/zh/server/maintenance/aops/figures/spider.PNG deleted file mode 100644 index 53bad6dd38e36db9cadfdbeda21cbc3ef59eddf7..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/spider.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/spider_detail.jpg b/docs/zh/server/maintenance/aops/figures/spider_detail.jpg deleted file mode 100644 index 6d4d2e2b9e79c53dbd359faa03e1c90f07c0ade6..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/spider_detail.jpg and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/tianjianode.png b/docs/zh/server/maintenance/aops/figures/tianjianode.png deleted file mode 100644 index d68f5e12a62548f2ec59374bda9ab07f43b8b5cb..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/tianjianode.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/tianjiazhujizu.png b/docs/zh/server/maintenance/aops/figures/tianjiazhujizu.png deleted file mode 100644 index ed4ab3616d418ecf33a006fee3985b8b6d2d965d..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/tianjiazhujizu.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/xinzengpeizhi.png b/docs/zh/server/maintenance/aops/figures/xinzengpeizhi.png deleted file mode 100644 index 18d71c2e099c19b5d28848eec6a8d11f29ccee27..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/xinzengpeizhi.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/zhuangtaichaxun.png b/docs/zh/server/maintenance/aops/figures/zhuangtaichaxun.png deleted file mode 100644 index a3d0b3294bf6e0eeec50a2c2f8c5059bdc256376..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/zhuangtaichaxun.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/zhuji.png b/docs/zh/server/maintenance/aops/figures/zhuji.png deleted file mode 100644 index f4c7b9103baab7748c83392f6120c8f00880860f..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/zhuji.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/figures/zuneizhuji.png b/docs/zh/server/maintenance/aops/figures/zuneizhuji.png deleted file mode 100644 index 9f188d207162fa1418a61a10f83ef9c51a512e65..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/figures/zuneizhuji.png and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\344\270\273\346\234\272\347\256\241\347\220\206.jpg" "b/docs/zh/server/maintenance/aops/figures/\344\270\273\346\234\272\347\256\241\347\220\206.jpg" deleted file mode 100644 index 9f6d8858468c0cc72c1bd395403f064cc63f82bd..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\344\270\273\346\234\272\347\256\241\347\220\206.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\344\270\273\346\234\272\347\273\204.jpg" "b/docs/zh/server/maintenance/aops/figures/\344\270\273\346\234\272\347\273\204.jpg" deleted file mode 100644 index fb5472de6b3d30abf6af73e286f70ac8e1d58c15..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\344\270\273\346\234\272\347\273\204.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\344\270\273\346\234\272\350\257\246\346\203\205.jpg" "b/docs/zh/server/maintenance/aops/figures/\344\270\273\346\234\272\350\257\246\346\203\205.jpg" deleted file mode 100644 index effd8c29aba14c2e8f301f9f60d8f25ce8c533f0..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\344\270\273\346\234\272\350\257\246\346\203\205.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\344\277\256\346\224\271mysql\351\205\215\347\275\256\346\226\207\344\273\266.png" "b/docs/zh/server/maintenance/aops/figures/\344\277\256\346\224\271mysql\351\205\215\347\275\256\346\226\207\344\273\266.png" deleted file mode 100644 index d83425ee0622be329782620318818662b292e88b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\344\277\256\346\224\271mysql\351\205\215\347\275\256\346\226\207\344\273\266.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\344\277\256\346\224\271\346\217\222\344\273\266.png" "b/docs/zh/server/maintenance/aops/figures/\344\277\256\346\224\271\346\217\222\344\273\266.png" deleted file mode 100644 index ba4a8d4d9aadb7f712bdcb4b193f05f956d38841..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\344\277\256\346\224\271\346\217\222\344\273\266.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\344\277\256\346\224\271\346\250\241\345\236\213.png" "b/docs/zh/server/maintenance/aops/figures/\344\277\256\346\224\271\346\250\241\345\236\213.png" deleted file mode 100644 index 23ff4e5fddb87ac157b1002a70c47d9b4c76b873..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\344\277\256\346\224\271\346\250\241\345\236\213.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\345\210\233\345\273\272\345\267\245\344\275\234\346\265\201.jpg" "b/docs/zh/server/maintenance/aops/figures/\345\210\233\345\273\272\345\267\245\344\275\234\346\265\201.jpg" deleted file mode 100644 index 1a2b45e860914a1ac0cfb6908b02fb5cad4cbd60..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\345\210\233\345\273\272\345\267\245\344\275\234\346\265\201.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\345\221\212\350\255\246.jpg" "b/docs/zh/server/maintenance/aops/figures/\345\221\212\350\255\246.jpg" deleted file mode 100644 index 89ac88e154275d4be8179d773e7093f2357f425f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\345\221\212\350\255\246.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\345\221\212\350\255\246\347\241\256\350\256\244.jpg" "b/docs/zh/server/maintenance/aops/figures/\345\221\212\350\255\246\347\241\256\350\256\244.jpg" deleted file mode 100644 index 57844f772853c541f7a1328b007a9b6ae4d5caf0..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\345\221\212\350\255\246\347\241\256\350\256\244.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\345\221\212\350\255\246\350\257\246\346\203\205.jpg" "b/docs/zh/server/maintenance/aops/figures/\345\221\212\350\255\246\350\257\246\346\203\205.jpg" deleted file mode 100644 index 5b4830b47897a0d51be28238a879a70b1de9ca3b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\345\221\212\350\255\246\350\257\246\346\203\205.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\345\267\245\344\275\234\345\217\260.jpg" "b/docs/zh/server/maintenance/aops/figures/\345\267\245\344\275\234\345\217\260.jpg" deleted file mode 100644 index 998b81e3b88d888d0915dcff48dc8cc5df30d91c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\345\267\245\344\275\234\345\217\260.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201.jpg" "b/docs/zh/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201.jpg" deleted file mode 100644 index 17fb5b13034e1fc5276c68583fed1952415b0b5f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201\350\257\246\346\203\205.jpg" "b/docs/zh/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201\350\257\246\346\203\205.jpg" deleted file mode 100644 index 458e023847bb2ad1f198f5a2dd1691748038137e..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\345\267\245\344\275\234\346\265\201\350\257\246\346\203\205.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\345\272\224\347\224\250.png" "b/docs/zh/server/maintenance/aops/figures/\345\272\224\347\224\250.png" deleted file mode 100644 index aa34bb909ee7c86a95126c13fa532ce93410a931..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\345\272\224\347\224\250.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\346\211\247\350\241\214\350\257\212\346\226\255.png" "b/docs/zh/server/maintenance/aops/figures/\346\211\247\350\241\214\350\257\212\346\226\255.png" deleted file mode 100644 index afb5f7e9fbfb1d1ce46d096a61729766b4940cd3..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\346\211\247\350\241\214\350\257\212\346\226\255.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\346\212\245\345\221\212\345\206\205\345\256\271.png" "b/docs/zh/server/maintenance/aops/figures/\346\212\245\345\221\212\345\206\205\345\256\271.png" deleted file mode 100644 index 2029141179302ecef45d34cb0c9dc916b9142e7b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\346\212\245\345\221\212\345\206\205\345\256\271.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\346\217\222\344\273\266\347\256\241\347\220\206.jpg" "b/docs/zh/server/maintenance/aops/figures/\346\217\222\344\273\266\347\256\241\347\220\206.jpg" deleted file mode 100644 index 2258d03976902052aaf39d36b6374fa680b9f8aa..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\346\217\222\344\273\266\347\256\241\347\220\206.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\346\226\260\345\242\236\346\225\205\351\232\234\346\240\221.png" "b/docs/zh/server/maintenance/aops/figures/\346\226\260\345\242\236\346\225\205\351\232\234\346\240\221.png" deleted file mode 100644 index 664efd5150fcb96f009ce0eddc3d9ac91b9e622f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\346\226\260\345\242\236\346\225\205\351\232\234\346\240\221.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\346\237\245\347\234\213\346\212\245\345\221\212\345\210\227\350\241\250.png" "b/docs/zh/server/maintenance/aops/figures/\346\237\245\347\234\213\346\212\245\345\221\212\345\210\227\350\241\250.png" deleted file mode 100644 index 58307ec6ef4c73b6b0f039b1052e5870629ac2e8..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\346\237\245\347\234\213\346\212\245\345\221\212\345\210\227\350\241\250.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\346\237\245\347\234\213\346\225\205\351\232\234\346\240\221.png" "b/docs/zh/server/maintenance/aops/figures/\346\237\245\347\234\213\346\225\205\351\232\234\346\240\221.png" deleted file mode 100644 index a566417b18e8bcf19153730904893fc8d827d885..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\346\237\245\347\234\213\346\225\205\351\232\234\346\240\221.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\346\267\273\345\212\240\344\270\273\346\234\272\347\273\204.jpg" "b/docs/zh/server/maintenance/aops/figures/\346\267\273\345\212\240\344\270\273\346\234\272\347\273\204.jpg" deleted file mode 100644 index 9fcd24d949e500323e7a466be7cbfaf48d257ad0..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\346\267\273\345\212\240\344\270\273\346\234\272\347\273\204.jpg" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\347\203\255\350\241\245\344\270\201\347\212\266\346\200\201\345\233\276.png" "b/docs/zh/server/maintenance/aops/figures/\347\203\255\350\241\245\344\270\201\347\212\266\346\200\201\345\233\276.png" deleted file mode 100644 index f5f8a3a95705145787e7aaf9c8d1fff404892240..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\347\203\255\350\241\245\344\270\201\347\212\266\346\200\201\345\233\276.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\350\257\212\346\226\255error1.png" "b/docs/zh/server/maintenance/aops/figures/\350\257\212\346\226\255error1.png" deleted file mode 100644 index 9e5b1139febe9f00156b37f3268269ac30a78737..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\350\257\212\346\226\255error1.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\350\257\212\346\226\255\344\270\273\347\225\214\351\235\242.png" "b/docs/zh/server/maintenance/aops/figures/\350\257\212\346\226\255\344\270\273\347\225\214\351\235\242.png" deleted file mode 100644 index b536af938250004bac3053b234bf20bcbf075c9b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\350\257\212\346\226\255\344\270\273\347\225\214\351\235\242.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\350\257\212\346\226\255\345\233\276\347\211\207.png" "b/docs/zh/server/maintenance/aops/figures/\350\257\212\346\226\255\345\233\276\347\211\207.png" deleted file mode 100644 index 6cef6216522407997d705d29131287f3a30b0f8f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\350\257\212\346\226\255\345\233\276\347\211\207.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/figures/\351\205\215\347\275\256web.png" "b/docs/zh/server/maintenance/aops/figures/\351\205\215\347\275\256web.png" deleted file mode 100644 index 721335115922e03f255e67e6b775c1ac0cfbbc50..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/figures/\351\205\215\347\275\256web.png" and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/45515A7F-0EC2-45AA-9B58-AB92DE9B0979.png b/docs/zh/server/maintenance/aops/image/45515A7F-0EC2-45AA-9B58-AB92DE9B0979.png deleted file mode 100644 index c810b26ad0c052960dfdf4bfd78e9224ce465318..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/45515A7F-0EC2-45AA-9B58-AB92DE9B0979.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/E574E637-0BF3-4F3B-BAE6-04ECBD09D151.png b/docs/zh/server/maintenance/aops/image/E574E637-0BF3-4F3B-BAE6-04ECBD09D151.png deleted file mode 100644 index 6ef6ef9bd126e6c2007389065bbecc1cfdd97f5b..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/E574E637-0BF3-4F3B-BAE6-04ECBD09D151.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/EF5E0132-6E5C-4DD1-8CB5-73035278E233.png b/docs/zh/server/maintenance/aops/image/EF5E0132-6E5C-4DD1-8CB5-73035278E233.png deleted file mode 100644 index a2a29d2e1b62f7df409e87d03f2525ba8355f77e..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/EF5E0132-6E5C-4DD1-8CB5-73035278E233.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/hotpatch-fix-pr.png b/docs/zh/server/maintenance/aops/image/hotpatch-fix-pr.png deleted file mode 100644 index 209c73f7b4522819c52662a9038bdf19a88eacfd..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/hotpatch-fix-pr.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/hotpatch-pr-1.png b/docs/zh/server/maintenance/aops/image/hotpatch-pr-1.png deleted file mode 100644 index 1dc5269655c51b355d3cd89b71c6688fbb0d8d5d..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/hotpatch-pr-1.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/hotpatch-pr-success.png b/docs/zh/server/maintenance/aops/image/hotpatch-pr-success.png deleted file mode 100644 index 48ea807e03c0f8e6efbceacbbc583c6ac3b3c865..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/hotpatch-pr-success.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/hotpatch-pr.png b/docs/zh/server/maintenance/aops/image/hotpatch-pr.png deleted file mode 100644 index 159fd2b7bc76e002554722d1f0f12070a2bd2e19..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/hotpatch-pr.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/hotpatch-xml.PNG b/docs/zh/server/maintenance/aops/image/hotpatch-xml.PNG deleted file mode 100644 index f1916620d3cc7b1c29059bcc5513fdc7ee94127b..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/hotpatch-xml.PNG and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230525193235084.png b/docs/zh/server/maintenance/aops/image/image-20230525193235084.png deleted file mode 100644 index 9850a11a0dcfeed69099635f3147a2230fe6faa5..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230525193235084.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230525193254541.png b/docs/zh/server/maintenance/aops/image/image-20230525193254541.png deleted file mode 100644 index 73bfbaa15a2584611ac06839965eca2869b89991..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230525193254541.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230527165206707.png b/docs/zh/server/maintenance/aops/image/image-20230527165206707.png deleted file mode 100644 index 7d7f0992fc048777340678974d38b3c193269385..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230527165206707.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230527165700642.png b/docs/zh/server/maintenance/aops/image/image-20230527165700642.png deleted file mode 100644 index 2c4500cb54ba0225704020160d72b4aaf265d3f7..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230527165700642.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230527165823568.png b/docs/zh/server/maintenance/aops/image/image-20230527165823568.png deleted file mode 100644 index 7b26b545bc7d37f09eca7736f30d2eb3a6062890..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230527165823568.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230527165845170.png b/docs/zh/server/maintenance/aops/image/image-20230527165845170.png deleted file mode 100644 index 9719210a961a18b639d56cbf88b8586370930b4c..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230527165845170.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230527165922876.png b/docs/zh/server/maintenance/aops/image/image-20230527165922876.png deleted file mode 100644 index 56ff3380d12b9c1002881eca98e32a49cc292b9a..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230527165922876.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230527170343909.png b/docs/zh/server/maintenance/aops/image/image-20230527170343909.png deleted file mode 100644 index 57c343360f278b2f67b77d37114a1f567a3ce63a..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230527170343909.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230607161425282.png b/docs/zh/server/maintenance/aops/image/image-20230607161425282.png deleted file mode 100644 index d2fbca2a23e80edff661d05065987ede1cc7e8af..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230607161425282.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230607161545732.png b/docs/zh/server/maintenance/aops/image/image-20230607161545732.png deleted file mode 100644 index ba6992bea8d2a1d7ca4769ebfdd850b98d1a372f..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230607161545732.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230607163358749.png b/docs/zh/server/maintenance/aops/image/image-20230607163358749.png deleted file mode 100644 index 191c36b65058ce8dea6bb2f1fe10a85b0177f2cf..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230607163358749.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230607172021782.png b/docs/zh/server/maintenance/aops/image/image-20230607172021782.png deleted file mode 100644 index d25c3ebfb1aefe5d8f36b0b153afa64efd88dd63..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230607172021782.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230612113428096.png b/docs/zh/server/maintenance/aops/image/image-20230612113428096.png deleted file mode 100644 index 48b59b5e6cb4043703de96066c8d67e85eed4f16..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230612113428096.png and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/image-20230612113626330.png b/docs/zh/server/maintenance/aops/image/image-20230612113626330.png deleted file mode 100644 index 9d3621022deb02b267c3eb29315a7fe33c1f095e..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/image-20230612113626330.png and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/openEuler\344\273\223\350\257\204\350\256\272.png" "b/docs/zh/server/maintenance/aops/image/openEuler\344\273\223\350\257\204\350\256\272.png" deleted file mode 100644 index 29223cbddc39f8fcc0b725a3ed83495709e05f78..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/openEuler\344\273\223\350\257\204\350\256\272.png" and /dev/null differ diff --git a/docs/zh/server/maintenance/aops/image/patch-file.PNG b/docs/zh/server/maintenance/aops/image/patch-file.PNG deleted file mode 100644 index f587a48c2be945beaadecf44a6d711da14be50c6..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/maintenance/aops/image/patch-file.PNG and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/src-openEuler\344\273\223\350\257\204\350\256\272.png" "b/docs/zh/server/maintenance/aops/image/src-openEuler\344\273\223\350\257\204\350\256\272.png" deleted file mode 100644 index 3f8fbd534e8f8a48fdd60a5c3f13b33531a4112a..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/src-openEuler\344\273\223\350\257\204\350\256\272.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\344\273\273\345\212\241\347\273\223\346\236\234\346\237\245\347\234\213.png" "b/docs/zh/server/maintenance/aops/image/\344\273\273\345\212\241\347\273\223\346\236\234\346\237\245\347\234\213.png" deleted file mode 100644 index 31fe24f44facaaa62fbeddd3eef0090a3be88908..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\344\273\273\345\212\241\347\273\223\346\236\234\346\237\245\347\234\213.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254.png" "b/docs/zh/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254.png" deleted file mode 100644 index feb95836d056335d9d7ef673acc5fdf39e29bd8e..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254\344\273\273\345\212\241.png" "b/docs/zh/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254\344\273\273\345\212\241.png" deleted file mode 100644 index e7b1c5fc77c4027f1cdb96941440220db8637e5f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\345\210\233\345\273\272\350\204\232\346\234\254\344\273\273\345\212\241.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\345\215\225\346\254\241\346\211\247\350\241\214.png" "b/docs/zh/server/maintenance/aops/image/\345\215\225\346\254\241\346\211\247\350\241\214.png" deleted file mode 100644 index 8020c60843c11e566778a1a03c1fa7516de9dd6b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\345\215\225\346\254\241\346\211\247\350\241\214.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\345\220\257\345\212\250\347\203\255\350\241\245\344\270\201\345\267\245\347\250\213\346\265\201\347\250\213.png" "b/docs/zh/server/maintenance/aops/image/\345\220\257\345\212\250\347\203\255\350\241\245\344\270\201\345\267\245\347\250\213\346\265\201\347\250\213.png" deleted file mode 100644 index 1405eced0a14e3956191e111b7c1d588e5b3d27b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\345\220\257\345\212\250\347\203\255\350\241\245\344\270\201\345\267\245\347\250\213\346\265\201\347\250\213.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\345\221\250\346\234\237\346\211\247\350\241\214.png" "b/docs/zh/server/maintenance/aops/image/\345\221\250\346\234\237\346\211\247\350\241\214.png" deleted file mode 100644 index b75743556384fe58690847b3794607ef9a890d6d..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\345\221\250\346\234\237\346\211\247\350\241\214.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\345\221\275\344\273\244\346\211\247\350\241\214.png" "b/docs/zh/server/maintenance/aops/image/\345\221\275\344\273\244\346\211\247\350\241\214.png" deleted file mode 100644 index b5c9fbbeb5a4bba5f81d753fa5aa620ad261804c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\345\221\275\344\273\244\346\211\247\350\241\214.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\345\221\275\344\273\244\347\256\241\347\220\206\347\225\214\351\235\242.png" "b/docs/zh/server/maintenance/aops/image/\345\221\275\344\273\244\347\256\241\347\220\206\347\225\214\351\235\242.png" deleted file mode 100644 index c0357fc88d33c8b706203b70016d53629a3db70c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\345\221\275\344\273\244\347\256\241\347\220\206\347\225\214\351\235\242.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\346\223\215\344\275\234\347\256\241\347\220\206.png" "b/docs/zh/server/maintenance/aops/image/\346\223\215\344\275\234\347\256\241\347\220\206.png" deleted file mode 100644 index 3a1b8c3accdfb688da2e8e54eb17e86d18ee4d0b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\346\223\215\344\275\234\347\256\241\347\220\206.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\346\226\207\344\273\266\346\216\250\351\200\201.png" "b/docs/zh/server/maintenance/aops/image/\346\226\207\344\273\266\346\216\250\351\200\201.png" deleted file mode 100644 index c449eb18608e0146275f1b9f4ca41d05d48af021..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\346\226\207\344\273\266\346\216\250\351\200\201.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244.png" "b/docs/zh/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244.png" deleted file mode 100644 index 50d5bd4ce5499512acf2b8af86445fe6df6ce29f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244\344\273\273\345\212\241.png" "b/docs/zh/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244\344\273\273\345\212\241.png" deleted file mode 100644 index 792ec4e81017575fd27466a275c0502563808296..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\346\226\260\345\273\272\345\221\275\344\273\244\344\273\273\345\212\241.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\347\203\255\350\241\245\344\270\201issue\351\223\276\346\216\245\345\222\214pr\351\223\276\346\216\245.png" "b/docs/zh/server/maintenance/aops/image/\347\203\255\350\241\245\344\270\201issue\351\223\276\346\216\245\345\222\214pr\351\223\276\346\216\245.png" deleted file mode 100644 index c9f6dc0a0f1a1758bb936b61ec939f8f5eeee633..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\347\203\255\350\241\245\344\270\201issue\351\223\276\346\216\245\345\222\214pr\351\223\276\346\216\245.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\350\204\232\346\234\254\346\211\247\350\241\214.png" "b/docs/zh/server/maintenance/aops/image/\350\204\232\346\234\254\346\211\247\350\241\214.png" deleted file mode 100644 index 4ab626ad5949e17a5d486431ae4c0481ca42a442..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\350\204\232\346\234\254\346\211\247\350\241\214.png" and /dev/null differ diff --git "a/docs/zh/server/maintenance/aops/image/\350\204\232\346\234\254\347\256\241\347\220\206.png" "b/docs/zh/server/maintenance/aops/image/\350\204\232\346\234\254\347\256\241\347\220\206.png" deleted file mode 100644 index 62c60399dc58a79a9ab48a7eb584ce615c11b05c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/aops/image/\350\204\232\346\234\254\347\256\241\347\220\206.png" and /dev/null differ diff --git a/docs/zh/server/maintenance/gala/using_gala_gopher.md b/docs/zh/server/maintenance/gala/using_gala_gopher.md index 8076979f4ddd735ae6799f6f7cdb42c576086a49..7201dc1bdeb637bce19a50b059a12932218cce8a 100644 --- a/docs/zh/server/maintenance/gala/using_gala_gopher.md +++ b/docs/zh/server/maintenance/gala/using_gala_gopher.md @@ -471,7 +471,7 @@ curl -X PUT http://localhost:9999/flamegraph -d json='{ "cmd": { "check_cmd": " - stackprobe主进程: 1. 接收到ipc消息获取要观测的Java进程。 - 2. 使用Java代理加载模块向待观测的Java进程加载JVM代理程序:jvm_agent.so(对应[方式一](#方式一perf观测))或JstackProbeAgent.jar(对应[方式二](#方式二jfr观测))。 + 2. 使用Java代理加载模块向待观测的Java进程加载JVM代理程序:jvm_agent.so(对应[方式一](#方式一-perf观测))或JstackProbeAgent.jar(对应[方式二](#方式二-jfr观测))。 3. 方式一主进程会加载对应java进程的java-symbols.bin文件,供地址转换符号时查询。方式二主进程会加载对应java进程的stacks-{flame_type}.txt文件,可直接供火焰图生成。 - Java代理加载模块 diff --git a/docs/zh/server/maintenance/syscare/_toc.yaml b/docs/zh/server/maintenance/syscare/_toc.yaml deleted file mode 100644 index 33c37cb9746a3bc923757960a544a1b3a6eeac1d..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/syscare/_toc.yaml +++ /dev/null @@ -1,13 +0,0 @@ -label: SysCare用户指南 -isManual: true -description: 提供在线的热补丁修复能力 -sections: - - label: 认识SysCare - href: ./syscare_introduction.md - - label: 安装SysCare - href: ./installing_syscare.md - - label: 使用SysCare - href: ./using_syscare.md - - label: 约束限制 - href: ./constraints.md - diff --git a/docs/zh/server/maintenance/syscare/constraints.md b/docs/zh/server/maintenance/syscare/constraints.md deleted file mode 100644 index e49b91933bc3476a2c50cc634750029ddb6d6bed..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/syscare/constraints.md +++ /dev/null @@ -1,35 +0,0 @@ -# 约束限制 - -## 版本约束 - -内核版本:当前SysCare支持openEuler 22.03 LTS SP1及以上版本。 - -硬件架构:x86_64 / aarch64。 - -## 应用约束 - -1. 当前对LINE宏的处理需要对每个软件进行适配,当前仅考虑适配redis、nginx,其他未适配的软件可能会造成patch的size过大。后续会考虑引入参数支持用户自行适配。 -2. 用户态热补丁对于一个ELF文件,只支持一个补丁,如需修复多个bug,可将多个bugfix的patch文件同时传入补丁制作参数中,可制作出修复多个bug的热补丁。 - -## 语言约束 - -原理上补丁制作在object file一级进行比较,与编程语言无关。 -当前仅测试了C / C++语言。 - -## 其他约束 - -- 当前仅支持64位系统; -- 当前仅支持ELF格式的热修复,暂不支持解释型语言; -- 当前仅支持gcc / g++编译器; -- 编译器需要支持`-gdwarf`、`-ffunction-sections`、`-fdata-sections`参数; -- 仅支持DWARF格式的调试信息; -- 暂不支持交叉编译; -- 暂无法识别文件名相同,并且局部变量和函数名称完全一致的不同路径源码文件; -- 暂不支持汇编修改(包括`.S`文件及内联汇编); -- 暂不支持新增外部符号(动态库依赖); -- 暂不支持对同一个二进制打多个补丁; -- 暂不支持C & C++ 混合编译; -- 暂不支持C++ exception修改; -- 暂不支持group section: ```-g3```编译选项,特定编译优化选项,特定gcc plugin等; -- 暂不支持新增ifunc: ```__attribute__((ifunc("foo")))```; -- 暂不支持新增TLS变量: ```__thread int foo```。 diff --git "a/docs/zh/server/maintenance/syscare/figures/syscare\351\200\273\350\276\221\346\236\266\346\236\204.png" "b/docs/zh/server/maintenance/syscare/figures/syscare\351\200\273\350\276\221\346\236\266\346\236\204.png" deleted file mode 100644 index 4ed8b88331695d295351dd57bd570251c18d9502..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/maintenance/syscare/figures/syscare\351\200\273\350\276\221\346\236\266\346\236\204.png" and /dev/null differ diff --git a/docs/zh/server/maintenance/syscare/installing_syscare.md b/docs/zh/server/maintenance/syscare/installing_syscare.md deleted file mode 100644 index 6cae7cd3e00d252745b37892ed170573cae0d108..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/syscare/installing_syscare.md +++ /dev/null @@ -1,55 +0,0 @@ -# 安装SysCare - -本章介绍在openEuler中安装SysCare的方法。 - -## 安装SysCare核心组件 - -### 最低硬件要求 - -* 2 CPU (x86_64 / aarch64) -* 4GB RAM -* 100GB 硬盘 - -### 前提条件 - -安装openEuler 25.03版本。 - -### 源码编译安装SysCare - -SysCare源码已经归档至代码仓,用户可自行下载并编译安装。 - -SysCare在编译前需要安装依赖包,相关命令如下: - -```shell -dnf install cmake make rust cargo kernel-devel elfutils-libelf-devel llvm clang bpftool libbpf libbpf-devel libbpf-static -``` - -示例如下: - -```shell -git clone https://gitee.com/openeuler/syscare.git -cd syscare -mkdir build -cd build -cmake -DCMAKE_INSTALL_PREFIX=/usr -DKERNEL_VERSION=$(uname -r) .. -make -make install -``` - -### repo安装SysCare - -如果repo源中有SysCare相关的包,则可以通过dnf或yum命令进行下载、安装。 - -相关命令如下: - -```shell -dnf install syscare syscare-kmod syscare-build syscare-build-ebpf -``` - -### 卸载SysCare - -相关命令如下: - -```shell -dnf erase syscare syscare-kmod syscare-build syscare-build-ebpf -``` diff --git a/docs/zh/server/maintenance/syscare/syscare_introduction.md b/docs/zh/server/maintenance/syscare/syscare_introduction.md deleted file mode 100644 index 14f73580cdc5eb85873dd880539726b163c542f9..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/syscare/syscare_introduction.md +++ /dev/null @@ -1,23 +0,0 @@ -# 认识SysCare - -## 简介 - -SysCare是一个操作系统热补丁服务,统一了操作系统内核态、用户态热补丁服务。为操作系统提供在线的热补丁修复能力,可以自动化、无感知地在线修复内核、用户态服务、动态库等系统基础组件bug和漏洞。 - -![img](./figures/syscare逻辑架构.png) - -## SysCare系统功能 - -SysCare提供补丁制作、补丁激活和补丁卸载等功能,支持内核热补丁、用户态热补丁制作和管理: - -1. 一键式补丁制作能力 - 目前SysCare统一内核热补丁和用户态热补丁的制作流程,提供一键制作补丁能力,对用户屏蔽制作补丁细节及用户态、内核态补丁制作差异。 - -2. 补丁安装、激活、卸载 - SysCare提供统一补丁管理接口,方便用户在补丁安装、激活、卸载查询使用。 - -## SysCare系统技术 - -1. SysCare归一化补丁制作,对用户屏蔽补丁制作的细节及差异,提供统一的补丁管理工具,提升运维效率。 -2. SysCare提供的用户态热补丁支持在用户态多进程/多线程业务热修复,具有修复简单的特点,能够提升运维效率;在进程/线程新拉起、重启均生效。 -3. 热补丁lazy机制,克服`ptrace`缺陷(需全部退出内核调用),提升修复成功率。 diff --git a/docs/zh/server/maintenance/syscare/using_syscare.md b/docs/zh/server/maintenance/syscare/using_syscare.md deleted file mode 100644 index d85a4f00ea0c1f52e430c65534226024ac2d4c5a..0000000000000000000000000000000000000000 --- a/docs/zh/server/maintenance/syscare/using_syscare.md +++ /dev/null @@ -1,310 +0,0 @@ -# 使用SysCare - -本章介绍在openEuler中使用SysCare的方法。 - -## 前提条件 - -安装openEuler 25.03版本。 - -## SysCare使用 - -本章节将介绍 SysCare 的使用方法,包含热补丁制作及热补丁管理。 - -### 热补丁制作 - -用户可以使用`syscare build`命令制作热补丁,该命令为纯CLI工具,提供从RPM包生成热补丁包的功能,热补丁包以RPM包的形式封装维护,支持制作内核热补丁及用户态热补丁。 - -#### 热补丁制作流程 - -1. 准备热补丁目标软件源码包(source rpm)及软件调试信息包(debuginfo rpm) - - 示例: - - ```shell - yumdownloader kernel --source --debuginfo - ``` - -2. 确认满足对应软件编译依赖 - - 示例: - - ```shell - dnf install make gcc bison flex openssl-devel dwarves python3-devel elfutils-libelf-devel - ``` - -3. 执行`syscare build`命令构建热补丁 - - 示例: - - ```shell - syscare build \ - --patch_name HP001 \ - --source kernel-5.10.0-60.66.0.91.oe2203.src.rpm \ - --debuginfo kernel-debuginfo-5.10.0-60.66.0.91.oe2203.x86_64.rpm \ - --output output \ - --patch 001-kernel-patch-test.patch - ``` - - 热补丁制作过程将会在由`--workdir`参数所指定的目录中(默认为当前目录)创建以`syscare-build`开头的临时文件夹,用于存放临时文件及编译日志。 - - 示例: - - ```shell - dev@openeuler-dev:[~]$ ls -l syscare-build.111602/ - total 100 - -rw-r--r--. 1 dev dev 92303 Nov 12 00:00 build.log - drwxr-xr-x. 6 dev dev 4096 Nov 12 00:00 package - drwxr-xr-x. 4 dev dev 4096 Nov 12 00:00 patch - ``` - - 编译日志将会生成在临时文件夹中,名称为`build.log`。 - - ```shell - dev@openeuler-dev:[~]$ cat syscare-build.111602/build.log | less - ``` - - 若补丁制作成功,且未指定`--skip-compiler-check`参数,将不会保留该临时文件夹。 - -4. 检查编译结果 - - 示例: - - ```shell - dev@openeuler-dev:[~]$ ls -l - total 189680 - -rw-r--r--. 1 dev dev 194218767 Nov 12 00:00 kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm - -rw-r--r--. 1 dev dev 10937 Nov 12 00:00 patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm - ``` - - 其中 - - - `patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm`为补丁包 - - `kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm`为二进制包 - -#### 热补丁制作工具 - -```shell -USAGE: - syscare build [OPTIONS] --patch_name --source --debuginfo ... --patch ... - -OPTIONS: - -n, --patch_name Patch name - --patch_arch Patch architecture [default: x86_64] - --patch_version Patch version [default: 1] - --patch_release Patch release [default: 1] - --patch_description Patch description [default: (none)] - -s, --source Source package - -d, --debuginfo ... Debuginfo package(s) - --workdir Working directory [default: .] - -o, --output Output directory [default: .] - -j, --jobs Parllel build jobs [default: 96] - --skip_compiler_check Skip compiler version check (not recommended) - --skip_cleanup Skip post-build cleanup - -v, --verbose Provide more detailed info - -p, --patch ... Patch file(s) - -h, --help Prints help information - -V, --version Prints version information -``` - -|名称|描述|类型|备注| -| ---- | ---- | ---- | ---- | -|-n, --patch_name ``|补丁名称|字符串|必选参数,需符合RPM命名规范| -|--patch_arch ``|补丁架构|字符串|默认为当前架构,需符合RPM命名规范| -|--patch_version ``|补丁版本号|字符串|默认值为1,需符合RPM命名规范| -|--patch_release ``|补丁release|数字|默认值为1,需符合RPM命名规范| -|--patch_description ``|补丁描述|字符串|默认为(none)| -|-s, --source ``|目标软件src.rpm源码包路径|字符串|必选参数,需为合法路径| -|-d, --debuginfo `...`|目标软件debuginfo包路径|字符串|必选参数,可指定多个,需为合法路径| -|--workdir ``|临时文件夹路径|字符串|默认为当前执行目录,需为合法路径| -|-o, --output ``|补丁输出文件夹|字符串|默认为当前执行目录,需为合法路径| -|-j, --jobs ``|并行编译线程数|数字|默认为cpu线程数| -|--skip-compiler-check|跳过编译器检查|标识|-| -|--skip-cleanup|跳过临时文件清理|标识|-| -|-v, --verbose|打印详细信息|标识|-| -|-p, --patch `...`|补丁文件路径|字符串|必选参数,可指定多个,需为合法路径| -|-h, --help|打印帮助信息|标识|-| -|-V, --version|打印版本信息|标识|-| - -示例: - -```shell -syscare build \ - --patch_name "HP001" \ - --patch_description "CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users." \ - --source ./redis-6.2.5-1.src.rpm \ - --debuginfo ./redis-debuginfo-6.2.5-1.x86_64.rpm \ - --output ./output \ - --patch ./0001-Prevent-unauthenticated-client-from-easily-consuming.patch -``` - -#### 热补丁包命名规则 - -- 热补丁包:patch-目标软件全名-补丁名称-补丁版本-补丁release.架构名.rpm -- 热补丁源码包:目标软件全名-补丁名称-补丁版本-补丁release.架构名.src.rpm - -#### 输出 - -- 热补丁包:包含SysCare热补丁的二进制及元信息,用于热补丁安装。 -- 热补丁源码包:包含目标软件源码及新增补丁文件,用于新版本热补丁制作。 - -#### 错误定位 - -如果热补丁制作过程出现错误,请参考位于工作目录下名称为`build.log`的编译日志。 - -示例: - -```shell -Building patch, this may take a while -- Preparing build requirements -- Building patch -Error: UserPatchBuilder: Failed to build patch - -Caused by: - Process "/usr/libexec/syscare/upatch-build" exited unsuccessfully, exit_code=253 -For more information, please check "/home/dev/syscare-build.345549/build.log" -``` - -### 热补丁包管理 - -热补丁的安装以及卸载需要提供对应rpm包的名称,下面使用`$patch_package`来指代rpm包名称。 - -1. 热补丁包安装 - - ```shell - dnf install $patch_package.rpm - ``` - - 热补丁包安装后,热补丁相关文件存放在如下路径: - - ```shell - /usr/lib/syscare/patches - ``` - -2. 热补丁包卸载 - - ```shell - dnf remove $patch_package - ``` - - 注:若热补丁处于`ACTIVED`以上状态时,热补丁将会被自动卸载。 - -### 热补丁管理 - -使用`syscare`命令可以对热补丁进行管理。 - -对单一热补丁操作前,用户需要提供一个字符串来搜索热补丁,后续使用`$patch_identifier`来指代这个字符串。 - -热补丁管理搜索规则为:目标包名/补丁名,其中“目标包名/”在补丁名唯一的情况下可以省略,也可使用UUID来进行管理。 - -- 目标包名:待打入补丁的目标软件的软件包名称; -- 补丁名:热补丁名称。 - -#### 补丁元信息 - -补丁元信息中包含以下字段: - -| 字段名称 | 字段描述 | -| ----------- | ---------------------- | -| uuid | 补丁ID | -| name | 补丁名称 | -| version | 补丁版本 | -| release | 补丁Release | -| arch | 补丁架构 | -| type | 补丁类型 | -| target | 目标软件名 | -| entities | 目标软件可执行文件名称 | -| digest | 补丁指纹 | -| license | 目标软件许可证 | -| description | 补丁描述 | -| patch| 补丁文件列表 | - -示例: - -```shell -sudo syscare info redis-6.2.5-1/HP002-1-1 -uuid: 980fa0d0-e753-447c-8494-01de595f35d0 -name: HP002 -version: 1 -release: 1 -arch: x86_64 -type: UserPatch -target: redis-6.2.5-1 -target_elf: redis-server, redis-benchmark, redis-cli -license: BSD and MIT -description: CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users. -patch: -0001-Prevent-unauthenticated-client-from-easily-consuming.patch -``` - -#### 热补丁状态 - -SysCare将热补丁的生命周期分成如下状态: - -- 未加载:`NOT-APPLIED` -- 未激活:`DEACTIVED` -- 已激活:`ACTIVED` -- 已接受:`ACCEPTED` - -#### 补丁信息查询 - -1. 补丁基本信息查询: - - ```shell - syscare info $patch_identifier - ``` - -2. 补丁状态查询: - - ```shell - syscare status $patch_identifier - ``` - -3. 查询所有补丁状态: - - ```shell - syscare list - ``` - -#### 热补丁状态管理 - -1. 加载热补丁: - - ```shell - syscare apply $patch_identifier - ``` - -2. 卸载热补丁: - - ```shell - syscare remove $patch_identifier - ``` - -3. 激活热补丁: - - ```shell - syscare active $patch_identifier - ``` - -4. 反激活热补丁: - - ```shell - syscare deactive $patch_identifier - ``` - -5. 接受热补丁: - - ```shell - syscare accept $patch_identifier - ``` - -6. 保存所有补丁状态: - - ```shell - syscare save - ``` - -7. 恢复所有补丁状态: - - ```shell - syscare restore - ``` diff --git a/docs/zh/server/network/gazelle/_toc.yaml b/docs/zh/server/network/gazelle/_toc.yaml deleted file mode 100644 index b2011a02351b34e053e1c0078313def60215456a..0000000000000000000000000000000000000000 --- a/docs/zh/server/network/gazelle/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: Gazelle用户指南 -isManual: true -description: 提高应用的网络 I/O 吞吐能力 -sections: - - label: Gazelle用户指南 - href: ./gazelle_user_guide.md diff --git a/docs/zh/server/network/gazelle/gazelle_user_guide.md b/docs/zh/server/network/gazelle/gazelle_user_guide.md deleted file mode 100644 index 3eb407374898ef8a50c5acc752cc4b26a2fb1f06..0000000000000000000000000000000000000000 --- a/docs/zh/server/network/gazelle/gazelle_user_guide.md +++ /dev/null @@ -1,290 +0,0 @@ -# Gazelle用户指南 - -## 简介 - -Gazelle是一款高性能用户态协议栈。它基于DPDK在用户态直接读写网卡报文,共享大页内存传递报文,使用轻量级LwIP协议栈。能够大幅提高应用的网络I/O吞吐能力。专注于数据库网络性能加速,如MySQL、redis等。 - -- 高性能 - - 报文零拷贝,无锁,灵活scale-out,自适应调度。 - -- 通用性 - - 完全兼容POSIX,零修改,适用不同类型的应用。 - - 单进程且网卡支持多队列时,只需使用liblstack.so有更短的报文路径。 - -## 安装 - -配置openEuler的yum源,直接使用yum命令安装 - -```sh -yum install dpdk -yum install libconfig -yum install numactl -yum install libboundscheck -yum install libpcap -yum install gazelle -``` - ->说明: -dpdk >= 21.11-2 - -## 使用方法 - -配置运行环境,使用Gazelle加速应用程序步骤如下: - -### 1. 使用root权限安装ko - -根据实际情况选择使用ko,提供绑定网卡到用户态功能。 -网卡从内核驱动绑为用户态驱动的ko,根据实际情况选择一种。 - -```sh -#若IOMMU能使用 -modprobe vfio-pci - -#若IOMMU不能使用,且VFIO支持noiommu -modprobe vfio enable_unsafe_noiommu_mode=1 -modprobe vfio-pci - -#其他情况 -modprobe igb_uio -``` - ->说明: -可根据机器BIOS配置,查看是否使能IOMMU。 - -### 2. dpdk绑定网卡 - -将网卡绑定到步骤1选择的驱动。为用户态网卡驱动提供网卡资源访问接口。 - -```sh -#使用vfio-pci -dpdk-devbind -b vfio-pci enp3s0 - -#使用igb_uio -dpdk-devbind -b igb_uio enp3s0 -``` - -### 3. 大页内存配置 - -Gazelle使用大页内存提高效率。使用root权限配置系统预留大页内存,可选用任意页大小。因每页内存都需要一个fd,使用内存较大时,建议使用1G的大页,避免占用过多fd。 -根据实际情况,选择一种页大小,配置足够的大页内存即可。配置大页操作如下: - -```sh -#配置2M大页内存:在node0上配置 2M * 1024 = 2G -echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages - -#配置1G大页内存:在node0上配置1G * 5 = 5G -echo 5 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages -``` - ->说明: -cat查询实际预留页个数,连续内存不足时可能比预期少 - -### 4. 挂载大页内存 - -创建目录,给lstack的进程访问大页内存使用。操作步骤如下: - -```sh -mkdir -p /mnt/hugepages-lstack -chmod -R 700 /mnt/hugepages-lstack - -mount -t hugetlbfs nodev /mnt/hugepages-lstack -o pagesize=2M -``` - -### 5. 应用程序使用Gazelle - -有两种使用Gazelle方法,根据需要选择其一 - -- 重新编译应用程序,替换sockets接口 - -```sh -#makefile中添加Gazelle的Makefile --include /etc/gazelle/lstack.Makefile - -#编译添加LSTACK_LIBS变量 -gcc test.c -o test ${LSTACK_LIBS} -``` - -- 使用LD_PRELOAD加载Gazelle库 - - GAZELLE_BIND_PROCNAME环境变量指定进程名,LD_PRELOAD指定Gazelle库路径。 - - ```sh - GAZELLE_BIND_PROCNAME=test LD_PRELOAD=/usr/lib64/liblstack.so ./test - ``` - -- 使用GAZELLE_THREAD_NAME指定Gazelle绑定的线程名 - - 同一进程中的多个线程中,仅有某个线程满足gazelle的使用条件时,可以使用GAZELLE_THREAD_NAME来指定仅由对应的线程名使用gazelle,而其他线程走内核态协议栈。 - - ```sh - GAZELLE_BIND_PROCNAME=test GAZELLE_THREAD_NAME=test_thread LD_PRELOAD=/usr/lib64/liblstack.so ./test - ``` - -### 6. 配置文件 - -- lstack.conf用于指定lstack的启动参数,默认路径为/etc/gazelle/lstack.conf, 配置文件参数如下 - -|选项|参数格式|说明| -|:---|:---|:---| -|dpdk_args|--socket-mem(必需)
--huge-dir(必需)
--proc-type(必需)
--legacy-mem
--map-perfect
-d|dpdk初始化参数,参考dpdk说明
--map-perfect为扩展特性,用于防止dpdk占用多余的地址空间,保证有额外的地址空间分配给lstack。
-d参数加载指定so库文件| -|listen_shadow| 0/1 | 是否使用影子fd监听。单listen线程,多协议栈线程时是能| -|use_ltran| 0/1 | 是否使用ltran ,功能已衰退,不再支持| -|num_cpus|"0,2,4 ..."|lstack线程绑定的cpu编号,编号的数量为lstack线程个数(小于等于网卡多队列数量)。可按NUMA选择cpu| -|low_power_mode|0/1|是否开启低功耗模式,暂不支持| -|kni_switch|0/1|rte_kni开关,默认为0。功能已衰退,不再支持| -|unix_prefix|"string"|gazelle进程间通信使用的unix socket文件前缀字符串,默认为空,和需要通信的ltran.conf的unix_prefix或gazellectl的-u参数配置一致。不能含有特殊字符,最大长度为128。| -|host_addr|"192.168.xx.xx"|协议栈的IP地址,也是应用程序的IP地址| -|mask_addr|"255.255.xx.xx"|掩码地址| -|gateway_addr|"192.168.xx.1"|网关地址| -|devices|"aa:bb:cc:dd:ee:ff"|网卡通信的mac地址,在bond1模式下作为bond的主网口| -|app_bind_numa|0/1|应用的epoll和poll线程是否绑定到协议栈所在的numa,缺省值是1,即绑定| -|send_connect_number|4|设置为正整数,表示每次协议栈循环中发包处理的连接个数| -|read_connect_number|4|设置为正整数,表示每次协议栈循环中收包处理的连接个数| -|rpc_number|4|设置为正整数,表示每次协议栈循环中rpc消息处理的个数| -|nic_read_num|128|设置为正整数,表示每次协议栈循环中从网卡读取的数据包的个数| -|bond_mode|-1|设置组bond,当前支持两个网口组bond模式,默认值-1关闭bond,当前支持bond1/4/6| -|bond_slave_mac|"aa:bb:cc:dd:ee:ff;AA:BB:CC:DD:EE:FF"|设置组bond网口的mac地址信息,以;分隔| -|bond_miimon|10|设置bond模式的监听间隔,默认值10,取值范围0~1500| -|udp_enable|0/1|是否开启udp功能,默认值1开启| -|nic_vlan_mode|-1|是否开启vlan模式,默认值-1关闭,取值范围-1~4095,0和4095是业界通用预留id无实际效果| -|tcp_conn_count|1500|tcp的最大连接数,该参数乘以mbuf_count_per_conn是初始化时申请的mbuf池大小,配置过小会启动失败,`tcp_conn_count * mbuf_count_per_conn *` 2048字节不能大于大页大小 | -|mbuf_count_per_conn|170|每个tcp连接需要的mbuf个数,该参数乘以tcp_conn_count是初始化时申请的mbuf地址池大小,配置过小会启动失败,`tcp_conn_count * mbuf_count_per_conn *`2048字节不能大于大页大小| - -lstack.conf示例: - -```sh -dpdk_args=["--socket-mem", "2048,0,0,0", "--huge-dir", "/mnt/hugepages-lstack", "--proc-type", "primary", "--legacy-mem", "--map-perfect"] - -use_ltran=0 -kni_switch=0 - -low_power_mode=0 - -num_cpus="2,22" -num_wakeup="3,23" - -host_addr="192.168.1.10" -mask_addr="255.255.255.0" -gateway_addr="192.168.1.1" -devices="aa:bb:cc:dd:ee:ff" - -send_connect_number=4 -read_connect_number=4 -rpc_number=4 -nic_read_num=128 -mbuf_pool_size=1024000 -bond_mode=1 -bond_slave_mac="aa:bb:cc:dd:ee:ff;AA:BB:CC:DD:EE:FF" -udp_enable=1 -nic_vlan_mode=-1 -``` - -- ltran模式功能已衰退,多进程使用需求可尝试使用SR-IOV组网硬件虚拟化组网模式: - -### 7. 启动应用程序 - -- 启动应用程序 - - 启动应用程序前不使用环境变量LSTACK_CONF_PATH指定配置文件,则使用默认路径/etc/gazelle/lstack.conf - - ```sh - export LSTACK_CONF_PATH=./lstack.conf - LD_PRELOAD=/usr/lib64/liblstack.so GAZELLE_BIND_PROCNAME=redis-server redis-server redis.conf - ``` - -### 8. API - -Gazelle wrap应用程序POSIX接口,应用程序无需修改代码。 - -### 9. 调测命令 - -```sh -Usage: gazellectl [-h | help] - or: gazellectl lstack {show | set} {ip | pid} [LSTACK_OPTIONS] [time] [-u UNIX_PREFIX] - - where LSTACK_OPTIONS := - show lstack all statistics - -r, rate show lstack statistics per second - -s, snmp show lstack snmp - -c, connetct show lstack connect - -l, latency show lstack latency - -x, xstats show lstack xstats - -k, nic-features show state of protocol offload and other feature - -a, aggregatin [time] show lstack send/recv aggregation - set: - loglevel {error | info | debug} set lstack loglevel - lowpower {0 | 1} set lowpower enable - [time] measure latency time default 1S -``` - --u参数指定gazelle进程间通信的unix socket前缀,和需要通信的lstack.conf的unix_prefix配置一致。 - -**抓包工具** -gazelle使用的网卡由dpdk接管,因此普通的tcpdump无法抓到gazelle的数据包。作为替代,gazelle使用dpdk-tools软件包中提供的gazelle-pdump作为数据包捕获工具,它使用dpdk的多进程模式和lstack进程共享内存。 -[详细使用方法](https://gitee.com/openeuler/gazelle/blob/master/doc/pdump.md) - -**线程名绑定** -lstack启动时可以通过指定环境变量GAZELLE_THREAD_NAME来指定lstack绑定的线程名,在业务进程中有多个不同线程时,可以通过使用此参数来指定需要lstack接管网络接口的线程名,未指定的线程将走内核态协议栈。默认为空,即绑定进程内的所有线程。 - -### 10. 使用注意 - -#### 1. dpdk配置文件的位置 - -如果是root用户,dpdk启动后的配置文件将会放到/var/run/dpdk目录下; -如果是非root用户,dpdk配置文件的路径将由环境变量XDG_RUNTIME_DIR决定; - -- 如果XDG_RUNTIME_DIR为空,dpdk配置文件放到/tmp/dpdk目录下; -- 如果XDG_RUNTIME_DIR不为空,dpdk配置文件放到变量XDG_RUNTIME_DIR下; -- 注意有些机器会默认设置XDG_RUNTIME_DIR - -## 约束限制 - -使用 Gazelle 存在一些约束限制: - -### 功能约束 - -- 不支持accept阻塞模式或者connect阻塞模式。 -- 最多支持1500个TCP连接。 -- 当前仅支持TCP、ICMP、ARP、IPv4、UDP 协议。 -- 在对端ping Gazelle时,要求指定报文长度小于等于14000B。 -- 不支持使用透明大页。 -- 虚拟机网卡不支持多队列。 - -### 操作约束 - -- 提供的命令行、配置文件默认root权限。非root用户使用,需先提权以及修改文件所有者。 -- 将用户态网卡绑回到内核驱动,必须先退出Gazelle。 -- 大页内存不支持在挂载点里创建子目录重新挂载。 -- 每个应用实例协议栈线程最低大页内存为800MB 。 -- 仅支持64位系统。 -- 构建x86版本的Gazelle使用了-march=native选项,基于构建环境的CPU(Intel® Xeon® Gold 5118 CPU @ 2.30GHz指令集进行优化。要求运行环境CPU支持 SSE4.2、AVX、AVX2、AVX-512 指令集。 -- 最大IP分片数为10(ping 最大包长14790B),TCP协议不使用IP分片。 -- sysctl配置网卡rp_filter参数为1,否则可能不按预期使用Gazelle协议栈,而是依然使用内核协议栈。 -- 不支持使用多种类型的网卡混合组bond。 -- bond1主备模式,只支持链路层故障主备切换(例如网线断开),不支持物理层故障主备切换(例如网卡下电、拔网卡)。 -- 发送udp报文包长超过45952(32 * 1436)B时,需要将send_ring_size扩大为至少64个。 - -## 注意事项 - -用户根据使用场景评估使用Gazelle - -ltran模式及kni模块由于上游社区及依赖包变更,功能在新版本中不再支持. - -共享内存 - -- 现状 - 大页内存 mount 至 /mnt/hugepages-lstack 目录,进程初始化时在 /mnt/hugepages-lstack 目录下创建文件,每个文件对应一个大页,并 mmap 这些文件。 -- 当前消减措施 - 大页文件权限 600,只有 OWNER 用户才能访问文件,默认 root 用户,支持配置成其他用户; - 大页文件有 DPDK 文件锁,不能直接写或者映射。 -- 注意 - 属于同一用户的恶意进程模仿DPDK实现逻辑,通过大页文件共享大页内存,写破坏大页内存,导致Gazelle程序crash。建议用户下的进程属于同一信任域。 - -**流量限制** -Gazelle没有做流量限制,用户有能力发送最大网卡线速流量的报文到网络,可能导致网络流量拥塞。 - -**进程仿冒** -建议lstack进程都为可信任进程。 diff --git a/docs/zh/server/network/public_sys-resources/icon-caution.gif b/docs/zh/server/network/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/network/public_sys-resources/icon-caution.gif and /dev/null differ diff --git a/docs/zh/server/network/public_sys-resources/icon-danger.gif b/docs/zh/server/network/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/network/public_sys-resources/icon-danger.gif and /dev/null differ diff --git a/docs/zh/server/network/public_sys-resources/icon-note.gif b/docs/zh/server/network/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/network/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/server/network/public_sys-resources/icon-notice.gif b/docs/zh/server/network/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/network/public_sys-resources/icon-notice.gif and /dev/null differ diff --git a/docs/zh/server/network/public_sys-resources/icon-tip.gif b/docs/zh/server/network/public_sys-resources/icon-tip.gif deleted file mode 100644 index 93aa72053b510e456b149f36a0972703ea9999b7..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/network/public_sys-resources/icon-tip.gif and /dev/null differ diff --git a/docs/zh/server/network/public_sys-resources/icon-warning.gif b/docs/zh/server/network/public_sys-resources/icon-warning.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/network/public_sys-resources/icon-warning.gif and /dev/null differ diff --git a/docs/zh/server/performance/system_optimization/atune/_toc.yaml b/docs/zh/server/performance/atune/_toc.yaml similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/_toc.yaml rename to docs/zh/server/performance/atune/_toc.yaml diff --git a/docs/zh/server/performance/system_optimization/atune/appendix.md b/docs/zh/server/performance/atune/appendix.md similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/appendix.md rename to docs/zh/server/performance/atune/appendix.md diff --git a/docs/zh/server/performance/system_optimization/atune/figures/picture1.png b/docs/zh/server/performance/atune/figures/picture1.png similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/figures/picture1.png rename to docs/zh/server/performance/atune/figures/picture1.png diff --git a/docs/zh/server/performance/system_optimization/atune/figures/picture4.png b/docs/zh/server/performance/atune/figures/picture4.png similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/figures/picture4.png rename to docs/zh/server/performance/atune/figures/picture4.png diff --git a/docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0213178479.png b/docs/zh/server/performance/atune/figures/zh-cn_image_0213178479.png similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0213178479.png rename to docs/zh/server/performance/atune/figures/zh-cn_image_0213178479.png diff --git a/docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0213178480.png b/docs/zh/server/performance/atune/figures/zh-cn_image_0213178480.png similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0213178480.png rename to docs/zh/server/performance/atune/figures/zh-cn_image_0213178480.png diff --git a/docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0214540398.png b/docs/zh/server/performance/atune/figures/zh-cn_image_0214540398.png similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0214540398.png rename to docs/zh/server/performance/atune/figures/zh-cn_image_0214540398.png diff --git a/docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0227497000.png b/docs/zh/server/performance/atune/figures/zh-cn_image_0227497000.png similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0227497000.png rename to docs/zh/server/performance/atune/figures/zh-cn_image_0227497000.png diff --git a/docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0227497343.png b/docs/zh/server/performance/atune/figures/zh-cn_image_0227497343.png similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0227497343.png rename to docs/zh/server/performance/atune/figures/zh-cn_image_0227497343.png diff --git a/docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0231122163.png b/docs/zh/server/performance/atune/figures/zh-cn_image_0231122163.png similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0231122163.png rename to docs/zh/server/performance/atune/figures/zh-cn_image_0231122163.png diff --git a/docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0245342444.png b/docs/zh/server/performance/atune/figures/zh-cn_image_0245342444.png similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/figures/zh-cn_image_0245342444.png rename to docs/zh/server/performance/atune/figures/zh-cn_image_0245342444.png diff --git a/docs/zh/server/performance/system_optimization/atune/getting_to_know_a_tune.md b/docs/zh/server/performance/atune/getting_to_know_a_tune.md similarity index 98% rename from docs/zh/server/performance/system_optimization/atune/getting_to_know_a_tune.md rename to docs/zh/server/performance/atune/getting_to_know_a_tune.md index b4babba3ca11c9e88186c7ce185e40f9274336b8..a1cf757113ef5b31b438df4ab726c59493f48c01 100644 --- a/docs/zh/server/performance/system_optimization/atune/getting_to_know_a_tune.md +++ b/docs/zh/server/performance/atune/getting_to_know_a_tune.md @@ -78,7 +78,7 @@ A-Tune支持的主要特性、特性成熟度以及使用建议请参见[表1](# ### 支持业务模型 -根据应用的负载特征,A-Tune将业务分为11大类,各类型的负载特征和A-Tune支持的应用请参见[表2](#table2819164611311)。 +根据应用的负载特征,A-Tune将业务分为11大类,各类型的负载特征和A-Tune支持的应用请参见表2。 **表 2** 支持的业务类型和应用 diff --git a/docs/zh/server/performance/system_optimization/atune/installation_and_deployment.md b/docs/zh/server/performance/atune/installation_and_deployment.md similarity index 93% rename from docs/zh/server/performance/system_optimization/atune/installation_and_deployment.md rename to docs/zh/server/performance/atune/installation_and_deployment.md index 8a0ba3c5cac793c0bb1c369d3fef7d94c4ff77a8..07d4db26349baeaa31cc0a5df9e3dcd1b9a2d28b 100644 --- a/docs/zh/server/performance/system_optimization/atune/installation_and_deployment.md +++ b/docs/zh/server/performance/atune/installation_and_deployment.md @@ -2,39 +2,6 @@ 本章介绍如何安装和部署A-Tune。 - - -- [安装与部署](#安装与部署) - - [软硬件要求](#软硬件要求) - - [硬件要求](#硬件要求) - - [软件要求](#软件要求) - - [环境准备](#环境准备) - - [安装A-Tune](#安装a-tune) - - [安装模式介绍](#安装模式介绍) - - [安装操作](#安装操作) - - [部署A-Tune](#部署a-tune) - - [配置介绍](#配置介绍) - - [配置示例](#配置示例) - - [配置示例](#配置示例-1) - - [启动A-Tune](#启动a-tune) - - [启动A-Tune engine](#启动a-tune-engine) - - [分部式部署](#分部式部署) - - [分部式部署目的](#分部式部署目的) - - [配置文件](#配置文件) - - [注意事项](#注意事项) - - [举例](#举例) - - [atuned.cnf](#atunedcnf) - - [engine.cnf](#enginecnf) - - [集群部署](#集群部署) - - [集群部署的目的](#集群部署的目的) - - [atuned.cnf配置文件修改](#atunedcnf配置文件修改) - - [注意事项](#注意事项-1) - - [举例](#举例-1) - - [atuned.cnf](#atunedcnf-1) - - [engine.cnf](#enginecnf-1) - - - ## 软硬件要求 ### 硬件要求 @@ -47,7 +14,7 @@ ## 环境准备 -- 安装openEuler系统,安装方法参考 《[安装指南](../../../installation_upgrade/installation/installation.md)》。 +- 安装openEuler系统,安装方法参考 《[安装指南](../../../installation_upgrade/installation/installation_on_servers.md)》。 - 安装A-Tune需要使用root权限。 diff --git a/docs/zh/server/performance/system_optimization/atune/native_turbo.md b/docs/zh/server/performance/atune/native_turbo.md similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/native_turbo.md rename to docs/zh/server/performance/atune/native_turbo.md diff --git a/docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-caution.gif b/docs/zh/server/performance/atune/public_sys-resources/icon-caution.gif similarity index 100% rename from docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-caution.gif rename to docs/zh/server/performance/atune/public_sys-resources/icon-caution.gif diff --git a/docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-danger.gif b/docs/zh/server/performance/atune/public_sys-resources/icon-danger.gif similarity index 100% rename from docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-danger.gif rename to docs/zh/server/performance/atune/public_sys-resources/icon-danger.gif diff --git a/docs/en/server/releasenotes/releasenotes/public_sys-resources/icon-note.gif b/docs/zh/server/performance/atune/public_sys-resources/icon-note.gif similarity index 100% rename from docs/en/server/releasenotes/releasenotes/public_sys-resources/icon-note.gif rename to docs/zh/server/performance/atune/public_sys-resources/icon-note.gif diff --git a/docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-notice.gif b/docs/zh/server/performance/atune/public_sys-resources/icon-notice.gif similarity index 100% rename from docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-notice.gif rename to docs/zh/server/performance/atune/public_sys-resources/icon-notice.gif diff --git a/docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-tip.gif b/docs/zh/server/performance/atune/public_sys-resources/icon-tip.gif similarity index 100% rename from docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-tip.gif rename to docs/zh/server/performance/atune/public_sys-resources/icon-tip.gif diff --git a/docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-warning.gif b/docs/zh/server/performance/atune/public_sys-resources/icon-warning.gif similarity index 100% rename from docs/zh/server/development/bisheng_autotuner/public_sys-resources/icon-warning.gif rename to docs/zh/server/performance/atune/public_sys-resources/icon-warning.gif diff --git a/docs/zh/server/performance/system_optimization/atune/usage_instructions.md b/docs/zh/server/performance/atune/usage_instructions.md similarity index 100% rename from docs/zh/server/performance/system_optimization/atune/usage_instructions.md rename to docs/zh/server/performance/atune/usage_instructions.md diff --git a/docs/zh/server/performance/cpu_optimization/kae/_toc.yaml b/docs/zh/server/performance/cpu_optimization/kae/_toc.yaml deleted file mode 100644 index c2c018a997511e31f9e78e89dca8b09d0c775682..0000000000000000000000000000000000000000 --- a/docs/zh/server/performance/cpu_optimization/kae/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: 使用KAE加速引擎 -isManual: true -description: 使用 KAE 加速引擎降低处理器消耗,提高处理器效率 -sections: - - label: 使用KAE加速引擎 - href: ./using_the_kae.md diff --git a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143189.png b/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143189.png deleted file mode 100644 index 7656f3aa5f5907f1e9f981c0cb5d44d4fcb84ef3..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143189.png and /dev/null differ diff --git a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143191.png b/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143191.png deleted file mode 100644 index a82d1bcb2b719e3a372f63ae099cb5d52a93b536..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143191.png and /dev/null differ diff --git a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143193.png b/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143193.png deleted file mode 100644 index 94614045bddb0871b44d2f6603402f914871ad61..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143193.png and /dev/null differ diff --git a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143195.png b/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143195.png deleted file mode 100644 index 05011dbabe2d245c37ec68de646851bf955a2361..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143195.png and /dev/null differ diff --git a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143196.png b/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143196.png deleted file mode 100644 index 9bdbac969920af77721980804bd1c5433bea5bc9..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143196.png and /dev/null differ diff --git a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143197.png b/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143197.png deleted file mode 100644 index 5ea4eec4002374096d8ac18eb973ed3bf874b632..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143197.png and /dev/null differ diff --git a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143198.png b/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143198.png deleted file mode 100644 index 7d6360c150495d204da4b069e6dc62677580888f..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/cpu_optimization/kae/figures/zh-cn_image_0231143198.png and /dev/null differ diff --git a/docs/zh/server/performance/cpu_optimization/kae/public_sys-resources/icon-note.gif b/docs/zh/server/performance/cpu_optimization/kae/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/cpu_optimization/kae/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/server/performance/cpu_optimization/kae/using_the_kae.md b/docs/zh/server/performance/cpu_optimization/kae/using_the_kae.md deleted file mode 100644 index 206ff46933534822e2c711daa2a173b8b1aaf3d1..0000000000000000000000000000000000000000 --- a/docs/zh/server/performance/cpu_optimization/kae/using_the_kae.md +++ /dev/null @@ -1,709 +0,0 @@ -# 使用KAE加速引擎 - -## 简介 - -KAE加速引擎为openEuler的一个软件加速库,搭载在Kunpeng 920处理器上联合提供硬件加速引擎功能,包含了对称加密、非对称加密和数字签名,用于加速SSL/TLS应用,可以显著降低处理器消耗,提高处理器效率。此外,用户通过OpenSSL标准接口可实现业务快速迁移。 - -KAE加速引擎支持以下算法: - -- 摘要算法SM3, 支持异步模式。 -- 对称加密算法SM4,支持异步模式,支持CTR/XTS/CBC模式。 -- 对称加密算法AES, 支持异步模式,支持ECB/CTR/XTS/CBC模式。 -- 非对称算法RSA,支持异步模式,支持 Key Sizes 1024/2048/3072/4096。 -- 密钥协商算法DH, 支持异步模式,支持 Key Sizes 768/1024/1536/2048/3072/4096。 - -## 应用场景 - -KAE加速引擎主要有以下应用场景,如[表1](#table11915824163418)所示。 - -**表 1** 应用场景 - - - - - - - - - - - - - - - - - - - -

场景

-

数据

-

大数据

-

流数据

-

数据加密

-

块数据

-

智能安防

-

视频流数据

-

Web服务

-

握手连接

-
- -## 安装、升级和卸载 - -### 安装加速器软件包 - -#### 安装前准备 - -##### 环境要求 - -- TaiShan 200服务器,开启加速引擎功能 - -> [!NOTE]说明 -> -> 需要导入加速器许可证,具体操作请参考《[TaiShan 机架服务器 iBMC \(V500及以上\) 用户指南](https://support.huawei.com/enterprise/zh/doc/EDOC1100121687)》中“许可证管理”章节。 -> 物理机场景使用加速器需要关闭SMMU,具体操作请参考《[TaiShan 200服务器BIOS参数参考](https://support.huawei.com/enterprise/zh/doc/EDOC1100088653)》。 - -- CPU:Kunpeng 920 -- 操作系统:openEuler-21.09-aarch64-dvd.iso - -##### KAE加速引擎软件说明 - -**表 2** 加速引擎的rpm软件包 - - - - - - - - - - - - - - - - -

软件包名称

-

软件包说明

-

kae_driver-版本号-1.OS类型.aarch64.rpm

-

加速器驱动,包含内容:uacce.ko、hisi_qm.ko、hisi_sec2.ko、hisi_hpre.ko内核模块

-

支持:SM3/SM4/AES/RSA/DH算法

-

libwd-版本号-1.OS类型.aarch64.rpm

-

包含内容:libwd.so动态链接库

-

提供接口给KAE引擎

-

libkae-版本号-1.OS类型.aarch64.rpm

-

依赖:libwd rpm包

-

包含内容:libkae.so动态库

-

支持:SM3/SM4/AES/RSA/DH等算法

-
- -#### 安装加速器软件包 - -##### 前提条件 - -- 已在本地安装远程SSH登录工具 -- 已安装openEuler操作系统 -- RPM工具能正常使用。 -- 已安装OpenSSL 1.1.1a或以上版本。 - - 使用如下命令查询OpenSSL的版本号 - - - openssl version - -##### 安装步骤 - -1. 以root帐号登录openEuler OS命令行界面。 -2. 新建目录用于存放加速器引擎软件包。 -3. 使用SSH远程登录工具,将所有加速引擎软件包拷贝到已建好的目录下。 -4. 在存放加速引擎软件包目录下,使用rpm -ivh命令安装加速器引擎软件包。 - - > [!NOTE]说明 - > 由于libkae包的安装依赖libwd包,所以libwd的安装必须先于libkae。 - - ```shell - # rpm -ivh uacce*.rpm hisi*.rpm libwd-*.rpm libkae*.rpm - Verifying... ################################# [100%] - Preparing... ################################# [100%] - checking installed modules - uacce modules start to install - Updating / installing... - 1:uacce-1.2.10-4.oe1 ################################# [ 14%] - uacce modules installed - 2:libwd-1.2.10-3.oe1 ################################# [ 29%] - 3:libkae-1.2.10-3.oe1 ################################# [ 43%] - checking installed modules - hisi_hpre modules start to install - 4:hisi_hpre-1.2.10-4.oe1 ################################# [ 57%] - hisi_hpre modules installed - checking installed modules - hisi_rde modules start to install - 5:hisi_rde-1.2.10-4.oe1 ################################# [ 71%] - hisi_rde modules installed - checking installed modules - hisi_sec2 modules start to install - 6:hisi_sec2-1.2.10-4.oe1 ################################# [ 86%] - hisi_sec2 modules installed - checking installed modules - hisi_zip modules start to install - 7:hisi_zip-1.2.10-4.oe1 ################################# [100%] - hisi_zip modules installed - ``` - -5. 使用rpm -qa命令,查看加速器软件包是否已正常安装到系统内。使用rpm -ql命令 ,查看软件包的文件是否正确。示例如下。 - - ```shell - # rpm -qa|grep -E "hisi|uacce|libwd|libkae" - hisi_rde-1.2.10-4.oe1.aarch64 - hisi_sec2-1.2.10-4.oe1.aarch64 - libkae-1.2.10-3.oe1.aarch64 - hisi_hpre-1.2.10-4.oe1.aarch64 - uacce-1.2.10-4.oe1.aarch64 - libwd-1.2.10-3.oe1.aarch64 - hisi_zip-1.2.10-4.oe1.aarch64 - ``` - - ```shell - # rpm -ql uacce hisi* libwd* libkae - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_qm.ko - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/uacce.ko - /etc/modprobe.d/hisi_hpre.conf - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_hpre.ko - /etc/modprobe.d/hisi_rde.conf - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_rde.ko - /etc/modprobe.d/hisi_sec2.conf - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_sec2.ko - /etc/modprobe.d/hisi_zip.conf - /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_zip.ko - /usr/include/warpdrive/config.h - /usr/include/warpdrive/include/uacce.h - /usr/include/warpdrive/smm.h - /usr/include/warpdrive/wd.h - /usr/include/warpdrive/wd_bmm.h - /usr/include/warpdrive/wd_cipher.h - /usr/include/warpdrive/wd_comp.h - /usr/include/warpdrive/wd_dh.h - /usr/include/warpdrive/wd_digest.h - /usr/include/warpdrive/wd_rsa.h - /usr/lib64/libwd.so.1.2.10 - /usr/local/lib/engines-1.1/libkae.so.1.2.10 - ``` - -6. 重启系统或通过命令行手动依次加载加速器引擎驱动到内核,并查看是否加载成功。 - - ```shell - # modprobe uacce - # lsmod | grep uacce - # modprobe hisi_qm - # lsmod | grep hisi_qm - # modprobe hisi_sec2 #加载hisi_sec2驱动时将根据/etc/modprobe.d/hisi_sec2.conf 下的配置文件加载到内核 - # modprobe hisi_hpre #加载hisi_hpre驱动时将根据/etc/modprobe.d/hisi_hpre.conf 下的配置文件加载到内核 - ``` - -##### 设置环境变量 - -通过以下命令导出环境变量:如果用户指定安装路径,则下面/usr/local应根据实际安装路径进行修改。 - -```shell -export OPENSSL_ENGINES=/usr/local/lib/engines-1.1 -``` - -##### 安装后检查 - -执行**rpm -qa**命令查看加速器引擎软件包是否安装成功。 - -打印信息中包含“ _软件包名-版本号-_ ”表示该软件包安装成功。示例如下。 - -```shell -# rpm -qa|grep -E "hisi|uacce|libwd|libkae" -hisi_rde-1.2.10-4.oe1.aarch64 -hisi_sec2-1.2.10-4.oe1.aarch64 -libkae-1.2.10-3.oe1.aarch64 -hisi_hpre-1.2.10-4.oe1.aarch64 -uacce-1.2.10-4.oe1.aarch64 -libwd-1.2.10-3.oe1.aarch64 -hisi_zip-1.2.10-4.oe1.aarch64 -``` - -#### 安装后操作 - -##### OpenSSL加速器引擎测试 - -用户可以通过以下命令测试部分加速器功能。 - -- 使用OpenSSL的软件算法测试RSA性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -elapsed rsa2048 - ... - sign verify sign/s verify/s - rsa 2048 bits 0.001384s 0.000035s 724.1 28365.8. - ``` - -- 使用KAE引擎的测试RSA性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -engine kae rsa2048 - .... - sign verify sign/s verify/s - rsa 2048 bits 0.000355s 0.000022s 2819.0 45478.4 - ``` - -> [!NOTE]说明 -> 使用KAE引擎加速后签名性能从724.1sign/s提升到2819sign/s。 - -- 使用OpenSSL的软件算法测试异步RSA性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -async_jobs 36 rsa2048 - .... - sign verify sign/s verify/s - rsa 2048 bits 0.001318s 0.000032s 735.7 28555 - ``` - -- 使用KAE引擎的测试异步RSA性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -engine kae -elapsed -async_jobs 36 rsa2048 - .... - sign verify sign/s verify/s - rsa 2048 bits 0.000018s 0.000009s 54384.1 105317.0 - ``` - -> [!NOTE]说明 -> 使用KAE引擎加速后异步RSA签名性能从735.7 sign/s提升到 54384.1sign/s。 - -- 使用OpenSSL的软件算法测试SM4 CBC模式性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -evp sm4-cbc - You have chosen to measure elapsed time instead of user CPU time. - .... - Doing sm4-cbc for 3s on 10240 size blocks: 2196 sm4-cbc's in 3.00s .... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - sm4-cbc 82312.53k 85196.80k 85284.18k 85000.85k 85284.18k 85261.26k - ``` - -- 使用KAE引擎的测试SM4 CBC模式性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -engine kae -evp sm4-cbc - engine "kae" set. - You have chosen to measure elapsed time instead of user CPU time. - ... - Doing sm4-cbc for 3s on 1048576 size blocks: 11409 sm4-cbc's in 3.00s - ... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - sm4-cbc 383317.33k 389427.20k 395313.15k 392954.73k 394264.58k 394264.58k - ``` - -> [!NOTE]说明 -> 使用KAE加速后SM4 CBC模式在输入数据块大小为8M时,从82312.53k/s提升到383317.33k/s。 - -- 使用OpenSSL的软件算法测试SM3模式性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -evp sm3 - You have chosen to measure elapsed time instead of user CPU time. - Doing sm3 for 3s on 102400 size blocks: 1536 sm3's in 3.00s - .... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - sm3 50568.53k 52428.80k 52428.80k 52428.80k 52428.80k 52428.80k - ``` - -- 使用KAE引擎测试SM3模式性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -engine kae -evp sm3 - engine "kae" set. - You have chosen to measure elapsed time instead of user CPU time. - Doing sm3 for 3s on 102400 size blocks: 19540 sm3's in 3.00s - .... - type 51200 bytes 102400 bytes 1048576 bytes 2097152 bytes 4194304 bytes 8388608 bytes - sm3 648243.20k 666965.33k 677030.57k 678778.20k 676681.05k 668292.44k - ``` - -> [!NOTE]说明 -> 使用KAE加速后SM3算法在输入数据块大小为8M时,从52428.80 k/s提升到668292.44k/s。 - -- 使用OpenSSL软件算法测试AES算法CBC模式异步性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -evp aes-128-cbc -async_jobs 4 - You have chosen to measure elapsed time instead of user CPU time. - Doing aes-128-cbc for 3s on 51200 size blocks: 65773 aes-128-cbc's in 3.00s - Doing aes-128-cbc for 3s on 102400 size blocks: 32910 aes-128-cbc's in 3.00s - .... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - aes-128-cbc 1122525.87k 1123328.00k 1120578.22k 1121277.27k 1119879.17k 1115684.86k - ``` - -- 使用KAE引擎测试AES算法CBC模式异步性能。 - - ```shell - linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -evp aes-128-cbc -async_jobs 4 -engine kae - engine "kae" set. - You have chosen to measure elapsed time instead of user CPU time. - Doing aes-128-cbc for 3s on 51200 size blocks: 219553 aes-128-cbc's in 3.00s - Doing aes-128-cbc for 3s on 102400 size blocks: 117093 aes-128-cbc's in 3.00s - .... - type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes - aes-128-cbc 3747037.87k 3996774.40k 1189085.18k 1196774.74k 1196979.11k 1199570.94k - ``` - -> [!NOTE]说明 -> AES仅支持数据长度为256KB及以下场景的异步使用。 -> 使用KAE加速后AES算法在输入数据块为100K大小时,从1123328.00k/s提升到3996774.40 k/s 。 - -### 升级加速器软件包 - -#### 使用场景 - -当需要更新加速器软件版本时可以使用rpm -Uvh方式进行升级。 - -#### 操作步骤 - -1. 从openEuler社区下载最新版本的加速引擎软件包。 -2. 使用SSH远程登录工具,以root帐号进入Linux操作系统命令行界面。 -3. 将下载下来的最新版本的软件包都放在某个路径下。 -4. 在存放软件包的路径下使用rpm -Uvh 命令升级加速器驱动包及引擎库包。示例如下。 - - 命令和信息回显如下所示。 - - ![](./figures/zh-cn_image_0231143189.png) - - ![](./figures/zh-cn_image_0231143191.png) - -5. 使用rpm -qa 命令查询是否升级成功。确认查询到的版本是最新的升级后版本。 - - ![](./figures/zh-cn_image_0231143193.png) - - ![](./figures/zh-cn_image_0231143195.png) - -6. 重启系统或通过命令行手动卸载旧版本驱动,然后加载新版本驱动,并查看是否加载成功 - - ```shell - 卸载旧驱动 - # lsmod | grep uacce - uacce 262144 3 hisi_hpre,hisi_sec2,hisi_qm - # - # rmmod hisi_hpre - # rmmod hisi_sec2 - # rmmod hisi_qm - # rmmod uacce - # lsmod | grep uacce - # - 加载新驱动# modprobe uacce - # modprobe hisi_qm# modprobe hisi_sec2 #加载hisi_sec2驱动时将根据/etc/modprobe.d/hisi_sec2.conf 下的配置文件加载到内核 - # modprobe hisi_hpre #加载hisi_hpre驱动时将根据/etc/modprobe.d/hisi_hpre.conf 下的配置文件加载到内核 - # lsmod | grep uacce - uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre - ``` - -### 卸载加速器软件包 - -#### 使用场景 - -用户不再使用加速引擎软件,或进行新版本加速引擎软件的安装。 - -#### 操作步骤 - -1. 使用SSH远程登录工具,以root帐号进入Linux操作系统命令行界面。 -2. 重启系统或通过命令行手动将已加载到内核的驱动卸载掉,并查看是否卸载成功。 - - ```shell - # lsmod | grep uacce - uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre - # rmmod hisi_hpre - # rmmod hisi_sec2 - # rmmod hisi_qm - # rmmod uacce - # lsmod | grep uacce - # - ``` - -3. 通过rpm -e 命令卸载加速引擎软件包。示例如下。 - - > [!NOTE]说明 - > 由于存在依赖关系,卸载libwd前须先卸载libkae引擎软件包。 - - ![](./figures/zh-cn_image_0231143196.png) - - ![](./figures/zh-cn_image_0231143197.png) - -4. 使用rpm -qa |grep 软件包名命令查询是否卸载成功。 - - ![](./figures/zh-cn_image_0231143198.png) - -## 日志查询 - -加速器引擎涉及日志信息如[表3](#table52821836)所示。 - -**表 3** 日志信息 - - - - - - - - - - - - - - - - -

目录

-

文件名

-

文件内容说明

-

/var/log/

-

kae.log

-

OpenSSL引擎日志默认打印等级为error级别,如需要设置日志级别按照如下操作:

-
  1. export KAE_CONF_ENV=/var/log/
  2. 在/var/log/下创建文件kae.cnf
  3. 在kae.cnf 文件中设置如下:

    [LogSection]

    -

    debug_level=error #取值内容none/error/info/warning/debug

    -
-
说明:

正常情况下不建议开启info或debug级别日志,否则会导致加速器性能的下降。

-
-

/var/log/

-

message/syslog

-
  • 内核日志路径为/var/log/message。
-
说明:

或通过dmesg > /var/log/dmesg.log日志收集内核相关日志,包含驱动及内核态日志。

-
-
- -## 加速引擎的应用 - -> [!NOTE]说明 -> 如果用户未购买引擎许可证,建议用户不要通过kae引擎调用相应算法,否则可能会影响openSSL加密算法的性能。 - -### KAE引擎使用示例代码 - -```c -#include - -#include - -/* OpenSSL headers */ - -#include - -#include - -#include - -#include - -int main(int argc, char **argv) - -{ - - /* Initializing OpenSSL */ - - SSL_load_error_strings(); - - ERR_load_BIO_strings(); - - OpenSSL_add_all_algorithms(); - - /*You can use ENGINE_by_id Function to get the handle of the Huawei Accelerator Engine*/ - - ENGINE *e = ENGINE_by_id("kae"); - - /*使能加速器异步功能,可选配置,设置为“0”表示不使能,设置为“1”表示使能,默认使能异步功能*/ - - ENGINE_ctrl_cmd_string(e, "KAE_CMD_ENABLE_ASYNC", "1", 0) - - ENGINE_init(e); - - - RSA *rsa = RSA_new_method(e);#指定引擎用于RSA加解密 - - /*The user code*/ - - …… - -; - - ENGINE_free(e); - -; - -} -``` - -### 通过OpenSSL配置文件openssl.cnf使用KAE引擎 - -新建openssl.cnf 需要添加如下配置信息 - -```text -openssl_conf=openssl_def -[openssl_def] -engines=engine_section -[engine_section] -kae=kae_section -[kae_section] -engine_id=kae -dynamic_path=/usr/local/lib/engines-1.1/kae.so -KAE_CMD_ENABLE_ASYNC=1 # 0,表示不使能异步功能,1表示使能异步功能,默认使能 -default_algorithms=ALL -init=1 -``` - -导出OPENSSL\_CONF环境变量: - -```shell -export OPENSSL_CONF=/home/app/openssl.cnf #该路径为openssl.cnf存放路径 -``` - -使用OpenSSL配置文件示例如下: - -```c -#include - -#include - -/* OpenSSL headers */ - -#include - -#include - -#include - -#include - -int main(int argc, char **argv) - -{ - - /* Initializing OpenSSL */ - - SSL_load_error_strings(); - - ERR_load_BIO_strings(); - -#Load openssl configure - -OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, NULL); OpenSSL_add_all_algorithms(); - - /*You can use ENGINE_by_id Function to get the handle of the Huawei Accelerator Engine*/ - - ENGINE *e = ENGINE_by_id("kae"); - - /*The user code*/ - - …… - -; - - ENGINE_free(e); - -; -} -``` - -## 故障处理 - -### 初始化失败 - -#### 故障现象 - -加速器引擎没有完全加载成功。 - -#### 处理步骤 - -1. 检查加速器驱动是否加载成功,运行lsmod 命令查看uacce.ko、qm.ko 、sgl.ko 、hisi\_sec2.ko 、hisi\_hpre.ko 、hisi\_zip.ko、 hisi\_rde.ko是否在位。 - - ```shell - # lsmod | grep uacce - uacce 262144 2 hisi_hpre,hisi_qm,hisi_sec2,hisi_zip,hisi_rde - ``` - -2. 检查/usr/lib64(RPM方式安装时目录)或者/usr/local/lib(源码方式安装时目录)和OpenSSL安装目录是否有加速器引擎库,且建立正确的软链接。 - - ```shell - # 查询kae是否正确安装并建立软链接,如果有正确安装显示如下内容 - # ll /usr/local/lib/engines-1.1/ |grep kae - lrwxrwxrwx. 1 root root 22 Nov 12 02:33 kae.so -> kae.so.1.0.1 - lrwxrwxrwx. 1 root root 22 Nov 12 02:33 kae.so.0 -> kae.so.1.0.1 - -rwxr-xr-x. 1 root root 112632 May 25 2019 kae.so.1.0.1 - - # 查询libwd是否正确安装并建立软链接,如果有正确安装显示如下内容 - # ll /usr/lib64/ | grep libwd - lrwxrwxrwx. 1 root root 14 Nov 12 02:33 libwd.so -> libwd.so.1.0.1 - lrwxrwxrwx. 1 root root 14 Nov 12 02:33 libwd.so.0 -> libwd.so.1.0.1 - -rwxr-xr-x. 1 root root 137120 May 25 2019 libwd.so.1.0.1 - ``` - -3. 检查OpenSSL引擎库的路径是否能通过export命令进行导出。 - - ```shell - # echo $OPENSSL_ENGINES - # export OPENSSL_ENGINES=/usr/local/lib/engines-1.1 - # echo $OPENSSL_ENGINES - /usr/local/lib/engines-1.1 - ``` - -### 安装完加速器引擎之后,查找不到加速器设备 - -#### 故障现象 - -安装完加速器引擎之后,查找不到加速器设备。 - -#### 解决方法 - -1. 检查虚拟文件系统下是否有相应设备。正常情况下有如下相应的加速器设备。 - - ```shell - # ls -al /sys/class/uacce/ - total 0 - lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/uacce/hisi_hpre-2 - lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/uacce/hisi_hpre-3 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-4 -> ../../devices/pci0000:78/0000:78:01.0/uacce/hisi_rde-4 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-5 -> ../../devices/pci0000:b8/0000:b8:01.0/uacce/hisi_rde-5 - lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/uacce/hisi_sec-0 - lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/uacce/hisi_sec-1 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_zip-6 -> ../../devices/pci0000:74/0000:74:00.0/0000:75:00.0/uacce/hisi_zip-6 - lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_zip-7 -> ../../devices/pci0000:b4/0000:b4:00.0/0000:b5:00.0/uacce/hisi_zip-7 - ``` - -2. 若要使用hpre设备但是在[1](#li1760055514614)中未查询到,请按[初始化失败](#初始化失败)排查加速器软件是否已正确安装。 -3. 若[2](#li1600175515610)已确认加速器软件正确安装,请通过lspci命令排查物理设备是否存在。 - - ```shell - # lspci | grep HPRE - 79:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) - b9:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) - ## lspci | grep SEC - 76:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21) - b6:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21) - ## lspci | grep RDE - 78:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) - b8:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) - ## lspci | grep ZIP - 75:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) - b5:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) - # - ``` - -4. 若[3](#li1560012551369)未查询到相应的物理设备,请确认以下,不分先后: - - 确认是否已导入加速器许可证,若未导入,请参考《[TaiShan 机架服务器 iBMC \(V500及以上\) 用户指南](https://support.huawei.com/enterprise/zh/doc/EDOC1100121687)》中“许可证管理”章节,导入加速器许可证。导入加速器许可证之后,需要掉电重启iBMC,使能License。 - - 确认iBMC和BIOS版本是否支持加速器特性。 - -### 升级加速器驱动失败 - -#### 故障现象 - -升级加速器驱动后,重启系统驱动版本仍为旧版本。 - -#### 可能原因 - -在升级加速器驱动前,系统更新了其他驱动包,这些驱动包可能重新更新了引导文件系统initramfs,将未升级前的加速器驱动一起更新到了initramfs文件系统中。例如系统更新了网卡驱动,或者人为更新了initramfs文件系统,导致系统重启时优先从initramfs文件系统中加载加速器驱动。 - -#### 处理步骤 - -升级加速器驱动版本后,通过执行dracut \-\-force命令重新更新initramfs文件系统。 diff --git a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-caution.gif b/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-caution.gif and /dev/null differ diff --git a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-danger.gif b/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-danger.gif and /dev/null differ diff --git a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-note.gif b/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-notice.gif b/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-notice.gif and /dev/null differ diff --git a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-tip.gif b/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-tip.gif deleted file mode 100644 index 93aa72053b510e456b149f36a0972703ea9999b7..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-tip.gif and /dev/null differ diff --git a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-warning.gif b/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-warning.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/system_optimization/atune/public_sys-resources/icon-warning.gif and /dev/null differ diff --git a/docs/zh/server/performance/overall/system_resource/_toc.yaml b/docs/zh/server/performance/system_resource/_toc.yaml similarity index 100% rename from docs/zh/server/performance/overall/system_resource/_toc.yaml rename to docs/zh/server/performance/system_resource/_toc.yaml diff --git a/docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001335457246.png b/docs/zh/server/performance/system_resource/images/zh-cn_image_0000001335457246.png similarity index 100% rename from docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001335457246.png rename to docs/zh/server/performance/system_resource/images/zh-cn_image_0000001335457246.png diff --git a/docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001336448570.png b/docs/zh/server/performance/system_resource/images/zh-cn_image_0000001336448570.png similarity index 100% rename from docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001336448570.png rename to docs/zh/server/performance/system_resource/images/zh-cn_image_0000001336448570.png diff --git a/docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001337039920.png b/docs/zh/server/performance/system_resource/images/zh-cn_image_0000001337039920.png similarity index 100% rename from docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001337039920.png rename to docs/zh/server/performance/system_resource/images/zh-cn_image_0000001337039920.png diff --git a/docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001384808269.png b/docs/zh/server/performance/system_resource/images/zh-cn_image_0000001384808269.png similarity index 100% rename from docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001384808269.png rename to docs/zh/server/performance/system_resource/images/zh-cn_image_0000001384808269.png diff --git a/docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001385585749.png b/docs/zh/server/performance/system_resource/images/zh-cn_image_0000001385585749.png similarity index 100% rename from docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001385585749.png rename to docs/zh/server/performance/system_resource/images/zh-cn_image_0000001385585749.png diff --git a/docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001385611905.png b/docs/zh/server/performance/system_resource/images/zh-cn_image_0000001385611905.png similarity index 100% rename from docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001385611905.png rename to docs/zh/server/performance/system_resource/images/zh-cn_image_0000001385611905.png diff --git a/docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001385905845.png b/docs/zh/server/performance/system_resource/images/zh-cn_image_0000001385905845.png similarity index 100% rename from docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001385905845.png rename to docs/zh/server/performance/system_resource/images/zh-cn_image_0000001385905845.png diff --git a/docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001386149037.png b/docs/zh/server/performance/system_resource/images/zh-cn_image_0000001386149037.png similarity index 100% rename from docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001386149037.png rename to docs/zh/server/performance/system_resource/images/zh-cn_image_0000001386149037.png diff --git a/docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001389098425.png b/docs/zh/server/performance/system_resource/images/zh-cn_image_0000001389098425.png similarity index 100% rename from docs/zh/server/performance/overall/system_resource/images/zh-cn_image_0000001389098425.png rename to docs/zh/server/performance/system_resource/images/zh-cn_image_0000001389098425.png diff --git a/docs/zh/server/performance/overall/system_resource/system_resources_and_performance.md b/docs/zh/server/performance/system_resource/system_resources_and_performance.md similarity index 100% rename from docs/zh/server/performance/overall/system_resource/system_resources_and_performance.md rename to docs/zh/server/performance/system_resource/system_resources_and_performance.md diff --git a/docs/zh/server/performance/tuning_framework/oeaware/_toc.yaml b/docs/zh/server/performance/tuning_framework/oeaware/_toc.yaml deleted file mode 100644 index 7436917c2ce03e67b886f86a5b26e0e35ac46923..0000000000000000000000000000000000000000 --- a/docs/zh/server/performance/tuning_framework/oeaware/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: oeAware用户指南 -isManual: true -description: 动态感知系统行为后,智能使能系统的调优特性 -sections: - - label: oeAware用户指南 - href: ./oeaware_user_guide.md diff --git a/docs/zh/server/performance/tuning_framework/oeaware/figures/dep-failed.png b/docs/zh/server/performance/tuning_framework/oeaware/figures/dep-failed.png deleted file mode 100644 index 7c98140ff9545ba7943c04cb2dc414fcc39b03e4..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/tuning_framework/oeaware/figures/dep-failed.png and /dev/null differ diff --git a/docs/zh/server/performance/tuning_framework/oeaware/figures/dep.png b/docs/zh/server/performance/tuning_framework/oeaware/figures/dep.png deleted file mode 100644 index 06875fc73adae0a4379e30722a9864197212c55a..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/performance/tuning_framework/oeaware/figures/dep.png and /dev/null differ diff --git "a/docs/zh/server/performance/tuning_framework/oeaware/figures/\344\276\235\350\265\226\345\205\263\347\263\273.png" "b/docs/zh/server/performance/tuning_framework/oeaware/figures/\344\276\235\350\265\226\345\205\263\347\263\273.png" deleted file mode 100644 index 0f4c65a2533cebc54f6dedf4e6eba2d232b1feeb..0000000000000000000000000000000000000000 Binary files "a/docs/zh/server/performance/tuning_framework/oeaware/figures/\344\276\235\350\265\226\345\205\263\347\263\273.png" and /dev/null differ diff --git a/docs/zh/server/performance/tuning_framework/oeaware/oeaware_user_guide.md b/docs/zh/server/performance/tuning_framework/oeaware/oeaware_user_guide.md deleted file mode 100644 index ea90b002446a58da2fc7f359e357d1aa1fef2d28..0000000000000000000000000000000000000000 --- a/docs/zh/server/performance/tuning_framework/oeaware/oeaware_user_guide.md +++ /dev/null @@ -1,637 +0,0 @@ -# oeAware用户指南 - -## 简介 - -oeAware是在openEuler上实现低负载采集感知调优的框架,目标是动态感知系统行为后智能使能系统的调优特性。传统调优特性都以独立运行且静态打开关闭为主,oeAware将调优拆分采集、感知和调优三层,每层通过订阅方式关联,各层采用插件式开发尽可能复用。 - -## 安装 - -配置openEuler的yum源,使用yum命令安装。在openEuler-22.03-LTS-SP4版本中会默认安装。 - -```shell -yum install oeAware-manager -``` - -## 使用方法 - -首先启动oeaware服务,然后通过`oeawarectl`命令进行使用。 - -### 服务启动 - -通过systemd服务启动。安装完成后会默认启动。 - -```shell -systemctl start oeaware -``` - -### 配置文件 - -配置文件路径:/etc/oeAware/config.yaml - -```yaml -log_path: /var/log/oeAware #日志存储路径 -log_level: 1 #日志等级 1:DEBUG 2:INFO 3:WARN 4:ERROR -enable_list: #默认使能插件 - - name: libtest.so #只配置插件,使能本插件的所有实例 - - name: libtest1.so #配置插件实例,使能配置的插件实例 - instances: - - instance1 - - instance2 - ... - ... -plugin_list: #可支持下载的包 - - name: test #名称需要唯一,如果重复取第一个配置 - description: hello world - url: https://gitee.com/openeuler/oeAware-manager/raw/master/README.md #url非空 - ... -``` - -修改配置文件后,通过以下命令重启服务。 - -```shell -systemctl restart oeaware -``` - -### 插件说明 - -**插件定义**:一个插件对应一个.so文件,插件分为采集插件、感知插件和调优插件。 - -**实例定义**:服务中的调度单位是实例,一个插件中包括多个实例。例如,一个采集插件包括多个采集项,每个采集项是一个实例。 - -### 插件加载 - -服务会默认加载插件存储路径下的插件。 - -插件路径:/usr/lib64/oeAware-plugin/ - -另外也可以通过手动加载的方式加载插件。 - -```shell -oeawarectl -l | --load <插件名> -``` - -示例 - -```shell -[root@localhost ~]# oeawarectl -l libthread_collect.so -Plugin loaded successfully. -``` - -失败返回错误说明。 - -### 插件卸载 - -```shell -oeawarectl -r <插件名> | --remove <插件名> -``` - -示例 - -```shell -[root@localhost ~]# oeawarectl -r libthread_collect.so -Plugin remove successfully. -``` - -失败返回错误说明。 - -### 插件查询 - -#### 查询插件状态信息 - -```shell -oeawarectl -q #查询系统中已经加载的所有插件 -oeawarectl --query <插件名> #查询指定插件 -``` - -示例 - -```shell -[root@localhost ~]# oeawarectl -q -Show plugins and instances status. ------------------------------------------------------------- -libsystem_tune.so - stealtask_tune(available, close, count: 0) - smc_tune(available, close, count: 0) - xcall_tune(available, close, count: 0) - seep_tune(available, close, count: 0) -libpmu.so - pmu_counting_collector(available, close, count: 0) - pmu_sampling_collector(available, close, count: 0) - pmu_spe_collector(available, close, count: 0) - pmu_uncore_collector(available, close, count: 0) -libdocker_tune.so - docker_cpu_burst(available, close, count: 0) -libthread_scenario.so - thread_scenario(available, close, count: 0) -libsystem_collector.so - thread_collector(available, close, count: 0) - kernel_config(available, close, count: 0) - command_collector(available, close, count: 0) -libdocker_collector.so - docker_collector(available, close, count: 0) -libub_tune.so - unixbench_tune(available, close, count: 0) -libanalysis_oeaware.so - analysis_aware(available, close, count: 0) ------------------------------------------------------------- -format: -[plugin] - [instance]([dependency status], [running status], [enable cnt]) -dependency status: available means satisfying dependency, otherwise unavailable. -running status: running means that instance is running, otherwise close. -enable cnt: number of instances enabled. -``` - -失败返回错误说明。 - -#### 查询调优实例信息 - -```shell -oeawarectl --info -``` - -显示调优实例描述信息及运行状态。 - -#### 查询运行实例订阅关系 - -```shell -oeawarectl -Q #查询所有运行实例的订阅关系图 -oeawarectl --query-dep= <插件实例> #查询运行实例订阅关系图 -``` - -在当前目录下生成dep.png,显示订阅关系。 - -实例未运行,不会显示订阅关系。 - -示例 - -```sh -oeawarectl -e thread_scenario -oeawarectl -Q -``` - -![img](./figures/dep.png) - -### 插件实例使能 - -#### 使能插件实例 - -```shell -oeawarectl -e | --enable <插件实例> -``` - -使能某个插件实例,会将其订阅的topic实例一起使能。 - -失败返回错误说明。 - -推荐使能插件列表: - -- libsystem_tune.so:stealtask_tune,smc_tune,xcall_tune,seep_tune。 -- libub_tune.so:unixbench_tune。 -- libtune_numa.so:tune_numa_mem_access。 - -其他插件主要用来提供数据,可通过sdk获取插件数据。 - -#### 关闭插件实例 - -```shell -oeawarectl -d | --disable <插件实例> -``` - -关闭某个插件实例,会将其订阅的topic实例一起关闭。 - -失败返回错误说明。 - -### 插件下载安装 - -通过`--list`命令查询支持下载的rpm包和已安装的插件。 - -```shell -oeawarectl --list -``` - -查询结果如下。 - -```shell -Supported Packages: #可下载的包 -[name1] #config中配置的plugin_list -[name2] -... -Installed Plugins: #已安装的插件 -[name1] -[name2] -... -``` - -通过`--install`命令下载安装rpm包。 - -```shell -oeawarectl -i | --install #指定--list下查询得到的包名称(Supported Packages下的包) -``` - -失败返回错误说明。 - -### 分析模式 - -```sh -oeawarectl analysis -h -usage: oeawarectl analysis [options]... - options - -t|--time set analysis duration in seconds(default 30s), range from 1 to 100. - -r|--realtime show real time report. - -v|--verbose show verbose information. - -h|--help show this help message. - --l1-miss-threshold set l1 tlbmiss threshold. - --l2-miss-threshold set l2 tlbmiss threshold. -``` - ---l1-miss-threshold用于设置l1-tlb—miss阈值,超过这个阈值miss率为high。 - ---l2-miss-threshold用于设置l2-tlb—miss阈值,超过这个阈值miss率为high。 - -示例 - -执行以下命令,输出系统分析报告。 - -```sh -oeawarectl analysis -t 10 -``` - -报告分为三部分: - -- Data Analysis:根据系统运行状态,给出系统性能数据分析。 -- Analysis Conclusion:给出系统分析结论。 -- Analysis Suggestion:给出具体调优方法。 - -### 帮助 - -通过`--help`查看帮助。 - -```shell -usage: oeawarectl [options]... - options - analysis run analysis mode. - -l|--load [plugin] load plugin. - -r|--remove [plugin] remove plugin from system. - -e|--enable [instance] enable the plugin instance. - -d|--disable [instance] disable the plugin instance. - -q query all plugins information. - --query [plugin] query the plugin information. - -Q query all instances dependencies. - --query-dep [instance] query the instance dependency. - --list the list of supported plugins. - --info the list of InfoCmd plugins. - -i|--install [plugin] install plugin from the list. - --help show this help message. -``` - -## 插件开发说明 - -### 基础数据结构 - -```c++ -typedef struct { - char *instanceName; // 实例名称 - char *topicName; // 主题名称 - char *params; // 参数 -} CTopic; - -typedef struct { - CTopic topic; - unsigned long long len; // data数组的长度 - void **data; // 存储的数据 -} DataList; - -const int OK = 0; -const int FAILED = -1; - -typedef struct { - int code; // 成功返回OK,失败返回FAILED - char *payload; // 附带信息 -} Result; - -``` - -### 实例基类 - -```c++ -namespace oeaware { -// Instance type. -const int TUNE = 0b10000; -const int SCENARIO = 0b01000; -const int RUN_ONCE = 0b00010; -class Interface { -public: - virtual Result OpenTopic(const Topic &topic) = 0; - virtual void CloseTopic(const Topic &topic) = 0; - virtual void UpdateData(const DataList &dataList) = 0; - virtual Result Enable(const std::string ¶m = "") = 0; - virtual void Disable() = 0; - virtual void Run() = 0; -protected: - std::string name; - std::string version; - std::string description; - std::vector supportTopics; - int priority; - int type; - int period; -} -} -``` - -实例开发继承实例基类,实现6个虚函数,并对类的7个属性赋值。 - -实例采用订阅发布模式,通过Subscribe获取数据,通过Publish接口发布数据。 - -### 属性说明 - -| 属性 | 类型 | 说明 | -| --- | --- | --- | -| name | string | 实例名称 | -| version | string | 实例版本(预留) | -| description | string | 实例描述 | -| supportTopics | vector\ | 支持的topic | -| priority | int | 实例执行的优先级 (调优 > 感知 > 采集)| -| type | int | 实例类型,通过比特位标识,第二位表示单次执行实例,第三位表示采集实例,第四位表示感知实例,第5位表示调优实例| -| period | int | 实例执行周期,单位ms,period为10的倍数 | - -### 接口说明 - -| 函数名 | 参数 | 返回值 | 说明 | -| --- | --- | --- | --- | -|Result OpenTopic(const Topic &topic) | topic:打开的主题 | | 打开对应的topic | -| void CloseTopic(const Topic &topic) | topic:关闭的主题| |关闭对应的topic | -| void UpdateData(const DataList &dataList) | dataList:订阅的数据 | | 当订阅topic时,被订阅的topic每周期会通过UpdateData更新数据 | -| Result Enable(const std::string ¶m = "") | param:预留 | | 使能本实例 | -| void Disable() | | | 关闭本实例 | -| void Run() | | | 每周期会执行run函数 | - -### 实例示例 - -```C++ -#include -#include - -class Test : public oeaware::Interface { -public: - Test() { - name = "TestA"; - version = "1.0"; - description = "this is a test plugin"; - supportTopics; - priority = 0; - type = 0; - period = 20; - } - oeaware::Result OpenTopic(const oeaware::Topic &topic) override { - return oeaware::Result(OK); - } - void CloseTopic(const oeaware::Topic &topic) override { - - } - void UpdateData(const DataList &dataList) override { - for (int i = 0; i < dataList.len; ++i) { - ThreadInfo *info = static_cast(dataList.data[i]); - INFO(logger, "pid: " << info->pid << ", name: " << info->name); - } - } - oeaware::Result Enable(const std::string ¶m = "") override { - Subscribe(oeaware::Topic{"thread_collector", "thread_collector", ""}); - return oeaware::Result(OK); - } - void Disable() override { - - } - void Run() override { - DataList dataList; - oeaware::SetDataListTopic(&dataList, "test", "test", ""); - dataList.len = 1; - dataList.data = new void* [1]; - dataList.data[0] = &pubData; - Publish(dataList); - } -private: - int pubData = 1; -}; - -extern "C" void GetInstance(std::vector> &interfaces) -{ - interfaces.emplace_back(std::make_shared()); -} -``` - -## 内部插件 - -### libpmu.so - -| 实例名称 | 架构 | 说明 | topic | -| --- | --- | --- | --- | -| pmu_counting_collector | aarch64 | 采集count相关事件 |cycles,net:netif_rx,L1-dcache-load-misses,L1-dcache-loads,L1-icache-load-misses,L1-icache-loads,branch-load-misses,branch-loads,dTLB-load-misses,dTLB-loads,iTLB-load-misses,iTLB-loads,cache-references,cache-misses,l2d_tlb_refill,l2d_cache_refill,l1d_tlb_refill,l1d_cache_refill,inst_retired,instructions | -| pmu_sampling_collector | aarch64 | 采集sample相关事件 | cycles, skb:skb_copy_datagram_iovec,net:napi_gro_receive_entry | -| pmu_spe_collector | aarch64 | 采集spe事件 | spe | -| pmu_uncore_collector | aarch64 | 采集uncore事件 | uncore | - -#### 限制条件 - -采集spe事件需要依赖硬件能力,此插件运行依赖 BIOS 的 SPE,运行前需要将 SPE 打开。 - -运行perf list | grep arm_spe查看是否已经开启SPE,如果开启,则有如下显示: - -```sh -arm_spe_0// [Kernel PMU event] -``` - -如果没有开启,则按下述步骤开启。 - -检查BIOS配置项 MISC Config --> SPE 的状态, 如果状态为 Disable,则需要更改为 Enable。如果找不到这个选项,可能是BIOS版本过低。 - -进入系统 vim /boot/efi/EFI/openEuler/grub.cfg,定位到内核版本对应的开机启动项,在末尾增加“kpti=off”。例如: - -```sh -linux /vmlinuz-4.19.90-2003.4.0.0036.oe1.aarch64 root=/dev/mapper/openeuler-root ro rd.lvm.lv=openeuler/root rd.lvm.lv=openeuler/swap video=VGA-1:640x480-32@60me rhgb quiet smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 crashkernel=1024M,high video=efifb:off video=VGA-1:640x480-32@60me kpti=off -``` - -按“ESC”,输入“:wq”,按“Enter”保存并退出。执行reboot命令重启服务器。 - -### libsystem_collector.so - -系统信息采集插件。 -| 实例名称 | 架构 | 说明 | topic | -| --- | --- | --- | --- | -| thread_collector | aarch64/x86 | 采集系统中的线程信息 | thread_collector | -| kernel_config | aarch64/x86| 采集内核相关参数,包括sysctl所有参数、lscpu、meminfo等 | get_kernel_config,get_cmd,set_kernel_config | -| command_collector | aarch64/x86 | 采集sysstat相关数据 | mpstat,iostat,vmstat,sar,pidstat | - -### libdocker_collector.so - -docker信息采集插件。 -| 实例名称 | 架构 | 说明 | topic | -| --- | --- | --- | --- | -| docker_collector | aarch64/x86 | 采集docker相关信息 | docker_collector | - -### libthread_scenario.so - -线程感知插件。 -| 实例名称 | 架构 | 说明 | 订阅 | -| --- | --- | --- | --- | -| thread_scenario | aarch64/x86 | 通过配置文件获取对应线程信息 | thread_collector::thread_collector | - -#### 配置文件 - -thread_scenario.conf - -```sh -redis -fstime -fsbuffer -fsdisk -``` - -### libanalysis_oeaware.so - -| 实例名称 | 架构 | 说明 | 订阅 | -| --- | --- | --- | --- | -| analysis_aware | 分析当前环境的业务特征,并给出优化建议 | aarch64 | pmu_spe_collector::spe, pmu_counting_collector::net:netif_rx, pmu_sampling_collector::cycles, pmu_sampling_collector::skb:skb_copy_datagram_iovec, pmu_sampling_collector::net:napi_gro_receive_entry | - -### libsystem_tune.so - -系统调优插件。 -| 实例名称 | 架构 | 说明 | 订阅 | -| --- | --- | --- | --- | -| stealtask_tune | aarch64 | 高负载场景下,通过轻量级搜索算法,实现多核间快速负载均衡,最大化cpu资源利用率 | 无 | -| smc_tune | aarch64 | 使能smc加速,对使用tcp协议的连接无感加速 | 无 | -| xcall_tune | aarch64 | 通过减少系统调用底噪,提升系统性能 | thread_collector::thread_collector | -| seep_tune | aarch64 | 使能智能功耗模式,降低系统能耗 | 无 | -| transparent_hugepage_tune | aarch64/x86 | 开启透明大页,降低tlbmiss | 无 | -| preload_tune | aarch64 | 无感加载动态库 | 无 | - -#### 配置文件 - -xcall.yaml - -``` yaml -redis: # 线程名称 - - xcall_1: 1 #xcall_1表示xcall优化方式,目前只有xcall_1; 1表示需要优化系统调用号 -mysql: - - xcall_1: 1 -node: - - xcall_1: 1 -``` - -preload.yaml - -路径:/etc/oeAware/preload.yaml - -```yaml -- appname: "" - so: "" -``` - -通过执行oeawarectl -e preload_tune命令, 根据配置文件给对应进程加载so。 - -#### 限制条件 - -xcall_tune依赖内核特性,需要开启FAST_SYSCALL编译内核,并且在cmdline里增加xcall字段。 - -### libub_tune.so - -unixbench调优插件。 -| 实例名称 | 架构 | 说明 | 订阅 | -| --- | --- | --- | --- | -| unixbench_tune | aarch64/x86 | 通过减少远端内存访问,优化ub性能 | thread_collector::thread_collector | - -### libdocker_tune.so - -| 实例名称 | 架构 | 说明 | 订阅 | -| --- | --- | --- | --- | -| docker_cpu_burst | aarch64 | 在出现突发负载时,CPUBurst可以为容器临时提供额外的CPU资源,缓解CPU限制带来的性能瓶颈 | pmu_counting_collector::cycles,docker_collector::docker_collector | - -## 外部插件 - -外部插件需要通过以下命令安装,例如安装numafast相关插件。 - -```sh -oeawarectl -i numafast -``` - -### libscenario_numa.so - -| 实例名称 | 架构 | 说明 | 订阅 | topic | -| --- | --- | --- | --- | --- | -| scenario_numa | aarch64 | 感知当前环境跨NUMA访存比例,用于实例或sdk订阅(无法单独使能) | pmu_uncore_collector::uncore | system_score | - -### libtune_numa.so - -| 实例名称 | 架构 | 说明 | 订阅 | -| --- | --- | --- | --- | -| tune_numa_mem_access | aarch64 | 周期性迁移线程和内存,减少跨NUMA内存访问 | scenario_numa::system_score, pmu_spe_collector::spe, pmu_counting_collector::cycles | - -## SDK使用说明 - -```C -typedef int(*Callback)(const DataList *); -int OeInit(); // 初始化资源,与server建立链接 -int OeSubscribe(const CTopic *topic, Callback callback); // 订阅topic,异步执行callback -int OeUnsubscribe(const CTopic *topic); // 取消订阅topic -int OePublish(const DataList *dataList); // 发布数据到server -void OeClose(); // 释放资源 -``` - -**示例** - -```C -#include "oe_client.h" -#include "command_data.h" -int f(const DataList *dataList) -{ - int i = 0; - for (; i < dataList->len; i++) { - CommandData *data = (CommandData*)dataList->data[i]; - for (int j = 0; j < data->attrLen; ++j) { - printf("%s ", data->itemAttr[j]); - } - printf("\n"); - } - return 0; -} -int main() { - OeInit(); - CTopic topic = { - "command_collector", - "sar", - "-q 1", - }; - if (OeSubscribe(&topic, f) < 0) { - printf("failed\n"); - } else { - printf("success\n"); - } - sleep(10); - OeClose(); -} -``` - -## 约束限制 - -### 功能约束 - -oeAware默认集成了arm的微架构采集libkperf模块,该模块同一时间只能有一个进程进行调用,如其他进程调用或者使用perf命令可能存在冲突。 - -### 操作约束 - -当前oeAware仅支持root组用户进行操作,sdk支持root组和oeaware组用户使用。 - -## 注意事项 - -oeAware的配置文件和插件用户组和权限有严格校验,不要对oeAware的相关文件进行权限和用户组进行修改。 - -权限说明: - -- 插件文件:440 - -- 客户端执行文件:750 - -- 服务端执行文件:750 - -- 服务配置文件:640 diff --git a/docs/zh/server/quickstart/quickstart/quick_start.md b/docs/zh/server/quickstart/quickstart/quick_start.md index c6e9602e79115f23e5c705d2a645bb8d1feeb535..1829b8ce002562e0e0565c19a1dab2a4ca8e2615 100644 --- a/docs/zh/server/quickstart/quickstart/quick_start.md +++ b/docs/zh/server/quickstart/quickstart/quick_start.md @@ -1,6 +1,6 @@ # 快速入门 -本文档以TaiShan 200服务器上安装openEuler 25.03为例,旨在指导用户快速地安装和使用openEuler操作系统,更详细的安装要求和安装方法请参考《[安装指南](../../installation_upgrade/installation/installation.md)》。 +本文档以TaiShan 200服务器上安装openEuler 25.03为例,旨在指导用户快速地安装和使用openEuler操作系统,更详细的安装要求和安装方法请参考《[安装指南](../../installation_upgrade/installation/installation_on_servers.md)》。 ## 安装要求 diff --git a/docs/zh/server/releasenotes/releasenotes/_toc.yaml b/docs/zh/server/quickstart/releasenotes/_toc.yaml similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/_toc.yaml rename to docs/zh/server/quickstart/releasenotes/_toc.yaml diff --git a/docs/zh/server/releasenotes/releasenotes/account_list.md b/docs/zh/server/quickstart/releasenotes/account_list.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/account_list.md rename to docs/zh/server/quickstart/releasenotes/account_list.md diff --git a/docs/zh/server/releasenotes/releasenotes/acknowledgment.md b/docs/zh/server/quickstart/releasenotes/acknowledgment.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/acknowledgment.md rename to docs/zh/server/quickstart/releasenotes/acknowledgment.md diff --git a/docs/zh/server/releasenotes/releasenotes/contribution.md b/docs/zh/server/quickstart/releasenotes/contribution.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/contribution.md rename to docs/zh/server/quickstart/releasenotes/contribution.md diff --git a/docs/zh/server/releasenotes/releasenotes/cve.md b/docs/zh/server/quickstart/releasenotes/cve.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/cve.md rename to docs/zh/server/quickstart/releasenotes/cve.md diff --git a/docs/zh/server/releasenotes/releasenotes/introduction.md b/docs/zh/server/quickstart/releasenotes/introduction.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/introduction.md rename to docs/zh/server/quickstart/releasenotes/introduction.md diff --git a/docs/zh/server/releasenotes/releasenotes/key_features.md b/docs/zh/server/quickstart/releasenotes/key_features.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/key_features.md rename to docs/zh/server/quickstart/releasenotes/key_features.md diff --git a/docs/zh/server/releasenotes/releasenotes/known_issues.md b/docs/zh/server/quickstart/releasenotes/known_issues.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/known_issues.md rename to docs/zh/server/quickstart/releasenotes/known_issues.md diff --git a/docs/zh/server/releasenotes/releasenotes/os_installation.md b/docs/zh/server/quickstart/releasenotes/os_installation.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/os_installation.md rename to docs/zh/server/quickstart/releasenotes/os_installation.md diff --git a/docs/zh/server/development/llvm/public_sys-resources/icon-caution.gif b/docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-caution.gif similarity index 100% rename from docs/zh/server/development/llvm/public_sys-resources/icon-caution.gif rename to docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-caution.gif diff --git a/docs/zh/server/development/llvm/public_sys-resources/icon-danger.gif b/docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-danger.gif similarity index 100% rename from docs/zh/server/development/llvm/public_sys-resources/icon-danger.gif rename to docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-danger.gif diff --git a/docs/en/tools/community_tools/image_custom/image_tailor/public_sys-resources/icon-note.gif b/docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-note.gif similarity index 100% rename from docs/en/tools/community_tools/image_custom/image_tailor/public_sys-resources/icon-note.gif rename to docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-note.gif diff --git a/docs/zh/server/development/llvm/public_sys-resources/icon-notice.gif b/docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-notice.gif similarity index 100% rename from docs/zh/server/development/llvm/public_sys-resources/icon-notice.gif rename to docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-notice.gif diff --git a/docs/zh/server/development/llvm/public_sys-resources/icon-tip.gif b/docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-tip.gif similarity index 100% rename from docs/zh/server/development/llvm/public_sys-resources/icon-tip.gif rename to docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-tip.gif diff --git a/docs/zh/server/development/llvm/public_sys-resources/icon-warning.gif b/docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-warning.gif similarity index 100% rename from docs/zh/server/development/llvm/public_sys-resources/icon-warning.gif rename to docs/zh/server/quickstart/releasenotes/public_sys-resources/icon-warning.gif diff --git a/docs/zh/server/releasenotes/releasenotes/resolved_issues.md b/docs/zh/server/quickstart/releasenotes/resolved_issues.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/resolved_issues.md rename to docs/zh/server/quickstart/releasenotes/resolved_issues.md diff --git a/docs/zh/server/releasenotes/releasenotes/source_code.md b/docs/zh/server/quickstart/releasenotes/source_code.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/source_code.md rename to docs/zh/server/quickstart/releasenotes/source_code.md diff --git a/docs/zh/server/releasenotes/releasenotes/terms_of_use.md b/docs/zh/server/quickstart/releasenotes/terms_of_use.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/terms_of_use.md rename to docs/zh/server/quickstart/releasenotes/terms_of_use.md diff --git a/docs/zh/server/releasenotes/releasenotes/user_notice.md b/docs/zh/server/quickstart/releasenotes/user_notice.md similarity index 100% rename from docs/zh/server/releasenotes/releasenotes/user_notice.md rename to docs/zh/server/quickstart/releasenotes/user_notice.md diff --git a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-caution.gif b/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-caution.gif and /dev/null differ diff --git a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-danger.gif b/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-danger.gif and /dev/null differ diff --git a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-note.gif b/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-notice.gif b/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-notice.gif and /dev/null differ diff --git a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-tip.gif b/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-tip.gif deleted file mode 100644 index 93aa72053b510e456b149f36a0972703ea9999b7..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-tip.gif and /dev/null differ diff --git a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-warning.gif b/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-warning.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/releasenotes/releasenotes/public_sys-resources/icon-warning.gif and /dev/null differ diff --git a/docs/zh/server/security/cve-ease/_toc.yaml b/docs/zh/server/security/cve-ease/_toc.yaml deleted file mode 100644 index f035c8244a6797edf2d8f8552bbc72df82f37979..0000000000000000000000000000000000000000 --- a/docs/zh/server/security/cve-ease/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: CVE_ease设计指南 -isManual: true -description: 帮助用户快速应对系统漏洞 -sections: - - label: CVE_ease设计介绍 - href: ./cve_ease_design_introduction.md - - label: CVE_ease介绍和安装说明 - href: ./cve_ease_introduction_and_installation_instructions.md diff --git a/docs/zh/server/security/cve-ease/cve_ease_design_introduction.md b/docs/zh/server/security/cve-ease/cve_ease_design_introduction.md deleted file mode 100644 index e3649141a70900c60e029f35e94df942f0b6b97b..0000000000000000000000000000000000000000 --- a/docs/zh/server/security/cve-ease/cve_ease_design_introduction.md +++ /dev/null @@ -1,33 +0,0 @@ -# CVE-ease设计介绍 - -## 概述 - -CVE(通用漏洞披露)是关乎系统安全稳定的关键信息,因此对CVE信息的处理和管理就显得尤为重要。基于此,开发CVE-ease的CVE漏洞管理系统,以实现漏洞信息实时获取、管理和播报。 - -## 主要功能 - -CVE-ease主要有以下功能: - -* CVE信息获取和分析 -* CVE信息整理和存放 -* 历史CVE和实时CVE信息查看 -* CVE状态实时跟踪 -* CVE动态信息实时播报 - -## 模块功能 - -![](./figures/CVE-ease_desigin_table.png) - -### 3.1 CVE获取 - -当CVE-ease运行时,系统会按照特定时间间隔从CVE披露网站抓取CVE信息。抓取CVE信息前,需要对CVE数据库进行扫描。建立已有CVE编号的索引,并测试系统和各CVE平台是否连通。抓取过程中,首先抓取最新披露的CVE信息编号,再根据CVE编号抓取CVE描述等具体信息,如果信息正常抓取到,流程结束。否则重新执行抓取,直到抓取到。 - -### 3.2 CVE信息整理和存放 - -抓取到的CVE需要进行整理,按照特定的数据结构放入数据库,并计算特征值。如果爬取到的CVE编号不存在于数据库中,则直接放入漏洞数据库,如果存在,则对比特征值是否一致,不一致则根据差异对该条CVE内容进行更新。 - -### 3.3 历史CVE和实时CVE信息查看 - -在用户交互界面,可以通过交互指令查询特定的CVE信息。默认展示的是最新的前10条CVE信息,也可通过修改指令选项来查询特定范围的历史CVE信息(CVE分数,年份等)。 - -![](./figures/CVE-ease_function.png) diff --git a/docs/zh/server/security/cve-ease/cve_ease_introduction_and_installation_instructions.md b/docs/zh/server/security/cve-ease/cve_ease_introduction_and_installation_instructions.md deleted file mode 100644 index 92090a72f8ed7a355fd642dac5b413159bafb87e..0000000000000000000000000000000000000000 --- a/docs/zh/server/security/cve-ease/cve_ease_introduction_and_installation_instructions.md +++ /dev/null @@ -1,567 +0,0 @@ -# CVE-ease project - -## 项目介绍 - -CVE-ease -是一个专注于CVE信息的平台,它搜集了社区发布的各种CVE信息,并通过邮件、微信、钉钉等多种渠道及时通知用户。用户可以通过CVE-ease平台查看CVE信息的详细内容,包括漏洞描述、影响范围、修复建议等,并根据自己的系统情况选择合适的修复方案。 - -CVE-ease 平台旨在帮助用户快速了解和应对系统中存在的漏洞,提高系统安全性和稳定性。 - -CVE-ease 是**天翼云自主创新项目**,它已经在欧拉社区开放源码,严格遵循**Mulan PSL2**开源规范,期待社区的朋友们加入项目开发,共同打造一个安全、稳定、可靠的国产操作系统生态。 - -开源说明: - -* 本仓库**严格**遵循 [木兰宽松许可证, 第2版](http://license.coscl.org.cn/MulanPSL2)。 -* **本仓库严格遵守 天翼云科技有限公司 开源规范,经过严格的审核和准备,提交优质开源项目,相关的文档和资料都皆以齐备**。 -* 本仓库由公司指派专人负责,**LTS长期跟进维护**,持续孵化产出。 - -## 软件架构 - -CVE-ease是一个专注于CVE信息的平台,它的架构主要由四个模块组成,分别是CVE爬虫、CVE分析器、CVE通知器和CVE前端。下面我们分别介绍这四个模块的功能和设计。 - -* CVE爬虫 - -这个模块负责从openEuler社区提供的各个CVE数据源抓取CVE信息,并将其存储到MySQL等关系型数据库中。这些关键信息主要来源于cve-manager项目。目前,cve-manager支持从以下数据源获取CVE信息:NVD、CNNVD、CNVD、RedHat、Ubuntu、Debian等。CVE-ease使用Python编写了多个爬虫脚本,每个脚本对应一个数据源,可以定时或手动运行。爬虫脚本会将抓取到的原始CVE信息格式化后持久化存储,以便后续的分析和处理。 - -* CVE分析器 - -这个模块负责对CVE信息进行解析、归类、评分等操作。CVE-ease使用Python编写了一个分析器脚本,它会定期从关系型数据库中读取原始CVE信息,并进行以下操作:解析CVE信息的基本属性(如编号、标题、描述等)、归类CVE信息的影响范围(如操作系统、软件包等)、评分CVE信息的危害程度(如CVSS评分等)、匹配CVE信息的修复建议(如补丁链接等)。分析器脚本会将处理后的结构化CVE信息以SQL格式持久化到数据库中,以便后续的查询和展示。 - -* CVE通知器 - -这个模块负责根据用户的订阅配置,通过邮件、微信、钉钉等方式发送CVE通知给用户。CVE-ease使用Python编写了一个通知器脚本,它会定期从MySQL数据库中读取结构化CVE信息,并进行以下操作:过滤出用户关注的影响范围(如操作系统、软件包等)、生成适合不同渠道的通知内容(如文本、图片等)、调用不同渠道的API发送通知给用户(如SMTP协议发送邮件、HTTP协议发送微信或钉钉消息等)。通知器脚本会记录发送结果和反馈情况,并更新MySQL数据库中的订阅状态。 - -* CVE前端 - -这个模块负责提供一个友好的cli终端命令,让用户可以查看、搜索、订阅CVE信息。 - -CVE-ease的架构设计旨在实现高效、灵活、可扩展的CVE信息平台,为用户提供及时准确地安全漏洞情报服务。 - -## 研发规划 - -1. repodata 适配多厂家 OSV( Operating System Software Provider ) -2. motd 登录播报功能 -3. dnf 插件扩展修复功能 -4. 自动修复特定包功能 -5. 增加特定包感知功能 -6. ... - -**我们非常欢迎您对 CVE-ease 研发方向的宝贵意见,如果您有任何想法或建议,请不要犹豫,尽情地与我们分享,我们将十分感激~** - -## 安装教程 - -目前CVE-ease处于快速迭代研发阶段,支持的安装方式有,直接安装,容器安装,rpm包安装。 - -### 直接安装 - -```shell -git clone https://gitee.com/openeuler/cve-ease cve-ease.git -cd cve-ease.git/cve-ease -make install -``` - -### 容器安装 - -```shell -git clone https://gitee.com/openeuler/cve-ease cve-ease.git -cd cve-ease.git/cve-ease -make run-in-docker -``` - -### rpm包安装 - -```shell -git clone https://gitee.com/openeuler/cve-ease cve-ease.git -cd cve-ease.git/cve-ease -make gensrpm -cd .. -rpm -ivh *.src.rpm -cd ~/rpmbuild -rpmbuild -ba SPECS/cve-ease.spec -cd RPMS/noarch -rpm -ivh *.rpm -``` - -## 使用说明 - -### 帮助信息 - -* cve-ease命令不带任何参数,则显示帮助信息。 -* cve-ease子命令有多个,按类别分为basic、info、notifier。 -* help子命令用于显示不同类别命令帮助信息。 - -```shell -# cve-ease - -Available commands: - -basic commands: - config Print cve-ease config - daemon Run as daemon without interactive - motd Motd info manager - service Service manager - -info commands: - cve OpenEuler CVE info - cvrf OpenEuler CVRF info - db Database manager - help List available commands - logger Logger config - repodata Repodata info - rpm Rpm info - sa OpenEuler security notice info - -notifier commands: - dingding Notifier of dingding - feishu Notifier of feishu - mail163 Notifier of mail163 - mailqq Notifier of mailqq - wecom Notifier of wecom - -Try "cve-ease --help" for help about global gconfig -Try "cve-ease help" to get all available commands -Try "cve-ease --help" for help about the gconfig of a particular command -Try "cve-ease help " to get commands under a particular category -Available commands are: basic, info, notifier - -# cve-ease help info -Available commands: - -info commands: - cve OpenEuler CVE info - cvrf OpenEuler CVRF info - db Database manager - help List available commands - logger Logger config - repodata Repodata info - rpm Rpm info - sa OpenEuler security notice info - -Try "cve-ease --help" for help about global gconfig -Try "cve-ease help" to get all available commands -Try "cve-ease --help" for help about the gconfig of a particular command -Try "cve-ease help " to get commands under a particular category -Available commands are: basic, info, notifier -``` - -### 配置文件 - -配置文件位于 ```/etc/cve-ease/cve-ease.cfg```: - -```shell -[main] -pid_file_path = /var/log/cve-ease/cve-ease.pid -lock_file_path = /var/log/cve-ease/cve-ease.lock - -# log configuration - -# debug/ error(default) / warn -log_level = debug -log_file_path = /var/log/cve-ease/cve-ease.log -log_maxbytes = 10240 -log_backup_num = 30 - -# sql configuration -db_type = sqlite -db_file_path = /usr/share/cve-ease/cve-ease.db -db_user = -db_password = -db_host = -db_port = -product = openEuler-23.09 -expiration_days = 14 - -# notifier -notifier_record_num = 9 - -# filter -focus_on = kernel,systemd,openssh,openssl - -[wecom] -enabled = 1 -# https://developer.work.weixin.qq.com/document/path/91770?version=4.0.19.6020&platform=win -# https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=fe9eae1f-xxxx-4ae3-xxxx-ecf9f77abba6 - -update_key = 2142ef2a-d99d-417d-8c31-b550b0fcb4e3 -status_key = 2142ef2a-d99d-417d-8c31-b550b0fcb4e3 - - -[dingding] -enabled = 1 -# just for test -update_key = 81907155a6cc88004e1ed6bcdd86c68d5b21565ed59d549ca031abc93d90d9cb -status_key = 81907155a6cc88004e1ed6bcdd86c68d5b21565ed59d549ca031abc93d90d9cb - - -[feishu] -enabled = 1 -# just for test -update_key = 5575739b-f59d-48db-b737-63672b2c32ab -status_key = 5575739b-f59d-48db-b737-63672b2c32ab - - -[mail163] -enabled = 0 -mail_sender = xxxxxxx@163.com -mail_recver = xxxxxxx@163.com -mail_smtp_token = xxxxxx - - -[mailqq] -enabled = 0 -mail_sender = xxxxxxx@qq.com -mail_recver = xxxxxxx@qq.com -mail_smtp_token = xxxxxxxx -``` - -### CVE-ease服务 - -CVE-ease服务包含 cve-ease.service 和 cve-ease.timer 两个文件,基于systemd timer机制实现周期周期执行。 - -```shell -# /usr/lib/systemd/system/cve-ease.timer -# CTyunOS cve-ease: MulanPSL2 -# -# This file is part of cve-ease. -# - -[Unit] -Description=CTyunOS cve-ease Project -Documentation=https://gitee.com/openeuler/cve-ease - -[Timer] -OnBootSec=1m -OnUnitActiveSec=10m -RandomizedDelaySec=10 - -[Install] -WantedBy=timers.target -``` - -```shell -# systemctl enable --now cve-ease.timer -Created symlink /etc/systemd/system/timers.target.wants/cve-ease.timer → /usr/lib/systemd/system/cve-ease.timer. -# systemctl status cve-ease.timer -● cve-ease.timer - CTyunOS cve-ease Project - Loaded: loaded (/usr/lib/systemd/system/cve-ease.timer; enabled; vendor preset: disabled) - Active: active (waiting) since Sat 2023-03-18 17:55:53 CST; 5s ago - Trigger: Sat 2023-03-18 18:05:55 CST; 9min left - Docs: https://gitee.com/openeuler/cve-ease - -Mar 18 17:55:53 56d941221b41 systemd[1]: Started CTyunOS cve-ease Project. -# systemctl status cve-ease.service -● cve-ease.service - CTyunOS cve-ease project - Loaded: loaded (/usr/lib/systemd/system/cve-ease.service; disabled; vendor preset: disabled) - Active: inactive (dead) since Sat 2023-03-18 17:55:56 CST; 5s ago - Docs: https://gitee.com/openeuler/cve-ease - Process: 196 ExecStart=/usr/bin/cve-ease daemon (code=exited, status=0/SUCCESS) - Main PID: 196 (code=exited, status=0/SUCCESS) - -Mar 18 17:55:53 56d941221b41 systemd[1]: Starting CTyunOS cve-ease project... -Mar 18 17:55:56 56d941221b41 systemd[1]: cve-ease.service: Succeeded. -Mar 18 17:55:56 56d941221b41 systemd[1]: Started CTyunOS cve-ease project. -``` - -### basic基础命令 - -#### config配置相关子命令 - -```shell -Usage: cve-ease config -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -r, --rawdata print raw config file content -``` - -```shell -cve-ease config # 显示配置文件路径及有效配置 -cve-ease config -r # 显示配置文件路径及裸数据 -``` - -#### daemon服务 - -* daemon命令用户systemd service服务入口,一般不直接执行。 -* 该服务由对应cve-ease 的systemd timer服务定时执行。 - -```shell -# /usr/lib/systemd/system/cve-ease.service -# CTyunOS cve-ease: MulanPSL2 -# -# This file is part of cve-ease. -# - -[Unit] -Description=CTyunOS cve-ease project -Documentation=https://gitee.com/openeuler/cve-ease - -[Service] -Type=oneshot -ExecStart=/usr/bin/cve-ease daemon - -[Install] -WantedBy=multi-user.target -``` - -#### motd更新通知相关子命令 - -* TODO 待实现。 - -#### service相关子命令 - -CVE-ease服务的相关控制命令: - -```shell -Usage: cve-ease service -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -k, --kill kill cve-ease service - -r, --restart restart cve-ease service - -s, --status get cve-ease service status - -v, --verbose show verbose output -``` - -```shell -cve-ease service -k # 暂停cve-ease服务 -cve-ease service -r # 重启cve-ease服务 -cve-ease service -s # 查看cve-ease服务状态 -``` - -### info信息类别命令 - -#### cve子命令 - -爬取openEuler社区CVE公告信息,地址: [openEuler 官方CVE公告](https://www.openeuler.org/zh/security/cve/) - -```shell -Usage: cve-ease cve -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -r, --rawdata get cve cache and print raw data without write db - -m, --makecache get cve cache - -l, --list list all cve info - -t, --total get cve info statistics - -v, --verbose show verbose output -``` - -```shell -cve-ease cve -m # 爬取 CVE 信息并写入数据库 -cve-ease cve -l # 从数据库获取并格式化显示 CVE 信息 -cve-ease cve -t # 从数据库获取并显示 CVE 统计信息 -cve-ease cve -r # 爬取 CVE 信息并显示裸数据(未写入数据库) -``` - -#### sa子命令 - -爬取openEuler社区安全公告信息,地址: [openEuler 官方CVE公告](https://www.openeuler.org/zh/security/safety-bulletin/) - -```shell -Usage: cve-ease sa -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -r, --rawdata get sa cache and print raw data without write db - -m, --makecache get sa cache - -l, --list list all sa info - -t, --total get sa info statistics - -v, --verbose show verbose output -``` - -```shell -cve-ease sa -m # 爬取 SA 信息并写入数据库 -cve-ease sa -l # 从数据库获取并格式化显示 SA 信息 -cve-ease sa -t # 从数据库获取并显示 SA 统计信息 -cve-ease sa -r # 爬取 SA 信息并显示裸数据(未写入数据库) -``` - -#### cvrf子命令 - -安全公告相关: - -```shell -cve-ease cvrf -m # 爬取 CVRF 信息并写入数据库 -cve-ease cvrf -l # 从数据库获取并格式化显示 CVRF 信息 -cve-ease cvrf -t # 从数据库获取并显示 CVRF 统计信息 -``` - -#### rpm子命令 - -```shell -Usage: cve-ease rpm -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -l, --list list all rpm info - -v, --verbose show verbose output -``` - -```shell -cve-ease rpm -l # 调用rpm接口列出当前系统中已安装的rpm包信息 -``` - -#### repodata子命令 - -```shell -Usage: cve-ease repodata -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -m, --makecache cache repodata to database - -p PRODUCT, --product=PRODUCT - specific product (work with --check) - --osv=OSV specific osv rpm release - -t, --total get total rpm statistics - -l, --list list all rpm - -c, --check check repo cve - -v, --verbose show verbose output -``` - -```shell -cve-ease repodata -p ctyunos2 -m # 选定ctyunos2作为OSV版本,缓存ctyunos2的源数据,写入数据库 -cve-ease repodata --osv ctyunos2 -p openEuler-23.09 -c # ctyunos2的源于openEuler源做比对 -cve-ease repodata -l # 列出数据库中包含的包信息 -cve-ease repodata -t # 获取数据库中源包的统计信息 -``` - -#### logger子命令 - -```shell -Usage: cve-ease logger -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -l, --list list all logger info - -t, --total get logger statistics - -v, --verbose show verbose output -``` - -#### db子命令 - -```shell -Usage: cve-ease db -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -p, --purge purge db and recreate it (Danger Operation) - -s, --stats get database statistics - -v, --verbose show verbose output -``` - -### notifier消息通知类命令 - -#### wecom企业微信群聊机器人 - -```shell -Usage: cve-ease wecom -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease wecom -t # 发送测试消息到企业微信群 -cve-ease wecom -t -c 'helloworld' # 发送自定义测试消息到企业微信群 -``` - -#### dingding钉钉群聊机器人 - -```shell -Usage: cve-ease dingding -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease dingding -t # 发送测试消息到钉钉群 -cve-ease dingding -t -c 'helloworld' # 发送自定义测试消息到钉钉群 -``` - -#### feishu飞书群聊机器人 - -```shell -Usage: cve-ease feishu -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease feishu -t # 发送测试消息到飞书群 -cve-ease feishu -t -c 'helloworld' # 发送自定义测试消息到飞书群 -``` - -#### mail163邮箱 - -```shell -Usage: cve-ease mail163 -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease mail163 -t # 发送测试消息到163邮箱 -cve-ease mail163 -t -c 'helloworld' # 发送自定义测试消息到163邮箱 -``` - -#### mailqq邮箱 - -```shell -Usage: cve-ease mailqq -(Specify the --help global option for a list of other help options) - -Options: - -h, --help show this help message and exit - -t, --test run test - -v, --verbose show verbose output - -c CONTENT, --content=CONTENT - show verbose output -``` - -```shell -cve-ease mailqq -t # 发送测试消息到QQ邮箱 -cve-ease mailqq -t -c 'helloworld' # 发送自定义测试消息到QQ邮箱 -``` - -## 如何参与贡献 - -1. Fork 本仓库。 -2. 当前快速迭代期间,仅 master 分支,因此您只需在 master 做变更后提交。 -3. 创建 pr ,描述清楚 pr 的具体功能、作用,并提供相关测试用例。 -4. 通知仓库 maintainer 审核 pr。 - -## 核心研发人员及联系方式 - -* 游益锋 - [Gitee私信](https://gitee.com/youyifeng) -* 吴开顺 - [Gitee私信](https://gitee.com/wuzimo) diff --git a/docs/zh/server/security/cve-ease/figures/CVE-ease_desigin_table.png b/docs/zh/server/security/cve-ease/figures/CVE-ease_desigin_table.png deleted file mode 100644 index 8164b9a10207a376200a162ec153b536a1d32e22..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/security/cve-ease/figures/CVE-ease_desigin_table.png and /dev/null differ diff --git a/docs/zh/server/security/cve-ease/figures/CVE-ease_function.png b/docs/zh/server/security/cve-ease/figures/CVE-ease_function.png deleted file mode 100644 index b645dc750378127ca11b49720deba12569a884bc..0000000000000000000000000000000000000000 Binary files a/docs/zh/server/security/cve-ease/figures/CVE-ease_function.png and /dev/null differ diff --git a/docs/zh/server/security/secharden/file_permissions.md b/docs/zh/server/security/secharden/file_permissions.md index b8d36fcc1c71e0572d1ab31f5e91a582ae811ac5..1750e5eab1e4a79f6f00e137c80b93a3ae1e7a8f 100644 --- a/docs/zh/server/security/secharden/file_permissions.md +++ b/docs/zh/server/security/secharden/file_permissions.md @@ -79,7 +79,7 @@ openEuler默认对系统中的常用目录、可执行文件和配置文件设 ### 特殊场景 -openEuler系统安装完成后,可能存在空链接文件,这些空链接文件可能有对应用途(有些空链接文件是预制的,会被其他组件依赖)。请用户根据实际环境进行处理,处理方式请参见[实现](#zh-cn_topic_0152100319_s1b24647cdd834a8eaca3032611baf072)。 +openEuler系统安装完成后,可能存在空链接文件,这些空链接文件可能有对应用途(有些空链接文件是预制的,会被其他组件依赖)。请用户根据实际环境进行处理,处理方式请参见[实现](#zh-cn_topic_0152100319_l4dc74664c4fb400aaf91fb314c4f9da6)。 例如,openEuler支持UEFI和legacy BIOS两种安装模式,两种引导场景支持的grub相关包默认都安装,当用户选择legacy BIOS模式安装时,形成空链接文件“/etc/grub2-efi.cfg”;当用户选择UEFI模式安装时,会形成空链接文件“/etc/grub2.cfg”,需要用户根据实际情况处理空链接。 diff --git a/docs/zh/server/security/trusted_computing/ima.md b/docs/zh/server/security/trusted_computing/ima.md index 1b05dbc3428b5e44f7fc1940cc342ddd1f612242..d05af1af26a17b652258842a068ea6c97a649c96 100644 --- a/docs/zh/server/security/trusted_computing/ima.md +++ b/docs/zh/server/security/trusted_computing/ima.md @@ -681,7 +681,7 @@ yum install ima-evm-utils digest-list-tools **/etc/ima/digest_lists/0-metadata_list-compact-\** -为IMA摘要列表文件,通过`gen_digest_lists`命令生成(生成方法详见[gen_digest_lists工具](#gen_digest_list工具)),该文件为二进制格式,包含header信息以及一连串SHA256哈希值,分别代表合法的文件内容摘要值和文件扩展属性摘要值。该文件被度量或评估后,最终被导入内核,并以该文件中的白名单摘要值为基准进行IMA摘要列表度量或评估。 +为IMA摘要列表文件,通过`gen_digest_lists`命令生成(生成方法详见[gen_digest_lists工具](#gen-digest-lists工具)),该文件为二进制格式,包含header信息以及一连串SHA256哈希值,分别代表合法的文件内容摘要值和文件扩展属性摘要值。该文件被度量或评估后,最终被导入内核,并以该文件中的白名单摘要值为基准进行IMA摘要列表度量或评估。 **/etc/ima/digest_lists/0-metadata_list-rpm-\** diff --git a/docs/zh/tools/_toc.yaml b/docs/zh/tools/_toc.yaml index 96d2b3cd87385d88de4f0539fa63476225d6f150..24f8b6c44c5c51fec2feb5b886fd86871802afd8 100644 --- a/docs/zh/tools/_toc.yaml +++ b/docs/zh/tools/_toc.yaml @@ -7,4 +7,4 @@ sections: - href: ./cloud/_toc.yaml - href: ./maintenance/_toc.yaml - href: ./security/_toc.yaml - - href: ./ros/_toc.yaml + - href: ./application/_toc.yaml diff --git a/docs/zh/tools/application/_toc.yaml b/docs/zh/tools/application/_toc.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8a828e3ef4a56a30399f4e2a3aa2c3eefd751e4c --- /dev/null +++ b/docs/zh/tools/application/_toc.yaml @@ -0,0 +1,4 @@ +label: 拓展应用 +sections: + - href: + upstream: https://gitee.com/openeuler/ros/blob/master/docs/zh/_toc.yaml diff --git a/docs/zh/tools/cloud/_toc.yaml b/docs/zh/tools/cloud/_toc.yaml index 41d9591a2a98c9f33a213c01e6727a4132f0cc0a..ecc8238a6500ea33637ce4b68378bf0c516c7e52 100644 --- a/docs/zh/tools/cloud/_toc.yaml +++ b/docs/zh/tools/cloud/_toc.yaml @@ -1,5 +1,9 @@ label: 云原生工具 sections: - href: ./ctinspector/_toc.yaml - - href: ./cpds/_toc.yaml - - href: ./pilotgo/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/Cpds/blob/master/docs/zh/_toc.yaml + path: ./cpds + - href: + upstream: https://gitee.com/openeuler/PilotGo/blob/master/docs/zh/_toc.yaml + path: ./pilotgo diff --git a/docs/zh/tools/cloud/cpds/_toc.yaml b/docs/zh/tools/cloud/cpds/_toc.yaml deleted file mode 100644 index 4801d63f15109dafb6f4baa2bd3e460a93f9f73c..0000000000000000000000000000000000000000 --- a/docs/zh/tools/cloud/cpds/_toc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -label: CPDS用户指南 -isManual: true -description: 使用 CPDS 监测容器故障及亚健康状态 -sections: - - label: CPDS介绍 - href: ./cpds_introduction.md - - label: 安装与部署 - href: ./installation_and_deployment.md - - label: 使用方法 - href: ./usage_instructions.md diff --git a/docs/zh/tools/cloud/cpds/cpds_introduction.md b/docs/zh/tools/cloud/cpds/cpds_introduction.md deleted file mode 100644 index b0c8b3a4f7177ecccf8c09da14a8de368a0f7206..0000000000000000000000000000000000000000 --- a/docs/zh/tools/cloud/cpds/cpds_introduction.md +++ /dev/null @@ -1,57 +0,0 @@ -# CPDS介绍 - -## 概述 - -CPDS (Container Problem Detect System) 容器故障检测系统,是由北京凝思软件股份有限公司设计并开发的容器集群故障检测系统,该软件系统实现了对容器TOP故障、亚健康检测的监测与识别。 - -## 软件功能 - - **1. 采集集群信息** - -在宿主机上实现节点代理,采用systemd、initv、ebpf等技术,对容器关键服务进行监控;对节点网络、内核、磁盘LVM等相关信息进行采集;对容器内的应用状态、资源消耗情况、关键系统函数执行情况、io执行状态等执行异常进行监控。 - -**2. 集群异常检测** - -采集各节点原始数据,基于异常规则对采集的原始数据进行异常检测,提取关键信息。同时基于异常规则对采集数据进行异常检测,后将检测结果数据和原始数据进行在线上传,并同步进行持久化操作。 - -**3. 节点、业务容器故障/亚健康诊断** - -基于异常检测数据,对节点、业务容器进行故障/亚健康诊断,将分析检测结果进行持久化存储,并提供UI层进行实时、历史的诊断数据查看。 - -## 软件架构 - -CPDS (Container Problem Detect System) 容器故障检测系统由4个组件组成,如下图所示,整体采用微服务架构,组件之间通过API进行通信。 - -![Architecture](images/architecture.png) - -* [cpds-agent](https://gitee.com/openeuler/cpds-agent):信息采集组件,负责采集集群各节点的容器和系统原始数据。 - -* [cpds-detector](https://gitee.com/openeuler/cpds-detector):异常检测组件,根据配置的异常规则对各节点原始数据进行分析,检测节点是否存在异常。 - -* [cpds-analyzer](https://gitee.com/openeuler/cpds-analyzer):故障/亚健康诊断组件,根据配置的诊断规则,对异常节点进行健康分析,计算出节点当前健康状态。 - -* [cpds-dashboard](https://gitee.com/openeuler/cpds-dashboard):用户交互组件,提供web页面,对集群内节点健康情况进行展示,支持诊断规则配置下发。 - -## 特性 - -CPDS支持对以下故障项进行检测。 - -| 序号 | 故障检测项 | -| ---- | ---------- | -| 1 | 容器服务是否正常 | -| 2 | 容器节点代理是否正常 | -| 3 | 容器组是否正常 | -| 4 | 节点健康检测是否正常 | -| 5 | 日志采集是否正常 | -| 6 | 磁盘用量占容量85% | -| 7 | 网络故障 | -| 8 | 内核Crash故障 | -| 9 | 残留LVM盘故障 | -| 10 | CPU使用率超过85% | -| 11 | 节点监控是否正常 | -| 12 | 容器内存申请失败 | -| 13 | 容器内存申请超时 | -| 14 | 容器网络响应超时 | -| 15 | 容器磁盘读写缓慢 | -| 16 | 容器应用僵尸子进程监测 | -| 17 | 容器应用占用子进程、线程创建失败监测 | diff --git a/docs/zh/tools/cloud/cpds/images/architecture.png b/docs/zh/tools/cloud/cpds/images/architecture.png deleted file mode 100644 index c92664dc42d195e60c46946d0ce224db3fc22dd9..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/cloud/cpds/images/architecture.png and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\345\233\276\350\241\250.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\345\233\276\350\241\250.png" deleted file mode 100644 index 3f3929f2cb29a8a211852af1d468322d52b6e1af..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\345\233\276\350\241\250.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\346\243\200\347\264\242.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\346\243\200\347\264\242.png" deleted file mode 100644 index da9ab5d92c314be3e97560c449b8e55ff6cc44aa..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\345\216\237\345\247\213\346\225\260\346\215\256\346\243\200\347\264\242.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\345\270\203\345\261\200.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\345\270\203\345\261\200.png" deleted file mode 100644 index be9a66c364e92b3376766c59f3cebeebe123daec..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\345\270\203\345\261\200.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\346\227\266\351\227\264\350\214\203\345\233\264\351\200\211\346\213\251.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\346\227\266\351\227\264\350\214\203\345\233\264\351\200\211\346\213\251.png" deleted file mode 100644 index f4abd49e0bf2f62b6bea4968bf13a131f859918a..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\346\227\266\351\227\264\350\214\203\345\233\264\351\200\211\346\213\251.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\345\216\237\345\247\213\346\225\260\346\215\256.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\345\216\237\345\247\213\346\225\260\346\215\256.png" deleted file mode 100644 index a6d27210ed11f2c2ae66068d0ebd74121fa62437..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\345\216\237\345\247\213\346\225\260\346\215\256.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\350\247\204\345\210\231.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\350\247\204\345\210\231.png" deleted file mode 100644 index f896cdb44a15c527fec3a8df8e6149673f194aeb..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\346\237\245\347\234\213\350\247\204\345\210\231.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\346\267\273\345\212\240\350\247\204\345\210\231.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\346\267\273\345\212\240\350\247\204\345\210\231.png" deleted file mode 100644 index 599665e676bc623604bee376e883524838dd663a..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\346\267\273\345\212\240\350\247\204\345\210\231.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\201\245\345\272\267.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\201\245\345\272\267.png" deleted file mode 100644 index 75adbc5d24a46edfe914b2c7e1297882388058fd..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\201\245\345\272\267.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" deleted file mode 100644 index 9ba876561699f46b49f6bc0cc8815d0b5806087b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247\346\216\222\345\272\217.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247\346\216\222\345\272\217.png" deleted file mode 100644 index a88de9fd4d87411ed5348a3cf43d4bfcd3ea4395..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247\346\216\222\345\272\217.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210-\346\214\211\351\222\256.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210-\346\214\211\351\222\256.png" deleted file mode 100644 index e0ceb89269e6f8a161a2613ae9c542199161e1c8..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210-\346\214\211\351\222\256.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210.png" deleted file mode 100644 index 6f5fd9a5728bb416638feba8174cfb499e5e8f7a..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\346\246\202\350\247\210.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" deleted file mode 100644 index c0253de34176db4b23e1491a86bb7892966a7c96..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\212\202\347\202\271\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\257\212\346\226\255\347\273\223\346\236\234.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\350\257\212\346\226\255\347\273\223\346\236\234.png" deleted file mode 100644 index ffec25e8ff163efc47c38b23fc180ce8188d38dc..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\350\257\212\346\226\255\347\273\223\346\236\234.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244-\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244-\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" deleted file mode 100644 index 5924d73d2b659d92387a19521fd0692d07601046..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244-\345\256\271\345\231\250\345\201\245\345\272\267\347\233\221\346\216\247.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\346\246\202\350\247\210.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\346\246\202\350\247\210.png" deleted file mode 100644 index 351614ce5254748c4d233a2189f3f4a71d2f546a..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\346\246\202\350\247\210.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" deleted file mode 100644 index 5256783e5f907232f3cbd3655b8ee81c03c0ffdd..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\211\251\347\220\206\350\265\204\346\272\220\347\233\221\346\216\247.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\212\266\346\200\201-\346\246\202\350\247\210.png" "b/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\212\266\346\200\201-\346\246\202\350\247\210.png" deleted file mode 100644 index 751887e223d0a323feee7baef3202ed23e6ce5de..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/cpds/images/cpds-page/\351\233\206\347\276\244\347\212\266\346\200\201-\346\246\202\350\247\210.png" and /dev/null differ diff --git a/docs/zh/tools/cloud/cpds/installation_and_deployment.md b/docs/zh/tools/cloud/cpds/installation_and_deployment.md deleted file mode 100644 index 4f90b7abae414f19a5ffb2826e6efe3424edaa0a..0000000000000000000000000000000000000000 --- a/docs/zh/tools/cloud/cpds/installation_and_deployment.md +++ /dev/null @@ -1,258 +0,0 @@ -# 安装与部署 - -本章介绍如何安装和部署CPDS。 - -## 安装CPDS - -本节介绍CPDS的安装方法。 - -安装cpds-agent。 - -> cpds-agent采集节点原始数据,可在多个节点上单独安装部署。 - -```shell -yum install cpds-agent -``` - -安装cpds-detector - -```shell -yum install cpds-detector -``` - -安装cpds-analyzer - -```shell -yum install cpds-analyzer -``` - -安装cpds-dashboard - -```shell -yum install cpds-dashboard -``` - -安装Cpds - -```shell -yum install Cpds -``` - -## 部署CPDS - -本节介绍CPDS的配置部署。 - -### 配置介绍 - -#### cpds-agent配置 - -cpds-agent采集节点网络信息是采用向指定ip发送icmp包的方式,即"net_diagnostic_dest"需要指定可连接的ip地址,不可指定本节点ip。建议节点指定master的ip,master指定任意一节点ip。 - -```bash -vim /etc/cpds/agent/config.json -``` - -```json -{ - "expose_port":"20001", # 需要监听的端口 - "log_cfg_file": "/etc/cpds/agent/log.conf", - "net_diagnostic_dest": "192.30.25.18" # 发送icmp包的目的ip -} -``` - -#### prometheus配置 - -CPDS 使用prometheus采集cpds-agent产生的原始数据。cpds-agent默认开放20001端口,需编辑prometheus配置文件,连接至cpds-agent以采集数据。 - -```bash -vim /etc/prometheus/prometheus.yml -``` - -```yaml -global: - scrape_interval: 2s - evaluation_interval: 3s -scrape_configs: - - job_name: "cpds" - static_configs: - - targets: ["cpds-agent1:port","cpds-agent2:port","..."] # 填入已部署cpds-agent的ip和端口号 -``` - -#### cpds-detector配置 - -```bash -vim /etc/cpds/detector/config.yml -``` - -```yaml -generic: - bindAddress: "127.0.0.1" # 需要监听的地址 - port: 19091 # 需要监听的端口 - -database: - host: "127.0.0.1" # 数据库 ip 地址 - port: 3306 # 数据库端口号 - username: root # 数据库用户名 - password: root # 数据库密码 - maxOpenConnections: 123 # 最大连接数 - -prometheus: - host: "127.0.0.1" #detector ip 地址 - port: 9090 #prometheus 端口号 - -log: - fileName: "/var/log/cpds/cpds-detector/cpds-detector.log" - level: "warn" - maxAge: 15 - maxBackups: 100 - maxSize: 100 - localTime: true - compress: true -``` - -#### cpds-analyzer配置 - -```bash -vim /etc/cpds/analyzer/config.yml -``` - -```yaml -generic: - bindAddress: "127.0.0.1" # 需要监听的地址 - port: 19091 # 需要监听的端口 - -database: - host: "127.0.0.1" # 数据库 ip 地址 - port: 3306 # 数据库端口号 - username: root # 数据库用户名 - password: root # 数据库密码 - maxOpenConnections: 123 # 最大连接数 - -detector: - host: "127.0.0.1" #detector ip 地址 - port: 19092 #detector 端口号 - -log: - fileName: "/var/log/cpds/cpds-analyzer/cpds-analyzer.log" - level: "warn" - maxAge: 15 - maxBackups: 100 - maxSize: 100 - localTime: true -``` - -#### cpds-dashboard配置 - -```bash -vim /etc/nginx/conf.d/cpds-ui.conf -``` - -```conf -server { - listen 10119; - - location / { - root /etc/cpds/cpds-ui/; - index index.html index.htm; - } - - location /api/ { - proxy_pass http://127.0.0.1:19091; # 后端 analyzer 的 ip 和端口 - } - - location /websocket/ { - proxy_pass http://127.0.0.1:19091; # 后端 analyzer 的 ip 和端口 - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-Proto http; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - } -} -``` - -## 启动CPDS - -本节介绍CPDS的启动方法。 - -### 关闭防火墙 - -```shell -systemctl stop firewalld -systemctl disable firewalld -``` - -修改/etc/selinux/config文件中SELINUX状态为disabled。 - -```conf -SELINUX=disabled -``` - -再重启系统。 - -### 初始化数据库 - -1. 启动数据库 - - ```shell - systemctl start mariadb.service - systemctl enable mariadb.service - ``` - -2. 在root权限下初始化数据库 - - ```shell - /usr/bin/mysql_secure_installation - ``` - - > 命令执行过程中需要输入数据库的root设置的密码,若没有密码则直接按“Enter”。然后根据提示及实际情况进行设置。 - -3. 设置数据库连接权限 - - ```shell - mysql -u root -p - ``` - - 命令执行后提示输入密码。密码为2中设置的密码。 - - ```shell - GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; - ``` - - > 其中username为数据库用户名,password为该用户的密码。 - - 例如: - - ```shell - mysql -u root -p - Enter password: - Welcome to the MariaDB monitor. Commands end with ; or \g. - Your MariaDB connection id is 5 - Server version: 10.5.16-MariaDB MariaDB Server - - Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. - - Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - - MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; - Query OK, 0 rows affected (0.014 sec) - ``` - -### 启动服务 - -```shell -systemctl start Cpds.service -systemctl enable Cpds.service -``` - -启动各节点上的cpds-agent。 - -```shell -systemctl start cpds-agent -systemctl enable cpds-agent -``` - -### 访问前端管理平台 - -上述服务启动成功后,打开浏览器,在浏览器导航栏中输入`http://localhost:10119`访问前端管理平台。 diff --git a/docs/zh/tools/cloud/cpds/usage_instructions.md b/docs/zh/tools/cloud/cpds/usage_instructions.md deleted file mode 100644 index 3a28bcd38c07abd204355ebf72daab33e60f0b53..0000000000000000000000000000000000000000 --- a/docs/zh/tools/cloud/cpds/usage_instructions.md +++ /dev/null @@ -1,266 +0,0 @@ -# 使用手册 - - - -- [介绍](#介绍) -- [页面及功能说明](#页面及功能说明) - - [页面布局](#页面布局) - - [概览](#概览) - - [监控告警](#监控告警) - - [集群状态](#集群状态) - - [集群状态-概览](#集群状态-概览) - - [集群状态-物理资源监控](#集群状态-物理资源监控) - - [集群状态-容器健康监控](#集群状态-容器健康监控) - - [节点健康](#节点健康) - - [节点健康-概览](#节点健康-概览) - - [节点健康-物理资源监控](#节点健康-物理资源监控) - - [节点健康-容器健康监控](#节点健康-容器健康监控) - - [健康诊断](#健康诊断) - - [诊断结果](#诊断结果) - - [原始数据检索](#原始数据检索) - - [原始数据图表](#原始数据图表) - - [规则管理](#规则管理) - - [查看规则](#查看规则) - - [添加规则](#添加规则) - - - -## 介绍 - -CPDS(Container Problem Detect System)容器故障检测系统,是由北京凝思软件股份有限公司设计并开发的容器集群故障检测系统,该软件系统实现了对容器 TOP 故障、亚健康检测的监测与识别。 - -主要分为四个子模块: - -1. 信息采集组件 cpds-agent:本组件根据cpds-detetor(异常检测组件)需要的数据进行相应采集。 -2. 异常检测组件 cpds-detector:本组件根据cpds-analyzer(容器故障/亚健康诊断组件)下发的异常规则,对集群各节点原始数据进行分析,检测节点是否存在异常。 -3. 故障/亚健康诊断组件 cpds-analyzer:本组件根据cpds-dashboard(用户交互组件)下发的诊断规则,对cpds-detector(异常检测组件)收集的异常数据进行处理,判断集群节点是否处于容器故障/亚健康状态。 -4. 用户交互组件 cpds-dashboard:本组件从 cpds-analyzer(故障/亚健康诊断)组件中获取诊断结果数据,并以实时查看、离线查看的形式进行可视化诊断结果展示,便于容器集群运维人员进行分析与策略制定下发。 - -## 页面及功能说明 - -### 页面布局 - -CPDS页面布局分为导航栏、导航菜单、操作区。 - -页面布局如下图: - -![页面布局](./images/cpds-page/布局.png) - -| 序号 | 名称 | 说明 | -| ---- | ---- | ---- | -| 1 | 导航菜单 | 导航菜单包含 CPDS 所有功能,选择不同菜单项后,右侧操作区将显示对应的操作页面。| -| 2 | 导航栏 | 用于指示用户当前页面位于导航树的位置。 | -| 3 | 操作区 | 显示当前操作信息,提供操作功能。 | - -### 概览 - -概览页面可查看整个集群的状态信息,包括集群容器健康状态、集群节点状态、集资源用量、节点监控状态、诊断结果。查看概览流程如下图所示: - -![集群概览](./images/cpds-page/集群概览.png) - -| 名称 | 说明 | -| ---- | ---- | -| 容器健康状态 | 显示集群中运行中的容器个数占全部容器个数的百分比,并显示全部容器、运行中的容器、停止的容器的个数。 | -| 集群节点状态 | 显示在线节点占全部节点的百分比,并显示全部节点、在线节点、离线节点的个数。 | -| 集群资源用量 | 显示集群 CUP、内容、磁盘的使用的量、总量和使用百分比。 | -| 节点监控状态 | 显示集群节点的 ip 地址、节点状态、节点运行容器数量占比。点击下方的查看更多,会跳转至“监控告警-节点健康”,可以查看更详细的节点信息。 | -| 诊断结果 | 显示触发规则的名称、当前状态、规则第一次触发的时间,以及后续触发的最新时间。点击下方的查看更多,会跳转至“健康诊断-诊断结果”,查看更详细的诊断结果。 | - -### 监控告警 - -监控告警能够对集群、节点的物理资源、容器状态进行监控。 - -#### 集群状态 - -显示集群主机在线状态,提供物理资源监控和容器健康监控。 - -##### 集群状态-概览 - -查看集群信息和节点信息,集群信息包括集群容器健康状态、集群节点状态、集资源用量。查看集群信息流程如下所示: - -1. 点击左侧导航菜单“监控告警”→“集群状态”,选择“概览”标签页,进入概览页面。如下图所示: - -![集群状态-概览](./images/cpds-page/集群状态-概览.png) - -| 名称 | 说明 | -| ---- | ---- | -| 容器健康状态 | 显示集群中运行中的容器个数占全部容器个数的百分比,并显示全部容器、运行中的容器、停止的容器的个数。 | -| 集群节点状态 | 显示在线节点占全部节点的百分比,并显示全部节点、在线节点、离线节点的个数。 | -| 资源使用情况 | 显示集群 CUP、内容、磁盘的使用的量和总量。 | -| 节点监控状态 | 详见 [节点健康](#节点健康)。 | - -##### 集群状态-物理资源监控 - -点击左侧导航菜单“监控告警”→“集群状态”,选择“物理资源监控”标签页,物理资源监控页面内容如下图所示。 -![集群物理资源监控](./images/cpds-page/集群物理资源监控.png) - -其中点击查询时间范围按钮可选择查询数据的时间范围,如下图所示。 -![时间范围选择](./images/cpds-page/时间范围选择.png) - -下面将对物理资源监控内容进行说明。 - -| 名称 | 说明 | -| ---- | ---- | -| 集群总 CPU 使用率 | 集群 CPU 使用百分比 | -| 集群总内存使用率 | 集群内存使用百分比 | -| 集群总磁盘使用率 | 集群磁盘使用百分比 | -| 集群iowait | 集群CPU等待I/O设备完成输入输出操作而处于空闲状态的时间 | -| 网络iops | 集群网卡每秒接收和发送数据包总数 | -| 网络网速 | 集群网卡每秒接收和发送数据大小 | -| 网络丢包率 | 集群单位时间内网卡丢失数据包占总数据包的百分比 | -| 网络错误率 | 集群单位时间内网卡出现错误的数据包占总数据包的百分比 | -| 网络重传率 | 集群单位时间内重传数据包占总数据包的百分比 | -| 集群总磁盘吞吐速率 | 集群磁盘每秒完成读写操作的数据量 | -| 磁盘 iops | 集群磁盘每秒完成读写操作的次数 | - -##### 集群状态-容器健康监控 - -点击左侧导航菜单“监控告警”→“集群状态”,选择“容器健康监控”标签页,该页面显示集群容器健康监控信息如下图所示: -![集群-容器健康监控](./images/cpds-page/集群-容器健康监控.png) - -下面将对容器健康监控内容进行说明。 - -| 名称 | 说明 | -| ---- | ---- | -| 容器CPU使用率 | 容器 CPU 使用量占集群 CPU 总量的百分比 | -| 容器磁盘使用率 | 容器磁盘使用量占集群磁盘总量的百分比 | -| 容器流量 | 容器每秒网卡接收/发送的数据量 | -| 容器内存使用率 | 容器内存使用量占集群内存总量的百分比 | - -#### 节点健康 - -显示各节点主机在线状态及架构信息,提供物理资源监控和容器健康监控。 -> 节点健康主页面如下图所示: - -![节点健康](./images/cpds-page/节点健康.png) - -##### 节点健康-概览 - -点击左侧导航菜单“监控告警”→“节点健康”,点击表格中节点对应的 ip 地址进入节点概览页面。 -> 节点概览页面如下图所示: - -![节点概览](./images/cpds-page/节点概览.png) - -> 点击如下图三个组件,可刷新或切换曲线图展示的数据内容。 - -![节点概览-按钮](./images/cpds-page/节点概览-按钮.png) - -##### 节点健康-物理资源监控 - -点击左侧导航菜单“监控告警”→“节点健康”,点击表格中节点对应的 ip 地址进入节点概览页面,选择“物理资源监控”标签页,物理资源监控页面内容如下图所示: -![节点物理资源监控](./images/cpds-page/节点物理资源监控.png) - -下面将对物理资源监控内容进行说明。 - -| 名称 | 说明 | -| ---- | ---- | -| 节点 CPU 使用率 | 节点 CPU 使用百分比 | -| 节点内存使用率 | 节点内存使用百分比 | -| 节点磁盘使用率 | 节点磁盘使用百分比 | -| 节点iowait | 节点CPU等待I/O设备完成输入输出操作而处于空闲状态的时间 | -| 节点网络iops | 节点网卡每秒接收和发送数据包总数 | -| 节点网络网速 | 节点网卡每秒接收和发送数据大小 | -| 节点网络丢包率 | 节点单位时间内网卡丢失数据包占总数据包的百分比 | -| 节点网络错误率 | 节点单位时间内网卡出现错误的数据包占总数据包的百分比 | -| 节点网络重传率 | 节点单位时间内重传数据包占总数据包的百分比 | -| 节点磁盘吞吐速率 | 节点磁盘每秒完成读写操作的数据量 | -| 节点磁盘 iops | 节点磁盘每秒完成读写操作的次数 | - -##### 节点健康-容器健康监控 - -点击左侧导航菜单“监控告警”→“节点健康”,点击表格中节点对应的 ip 地址进入节点概览页面,选择“容器健康监控”标签页,容器健康监控页面如下图所示: -![节点容器健康监控](./images/cpds-page/节点容器健康监控.png) - -> 该页面可根据容器状态、容器名称进行排序。 - -节点容器健康监控数据说明如下表: - -| 名称 | 说明 | -| ---- | ---- | -| 容器名称 | 容器的完整id | -| 容器状态 | 容器的运行状态,包括:运行中、已创建、停止等待、暂停共四个状态 | -| CPU用量 | 容器CPU使用率 | -| 内存用量 | 容器内存用量 | -| 出站流量 | 容器网卡对外发送数据大小 | -| 如站流量 | 容器网卡对接收数据大小 | - -### 健康诊断 - -利用故障/亚健康检测规则,对各节点原始数据进行计算分析,得出诊断结果,提供诊断结果列表。支持诊断原始数据查看,显示诊断时所使用的原始数据,支持对时间进行过滤,显示不同时间段原始数据的值,并提供图表展示原始数据的变化规律。 - -#### 诊断结果 - -将规则列表中的规则拿来进行判断,满足判断条件的规则将被加入到诊断结果列表中。规则信息详见 [规则管理](#规则管理)。 -查看诊断结果列表流程如下: - -1. 点击左侧导航菜单“健康诊断”→“诊断结果”,进入诊断结果页面。如下图所示: - - ![诊断结果](./images/cpds-page/诊断结果.png) - -2. 可在左上角输入规则名称对诊断结果进行筛选。 - -3. 点击查看原始数据,可以查看最近 10 分钟内原始数据的变化规律,如下图所示: - - ![查看原始数据](./images/cpds-page/查看原始数据.png) - -4. 点击删除可以删除对应的诊断结果。 - -#### 原始数据检索 - -支持诊断原始数据查看,显示诊断时所使用的原始数据,支持对时间进行过滤,显示不同时间段原始数据的值,并提供图表展示原始数据的变化规律。页面布局如下图所示: -![原始数据检索](./images/cpds-page/原始数据检索.png) - -功能说明如下表所示: - -| 名称 | 说明 | -| ---- | ---- | -| 原始数据查询 | 利用表达式对原始数据进行查询,可以设置时间选择器对时间进行过滤。可以查询到一段时间内原始数据的变化规律。 | -| 容器状态 | 当利用表达式成功查询原始数据后,查询记录将被记录到表格中,如果超过 10 条不同表达式记录,最先查询的记录将被删除。如果是相同表达式,那么记录会被覆盖。 | - -##### 原始数据图表 - -原始数据图表如下图所示: -![原始数据图表](./images/cpds-page/原始数据图表.png) - -图表信息说明如下表: - -| 名称 | 说明 | -| ---- | ---- | -| 监控指标 | 显示内容为查询的表达式 | -| 原始数据曲线图 | 显示该表达式在一段时间内查询结果的变化规律 | -| 原始数据表格 | 显示当前时间,查询结果的字段以及值 | - -### 规则管理 - -#### 查看规则 - -支持故障/亚健康检测规则列表查看、创建、编辑、删除功能,列表包括规则名、表达式、告警级别和亚健康、故障比较规则值信息。查看规则流程如下: - -1. 点击左侧导航菜单“规则管理”→“查看规则”,进入规则列表页面,如下图所示: - - ![查看规则](./images/cpds-page/查看规则.png) - -2. 通过左上角输入规则名称,点击搜索可以对规则进行过滤。 -3. 点击删除可以删除对应规则。 - -#### 添加规则 - -点击左侧导航菜单“规则管理”→“查看规则”,进入规则列表页面,点击添加规则或者编辑,如下图所示: - -![添加规则](./images/cpds-page/添加规则.png) - -添加/编辑规则内容有如下几点限制: - -1. 规则名称,只能包含数字、英文字母、下划线。 -2. 表达式必须符合PromQL语法,参考[prometheus官方文档](https://prometheus.io/docs/prometheus/latest/querying/basics/)。 -3. 亚健康阈值只能输入数字类型。 -4. 故障康阈值只能输入数字类型。 - -> 阈值只能在对应的比较条件选择之后才能输入。 -> 当比较条件选择之后,对应的阈值必须填写入。 -> 亚健康比较条件、故障比较条件二者必须选择一个,或者两个都选。 - -## 注意事项 - -1. 默认规则,规则名称为node_etcd_service、node_kube_apiserver、node_kube_controller_manager、node_kube_proxynode_kube_scheduler的规则表达式中的ip需要自行更换为实际ip。 -2. 当前版本CPDS只支持对docker容器运行时的故障检测。 diff --git a/docs/zh/tools/cloud/pilotgo/_toc.yaml b/docs/zh/tools/cloud/pilotgo/_toc.yaml deleted file mode 100644 index 48b09b212901ff3347f9ee4f9b579cc23831a2c4..0000000000000000000000000000000000000000 --- a/docs/zh/tools/cloud/pilotgo/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: PilotGo用户指南 -isManual: true -description: 使用 PilotGo 运维管理平台管理主机、权限和告警等 -sections: - - label: 概述 - href: ./pilotgo_introduction.md - - label: 使用方法 - href: ./usage_instructions.md diff --git "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2661.png" "b/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2661.png" deleted file mode 100644 index 5c7eaa4cde3364c70ca6bff24c768edad986a59c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2661.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2662.png" "b/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2662.png" deleted file mode 100644 index 45437297fb46749b9f840f45e38cc3e5c4d0d595..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2662.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2663.png" "b/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2663.png" deleted file mode 100644 index d120fdc034f2c588c222837e8316a33cda339e22..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2663.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2664.png" "b/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2664.png" deleted file mode 100644 index 1e2ed031ac525d8a69c98c9f143b3edece72be77..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2664.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2665.png" "b/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2665.png" deleted file mode 100644 index b0f366b001a09dc1d1f4096ff5aa4f5ec6429087..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/G\346\217\222\344\273\2665.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2661.png" "b/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2661.png" deleted file mode 100644 index f4a923729e62fb321931342ec56238b568dbf16e..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2661.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2662.png" "b/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2662.png" deleted file mode 100644 index d54a04a42afa0f0ae7d37fb2eef88943e4b402f5..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2662.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2663.png" "b/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2663.png" deleted file mode 100644 index a85aad4547a6dc8b6d55d50524c69c92668e54a6..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2663.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2664.png" "b/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2664.png" deleted file mode 100644 index c56bcc5248a53f9d5daeadaddb998d69ef154c4e..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/P\346\217\222\344\273\2664.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2011.png" "b/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2011.png" deleted file mode 100644 index a51096f17e336fc0917bce7be08ff69ec2604562..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2011.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2012.png" "b/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2012.png" deleted file mode 100644 index f26d9ddf85da2d5955ce8f9d338fd1bb036b1132..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2012.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2013.png" "b/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2013.png" deleted file mode 100644 index b3ffd4507aab3a85b3ab8e775bc1ab4c1efcfda3..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\345\257\206\347\240\2013.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2711.png" "b/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2711.png" deleted file mode 100644 index 4a127fafef22d62f326e38075173f53f244acfa7..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2711.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2712.png" "b/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2712.png" deleted file mode 100644 index 8a097306b1dbf7ce5c6cb14e9c84ff7f59079dfb..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2712.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2713.png" "b/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2713.png" deleted file mode 100644 index 1e517062c17505a2ec0905863934e5e0a5e47c36..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\344\277\256\346\224\271\350\212\202\347\202\2713.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2411.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2411.png" deleted file mode 100644 index ee14b990e8ab6cf0c71bef1a40cb74cd2919e2fc..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2411.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2412.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2412.png" deleted file mode 100644 index 1f5a1658552227a88cf07f592e048c4bc1005286..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2412.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2413.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2413.png" deleted file mode 100644 index 4066752952e177ca2bb14b61a86d44ff1efc11f6..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2413.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2414.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2414.png" deleted file mode 100644 index ade3fb143ac6a0186985b63c5505afef9666e57e..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\211\271\346\254\2414.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2661.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2661.png" deleted file mode 100644 index 74889505efa10bf45d699d9c8ec19c81cd63ef4f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2661.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2662.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2662.png" deleted file mode 100644 index 0a0f563aa9efd21a789058b76dc88e5e0208a996..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2662.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2663.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2663.png" deleted file mode 100644 index e7dfcf189d030a4bffa1ce92885e27e3fab7ecde..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\233\345\273\272\346\226\207\344\273\2663.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2411.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2411.png" deleted file mode 100644 index e360587420e42233933a9bb27ad31a62557374f0..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2411.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2412.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2412.png" deleted file mode 100644 index 0efb93e8dd16f855b444d6a5891be38fdebe92c7..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2412.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2413.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2413.png" deleted file mode 100644 index 2263d7c359bc58451f9382693b98c15cae4fb273..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\211\271\346\254\2413.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2501.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2501.png" deleted file mode 100644 index 74c10a8dee0fb08e4ac39d73c3389b9a2262c143..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2501.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2502.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2502.png" deleted file mode 100644 index d4e467dd0b6fbd9d13a928deebfa8cca1a515c61..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2502.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2503.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2503.png" deleted file mode 100644 index 1bb38a09498d5a0d8c96aef1ce7b39f8bbb43207..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\346\234\272\345\231\2503.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2671.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2671.png" deleted file mode 100644 index c0599cd9d3679c2c16debcbf46b85b1328130104..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2671.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2672.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2672.png" deleted file mode 100644 index 96a3636ed380608616fccb672017ef363108d529..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\347\224\250\346\210\2672.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2711.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2711.png" deleted file mode 100644 index e278954b5422dff1a59ca4acd37b601c9f0ad24e..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2711.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2712.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2712.png" deleted file mode 100644 index e739b14f7b60794065a9ec8a9b2478b2f0b37dd0..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2712.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2713.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2713.png" deleted file mode 100644 index d8c8967d525a68515a7ce651f7d30169654bd784..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\212\202\347\202\2713.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2621.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2621.png" deleted file mode 100644 index cf3d51f7ab12f241f8a93223631406d0c1b99ab4..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2621.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2622.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2622.png" deleted file mode 100644 index b41055b466720578ca9282ff31589b6e147e8ada..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2622.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2623.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2623.png" deleted file mode 100644 index 661ed75def31a49cbf6043493c1805d65c83a83b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\210\240\351\231\244\350\247\222\350\211\2623.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\212\237\350\203\275\346\250\241\345\235\227.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\212\237\350\203\275\346\250\241\345\235\227.png" deleted file mode 100644 index 86782bfc46f42a051b56f457cd46fad60cad3332..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\212\237\350\203\275\346\250\241\345\235\227.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\346\235\203\351\231\2201.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\346\235\203\351\231\2201.png" deleted file mode 100644 index e9344f19ded8c509b6ac1047d615d98f97dc4d12..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\346\235\203\351\231\2201.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\346\235\203\351\231\2202.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\346\235\203\351\231\2202.png" deleted file mode 100644 index c04eb7c5c9f14f5de2bf5f223a8ffbba9cdd599f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\346\235\203\351\231\2202.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2501.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2501.png" deleted file mode 100644 index 23c2d754679c0a374d89c26596669e9bbbebf2f6..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2501.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2502.png" "b/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2502.png" deleted file mode 100644 index 0efb1384611e7f5b4cb1370e626a238908567dbb..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\345\217\230\346\233\264\351\203\250\351\227\2502.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2211.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2211.png" deleted file mode 100644 index 387df3d4cd301fe677e663c6a919abf093efba87..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2211.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2212.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2212.png" deleted file mode 100644 index ca5e64cbf7d0aeabcececacea125585484e873ca..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\344\270\213\345\217\2212.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2751.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2751.png" deleted file mode 100644 index 4bc4ca6f620619fe10a81205a939535f83e772c2..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2751.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2752.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2752.png" deleted file mode 100644 index 68467232ca5bd65a03eccc4fc3fb8a5e95529ddf..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\345\215\270\350\275\2752.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\346\223\215\344\275\2341.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\346\223\215\344\275\2341.png" deleted file mode 100644 index 5cee721e3c0ce14f666a85cd3acb27b57684f077..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\211\271\351\207\217\346\223\215\344\275\2341.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2211.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2211.png" deleted file mode 100644 index d5d54a3679b9a183dbc8eddacf881a8c30c0967b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2211.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2212.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2212.png" deleted file mode 100644 index d639180465474d529758cb83e98b8bd44c409e47..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2212.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2213.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2213.png" deleted file mode 100644 index 87082b54be5d405f859bd17b558b061e08565f0c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\344\270\213\345\217\2213.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2441.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2441.png" deleted file mode 100644 index e292e6abbde7b787e8c5246fe0a754e8bd3f3277..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2441.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2442.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2442.png" deleted file mode 100644 index eb643a896473ade847fd6091dd031eadc3444a4c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2442.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2443.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2443.png" deleted file mode 100644 index a8f2dd996fb826ace2a657ae330aaf36d7c1b884..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\210\240\351\231\2443.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\216\206\345\217\262\347\211\210\346\234\254.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\216\206\345\217\262\347\211\210\346\234\254.png" deleted file mode 100644 index 74f5e745836607702d69f97939b8629446dc0d71..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\216\206\345\217\262\347\211\210\346\234\254.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2321.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2321.png" deleted file mode 100644 index 8a7e6dfd18608275d496de46cc157bdcfcc1ffa4..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2321.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2322.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2322.png" deleted file mode 100644 index 0ceef0dcacc27149d2feb2eff3a7902af1c13186..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2322.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2323.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2323.png" deleted file mode 100644 index 69b4cda58e7962c11e40bdac7555afb9428941b2..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2323.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2324.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2324.png" deleted file mode 100644 index 79281449c580ef3059dc30329416e6fb564fb5ae..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\345\233\236\346\273\2324.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\346\237\245\347\234\2131.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\346\237\245\347\234\2131.png" deleted file mode 100644 index 14e91000f62a312b9004ab2108929d90ee49f1b1..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\346\237\245\347\234\2131.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\346\237\245\347\234\2132.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\346\237\245\347\234\2132.png" deleted file mode 100644 index 517fd0fcdce1ccf35216bc0e98c4ea3127145d1b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\226\207\344\273\266\346\237\245\347\234\2132.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\227\245\345\277\227\346\237\245\347\234\213.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\227\245\345\277\227\346\237\245\347\234\213.png" deleted file mode 100644 index d98ef2d084ccf737b7a69c168dac1f8e7ef6e49d..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\227\245\345\277\227\346\237\245\347\234\213.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250.png" deleted file mode 100644 index a65f27145edee0d8e10259a808a49c997bdbbb81..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\344\277\241\346\201\257.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\344\277\241\346\201\257.png" deleted file mode 100644 index e0be6aec62ea1de2de8f8a771a3b4f5f07d9ecea..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\344\277\241\346\201\257.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\2701.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\2701.png" deleted file mode 100644 index e1c722e66168c29fbc1aea72a24f90c05d23b459..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\2701.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\2702.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\2702.png" deleted file mode 100644 index cb4263a4961d75a687b0d073f6922af6e936970d..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\2702.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2711.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2711.png" deleted file mode 100644 index ae23a49e9ef1d9c2be390a4715f83457c05dce69..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2711.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2712.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2712.png" deleted file mode 100644 index 344f95e052c876e312043099b36267e4e9544e5c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2712.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2713.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2713.png" deleted file mode 100644 index 1f108d6f224f30a5973b4ddbe7e8d551d8e1f9c5..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\345\206\205\346\240\270\344\277\256\346\224\2713.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\201\234\346\255\242.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\201\234\346\255\242.png" deleted file mode 100644 index c482e8389f10bca2f1ad43545af169d6dd26b1a5..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\201\234\346\255\242.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\220\257\345\212\250.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\220\257\345\212\250.png" deleted file mode 100644 index 3d8674a65895b1138ca2826b2496f17c81e5818b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\345\220\257\345\212\250.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\346\237\245\350\257\242.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\346\237\245\350\257\242.png" deleted file mode 100644 index 95cf112c8e05a31b1f92861f91d76417d23d807c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\346\237\245\350\257\242.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\351\207\215\345\220\257.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\351\207\215\345\220\257.png" deleted file mode 100644 index a77c72630b6ab284232f7584d4f688e243439960..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\346\234\215\345\212\241\351\207\215\345\220\257.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\224\250\346\210\267\344\277\241\346\201\257.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\224\250\346\210\267\344\277\241\346\201\257.png" deleted file mode 100644 index 7b371c41d42349d6e7aaf900444034e6ee72ec0f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\224\250\346\210\267\344\277\241\346\201\257.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\257.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\257.png" deleted file mode 100644 index 2a7e5cbb1366030517ceeacc8a1459a764ac98eb..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\257.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\2571.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\2571.png" deleted file mode 100644 index d3130734e2fb884c74209411dbb647d88e575a8f..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\273\210\347\253\2571.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\275\221\347\273\234\351\205\215\347\275\256.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\275\221\347\273\234\351\205\215\347\275\256.png" deleted file mode 100644 index 742c506ea550d649354a06010bb96b853bce02bf..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\347\275\221\347\273\234\351\205\215\347\275\256.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\215\270\350\275\275.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\215\270\350\275\275.png" deleted file mode 100644 index cc74a97dcf92ca3eb57b8cf7b2319e73cf10c099..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\215\270\350\275\275.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\256\211\350\243\2051.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\256\211\350\243\2051.png" deleted file mode 100644 index 1801f6adbd2b2cf1c00fd279c720192915a34d55..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\256\211\350\243\2051.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\256\211\350\243\2052.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\256\211\350\243\2052.png" deleted file mode 100644 index b24a22cbafc042b7d4cb234708a161a4b6910048..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\345\256\211\350\243\2052.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\346\220\234\347\264\242.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\346\220\234\347\264\242.png" deleted file mode 100644 index d6119cf60ec4dfa952fcf4f16dec97ab6daf1863..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\234\272\345\231\250\350\275\257\344\273\266\345\214\205\346\220\234\347\264\242.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\246\202\350\247\210.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\246\202\350\247\210.png" deleted file mode 100644 index ca652711583c0c537df164621384e0cb251dac03..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\246\202\350\247\210.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2671.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2671.png" deleted file mode 100644 index e5f5631e6ca19f8498fa2b030613b0a75d7168f1..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2671.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2672.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2672.png" deleted file mode 100644 index 017c47fdc9974c3a9ee5758c05512eb0b01a929c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\347\224\250\346\210\2672.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\212\202\347\202\2711.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\212\202\347\202\2711.png" deleted file mode 100644 index c7cb768fdd35d3c2a30e3f175157418e650f5c9a..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\212\202\347\202\2711.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\212\202\347\202\2712.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\212\202\347\202\2712.png" deleted file mode 100644 index 45f82cb1d563356585b932aa1de6ae79b174b2eb..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\212\202\347\202\2712.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2621.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2621.png" deleted file mode 100644 index a51db5c136e8d6baf61187d8882d4b02758cb056..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2621.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2622.png" "b/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2622.png" deleted file mode 100644 index a352b27353c2513f55cad32d968b1095de96eb23..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\346\267\273\345\212\240\350\247\222\350\211\2622.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2451.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2451.png" deleted file mode 100644 index 7b7c230d9942bd9fceaeb2fbb23b3e16255b2505..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2451.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2452.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2452.png" deleted file mode 100644 index dad2779f6ddb6577a636fe8fb6050aeec69ee2ad..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2452.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2453.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2453.png" deleted file mode 100644 index 88d855f0e0f48d3da3523d59df9e2358fb49a92c..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\205\2453.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2721.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2721.png" deleted file mode 100644 index 6198f25e96b6f782e042a1e1c36b0bef897ca064..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2721.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2722.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2722.png" deleted file mode 100644 index c55645090a3475c117b2e5805b42bad57a90dfd0..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\224\250\346\210\267\345\257\274\345\207\2722.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\231\273\345\275\225.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\231\273\345\275\225.png" deleted file mode 100644 index 6eb0106de32bd3d9da30d194035f129e3083791a..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\231\273\345\275\225.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2411.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2411.png" deleted file mode 100644 index 068b66d65a0f63fabd9f4cd78b46aafbbd1eb8b7..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2411.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2412.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2412.png" deleted file mode 100644 index b4485514201339dc8d3e59c466e57afdd7817c06..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2412.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2413.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2413.png" deleted file mode 100644 index a469a8798beecb882e5823132f442ee1eaf5cb21..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\211\271\346\254\2413.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2661.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2661.png" deleted file mode 100644 index 50b5f27cc9cecee17b7758683f61bf21544e8c3b..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2661.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2662.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2662.png" deleted file mode 100644 index 1362aac595643c19f924cf92098bf43abf75c78e..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2662.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2663.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2663.png" deleted file mode 100644 index ffa2ed188539c7aa0f95cd6beb21d07c0ed6fc84..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\346\226\207\344\273\2663.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2671.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2671.png" deleted file mode 100644 index 36cdb73c8cffc40e7e9d6831691183cdfb481649..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2671.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2672.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2672.png" deleted file mode 100644 index 7391fda93795f334f7674c98c811bf93919e99a0..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\347\224\250\346\210\2672.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2621.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2621.png" deleted file mode 100644 index d752d16e201a493d71feee178f6a9ca4541df5ed..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2621.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2622.png" "b/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2622.png" deleted file mode 100644 index 25c650b0393a73ba5b40f3409a760e420881dcfe..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\347\274\226\350\276\221\350\247\222\350\211\2622.png" and /dev/null differ diff --git "a/docs/zh/tools/cloud/pilotgo/figures/\351\207\215\347\275\256\345\257\206\347\240\2011.png" "b/docs/zh/tools/cloud/pilotgo/figures/\351\207\215\347\275\256\345\257\206\347\240\2011.png" deleted file mode 100644 index 0f33a7a9476814caf942edb428b55a8aa31e3d91..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/cloud/pilotgo/figures/\351\207\215\347\275\256\345\257\206\347\240\2011.png" and /dev/null differ diff --git a/docs/zh/tools/cloud/pilotgo/pilotgo_introduction.md b/docs/zh/tools/cloud/pilotgo/pilotgo_introduction.md deleted file mode 100644 index d1c8fd2b0b77879ac8762fadb08a2a9487151931..0000000000000000000000000000000000000000 --- a/docs/zh/tools/cloud/pilotgo/pilotgo_introduction.md +++ /dev/null @@ -1,37 +0,0 @@ -# PilotGo介绍 - -PilotGo 是 openEuler 社区原生孵化的运维管理平台,采用插件式架构设计,功能模块轻量化组合、独立迭代演进,同时保证核心功能稳定;同时使用插件来增强平台功能、并打通不同运维组件之间的壁垒,实现了全局的状态感知及自动化流程。 - -## 功能描述 - -PilotGo 核心功能模块包括: - -* 用户管理:支持按照组织结构分组管理,支持导入已有平台账号,迁移方便; - -* 权限管理:支持基于RBAC的权限管理,灵活可靠; - -* 主机管理:状态前端可视化、直接执行软件包管理、服务管理、内核参数调优、简单易操作; - -* 批次管理:支持运维操作并发执行,稳定高效; - -* 日志审计:跟踪记录用户及插件的变更操作,方便问题回溯及安全审计; - -* 告警管理:平台异常实时感知; - -* 插件功能:支持扩展平台功能,插件联动,自动化能力倍增,减少人工干预。 - -![本地路径](./figures/功能模块.png) - -当前OS发布版本还集成了以下插件: - -* Prometheus:托管Prometheus监控组件,自动化下发及配置node-exporter监控数据采集,对接平台告警功能; - -![本地路径](./figures/P插件3.png) - -* Grafana:集成Grafana可视化平台,提供美观易用的指标监控面板功能。 - -![本地路径](./figures/G插件4.png) - -## 应用场景 - -PiotGo可用于典型的服务器集群管理场景,支持大批量的服务器集群基本管理及监控;通过集成对应的业务功能插件,还可实现业务集群的统一平台管理,例如Mysql数据库集群、redis数据缓存集群、nginx网关集群等。 diff --git a/docs/zh/tools/cloud/pilotgo/usage_instructions.md b/docs/zh/tools/cloud/pilotgo/usage_instructions.md deleted file mode 100644 index 8a14a30679f258166b8414b8279be66bc2e3648f..0000000000000000000000000000000000000000 --- a/docs/zh/tools/cloud/pilotgo/usage_instructions.md +++ /dev/null @@ -1,360 +0,0 @@ -# PilotGo平台使用手册 - -PilotGo 是一个 openEuler 社区原生的运维管理平台,采用插件式开发,增强平台的扩展性、并打通不同运维组件之间的壁垒。PilotGo 核心功能包括:集群管理、批次管理、主机管理、用户管理、权限管理、主机监控、运维审计等。 - -## 1 PilotGo安装与配置 - -PilotGo可以单机部署也可以采用集群式部署。安装之前先关闭防火墙。 - -### 1.1 PilotGo-server 安装与配置 - -安装mysql - -```shell -dnf install mysql-server -vim /etc/my.cnf -#在mysqld配置节下新增bind-address,值为本机ip -[mysqld] -bind-address=192.168.1.1 -#重启mysql服务 -systemctl restart mysqld -#设置mysql数据库的root用户访问权限 -[root@localhost ~] mysql - -mysql> show databases; -mysql> use mysql; -mysql> select user,host from user; -- 此处出现host为localhost时,说明mysql只允许本机连接,外网和本地软件客户端则无法连接。 - -+---------------+-----------+ -| user | host | -+---------------+-----------+ -| root | localhost | -| mysql.session | localhost | -| mysql.sys | localhost | -+---------------+-----------+ -3 rows in set (0.00 sec) -mysql> update user set host = '%' where user='root'; -- 设置允许root用户任意IP访问。 -mysql> flush privileges; -- 刷新权限 -mysql> exit -``` - -安装redis,设置redis密码(修改),运行命令: - -```shell -dnf install redis6 -vim /etc/redis/redis.conf -#requirepass foobared去掉注释,foobared改为自己的密码 -bind 0.0.0.0 -``` - -启动MySQL和redis服务,然后执行: - -```shell -dnf install PilotGo-server -``` - -修改/opt/PilotGo/server/config_server.yaml里面mysql和redis的配置信息,启动服务: - -```shell -systemctl start PilotGo-server -``` - -访问页面: - -### 1.2 PilotGo-agent安装与配置 - -执行以下命令进行安装: - -`dnf install PilotGo-agent` - -修改/opt/PilotGo/agent/config_agent.yaml里面的ip信息,启动服务: - -`systemctl start PilotGo-agent` - -### 1.3 PilotGo插件安装与配置 - -详情见3 插件使用手册 - -## 2 PilotGo平台使用说明 - -### 2.1 首次登录 - -#### 2.1.1 用户登录页面 - -用户登录页面如图所示,输入正确的用户名和密码登录系统。默认用户名为admin,默认密码为admin,首次登录之后建议先修改密码。 -![本地路径](./figures/登录.png) - -### 2.2 用户模块 - -#### 2.2.1 创建用户 - -创建用户的方式又两种,一种是手动创建单个用户,另外一种是批量导入多个用户。 - -##### 2.2.1.1 创建单个用户 - -1. 具有创建用户权限的用户成功登录之后点击左侧导航栏中的用户管理; -2. 点击页面右上角的添加按钮; -3. 在页面中输入用户名、密码、邮箱,选择部门和角色类型,并点击确定按钮;![本地路径](./figures/添加用户1.png) -4. 页面弹框提示“添加用户成功”,并显示新创建的用户信息,表示创建用户成功。![本地路径](./figures/添加用户2.png) - -##### 2.2.1.2 批量导入多个用户 - -1. 具有创建用户权限的用户成功登录之后点击左侧导航栏中的用户管理; -2. 点击页面的批量导入按钮,选择文件点击打开按钮;![本地路径](./figures/用户导入1.png) -3. 显示用户信息则完成用户导入。![本地路径](./figures/用户导入2.png)![本地路径](./figures/用户导入3.png) - -#### 2.2.2 修改用户信息及密码 - -##### 2.2.2.1 修改用户信息 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的用户管理; -2. 找到用户信息,点击操作栏中的编辑按钮; -3. 在页面中输入要修改的用户信息,并点击确定按钮;![本地路径](./figures/编辑用户1.png) -4. 页面弹框提示“用户信息修改成功”,并显示修改后的用户信息。![本地路径](./figures/编辑用户2.png) - -##### 2.2.2.2 修改密码 - -修改密码有两种方式,第一是用户知道密码登录系统后自己修改,第二是用户忘记密码,由管理员登录系统后重置此用户密码,重置默认密码为邮箱@符号的前半部分。 - -###### 2.2.2.2.1 手动修改密码 - -1. 用户登录系统后点击右上角的人像图标和修改密码;![本地路径](./figures/修改密码1.png) -2. 连续输入两次新密码,点击确定按钮;![本地路径](./figures/修改密码2.png) -3. 页面弹框提示“修改成功”。![本地路径](./figures/修改密码3.png) - -###### 2.2.2.2.2 重置密码 - -1. 管理员登录成功后点击左侧导航栏中的用户管理; -2. 找到用户信息,点击操作栏中的重置密码按钮; -3. 用户使用默认密码可以登录系统。![本地路径](./figures/重置密码1.png) - -#### 2.2.3 删除用户 - -1. 管理员登录成功后点击左侧导航栏中的用户管理; -2. 点击页面小方块选择要删除的用户; -3. 点击页面右上角的删除按钮,并点击确定;![本地路径](./figures/删除用户1.png) -4. 页面弹框提示“用户删除成功”,并用户管理页面不显示删除用户的信息。![本地路径](./figures/删除用户2.png) - -#### 2.2.4 导出用户 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的用户管理; -2. 点击页面的导出按钮;![本地路径](./figures/用户导出1.png) -3. 浏览器显示下载进度,成功下载后打开xlsx文件查看信息。![本地路径](./figures/用户导出2.png) - -### 2.3 角色模块 - -#### 2.3.1 添加角色 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的角色管理; -2. 点击页面的添加按钮; -3. 输入角色名和描述信息,并点击确定按钮;![本地路径](./figures/添加角色1.png) -4. 页面弹框提示“新增角色成功”,并页面显示新添加的角色信息。![本地路径](./figures/添加角色2.png) - -### 2.3.2 修改角色 - -#### 2.3.2.1 修改角色信息 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的角色管理; -2. 点击对应角色的编辑按钮; -3. 输入新的角色名和描述信息,并点击确定按钮;![本地路径](./figures/添加角色1.png) -4. 页面弹框提示“角色信息修改成功”,并页面显示修改后的角色信息。![本地路径](./figures/编辑角色2.png) - -#### 2.3.2.2 修改角色权限 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的角色管理; -2. 点击对应角色的变更按钮; -3. 选择相应的权限,点击重置按钮可以清空所选权限,并点击确定按钮;![本地路径](./figures/编辑角色1.png) -4. 页面弹框提示“角色权限变更成功”。![本地路径](./figures/编辑角色2.png) - -### 2.3.3 删除角色 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的角色管理; -2. 点击对应角色的删除按钮,并点击确定;![本地路径](./figures/删除角色1.png)![本地路径](./figures/删除角色2.png) -3. 页面弹框提示“角色删除成功”,并不显示删除的角色信息。![本地路径](./figures/删除角色3.png) - -### 2.4 部门树模块 - -#### 2.4.1 修改部门节点 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 在部门节点对应位置点击修改符号,输入节点名字并点击确定;![本地路径](./figures/修改节点1.png)![本地路径](./figures/修改节点2.png) -3. 页面弹框提示“修改成功”,并显示修改后的部门节点信息。![本地路径](./figures/修改节点3.png) - -#### 2.4.2 删除部门节点 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 在部门节点对应位置点击删除符号并点击确定;![本地路径](./figures/删除节点1.png)![本地路径](./figures/删除节点2.png) -3. 页面弹框提示“删除成功”,并不显示删除节点的信息。![本地路径](./figures/删除节点3.png) - -### 2.5 配置库模块 - -#### 2.5.1 添加 repo 配置文件 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 点击页面的新增按钮;![本地路径](./figures/创建文件1.png) -3. 输入文件名、文件类型、文件路径、描述和内容等信息,文件名必须以.repo结尾,文件路径必须正确,文件内容要符合repo文件的格式,并点击确定按钮;![本地路径](./figures/创建文件2.png) -4. 页面弹框提示“文件保存成功”;并显示新增的repo配置文件信息。![本地路径](./figures/创建文件3.png) - -#### 2.5.2 修改 repo 配置文件 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 找到要修改的repo文件,点击对应的编辑按钮;![本地路径](./figures/编辑文件1.png) -3. 输入修改后的文件名、文件类型、文件路径、描述和内容等信息,并点击确定按钮;![本地路径](./figures/编辑文件2.png) -4. 页面弹框提示“配置文件修改成功”;并显示修改后的repo配置文件信息。![本地路径](./figures/编辑文件3.png) - -#### 2.5.3 删除 repo 配置文件 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 选择要删除的文件,点击页面的删除按钮,并点击确定;![本地路径](./figures/删除角色1.png)![本地路径](./figures/删除角色2.png) -3. 页面弹框提示“存储的文件已从数据库删除”,且页面不显示删除的repo配置文件信息。![本地路径](./figures/文件删除3.png) - -#### 2.5.4 下发 repo 配置文件 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 找到要下发的文件,点击页面的下发按钮,选择要下发的批次,并点击确定;![本地路径](./figures/文件下发1.png)![本地路径](./figures/文件下发2.png) -3. 页面弹框提示“配置文件下发成功”。![本地路径](./figures/文件下发3.png) - -#### 2.5.5 回滚 repo 配置文件历史版本 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的库配置文件; -2. 找到要回滚的文件,点击页面的历史版本按钮;![本地路径](./figures/文件历史版本.png) -3. 选择要回滚的版本,点击回滚按钮并点击确定;![本地路径](./figures/文件回滚1.png)![本地路径](./figures/文件回滚2.png) -4. 页面弹框提示“已回退到历史版本”,历史版本页面增加一条“-latest”记录。![本地路径](./figures/文件回滚3.png)![本地路径](./figures/文件回滚4.png) - -### 2.6 批次模块 - -#### 2.6.1 创建批次 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和创建批次; -2. 点击机器所在的部门名字,在备选项中选择0个或多个机器ip(点击ip前面的方框),若选择一个或多个部门的所有机器可以点击部门列表的方框,并点击备选项中的部门名称,选择完成后点击向右的箭头;![本地路径](./figures/创建批次1.png) -3. 输入批次名称和描述,并点击创建按钮;![本地路径](./figures/创建批次2.png) -4. 页面弹框提示“批次入库成功”,并批次页面显示新创建的批次信息。![本地路径](./figures/创建批次3.png)![本地路径](./figures/创建批次4.png) - -#### 2.6.2 修改批次 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的批次; -2. 点击对应批次的编辑按钮;![本地路径](./figures/编辑批次1.png) -3. 输入新的批次名称和备注信息,并点击确定按钮;![本地路径](./figures/编辑文件2.png) -4. 页面弹框提示“批次修改成功”,并显示修改后的批次信息。![本地路径](./figures/编辑批次3.png) - -#### 2.6.3 删除批次 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的批次; -2. 选择要删除的批次,点击删除按钮并点击确定;![本地路径](./figures/删除批次1.png)![本地路径](./figures/删除批次2.png) -3. 页面弹框提示“批次删除成功”,并不显示删除批次的信息。![本地路径](./figures/删除批次3.png) - -#### 2.6.4 批量安装软件包 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的批次,并点击批次名称;![本地路径](./figures/批量操作1.png) -2. 点击右上角的rpm下发按钮,在搜索框输入软件包的名称,并点击下发按钮;![本地路径](./figures/批量下发1.png) -3. 页面弹框提示“软件包安装成功”,agent端可以查到下发的rpm包。![本地路径](./figures/批量下发2.png) - -#### 2.6.5 批量卸载软件包 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的批次,并点击批次名称;![本地路径](./figures/批量操作1.png) -2. 点击右上角的rpm卸载按钮,在搜索框输入软件包的名称,并点击卸载按钮;![本地路径](./figures/批量卸载1.png) -3. 页面弹框提示“软件包卸载成功”,agent端无此软件包。![本地路径](./figures/批量卸载2.png) - -### 2.7 机器模块 - -#### 2.7.1 删除机器 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 选择要删除的机器,点击删除按钮并点击确定;![本地路径](./figures/删除机器1.png)![本地路径](./figures/删除机器2.png) -3. 页面弹框提示“机器删除成功”,并不显示删除机器的信息。![本地路径](./figures/删除机器3.png) - -#### 2.7.2 变更机器部门 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 选择要变更部门的机器,点击变更部门按钮; -3. 核对变更部门机器ip的信息,选择新的部门,并点击确定;![本地路径](./figures/变更部门1.png) -4. 页面弹框提示“机器部门修改成功”,并显示变更后的信息。![本地路径](./figures/变更部门2.png) - -#### 2.7.3 修改机器内核参数 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击内核参数信息栏目;![本地路径](./figures/机器内核修改1.png) -3. 输入要查找的内核,点击修改,输入参数值并点击确定;![本地路径](./figures/机器内核修改2.png) -4. 页面显示修改进度,成功后显示100%。![本地路径](./figures/机器内核修改3.png) - -#### 2.7.4 启动机器服务 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击服务信息栏目; -3. 在搜索框输入要启动的服务名称,并点击启动按钮; -4. 页面显示软件包名、执行动作、执行结果进度条信息。![本地路径](./figures/机器服务启动.png) - -#### 2.7.5 重启机器服务 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击服务信息栏目; -3. 在搜索框输入要重启的服务名称,并点击重启按钮; -4. 页面显示软件包名、执行动作、执行结果进度条信息。![本地路径](./figures/机器服务重启.png) - -#### 2.7.6 停止机器服务 - -1. 具有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击服务信息栏目; -3. 在搜索框输入要启动的服务名称,并点击停止按钮; -4. 页面显示软件包名、执行动作、执行结果进度条信息。![本地路径](./figures/机器服务停止.png) - -#### 2.7.7 安装软件包 - -1. 有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击软件包信息栏目; -3. 在搜索框输入软件包的名称,并点击安装按钮; -4. 页面显示repo名称、repo地址信息,并页面显示软件包名、执行动作、结果等信息。![本地路径](./figures/机器软件包安装2.png) - -#### 2.7.8 卸载软件包 - -1. 有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击软件包信息栏目; -3. 在搜索框输入软件包的名称,并点击卸载按钮; -4. 页面显示repo名称、repo地址信息,并页面显示软件包名、执行动作、结果等信息。![本地路径](./figures/机器软件包卸载.png) - -#### 2.7.9 连接机器终端 - -1. 有该权限的用户成功登录,点击左侧导航栏中的系统和机器列表; -2. 点击要查看信息的机器ip,并点击终端信息栏目; -3. 输入ip地址和机器密码,点击连接按钮;![本地路径](./figures/机器终端1.png) -4. 页面显示终端窗口。![本地路径](./figures/机器终端.png) - -## 3 PilotGo平台插件使用说明 - -### 3.1 Grafana插件使用说明 - -1. 在任意一台服务器上执行dnf install PilotGo-plugin-grafana grafana; -2. 将/opt/PilotGo/plugin/grafana/config.yaml文件中ip地址修改为本机真实ip,修改/etc/grafana/grafana.ini文件以下信息: - - ```shell - root_url = http://真实ip:9999/plugin/grafana - - serve_from_sub_path = true - - allow_embedding = true - ``` - -3. 重启两个服务,执行以下命令: - - ```shell - systemctl restart grafana-server - - systemctl start PilotGo-plugin-grafana - ``` - -4. 成功登录pilotgo平台,点击左侧导航栏中的插件管理,点击添加插件按钮,填写插件名称和服务地址,并点击确定;![本地路径](./figures/G插件1.png) -5. 页面增加一条插件管理数据,导航栏增加一个插件按钮。![本地路径](./figures/G插件2.png)![本地路径](./figures/G插件3.png) - -### 3.2 Prometheus插件使用说明 - -1. 在任意一台服务器上执行dnf install PilotGo-plugin-prometheus; -2. 将/opt/PilotGo/plugin/prometheus/server/config.yml文件中ip地址修改为本机真实ip和mysql服务地址; -3. 重启服务,执行以下命令: - - ```shell - systemctl start PilotGo-plugin-prometheus - ``` - -4. 成功登录pilotgo平台,点击左侧导航栏中的插件管理,点击添加插件按钮,填写插件名称和服务地址,并点击确定;![本地路径](./figures/P插件1.png) -5. 页面增加一条插件管理数据,导航栏增加一个插件按钮。![本地路径](./figures/P插件2.png)![本地路径](./figures/P插件3.png) -6. 在页面选择机器ip和监控时间,展示机器数据面板。![本地路径](./figures/P插件4.png) diff --git a/docs/zh/tools/community_tools/_toc.yaml b/docs/zh/tools/community_tools/_toc.yaml index 5343378e2bc1d0d73564645600eb4afb52a38a82..1c14e50350b5c92388602ee880a2c6181bfc01ac 100644 --- a/docs/zh/tools/community_tools/_toc.yaml +++ b/docs/zh/tools/community_tools/_toc.yaml @@ -2,22 +2,36 @@ label: 社区工具 sections: - label: 镜像构建 sections: - - href: ./image_custom/isocut/_toc.yaml - - href: ./image_custom/image_tailor/_toc.yaml + - href: + upstream: https://gitee.com/src-openeuler/oemaker/blob/master/docs/zh/_toc.yaml + path: ./isocut + - href: + upstream: https://gitee.com/openeuler/imageTailor/blob/master/docs/zh/master/_toc.yaml + path: ./imagetailor - label: 编译 sections: - - href: ../../server/development/gcc/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/compiler-docs/blob/master/docs/zh/gcc/_toc.yaml + path: ./development/gcc - label: 性能优化 sections: - - href: ../../server/performance/system_optimization/atune/_toc.yaml - - href: ../../server/performance/tuning_framework/oeaware/_toc.yaml + - href: ../../server/performance/atune/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/oeAware-manager/blob/master/docs/zh/master/_toc.yaml + path: ./performance/oeaware - label: 迁移 sections: - - href: ./migration/migration_tools/_toc.yaml + - href: + upstream: https://gitee.com/src-openeuler/migration-tools/blob/master/docs/zh/_toc.yaml + path: ./migration_tools - label: 虚拟化 sections: - - href: ./virtualization/euler_launcher/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/eulerlauncher/blob/master/docs/zh/master/_toc.yaml - label: epkg软件包 sections: - - href: ./epkg/epkg_use/_toc.yaml - - href: ./epkg/autopkg/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/epkg/blob/master/docs/zh/master/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/epkg-autopkg/blob/master/docs/zh/master/_toc.yaml +` \ No newline at end of file diff --git a/docs/zh/tools/community_tools/epkg/autopkg/_toc.yaml b/docs/zh/tools/community_tools/epkg/autopkg/_toc.yaml deleted file mode 100644 index 24f2effc05e5a3b59a683b3c3ec9f29e83abd082..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/epkg/autopkg/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: autopkg用户指南 -isManual: true -description: 高效地将软件源代码打包成适合 openEuler 系统使用的软件包 -sections: - - label: autopkg用户指南 - href: ./autopkg.md diff --git a/docs/zh/tools/community_tools/epkg/autopkg/autopkg.md b/docs/zh/tools/community_tools/epkg/autopkg/autopkg.md deleted file mode 100644 index dff2368e6acf772c793dfcd779ac0cfcf60a8a46..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/epkg/autopkg/autopkg.md +++ /dev/null @@ -1,167 +0,0 @@ -# 概述 - -本软件服务于`openEuler`社区,将`github`等公共平台上的开源代码仓批量加包到`openEuler`平台上,实现软件包依赖自动检测并编译生成二进制文件,替代手工编写与维护,支持`cmake/autotools/meson/maven/python`等多种构建方式,显著提升加包端到端成功率。 - -# 安装与卸载 - -## 1. 安装 - -从源码仓中下载源码。 - -```bash -git clone https://gitee.com/qiu-tangke/autopkg.git -b ${branch} -``` - -切到代码仓目录下,使用`pip`安装软件,仅支持openeuler-22.03-lts及更高版本的openeuler系统(其他版本需自行安装python3.8以上的环境) - -```bash -pip install dist/autopkg-***-py3-none-any.whl -``` - -## 2. 卸载 - -```bash -pip uninstall autopkg -``` - -# 快速入门 - -## 1. 环境准备 - -使用该软件需要在宿主机上运行,并且需要能启动docker容器。 -预制`openEuler`系统的`docker`镜像,方法如下: - -### 方法1 直接下载源码中心仓的autopkg环境镜像 - -```bash -arch=$(uname -m) -if [ "$arch" == "aarch64" ]; then - wget https://cache-openeuler.obs.cn-north-4.myhuaweicloud.com/52f2b17e15ceeefecf5646d7711df7e94691ea1adb11884b926532ae52ab3c22/autopkg-latest_aarch64.tar.xz - docker load < autopkg-latest_aarch64.tar.xz -elif [ "$arch" == "x86_64" ]; then - wget https://cache-openeuler.obs.cn-north-4.myhuaweicloud.com/710a5f18188efc70bfa0119d0b35dcbb62cab911c9eb77b86dc6aebdbbfc69de/autopkg-latest_x86-64.tar.xz - docker load < autopkg-latest_x86-64.tar.xz -else - echo "Error: The system architecture is neither aarch64 nor x86_64, it is $arch." -fi -``` - -### 方法2 逐个使用命令生成镜像(方法1不成功时选择方法2) - -```bash -arch=$(uname -m) -wget "https://repo.huaweicloud.com/openeuler/openEuler-23.03/docker_img/${arch}/openEuler-docker.${arch}.tar.xz" -docker load < "openEuler-docker.${arch}.tar.xz" -docker run -dti --privileged --name=autopkg_working --network=host openEuler-23.03:latest -docker exec -ti ${container_id} bash # 以下命令在容器中执行 -yum install -y git make gcc cmake python3-pip ruby ruby-devel rubygems-devel npm maven automake perl wget curl meson -cat >> /root/phase.sh << EOF -#/usr/bin/env bash - -prep -build -install -EOF -exit # 退出容器 -docker commit ${container_id} > autopkg:latest # 保存容器操作 -docker tag ${new_image_id} autopkg:latest # 操作镜像的名称和标签 -``` - -## 2. 命令行 - -```bash -autopkg --help --g,--git-url: 输入git仓库地址,形如'https://***.git' --t,--tar-url: 输入tar包地址 --d,--dir: 输入本地仓库路径 --n,--name: 输入包名,仅用于接口请求信息时的输入 --v,--version: 输入版本,输入name时配合的参数 --l,--language: 输入语言,输入name时配合的参数 --o,--output: 设置输出文件的路径 --b,--build: 是否需要设置日志模式为debug --c,--config: 设置可直接使用的配置信息 -``` - -## 3. 常用命令 - -### A. 输入本地仓库路径的形式 - -```bash -autopkg -d ${package_dir} -o ${output_path} -``` - -![](./images/dir_test.PNG) - -### B. 输入源码包地址的形式 - -```bash -autopkg -t ${tar_url} -o ${output_path} -``` - -![](./images/tar_url_test.PNG) - -### C. 输入包名且不编译的形式 - -```bash -autopkg -n ${name} -v ${version} -l ${language} -o ${output_path} -``` - -![](./images/name_test.PNG) - -# 输出文件说明 - -软件包编译完成后会生成`package.yaml`,`phase.sh`和`{package_name}.epkg`。不编译的情况下只生成`package.yaml`和`phase.sh`文件,输出路径为--output参数指定的路径,默认为`/tmp/autopkg/output` - -## 1. package.yaml (jekyll为例,ruby编译) - -记录软件包的基本信息参数 - -```yaml -meta: - summary: No detailed summary available - description: | - # [Jekyll](https://jekyllrb.com/) -name: jekyll -version: 4.3.3 -homepage: https://localhost:8080/jekyll-0.0.1.tar.gz -license: MIT -source: - '0': https://localhost:8080/jekyll-0.0.1.tar.gz # 输入本地仓库时,url会采用本地服务模拟的url -release: 0 -buildRequires: -- ruby -- ruby-devel -- rubygems-devel -``` - -## 2. phase.sh (jekyll为例,ruby编译) - -软件包的构建脚本 - -```bash -#!/usr/bin/env bash - -prep() { - cd /root/workspace -} - -build() { - if [ -f *.gemspec ]; then - gem build *.gemspec - fi - mkdir -p usr/ - gem install -V --local --build-root usr --force --document=ri,rdoc *.gem -} - -install() { - rm -rf /opt/buildroot - mkdir /opt/buildroot - cp -r usr/ /opt/buildroot -} -``` - -## 3. ***.epkg - -软件包的安装包 - -![](./images/local_epkg.PNG) diff --git a/docs/zh/tools/community_tools/epkg/autopkg/images/dir_test.PNG b/docs/zh/tools/community_tools/epkg/autopkg/images/dir_test.PNG deleted file mode 100644 index 3d223e1c3f7aca150b724746b43a931f77e6c6d9..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/epkg/autopkg/images/dir_test.PNG and /dev/null differ diff --git a/docs/zh/tools/community_tools/epkg/autopkg/images/local_epkg.PNG b/docs/zh/tools/community_tools/epkg/autopkg/images/local_epkg.PNG deleted file mode 100644 index 7f5ecdf2948a661ab2d513f008ae72758706fe28..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/epkg/autopkg/images/local_epkg.PNG and /dev/null differ diff --git a/docs/zh/tools/community_tools/epkg/autopkg/images/name_test.PNG b/docs/zh/tools/community_tools/epkg/autopkg/images/name_test.PNG deleted file mode 100644 index 95e5cbfc916919e0996172cd4c55433c55eed4c2..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/epkg/autopkg/images/name_test.PNG and /dev/null differ diff --git a/docs/zh/tools/community_tools/epkg/autopkg/images/tar_url_test.PNG b/docs/zh/tools/community_tools/epkg/autopkg/images/tar_url_test.PNG deleted file mode 100644 index 80a49875c4eacbe74da42a859d7d9df251533fb8..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/epkg/autopkg/images/tar_url_test.PNG and /dev/null differ diff --git a/docs/zh/tools/community_tools/epkg/epkg_use/_toc.yaml b/docs/zh/tools/community_tools/epkg/epkg_use/_toc.yaml deleted file mode 100644 index 2290a2d124c140efb00a2bf5a8589275353349a5..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/epkg/epkg_use/_toc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -label: epkg包管理器使用指南 -isManual: true -description: 使用 epkg 包管理器 -sections: - - label: epkg包管理器使用指南 - href: ./epkg_package_manager_usage_guide.md - - label: x2epkg工具使用指南 - href: ./x2epkg_usage-guide.md - - label: create_repo使用指南 - href: ./create_repo_usage-guide.md diff --git a/docs/zh/tools/community_tools/epkg/epkg_use/create_repo_usage-guide.md b/docs/zh/tools/community_tools/epkg/epkg_use/create_repo_usage-guide.md deleted file mode 100644 index c796e2fc754381dc6f076f398727f23c5b8c0402..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/epkg/epkg_use/create_repo_usage-guide.md +++ /dev/null @@ -1,68 +0,0 @@ -# create_repo 使用指南 - -## 介绍 - -本文介绍create_repo软件包转换工具的简单使用。本文涉及操作结果示例均以root用户为例,无需安装。支持将epkg包目录结构生成本地repo源 - -## 下载 - -```bash -git clone https://gitee.com/openeuler/epkg.git -``` - -## 快速上手 - -下载epkg仓库后直接进入create_repo目录下使用 - -```shell -cd epkg/create_repo -python3 create_repo.py --help -``` - -## 前置条件 - -输入目录是一个包目录结构,结构如下 - -```txt -# tree store/ -store/ -|-- 45 -| `-- 45dqn3vzum73pf7igmmu6zbcxndqqebr__glibc-devel__2.38__29.oe2403.epkg -|-- at -| `-- atqwhznwbp6lzvur5stgb4jjem6tzllf__redis__4.0.14__6.oe2403.epkg -|-- bt -| `-- btblk472ob4teixd522qgv6b2c7tk4v4__ncurses-base__5.9+20140118__1ubuntu1.epkg -|-- f7 -| `-- f7ealc3ghq6tdmvrh22l5vlxycgndwam__atlas__3.10.3__10.oe1.epkg -|-- jl -| `-- jlrwn3rcjb4gbdx4uf77lslxg37rodyf__glibc__2.38__29.oe2403.epkg -|-- kc -| `-- kclugzl6mtkqeqkgbmpf2vq4kpkeleqb__atlas-devel__3.10.3__10.oe1.epkg -`-- of - `-- ofdjbysy76gs5tzzgxulaoumgqjfe6d2__audit__4.0.3__1.epkg - -8 directories, 7 files -``` - -## 参数解析 - -```txt -usage: create_repo.py [-h] -s STORE -c CONFIG - -create repo参数 - -optional arguments: - -h, --help 查看命令参数使用 - -s STORE, --store STORE - 输入epkg包仓的store目录 - -c CONFIG, --config CONFIG - 输入repo清单配置文件的地址 -``` - -## 运行案例 - -```shell - cd epkg/x2epkg - python3 create_repo.py -s /root/store -c /root/config.yaml - ls /root/repodata # 查看生成结果,输出所在路径与store仓库所在路径一致 -``` diff --git a/docs/zh/tools/community_tools/epkg/epkg_use/epkg_package_manager_usage_guide.md b/docs/zh/tools/community_tools/epkg/epkg_use/epkg_package_manager_usage_guide.md deleted file mode 100644 index 46123d7ee4868f5a8029c67b7d3e26f363aaa1ed..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/epkg/epkg_use/epkg_package_manager_usage_guide.md +++ /dev/null @@ -1,326 +0,0 @@ -# 介绍 - -本文介绍EPKG包管理器工作环境如何初始化,以及基本功能如何使用。本文涉及操作结果示例均以非root用户为例。 - -## 快速上手 - -下面的实例介绍了安装不同软件包版本的方式 - -```bash -# curl 方式安装epkg -# 安装时可选user/global安装模式,user模式仅当前安装用户可用,global模式全局用户可用 -# 仅root用户可使用global安装模式 -wget https://repo.oepkgs.net/openeuler/epkg/rootfs/epkg-installer.sh -bash epkg-installer.sh - -# 卸载epkg -wget https://repo.oepkgs.net/openeuler/epkg/rootfs/epkg-uninstaller.sh -bash epkg-uninstaller.sh - -# 初始化epkg -# user模式安装:自动初始化 -# global模式安装:root用户自动初始化,其他用户需要手动初始化 -epkg init -bash // 重新执行.bashrc, 获得新的PATH - -# 创建环境t1 -epkg env create t1 -epkg install tree -tree --version -which tree - -# 查看repo -[root@vbox ~]# epkg repo list -EPKG_ACTIVE_ENV: ------------------------------------------------------------------------------------------------------------------------------------------------------- -channel | repo | url ------------------------------------------------------------------------------------------------------------------------------------------------------- -openEuler-20.03-LTS-SP4 | everything | https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-20.03-LTS-SP4/everything/ -openEuler-22.03-LTS-SP4 | everything | https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-22.03-LTS-SP4/everything/ -openEuler-24.03-LTS | everything | https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.03-LTS/everything/ -openEuler-24.09 | everything | https://repo.oepkgs.net/openeuler/epkg/channel/openEuler-24.09/everything/ ------------------------------------------------------------------------------------------------------------------------------------------------------- - -# 创建环境2, 指定repo -epkg env create t2 --repo openEuler-22.03-LTS-SP3 -epkg install tree -tree --version -which tree - -# 切换回环境1 -epkg env activate t1 -``` - -## EPKG包管理器使用说明 - -```bash -Usage: -    epkg install -    epkg remove [-y] -    epkg upgrade (开发中...) -    -    epkg list - -    epkg env list -    epkg env create [--repo ] -    epkg env remove -    epkg env activate [--pure] -    epkg env deactivate -    epkg env register|unregister -    epkg env history -    epkg env rollback -``` - -### 安装软件 - -功能描述: - - 在当前activate的环境中安装软件 - 若无环境激活,默认安装到main环境中:`epkg env activate ` - -命令: - - `epkg install ` - -示例: - -```bash -[root@vbox ~]# epkg env create t1 -EPKG_ACTIVE_ENV: -Environment t1 not exist. -Environment 't1' has been created. -Environment 't1' activated. -[root@vbox ~]# epkg install tree -EPKG_ACTIVE_ENV: t1 -Attention: Install success: 8jkd3nbg9td5jnc738yhrz5yjwy5qzha__openEuler-repos__1.0__3.7.oe2403 2px41kqhx9matg9e5zgy36s06qqdn3nj__glibc-all-langpacks__2.38__29.oe24.... -[root@vbox ~]# epkg install htop -EPKG_ACTIVE_ENV: t1 -Warning: The following packages are already installed and will be skipped: -- 6sgyzx3s7624r0x7rpe4w8642p2d181r__fuse__2.9.9__11.oe2403 -- 3gypc46xq6mqd37ya3mhztz2zfkjghw1__libsigsegv__2.14__1.oe2403 -.... -Attention: Install success: v0wrq5sv9r5znsgtgxkbax24r7f6nq80__htop__3.3.0__1.oe2403 -[root@vbox ~]# -``` - -### 卸载软件 - -功能描述: - - 在当前activate的环境中安装软件 - 若无环境激活,默认安装到main环境中:`epkg env activate ` - -命令: - - `epkg remove ` - -示例: - -```bash -[root@vbox ~]# epkg env activate t1 -Environment 't1' activated. -[root@vbox ~]# epkg remove htop -Packages to remove: -- v0wrq5sv9r5znsgtgxkbax24r7f6nq80__htop__3.3.0__1.oe2403 -Do you want to continue with uninstallation? (y/n): -y -Attention: Remove success: v0wrq5sv9r5znsgtgxkbax24r7f6nq80__htop__3.3.0__1.oe2403 -[root@vbox ~]# -``` - -### 列出环境 - -功能描述: - 列出当前epkg所有环境,及激活和注册的环境 - -命令: - `epkg env list` - -示例: - -```bash -[root@vbox ~]# epkg env list -EPKG_ACTIVE_ENV: t1 -Environment Status ------------------------------------ -t1 activated -main registered -``` - -### 创建环境 - -功能描述: - 创建新环境,默认激活创建的环境 - -命令: - `epkg env create ` - -示例: - -```bash -[root@vbox ~]# epkg env create t2 -EPKG_ACTIVE_ENV: t1 -Environment t2 not exist. -Environment 't2' has been created. -Environment 't2' activated. -[root@vbox ~]# epkg env list -EPKG_ACTIVE_ENV: t2 -Environment Status ------------------------------------ -t2 activated -t1 -main registered -``` - -### 删除环境 - -功能描述: - 删除环境 - -命令: - `epkg env remove ` - -示例: - -```bash -[root@vbox ~]# epkg env remove t2 -EPKG_ACTIVE_ENV: t2 -Environment t2 exist. -Environment t2 not registered. -Environment t2 has been removed. -[root@vbox ~]# epkg env list -EPKG_ACTIVE_ENV: -Environment Status ------------------------------------ -t1 -main registered -``` - -### 激活环境 - -功能描述: - 激活指定的环境,刷新PATH,并将激活环境设为第一优先级 - -命令: - `epkg env activate ` - -示例: - -```bash -[root@vbox ~]# epkg env activate main -Environment 'main' activated. -[root@vbox ~]# epkg env list -EPKG_ACTIVE_ENV: main -Environment Status ------------------------------------ -t1 -main activated|registered -[root@vbox ~]# echo $PATH -/root/.epkg/envs/main/profile-current/usr/app-bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin -``` - -### 去激活环境 - -功能描述: - 去激活环境,去激活当前已激活的环境,刷新PATH - -命令: - `epkg env deactivate` - -示例: - -```bash -[root@vbox ~]# epkg env activate t1 -Environment 't1' activated. -[root@vbox ~]# echo $PATH -/root/.epkg/envs/t1/profile-current/usr/app-bin:/root/.epkg/envs/main/profile-current/usr/app-bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin -[root@vbox ~]# epkg env deactivate -Environment 't1' deactivated. -[root@vbox ~]# echo $PATH -/root/.epkg/envs/main/profile-current/usr/app-bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin -``` - -### 注册环境 - -功能描述: - 持久化注册指定环境,刷新PATH - 注册的环境在新的shell中依然生效 - -命令: - `epkg env register ` - -示例: - -```bash -[root@vbox ~]# epkg env register t1 -EPKG_ACTIVE_ENV: -Environment t1 exist. -Environment 't1' has been registered. -[root@vbox ~]# echo $PATH -/root/.epkg/envs/t1/profile-current/usr/app-bin:/root/.epkg/envs/main/profile-current/usr/app-bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin -[root@vbox ~]# epkg env list -EPKG_ACTIVE_ENV: -Environment Status ------------------------------------ -t1 registered -main registered -``` - -### 去注册环境 - -功能描述: - 持久化去注册指定环境,刷新PATH - -命令: - `epkg env unregister ` - -示例: - -```bash -[root@vbox ~]# epkg env unregister t1 -EPKG_ACTIVE_ENV: -Environment t1 exist. -Environment t1 had been registered. -Environment 't1' has been unregistered from PATH. -``` - -### 环境历史 - -功能描述: - 查看当前激活环境的历史记录 - -命令: - `epkg env history` - -示例: - -```bash -[root@vbox ~]# epkg env activate t1 -Environment 't1' activated. -[root@vbox ~]# epkg env history --------------------------------------------------- t1 env history -------------------------------------------------- -id | timestamp | action | new_packages | del_packages | command line -----+----------------------------+------------+--------------+--------------+----------------------------------------- -1 | 2025-03-06 20:23:31 +08:00 | install | 70 | 0 | /opt/epkg/users/public/envs/common/profile-current/usr/bin/epkg install tree -2 | 2025-03-06 20:23:38 +08:00 | install | 1 | 0 | /opt/epkg/users/public/envs/common/profile-current/usr/bin/epkg install htop -3 | 2025-03-06 20:23:45 +08:00 | remove | 0 | 1 | /opt/epkg/users/public/envs/common/profile-current/usr/bin/epkg remove htop -``` - -### 环境回退 - -功能描述: -    回退激活环境,history_id即epkg env history中查询的id列 - -命令: -    `epkg env rollback ` - -示例: - -```bash -[root@vbox ~]# epkg env rollback 2 --------------------------------------- Rollback information --------------------------------------- -action | hash | pkg | version | release | dist --------+----------------------------------+----------------------+------------+---------+------------ -new | v0wrq5sv9r5znsgtgxkbax24r7f6nq80 | htop | 3.3.0 | 1 | 1.oe2403 -Rollback success! -``` diff --git a/docs/zh/tools/community_tools/epkg/epkg_use/x2epkg_usage-guide.md b/docs/zh/tools/community_tools/epkg/epkg_use/x2epkg_usage-guide.md deleted file mode 100644 index f37bb815a9fa4c797f71bf6f350936ba3a2930c9..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/epkg/epkg_use/x2epkg_usage-guide.md +++ /dev/null @@ -1,41 +0,0 @@ -# x2epkg 使用指南 - -## 介绍 - -本文介绍x2epkg软件包转换工具的简单使用。本文涉及操作结果示例均以root用户为例,无需安装。支持将rpm/deb/pkg.tar.zst安装包转换为[epkg](https://gitee.com/qiu-tangke/docs/blob/master/docs/zh/docs/epkg/epkg%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.md)安装包 - -## 下载 - -```bash -git clone https://gitee.com/openeuler/epkg.git -``` - -## 快速上手 - -下载epkg仓库后直接进入x2epkg目录下使用 - -```shell -cd epkg/x2epkg -./x2epkg.sh --help -``` - -## 参数解析 - -```txt -Usage: - ./x2epkg xxx.rpm # 单个rpm包的转换 - ./x2epkg xxx.deb # 单个debian包的转换 - ./x2epkg xxx.pkg.tar.zst # 单个archlinux包的转换 - ./x2epkg file_path/*.rpm # 多个安装包的转换,同样适用于deb和pkg.tar.zst文件 - ./x2epkg xxx.rpm --out-dir PATH # 加上out-dir参数可以指明输出目录,如果不加则输出到包的同级目录下 -``` - -## 运行案例 - -```shell - cd /root - wget https://mirrors.huaweicloud.com/archlinux/core/os/x86_64/fakeroot-1.37.1-1-x86_64.pkg.tar.zst - cd epkg/x2epkg - ./x2epkg.sh /root/fakeroot-1.37-1-x86_64.pkg.tar.zst - ls /root/store/4t/4tmfsi5yikkq32rrulae6oi6u4txr5zu__fakeroot__1.37.1__1.epkg # 查看生成结果 -``` diff --git a/docs/zh/tools/community_tools/image_custom/image_tailor/_toc.yaml b/docs/zh/tools/community_tools/image_custom/image_tailor/_toc.yaml deleted file mode 100644 index 0f3a8f5e511fa3dcabbb5398d210db01b86a300b..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/image_custom/image_tailor/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: imageTailor 使用指南 -isManual: true -description: 按需裁剪操作系统镜像中的包或文件 -sections: - - label: imageTailor 使用指南 - href: ./imagetailor_user_guide.md diff --git a/docs/zh/tools/community_tools/image_custom/image_tailor/figures/flowchart.png b/docs/zh/tools/community_tools/image_custom/image_tailor/figures/flowchart.png deleted file mode 100644 index e4fecb8b310f204d6cfd07449ccc3c93d1badd51..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/image_custom/image_tailor/figures/flowchart.png and /dev/null differ diff --git a/docs/zh/tools/community_tools/image_custom/image_tailor/imagetailor_user_guide.md b/docs/zh/tools/community_tools/image_custom/image_tailor/imagetailor_user_guide.md deleted file mode 100644 index 12556bd360e0b3f1d7c34e51f719adbec91beecc..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/image_custom/image_tailor/imagetailor_user_guide.md +++ /dev/null @@ -1,885 +0,0 @@ -# imageTailor 使用指南 - -## 简介 - -操作系统除内核外,还包含各种功能的外围包。通用操作系统包含较多外围包,提供了丰富的功能,但是这也带来了一些影响: - -- 占用资源(内存、磁盘、CPU 等)多,导致系统运行效率低 -- 很多功能用户不需要,增加了开发和维护成本 - -因此,openEuler 提供了 imageTailor 镜像裁剪定制工具。用户可以根据需求裁剪操作系统镜像中不需要的外围包,或者添加所需的业务包或文件。该工具主要提供了以下功能: - -- 系统包裁剪定制:用户可以选择默认安装以及裁剪的rpm,也支持用户裁剪定制系统命令、库、驱动。 -- 系统配置定制:用户可以配置主机名、启动服务、时区、网络、分区、加载驱动、版本号等。 -- 用户文件定制:支持用户添加定制文件到系统镜像中。 - -## 安装工具 - -本节以 openEuler 22.03 LTS 版本 AArch64 架构为例,说明安装方法。 - -### 软硬件要求 - -安装和运行 imageTailor 需要满足以下软硬件要求: - -- 机器架构为 x86_64 或者 AArch64 - -- 操作系统为 openEuler 22.03 LTS(该版本内核版本为 5.10,python 版本为 3.9,满足工具要求) - -- 运行工具的机器根目录 '/' 需要 40 GB 以上空间 - -- python 版本 3.9 及以上 - -- kernel 内核版本 5.10 及以上 - -- 关闭 SElinux 服务 - - ```shell - $ sudo setenforce 0 - $ getenforce - Permissive - ``` - -### 获取安装包 - -安装和使用 imageTailor 工具,首先需要下载 openEuler 发布件。 - -1. 获取 ISO 镜像文件和对应的校验文件。 - - 镜像必须为 everything 版本,此处假设存放在 root 目录,参考命令如下: - - ```shell - cd /root/temp - wget https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-everything-aarch64-dvd.iso - wget https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-everything-aarch64-dvd.iso.sha256sum - ``` - -2. 获取 sha256sum 校验文件中的校验值。 - - ```shell - cat openEuler-22.03-LTS-everything-aarch64-dvd.iso.sha256sum - ``` - -3. 计算 ISO 镜像文件的校验值。 - - ```shell - sha256sum openEuler-22.03-LTS-everything-aarch64-dvd.iso - ``` - -4. 对比上述 sha256sum 文件的检验值和 ISO 镜像的校验值,如果两者相同,说明文件完整性检验成功。否则说明文件完整性被破坏,需要重新获取文件。 - -### 安装 imageTailor - -此处以 openEuler 22.03 LTS 版本的 AArch64 架构为例,介绍如何安装 imageTailor 工具。 - -1. 确认机器已经安装操作系统 openEuler 22.03 LTS( imageTailor 工具的运行环境)。 - - ```shell - $ cat /etc/openEuler-release - openEuler release 22.03 LTS - ``` - -2. 创建文件 /etc/yum.repos.d/local.repo,配置对应 yum 源。配置内容参考如下,其中 baseurl 是用于挂载 ISO 镜像的目录: - - ```shell - [local] - name=local - baseurl=file:///root/imageTailor_mount - gpgcheck=0 - enabled=1 - ``` - -3. 使用 root 权限,挂载光盘镜像到 /root/imageTailor_mount 目录(请与上述 repo 文件中配置的 baseurl 保持一致,且建议该目录的磁盘空间大于 20 GB)作为 yum 源,参考命令如下: - - ```shell - mkdir /root/imageTailor_mount - sudo mount -o loop /root/temp/openEuler-22.03-LTS-everything-aarch64-dvd.iso /root/imageTailor_mount/ - ``` - -4. 使 yum 源生效: - - ```shell - yum clean all - yum makecache - ``` - -5. 使用 root 权限,安装 imageTailor 裁剪工具: - - ```shell - sudo yum install -y imageTailor - ``` - -6. 使用 root 权限,确认工具已安装成功。 - - ```shell - $ cd /opt/imageTailor/ - $ sudo ./mkdliso -h - ------------------------------------------------------------------------------------------------------------- - Usage: mkdliso -p product_name -c configpath [--minios yes|no|force] [-h] [--sec] - Options: - -p,--product Specify the product to make, check custom/cfg_yourProduct. - -c,--cfg-path Specify the configuration file path, the form should be consistent with custom/cfg_xxx - --minios Make minios: yes|no|force - --sec Perform security hardening - -h,--help Display help information - - Example: - command: - ./mkdliso -p openEuler -c custom/cfg_openEuler --sec - - help: - ./mkdliso -h - ------------------------------------------------------------------------------------------------------------- - ``` - -### 目录介绍 - -imageTailor 工具安装完成后,工具包的目录结构如下: - -```shell -[imageTailor] - |-[custom] - |-[cfg_openEuler] - |-[usr_file] // 存放用户添加的文件 - |-[usr_install] // 存放用户的 hook 脚本 - |-[all] - |-[conf] - |-[hook] - |-[cmd.conf] // 配置 ISO 镜像默认使用的命令和库 - |-[rpm.conf] // 配置 ISO 镜像默认安装的 RPM 包和驱动列表 - |-[security_s.conf] // 配置安全加固策略 - |-[sys.conf] // 配置 ISO 镜像系统参数 - |-[kiwi] // imageTailor 基础配置 - |-[repos] // RPM 源,制作 ISO 镜像需要的 RPM 包 - |-[security-tool] // 安全加固工具 - |-mkdliso // 制作 ISO 镜像的可执行脚本 -``` - -## 定制系统 - -本章介绍使用 imageTailor 工具将业务 RPM 包、自定义文件、驱动、命令和文件打包至目标 ISO 镜像。 - -### 总体流程 - -使用 imageTailor 工具定制系统的流程请参见下图: - -![](./figures/flowchart.png) - -各流程含义如下: - -- 检查软硬件环境:确认制作 ISO 镜像的机器满足软硬件要求。 - -- 定制业务包:包括添加 RPM 包(包括业务 RPM 包、命令、驱动、库文件)和添加文件(包括自定义文件、命令、驱动、库文件) - - - 添加业务 RPM 包:用户可以根据需要,添加 RPM 包到 ISO 镜像。具体要求请参见 [安装工具](#安装工具) 章节。 - - 添加自定义文件:若用户希望在目标 ISO 系统安装或启动时,能够进行自定义的硬件检查、系统配置检查、驱动安装等操作,可编写自定义文件,并打包到 ISO 镜像。 - - 添加驱动、命令、库文件:当 openEuler 的 RPM 包源未包含用户需要的驱动、命令或库文件时,可以使用 imageTailor 工具将对应驱动、命令或库文件打包至 ISO 镜像。 - -- 配置系统参数 - - - 配置主机参数:为了确保 ISO 镜像安装和启动成功,需要配置主机参数。 - - 配置分区:用户可以根据业务规划配置业务分区,同时可以调整系统分区。 - - 配置网络:用户可以根据需要配置系统网络参数,例如:网卡名称、IP 地址、子网掩码。 - - 配置初始密码:为了确保 ISO 镜像安装和启动成功,需要配置 root 初始密码和 grub 初始密码。 - - 配置内核参数:用户可以根据需求配置内核的命令行参数。 - -- 配置安全加固策略 - - imageTailor 提供了默认地安全加固策略。用户可以根据业务需要,通过编辑 security_s.conf 对系统进行二次加固(仅在系统 ISO 镜像定制阶段),具体的操作方法请参见 《 [安全加固指南](https://docs.openeuler.org/zh/docs/22.03_LTS/docs/SecHarden/secHarden.html) 》。 - -- 制作操作系统 ISO 镜像 - - 使用 imageTailor 工具制作操作系统 ISO 镜像。 - -### 定制业务包 - -用户可以根据业务需要,将业务 RPM 包、自定义文件、驱动、命令和库文件打包至目标 ISO 镜像。 - -#### 配置本地 repo 源 - -定制 ISO 操作系统镜像,必须在 /opt/imageTailor/repos/euler_base/ 目录配置 repo 源。本节主要介绍配置本地 repo 源的方法。 - -1. 下载 openEuler 发布的 ISO (必须使用 openEuler 发布 everything 版本镜像 的 RPM 包)。 - - ```shell - cd /opt - wget https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-everything-aarch64-dvd.iso - ``` - -2. 创建挂载目录 /opt/openEuler_repo ,并挂载 ISO 到该目录 。 - - ```shell - $ sudo mkdir -p /opt/openEuler_repo - $ sudo mount openEuler-22.03-LTS-everything-aarch64-dvd.iso /opt/openEuler_repo - mount: /opt/openEuler_repo: WARNING: source write-protected, mounted read-only. - ``` - -3. 拷贝 ISO 中的 RPM 包到 /opt/imageTailor/repos/euler_base/ 目录下。 - - ```shell - $ sudo rm -rf /opt/imageTailor/repos/euler_base && sudo mkdir -p /opt/imageTailor/repos/euler_base - $ sudo cp -ar /opt/openEuler_repo/Packages/* /opt/imageTailor/repos/euler_base - $ sudo chmod -R 644 /opt/imageTailor/repos/euler_base - $ sudo ls /opt/imageTailor/repos/euler_base|wc -l - 2577 - $ sudo umount /opt/openEuler_repo && sudo rm -rf /opt/openEuler_repo - $ cd /opt/imageTailor - ``` - -#### 添加文件 - -用户可以根据需要添加文件到 ISO 镜像,此处的文件类型可以是用户自定义文件、驱动、命令、库文件。用户只需要将文件放至 /opt/imageTailor/custom/cfg_openEuler/usr_file 目录下即可。 - -##### 注意事项 - -- 命令必须具有可执行权限,否则 imageTailor 工具无法将该命令打包至 ISO 中。 - -- 存放在 /opt/imageTailor/custom/cfg_openEuler/usr_file 目录下的文件,会生成在 ISO 根目录下,所以文件的目录结构必须是从根目录开始的完整路径,以便 imageTailor 工具能够将该文件放至正确的目录下。 - - 例如:假设希望文件 file1 在 ISO 的 /opt 目录下,则需要在 usr_file 目录下新建 opt 目录,再将 file1 文件拷贝至 opt 目录。如下: - - ```shell - $ pwd - /opt/imageTailor/custom/cfg_openEuler/usr_file - - $ tree - . - ├── etc - │   ├── default - │   │   └── grub - │   └── profile.d - │   └── csh.precmd - └── opt - └── file1 - - 4 directories, 3 files - ``` - -- 存放在 /opt/imageTailor/custom/cfg_openEuler/usr_file 目录下的目录必须是真实路径(例如路径中不包含软链接。可在系统中使用 `realpath` 或 `readlink -f` 命令查询真实路径)。 - -- 如果需要在系统启动或者安装阶段调用用户提供的脚本,即 hook 脚本,则需要将该文件放在 hook 目录下。 - -#### 添加 RPM 包 - -##### 操作流程 - -用户可以添加 RPM 包(驱动、命令或库文件)到 ISO 镜像,操作步骤如下: - -> [!NOTE]说明 -> 下述 rpm.conf 和 cmd.conf 均在 /opt/imageTailor/custom/cfg_openEuler/ 目录下。 -> 下述 RPM 包裁剪粒度是指 sys_cut='no' 。裁剪粒度详情请参见 [配置主机参数](#配置主机参数) 。 -> 若没有配置本地 repo 源,请参见 [配置本地 repo 源](#配置本地-repo-源)进行配置。 - -1. 确认 /opt/imageTailor/repos/euler_base/ 目录中是否包含需要添加的 RPM 包。 - - - 是,请执行步骤 2 。 - - 否,请执行步骤 3 。 - -2. 在 rpm.conf 的 \ 字段配置该 RPM 包信息。 - - - 若为 RPM 包裁剪粒度,则操作完成。 - - 若为其他裁剪粒度,请执行步骤 4 。 - -3. 用户自己提供 RPM 包,放至 /opt/imageTailor/custom/cfg_openEuler/usr_rpm 目录下。如果 RPM 包依赖于其他 RPM 包,也必须将依赖包放至该目录,因为新增 RPM 包需要和依赖 RPM 包同时打包至 ISO 镜像。 - - - 若为用户 RPM 包文件裁剪,则执行 4 。 - - 其他裁剪粒度,则操作完成。 - -4. 请在 rpm.conf 和 cmd.conf 中配置该 RPM 包中要保留的驱动、命令和库文件。如果有要裁剪的普通文件,需要在 cmd.conf 文件中的 \\ 区域配置。 - -##### 配置文件说明 - -| 对象 | 对应配置文件 | 填写区域 | -| :----------- | :----------- | :----------------------------------------------------------- | -| 添加驱动 | rpm.conf | \
\
\

说明:其中驱动名称所在路径为 " /lib/modules/{内核版本号}/kernel/ " 的相对路径 | -| 添加命令 | cmd.conf | \
\
\
| -| 添加库文件 | cmd.conf | \
\
\
| -| 删除其他文件 | cmd.conf | \
\
\

说明:普通文件名称必须包含绝对路径 | - -**示例**如下 - -- 添加驱动 - - ```shell - - - - - ...... - - ``` - -- 添加命令 - - ```shell - - - - - ...... - - ``` - -- 添加库文件 - - ```shell - - - - - - ``` - -- 删除其他文件 - - ```shell - - - - - - ``` - -#### 添加 hook 脚本 - -hook 脚本由 OS 在启动和安装过程中调用,执行脚本中定义的动作。imageTailor 工具存放 hook 脚本的目录为 custom/cfg_openEuler/usr_install/hook,且其下有不同子目录,每个子目录代表 OS 启动或安装的不同阶段,用户根据脚本需要被调用的阶段存放,OS 会在对应阶段调用该脚本。用户可以根据需要存放自定义脚本到指定目录。 - -##### **脚本命名规则** - -用户可自定义脚本名称,必须 "S+数字(至少两位,个位数以0开头)" 开头,数字代表 hook 脚本的执行顺序。脚本名称示例:S01xxx.sh - -> [!NOTE]说明 -> hook 目录下的脚本是通过 source 方式调用,所以脚本中需要谨慎使用 exit 命令,因为调用 exit 命令之后,整个安装的脚本程序也同步退出了。 - -##### hook 子目录说明 - -| hook 子目录 | hook 脚本举例 | hook 执行点 | 说明 | -| :-------------------- | :---------------------| :------------------------------- | :----------------------------------------------------------- | -| insmod_drv_hook | 无 | 加载 OS 驱动之后 | 无 | -| custom_install_hook | S01custom_install.sh | 驱动加载完成后(即 insmod_drv_hook 执行后) | 用户可以自定义安装过程,不需要使用 OS 默认安装流程。 | -| env_check_hook | S01check_hw.sh | 安装初始化之前 | 初始化之前检查硬件配置规格、获取硬件类型。 | -| set_install_ip_hook | S01set_install_ip.sh | 安装初始化过程中,配置网络时 | 用户根据自身组网,自定义网络配置。 | -| before_partition_hook | S01checkpart.sh | 在分区前调用 | 用户可以在分区之前检查分区配置文件是否正确。 | -| before_setup_os_hook | 无 | 解压repo之前 | 用户可以进行自定义分区挂载操作。
如果安装包解压的路径不是分区配置中指定的根分区。则需要用户自定义分区挂载,并将解压路径赋值给传入的全局变量。 | -| before_mkinitrd_hook | S01install_drv.sh | 执行 mkinitrd 操作之前 | initrd 放在硬盘的场景下,执行 mkinitrd 操作之前的 hook。用户可以进行添加、更新驱动文件等自定义操作。 | -| after_setup_os_hook | 无 | 安装完系统之后 | 用户可以在安装完成之后进行系统文件的自定义操作,包括修改 grub.cfg 等 | -| install_succ_hook | 无 | 系统安装流程成功结束 | 用户执行解析安装信息,回传安装是否成功等操作。install_succ_hook 不可以设置为 install_break。 | -| install_fail_hook | 无 | 系统安装失败 | 用户执行解析安装信息,回传安装是否成功等操作。install_fail_hook 不可以设置为 install_break。 | - -### 配置系统参数 - -开始制作操作系统 ISO 镜像之前,需要配置系统参数,包括主机参数、初始密码、分区、网络、编译参数和系统命令行参数。 - -#### 配置主机参数 - - /opt/imageTailor/custom/cfg_openEuler/sys.conf 文件的 \ \ 区域用于配置系统的常用参数,例如主机名、内核启动参数等。 - -openEuler 提供的默认配置如下,用户可以根据需要进行修改: - -```shell - - sys_service_enable='ipcc' - sys_service_disable='cloud-config cloud-final cloud-init-local cloud-init' - sys_utc='yes' - sys_timezone='' - sys_cut='no' - sys_usrrpm_cut='no' - sys_hostname='Euler' - sys_usermodules_autoload='' - sys_gconv='GBK' - -``` - -配置中的各参数含义如下: - -- sys_service_enable - - 可选配置。OS 默认启用的服务,多个服务请以空格分开。如果用户不需要新增系统服务,请保持缺省值为 ipcc 。配置时请注意: - - - 只能在默认配置的基础上增加系统服务,不能删减系统服务。 - - 可以配置业务相关的服务,但是需要 repo 源中包含业务 RPM 包。 - - 默认只开启该参数中配置的服务,如果服务依赖其他服务,需要将被依赖的服务也配置在该参数中。 - -- sys_service_disable - - 可选配置。禁止服务开机自启动的服务,多个服务请以空格分开。如果用户没有需要禁用的系统服务,请修改该参数为空。 - -- sys_utc - - 必选配置。是否采用 UTC 时间。yes 表示采用,no 表示不采用,缺省值为 yes 。 - -- sys_timezone - - 可选配置。设置时区,即该单板所处的时区。可配置的范围为 openEuler 支持的时区,可通过 /usr/share/zoneinfo/zone.tab 文件查询。 - -- sys_cut - - 必选配置。是否裁剪 RPM 包。可配置为 yes、no 或者 debug 。yes 表示裁剪,no 表示不裁剪(仅安装 rpm.conf 中的 RPM 包),debug 表示裁剪但会保留 `rpm` 命令方便安装后定制。缺省值为 no 。 - - > ![](./public_sys-resources/icon-note.gif) 说明: - > imageTailor 工具会先安装用户添加的 RPM 包,再删除 cmd.conf中 \ 区域的文件,最后删除cmd.conf 和 rpm.conf 中未配置的命令、库和驱动。 - > sys_cut='yes' 时,imageTailor 工具不支持 `rpm` 命令的安装,即使在 rpm.conf 中配置了也不生效。 - -- sys_usrrpm_cut - - 必选配置。是否裁剪用户添加到 /opt/imageTailor/custom/cfg_openEuler/usr_rpm 目录下的 RPM 包。yes 表示裁剪,no 表示不裁剪。缺省值为 no 。 - - - sys_usrrpm_cut='yes' :imageTailor 工具会先安装用户添加的 RPM 包,然后删除 cmd.conf 中 \ 区域配置的文件,最后删除 cmd.conf 和 rpm.conf 中未配置的命令、库和驱动。 - - - sys_usrrpm_cut='no' :imageTailor 工具会安装用户添加的 RPM 包,不删除用户 RPM 包中的文件。 - -- sys_hostname - - 必选配置。主机名。大批量部署 OS 时,部署成功后,建议修改每个节点的主机名,确保各个节点的主机名不重复。 - - 主机名要求:字母、数字、"-" 的组合,首字母必须是字母或数字。字母支持大小写。字符个数不超过 63 。缺省值为 Euler 。 - -- sys_usermodules_autoload - - 可选配置。系统启动阶段加载的驱动,配置该参数时,不需要填写后缀 .ko 。如果有多个驱动,请以空格分开。默认为空,不加载额外驱动。 - -- sys_gconv - - 可选配置。该参数用于定制 /usr/lib/gconv, /usr/lib64/gconv ,配置取值为: - - - null/NULL:表示不配置。如果裁剪系统(sys_cut=“yes”),则/usr/lib/gconv 和 /usr/lib64/gconv 会被删除。 - - all/ALL:不裁剪 /usr/lib/gconv 和 /usr/lib64/gconv 。 - - xxx,xxx:保留 /usr/lib/gconv 和 /usr/lib64/gconv 目录下对应的文件。若需要保留多个文件,可用 "," 分隔。 - -- sys_man_cut - - 可选配置。配置是否裁剪 man 文档。yes 表示裁剪,no 表示不裁剪。缺省值为 yes 。 - -> ![](./public_sys-resources/icon-note.gif) 说明: -> -> sys_cut 和 sys_usrrpm_cut 同时配置时,sys_cut 优先级更高,即遵循如下原则: -> -> **sys_cut='no'**: -> -> 无论 sys_usrrpm_cut='no' 还是 sys_usrrpm_cut='yes' ,都为系统 RPM 包裁剪粒度,即imageTailor 会安装 repo 源中的 RPM 包和 usr_rpm 目录下的 RPM 包,但不会裁剪 RPM 包中的文件。即使用户不需要这些 RPM 包中的部分文件,imageTailor 也不会进行裁剪。 -> -> **sys_cut='yes',sys_usrrpm_cut='no'**: -> -> 系统 RPM 包文件裁剪粒度:imageTailor 会根据用户配置,裁剪 repo 源中 RPM 包的文件。 -> -> **sys_cut='yes',sys_usrrpm_cut='yes'**: -> -> 系统和用户 RPM 包文件裁剪粒度:imageTailor 会根据用户的配置,裁剪 repo 源和 usr_rpm 目录中 RPM 包的文件。 -> - -#### 配置初始密码 - -操作系统安装时,必须具有 root 初始密码和 grub 初始密码,否则裁剪得到的 ISO 在安装后无法使用 root 帐号进行登录。本节介绍配置初始密码的方法。 - -> ![](./public_sys-resources/icon-note.gif)说明: -> -> root 初始密码和 grub 初始密码,必须由用户自行配置。 - -##### 配置 root 初始密码 - -###### 简介 - -root 初始密码保存在 "/opt/imageTailor/custom/cfg_openEuler/rpm.conf" 中,用户通过修改该文件配置 root 初始密码。 - -> [!NOTE]说明 -> 若使用 `mkdliso` 命令制作 ISO 镜像时需要使用 --minios yes/force 参数(制作在系统安装时进行系统引导的 initrd),则还需要在 /opt/imageTailor/kiwi/minios/cfg_minios/rpm.conf 中填写相应信息。 - -/opt/imageTailor/custom/cfg_openEuler/rpm.conf 中 root 初始密码的默认配置如下,需要用户自行添加: - -```Conf - - - -``` - -各参数含义如下: - -- group:用户所属组。 -- pwd:用户初始密码的加密密文,加密算法为 SHA-512。${pwd} 需要替换成用户实际的加密密文。 -- home:用户的家目录。 -- name:需要配置用户的用户名。 - -###### 修改方法 - -用户在制作 ISO 镜像前需要修改 root 用户的初始密码,这里给出设置 root 初始密码的方法(需使用 root 权限): - -1. 添加用于生成密码的用户,此处假设 testUser。 - - ```shell - sudo useradd testUser - ``` - -2. 设置 testUser 用户的密码。参考命令如下,根据提示设置密码: - - ```shell - $ sudo passwd testUser - Changing password for user testUser. - New password: - Retype new password: - passwd: all authentication tokens updated successfully. - ``` - -3. 查看 /etc/shadow 文件,testUser 后的内容(两个 : 间的字符串)即为加密后的密码。 - - ``` shell script - $ sudo cat /etc/shadow | grep testUser - testUser:$6$YkX5uFDGVO1VWbab$jvbwkZ2Kt0MzZXmPWy.7bJsgmkN0U2gEqhm9KqT1jwQBlwBGsF3Z59heEXyh8QKm3Qhc5C3jqg2N1ktv25xdP0:19052:0:90:7:35:: - ``` - -4. 拷贝上述加密密码替换 /opt/imageTailor/custom/cfg_openEuler/rpm.conf 中的 pwd 字段,如下所示: - - ``` shell script - - - - ``` - -5. 若使用 `mkdliso` 命令制作 ISO 镜像时需要使用 --minios yes/force 参数,请修改 /opt/imageTailor/kiwi/minios/cfg_minios/rpm.conf 中对应用户的 pwd 字段。 - - ``` shell script - - - - ``` - -##### 配置 grub 初始密码 - -grub 初始密码保存在 /opt/imageTailor/custom/cfg_openEuler/usr_file/etc/default/grub 中,用户通过修改该文件配置 grub 初始密码。如果未配置 grub 初始密码,制作 ISO 镜像会失败。 - -> ![](./public_sys-resources/icon-note.gif)说明: -> -> - 配置 grub 初始密码需要使用 root 权限。 -> - grub 密码对应的默认用户为 root 。 -> -> - 系统中需有 grub2-set-password 命令,若不存在,请提前安装该命令。 - -1. 执行如下命令,根据提示设置 grub 密码: - - ```shell - $ sudo grub2-set-password -o ./ - Enter password: - Confirm password: - grep: .//grub.cfg: No such file or directory - WARNING: The current configuration lacks password support! - Update your configuration with grub2-mkconfig to support this feature. - ``` - -2. 命令执行完成后,会在当前目录生成 user.cfg 文件,grub.pbkdf2.sha512 开头的内容即 grub 加密密码。 - - ```shell - $ sudo cat user.cfg - GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.CE285BE1DED0012F8B2FB3DEA38782A5B1040FEC1E49D5F602285FD6A972D60177C365F1 - B5D4CB9D648AD4C70CF9AA2CF9F4D7F793D4CE008D9A2A696A3AF96A.0AF86AB3954777F40D324816E45DD8F66CA1DE836DC7FBED053DB02 - 4456EE657350A27FF1E74429546AD9B87BE8D3A13C2E686DD7C71D4D4E85294B6B06E0615 - ``` - -3. 复制上述密文,并在 /opt/imageTailor/custom/cfg_openEuler/usr_file/etc/default/grub 文件中增加如下配置: - - ```shell - GRUB_PASSWORD="grub.pbkdf2.sha512.10000.CE285BE1DED0012F8B2FB3DEA38782A5B1040FEC1E49D5F602285FD6A972D60177C365F1 - B5D4CB9D648AD4C70CF9AA2CF9F4D7F793D4CE008D9A2A696A3AF96A.0AF86AB3954777F40D324816E45DD8F66CA1DE836DC7FBED053DB02 - 4456EE657350A27FF1E74429546AD9B87BE8D3A13C2E686DD7C71D4D4E85294B6B06E0615" - ``` - -#### 配置分区 - -若用户想调整系统分区或业务分区,可以通过修改 /opt/imageTailor/custom/cfg_openEuler/sys.conf 文件中的 \ 实现。 - -> [!NOTE]说明 -> 系统分区:存放操作系统的分区 -> 业务分区:存放业务数据的分区 -> 差别:在于存放的内容,而每个分区的大小、挂载路径和文件系统类型都不是区分业务分区和系统分区的依据。 -> 配置分区为可选项,用户也可以在安装 OS 之后,手动配置分区 - - \ 的配置格式为: - -hd 磁盘号 挂载路径 分区大小 分区类型 文件系统类型 [二次格式化标志位] - -其默认配置如下: - -``` shell - -hd0 /boot 512M primary ext4 yes -hd0 /boot/efi 200M primary vfat yes -hd0 / 30G primary ext4 -hd0 - - extended - -hd0 /var 1536M logical ext4 -hd0 /home max logical ext4 - -``` - -各参数含义如下: - -- hd 磁盘号 - 磁盘的编号。请按照 hdx 的格式填写,x 指第 x 块盘。 - - > [!NOTE]说明 - > 分区配置只在被安装机器的磁盘能被识别时才有效。 - -- 挂载路径 - 指定分区挂载的路径。用户既可以配置业务分区,也可以对默认配置中的系统分区进行调整。如果不挂载,则设置为 '-'。 - - > [!NOTE]说明 - > 分区配置中必须有 '/' 挂载路径。其他的请用户自行调整。 - > 采用 UEFI 引导时,在 x86_64 的分区配置中必须有 '/boot' 挂载路径,在 AArch64 的分区配置中必须有 '/boot/efi' 挂载路径。 - -- 分区大小 - 分区大小的取值有以下四种: - - - G/g:指定以 GB 为单位的分区大小,例如:2G。 - - M/m:指定以 MB 为单位的分区大小,例如:300M。 - - T/t:指定以 TB 为单位的分区大小,例如:1T。 - - MAX/max:指定将硬盘上剩余的空间全部用来创建一个分区。只能在最后一个分区配置该值。 - - > [!NOTE]说明 - > 分区大小不支持小数,如果是小数,请换算成其他单位,调整为整数的数值。例如:不能填写 1.5G,应填写为 1536M。 - > 分区大小取 MAX/max 值时,剩余分区大小不能超过支持文件系统类型的限制(默认文件系统类型 ext4,限制大小 16T)。 - -- 分区类型 - 分区有以下三种: - - - 主分区:primary - - 扩展分区:extended(该分区只需配置 hd 磁盘号即可) - - 逻辑分区:logical - -- 文件系统类型 - 目前支持的文件系统类型有:ext4、vfat - -- 二次格式化标志位 - 可选配置,表示二次安装时是否格式化: - - - 是:yes - - 否:no 。不配置默认为 no 。 - - > [!NOTE]说明 - > 二次格式化是指本次安装之前,磁盘已安装过 openEuler 系统。当前一次安装跟本次安装的使用相同的分区表配置(分区大小,挂载点,文件类型)时,该标志位可以配置是否格式化之前的分区,'/boot' 和 '/' 分区除外,每次都会重新格式化。如果目标机器第一次安装,则该标志位不生效,所有指定了文件系统的分区都会进行格式化。 - -#### 配置网络 - -系统网络参数保存在 /opt/imageTailor/custom/cfg_openEuler/sys.conf 中,用户可以通过该文件的\\ 配置修改目标 ISO 镜像的网络参数,例如:网卡名称、IP地址、子网掩码。 - -sys.conf 中默认的网络配置如下,其中 netconfig-0 代表网卡 eth0。如果需要配置多块网卡,例如eth1,请在配置文件中增加 \\,并在其中填写网卡 eth1 的各项参数。 - -```shell - -BOOTPROTO="dhcp" -DEVICE="eth0" -IPADDR="" -NETMASK="" -STARTMODE="auto" - -``` - -各参数含义请参见下表: - - | 参数名称 | 是否必配 | 参数值 | 说明 | - | :-------- | -------- | :------------------------------------------------ | :----------------------------------------------------------- | - | BOOTPROTO | 是 | none / static / dhcp | none:引导时不使用协议,不配地址
static:静态分配地址
dhcp:使用 DHCP 协议动态获取地址 | - | DEVICE | 是 | 如:eth1 | 网卡名称 | - | IPADDR | 是 | 如:192.168.11.100 | IP 地址
当 BOOTPROTO 参数为 static 时,该参数必配;其他情况下,该参数不用配置 | - | NETMASK | 是 | - | 子网掩码
当 BOOTPROTO 参数为 static 时,该参数必配;其他情况下,该参数不用配置 | - | STARTMODE | 是 | manual / auto / hotplug / ifplugd / nfsroot / off | 启用网卡的方法:
manual:用户在终端执行 ifup 命令启用网卡。
auto \ hotplug \ ifplug \ nfsroot:当 OS 识别到该网卡时,便启用该网卡。
off:任何情况下,网卡都无法被启用。
各参数更具体的说明请在制作 ISO 镜像的机器上执行 `man ifcfg` 命令查看。 | - -#### 配置内核参数 - -为了系统能够更稳定高效地运行,用户可以根据需要修改内核命令行参数。imageTailor 工具制作的 OS 镜像,可以通过修改 /opt/imageTailor/custom/cfg_openEuler/usr_file/etc/default/grub 中的 GRUB_CMDLINE_LINUX 配置实现内核命令行参数修改。 GRUB_CMDLINE_LINUX 中内核命令行参数的默认配置如下: - -```shell -GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 crashkernel=512M oops=panic softlockup_panic=1 reserve_kbox_mem=16M crash_kexec_post_notifiers panic=3 console=tty0" -``` - -此处各配置含义如下(其余常见的内核命令行参数请查阅内核相关文档): - -- net.ifnames=0 biosdevname=0 - - 以传统方式命名网卡。 - -- crashkernel=512M - - 为 kdump 预留的内存空间大小为 512 MB。 - -- oops=panic panic=3 - - 内核 oops 时直接 panic,并且 3 秒后重启系统。 - -- softlockup_panic=1 - - 在检测到软死锁(soft-lockup)时让内核 panic。 - -- reserve_kbox_mem=16M - - 为 kbox 预留的内存空间大小为 16 MB。 - -- console=tty0 - - 指定第一个虚拟控制台的输出设备为 tty0。 - -- crash_kexec_post_notifiers - - 系统 crash 后,先调用注册到 panic 通知链上的函数,再执行 kdump。 - -### 制作系统 - -操作系统定制完成后,可以通过 mkdliso 脚本制作系统镜像文件。 imageTailor 制作的 OS 为 ISO 格式的镜像文件。 - -#### 命令介绍 - -##### 命令格式 - -mkdliso -p openEuler -c custom/cfg_openEuler [--minios yes|no|force] [--sec] [-h] - -##### 参数说明 - -| 参数名称 | 是否必选 | 参数含义 | 取值范围 | -| -------- | -------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -| -p | 是 | 设置产品名称 | openEuler | -| c | 是 | 指定配置文件的相对路径 | custom/cfg_openEuler | -| --minios | 否 | 制作在系统安装时进行系统引导的 initrd | 默认为 yes
yes:第一次执行命令时会制作 initrd,之后执行命令会判断 'usr_install/boot'
目录下是否存在 initrd(sha256 校验)。如果存在,就不重新制作 initrd,否则制作 initrd 。
no:不制作 initrd,采用原有方式,系统引导和运行使用的 initrd 相同。
force:强制制作 initrd,不管 'usr_install/boot' 目录下是否存在 initrd。 | -| --sec | 否 | 是否对生成的 ISO 进行安全加固
如果用户不输入该参数,则由此造成的安全风险由用户承担 | 无 | -| -h | 否 | 获取帮助信息 | 无 | - -#### 制作指导 - -使用 mkdliso 制作 ISO 镜像的操作步骤如下: - -> [!NOTE]说明 -> mkdliso 所在的绝对路径中不能有空格,否则会导致制作 ISO 失败。 -> 制作 ISO 的环境中,umask 的值必须设置为 0022。 -> 命令需在/opt/imageTailor目录中执行 - -1. 使用 root 权限,执行 mkdliso 命令,生成 ISO 镜像文件。参考命令如下: - - ```shell - # cd /opt/imageTailor/ - # sudo mkdliso -p openEuler -c custom/cfg_openEuler --sec - ``` - - 命令执行完成后,制作出的新文件在 /opt/imageTailor/result/{日期} 目录下,包括 openEuler-aarch64.iso 和 openEuler-aarch64.iso.sha256 。 - -2. 验证 ISO 镜像文件的完整性。此处假设日期为 2022-03-21-14-48 。 - - ```shell - cd /opt/imageTailor/result/2022-03-21-14-48/ - sha256sum -c openEuler-aarch64.iso.sha256 - ``` - - 回显如下,表示 ISO 镜像文件完整,ISO 制作完成。 - - ```text - openEuler-aarch64.iso: OK - ``` - - 若回显如下,表示镜像不完整,说明 ISO 镜像文件完整性被破坏,需要重新制作。 - - ```shell - openEuler-aarch64.iso: FAILED - sha256sum: WARNING: 1 computed checksum did NOT match - ``` - -3. 查看日志 - - 镜像制作完成后,可以根据需要(例如制作出错时)查看日志。第一次制作镜像时,对应的日志和安全加固日志被压缩为一个 tar 包(日志的命名格式为:sys_custom_log_{*日期* }.tar.gz),存放在 result/log 目录下。该目录只保留最近时间的 50 个日志压缩包,超过 50 个时会对旧文件进行覆盖。 - -### 裁剪时区 - -定制完成的 ISO 镜像安装后,用户可以根据需求裁剪 openEuler 系统支持的时区。本节介绍裁剪时区的方法。 - -openEuler 操作系统支持的时区信息存放在时区文件夹 /usr/share/zoneinfo 下,可通过如下命令查看: - -```shell -$ ls /usr/share/zoneinfo/ -Africa/ America/ Asia/ Atlantic/ Australia/ Etc/ Europe/ -Pacific/ zone.tab -``` - -其中每个子文件夹代表一个 Area ,当前 Area 包括:大陆、海洋以及 Etc 。每个 Area 文件夹内部则包含了隶属于其的 Location 。一个 Location 一般为一座城市或者一个岛屿。 - -所有时区均以 Area/Location 的形式来表示,比如中国大陆南部使用北京时间,其时区为 Asia/Shanghai(Location 并不一定会使用首都)。对应的,其时区文件为: - -```text -/usr/share/zoneinfo/Asia/Shanghai -``` - -若用户希望裁剪某些时区,则只需将对应的时区文件删除即可。 - -### 定制示例 - -本节给出使用 imageTailor 工具定制一个 ISO 操作系统镜像的简易方案,方便用户了解制作的整体流程。 - -1. 检查制作 ISO 所在环境是否满足要求。 - - ``` shell - $ cat /etc/openEuler-release - openEuler release 22.03 LTS - ``` - -2. 确保根目录有 40 GB 以上空间。 - - ```shell - $ df -h - Filesystem Size Used Avail Use% Mounted on - ...... - /dev/vdb 196G 28K 186G 1% / - ``` - -3. 安装 imageTailor 裁剪工具。具体安装方法请参见 [安装工具](#安装工具) 章节。 - - ```shell - $ sudo yum install -y imageTailor - $ ll /opt/imageTailor/ - total 88K - drwxr-xr-x. 3 root root 4.0K Mar 3 08:00 custom - drwxr-xr-x. 10 root root 4.0K Mar 3 08:00 kiwi - -r-x------. 1 root root 69K Mar 3 08:00 mkdliso - drwxr-xr-x. 2 root root 4.0K Mar 9 14:48 repos - drwxr-xr-x. 2 root root 4.0K Mar 9 14:48 security-tool - ``` - -4. 配置本地 repo 源。 - - ```shell - $ wget https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-everything-aarch64-dvd.iso - $ sudo mkdir -p /opt/openEuler_repo - $ sudo mount openEuler-22.03-LTS-everything-aarch64-dvd.iso /opt/openEuler_repo - mount: /opt/openEuler_repo: WARNING: source write-protected, mounted read-only. - $ sudo rm -rf /opt/imageTailor/repos/euler_base && sudo mkdir -p /opt/imageTailor/repos/euler_base - $ sudo cp -ar /opt/openEuler_repo/Packages/* /opt/imageTailor/repos/euler_base - $ sudo chmod -R 644 /opt/imageTailor/repos/euler_base - $ sudo ls /opt/imageTailor/repos/euler_base|wc -l - 2577 - $ sudo umount /opt/openEuler_repo && sudo rm -rf /opt/openEuler_repo - $ cd /opt/imageTailor - ``` - -5. 修改 grub/root 密码。 - - 以下 ${pwd} 的实际内容请参见 [配置初始密码](#配置初始密码) 章节生成并替换。 - - ```shell - $ cd /opt/imageTailor/ - $ sudo vi custom/cfg_openEuler/usr_file/etc/default/grub - GRUB_PASSWORD="${pwd1}" - $ - $ sudo vi kiwi/minios/cfg_minios/rpm.conf - - - - $ - $ sudo vi custom/cfg_openEuler/rpm.conf - - - - ``` - -6. 执行裁剪命令。 - - ```shell - $ sudo rm -rf /opt/imageTailor/result - $ sudo ./mkdliso -p openEuler -c custom/cfg_openEuler --minios force - ...... - Complete release iso file at: result/2022-03-09-15-31/openEuler-aarch64.iso - move all mkdliso log file to result/log/sys_custom_log_20220309153231.tar.gz - $ ll result/2022-03-09-15-31/ - total 889M - -rw-r--r--. 1 root root 889M Mar 9 15:32 openEuler-aarch64.iso - -rw-r--r--. 1 root root 87 Mar 9 15:32 openEuler-aarch64.iso.sha256 - ``` diff --git a/docs/zh/tools/community_tools/image_custom/image_tailor/public_sys-resources/icon-note.gif b/docs/zh/tools/community_tools/image_custom/image_tailor/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/image_custom/image_tailor/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/tools/community_tools/image_custom/isocut/_toc.yaml b/docs/zh/tools/community_tools/image_custom/isocut/_toc.yaml deleted file mode 100644 index 59c80a8d19efbd38109c73fdd3ea0cd1e3e1f4b1..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/image_custom/isocut/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: isocut 使用指南 -isManual: true -description: 对 openEuler 光盘镜像进行裁剪定制 -sections: - - label: isocut 使用指南 - href: ./isocut_user_guide.md diff --git a/docs/zh/tools/community_tools/image_custom/isocut/figures/lack_pack.png b/docs/zh/tools/community_tools/image_custom/isocut/figures/lack_pack.png deleted file mode 100644 index a4b7f1da15da70f63a86aae360e89017c2b98f2d..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/image_custom/isocut/figures/lack_pack.png and /dev/null differ diff --git a/docs/zh/tools/community_tools/image_custom/isocut/isocut_user_guide.md b/docs/zh/tools/community_tools/image_custom/isocut/isocut_user_guide.md deleted file mode 100644 index 3ce14909f47ad07c9bfa1ad6522c5f2d6c9919d3..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/image_custom/isocut/isocut_user_guide.md +++ /dev/null @@ -1,325 +0,0 @@ -# isocut 使用指南 - -- [简介](#简介) -- [软硬件要求](#软硬件要求) -- [安装工具](#安装工具) -- [裁剪定制镜像](#裁剪定制镜像) - - [命令介绍](#命令介绍) - - [软件包来源](#软件包来源) - - [操作指导](#操作指导) - -## 简介 - -openEuler 光盘镜像较大,下载、传输镜像很耗时。另外,使用 openEuler 光盘镜像安装操作系统时,会安装镜像所包含的全量 RPM 软件包,用户无法只安装部分所需的软件包。 - -在某些场景下,用户不需要安装镜像提供的全量软件包,或者需要一些额外的软件包。因此,openEuler 提供了镜像裁剪定制工具。通过该工具,用户可以基于 openEuler 光盘镜像裁剪定制仅包含所需 RPM 软件包的 ISO 镜像。这些软件包可以来自原有 ISO 镜像,也可以额外指定,从而满足用户定制需求。 - -本文档介绍 openEuler 镜像裁剪定制工具的安装和使用方法,以指导用户更好的完成镜像裁剪定制。 - -## 软硬件要求 - -使用 openEuler 裁剪定制工具制作 ISO 所使用的机器需要满足如下软硬件要求: - -- CPU 架构为 AArch64 或者 x86_64 -- 操作系统为 openEuler 20.03 LTS SP3 -- 建议预留 30 GB 以上的磁盘空间(用于运行裁剪定制工具和存放 ISO 镜像) - -## 安装工具 - -此处以 openEuler 20.03 LTS SP3 版本的 AArch64 架构为例,介绍 ISO 镜像裁剪定制工具的安装操作。 - -1. 确认机器已安装操作系统 openEuler 20.03 LTS SP3(镜像裁剪定制工具的运行环境)。 - - ``` shell script - $ cat /etc/openEuler-release - openEuler release 20.03 (LTS-SP3) - ``` - -2. 下载对应架构的 ISO 镜像(必须是 everything 版本),并存放在任一目录(建议该目录磁盘空间大于 20 GB),此处假设存放在 /home/isocut_iso 目录。 - - AArch64 架构的镜像下载链接为: - - - - > [!NOTE]说明 - > x86_64 架构的镜像下载链接为: - > - > - -3. 创建文件 /etc/yum.repos.d/local.repo,配置对应 yum 源。配置内容参考如下,其中 baseurl 是用于挂载 ISO 镜像的目录: - - ``` shell script - [local] - name=local - baseurl=file:///home/isocut_mount - gpgcheck=0 - enabled=1 - ``` - -4. 使用 root 权限,挂载光盘镜像到 /home/isocut_mount 目录(请与上述 repo 文件中配置的 baseurl 保持一致)作为 yum 源,参考命令如下: - - ```shell - sudo mount -o loop /home/isocut_iso/openEuler-20.03-LTS-SP3-everything-aarch64-dvd.iso /home/isocut_mount - ``` - -5. 使 yum 源生效: - - ```shell - yum clean all - yum makecache - ``` - -6. 使用 root 权限,安装镜像裁剪定制工具: - - ```shell - sudo yum install -y isocut - ``` - -7. 使用 root 权限,确认工具已安装成功。 - - ```shell - $ sudo isocut -h - Checking input ... - usage: isocut [-h] [-t temporary_path] [-r rpm_path] [-k file_path] source_iso dest_iso - - Cut openEuler iso to small one - - positional arguments: - source_iso source iso image - dest_iso destination iso image - - optional arguments: - -h, --help show this help message and exit - -t temporary_path temporary path - -r rpm_path extern rpm packages path - -k file_path kickstart file - ``` - -## 裁剪定制镜像 - -此处介绍如何使用镜像裁剪定制工具基于 openEuler 光盘镜像裁剪或添加额外 RPM 软件包制作新镜像的方法。 - -### 命令介绍 - -#### 命令格式 - -镜像裁剪定制工具通过 isocut 命令执行功能。命令的使用格式为: - -`isocut [ --help | -h ] [ -t <*temp_path*> ] [ -r <*rpm_path*> ] [ -k <*file_path*> ] < *source_iso* > < *dest_iso* >` - -#### 参数说明 - -| 参数 | 是否必选 | 参数含义 | -| ---------------- | -------- | ------------------------------------------------------------ | -| --help \| -h | 否 | 查询命令的帮助信息。 | -| -t \<*temp_path*> | 否 | 指定工具运行的临时目录 *temp_path*,其中 *temp_path* 为绝对路径。默认为 /tmp 。 | -| -r \<*rpm_path*> | 否 | 用户需要额外添加到 ISO 镜像中的 RPM 包路径。 | -| -k \<*file_path*> | 否 | 用户需要使用 kickstart 自动安装,指定 kickstart 模板路径。 | -| *source_iso* | 是 | 用于裁剪的 ISO 源镜像所在路径和名称。不指定路径时,默认当前路径。 | -| *dest_iso* | 是 | 裁剪定制生成的 ISO 新镜像存放路径和名称。不指定路径时,默认当前路径。 | - -### 软件包来源 - -新镜像的 RPM 包来源有: - -- 原有 ISO 镜像。该情况通过配置文件 /etc/isocut/rpmlist 指定需要安装的 RPM 软件包,配置格式为 "软件包名.对应架构",例如:kernel.aarch64 。 - -- 额外指定。执行 **isocut** 时使用 -r 参数指定软件包所在路径,并将添加的 RPM 包按上述格式添加到配置文件 /etc/isocut/rpmlist 中。 - - > [!NOTE]说明 - > 裁剪定制镜像时,若无法找到配置文件中指定的 RPM 包,则镜像中不会添加该 RPM 包。 - > 若 RPM 包的依赖有问题,则裁剪定制镜像时可能会报错。 - -### kickstart 功能介绍 - -用户需要实现镜像自动化安装,可以通过 kickstart 的方式。在执行 **isocut** 时使用 -k 参数指定 kickstart 文件。 - -isocut 为用户提供了 kickstart 模板,路径是 /etc/isocut/anaconda-ks.cfg,用户可以基于该模板修改。 - -#### 修改 kickstart 模板 - -若用户需要使用 isocut 工具提供的 kickstart 模板,需要修改以下内容: - -- 必须在文件 /etc/isocut/anaconda-ks.cfg 中配置 root 和 grub2 的密码。否则镜像自动化安装会卡在设置密码的环节,等待用户手动输入密码。 -- 如果要添加额外 RPM 包,并使用 kickstart 自动安装,则在 /etc/isocut/rpmlist 和 kickstart 文件的 %packages 字段都要指定该 RPM 包。 - -接下来介绍 kickstart 文件详细修改方法。 - -##### 配置初始密码 - -###### 配置 root 初始密码 - -/etc/isocut/anaconda-ks.cfg 中 root 初始密码的默认配置如下,其中 ${pwd} 需要替换成用户实际的加密密文: - -```shell -rootpw --iscrypted ${pwd} -``` - -这里给出设置 root 初始密码的方法(需使用 root 权限): - -1. 添加用于生成密码的用户,此处假设 testUser。 - - ``` shell script - $ sudo useradd testUser - ``` - -2. 设置 testUser 用户的密码。参考命令如下,根据提示设置密码: - - ``` shell script - $ sudo passwd testUser - Changing password for user testUser. - New password: - Retype new password: - passwd: all authentication tokens updated successfully. - ``` - -3. 查看 /etc/shadow 文件,获取加密密码(用户 testUser 后,两个 : 间的字符串,此处使用 *** 代替)。 - - ``` shell script - $ sudo cat /etc/shadow | grep testUser - testUser:***:19052:0:90:7:35:: - ``` - -4. 拷贝上述加密密码替换 /etc/isocut/anaconda-ks.cfg 中的 pwd 字段,如下所示(请用实际内容替换 *** ): - - ``` shell script - rootpw --iscrypted *** - ``` - -###### 配置 grub2 初始密码 - -/etc/isocut/anaconda-ks.cfg 文件中添加以下配置,配置 grub2 初始密码。其中 ${pwd} 需要替换成用户实际的加密密文: - -```shell -%addon com_huawei_grub_safe --iscrypted --password='${pwd}' -%end -``` - -> ![](./public_sys-resources/icon-note.gif)说明: -> -> - 配置 grub 初始密码需要使用 root 权限。 -> - grub 密码对应的默认用户为 root 。 -> -> - 系统中需有 grub2-set-password 命令,若不存在,请提前安装该命令。 - -1. 执行如下命令,根据提示设置 grub2 密码: - - ```shell - $ sudo grub2-set-password -o ./ - Enter password: - Confirm password: - grep: .//grub.cfg: No such file or directory - WARNING: The current configuration lacks password support! - Update your configuration with grub2-mkconfig to support this feature. - ``` - -2. 命令执行完成后,会在当前目录生成 user.cfg 文件,grub.pbkdf2.sha512 开头的内容即 grub2 加密密码。 - - ```shell - $ sudo cat user.cfg - GRUB2_PASSWORD=grub.pbkdf2.sha512.*** - ``` - -3. 复制上述密文,并在 /etc/isocut/anaconda-ks.cfg 文件中增加如下配置: - - ```shell - %addon com_huawei_grub_safe --iscrypted --password='grub.pbkdf2.sha512.***' - %end - ``` - -##### 配置 %packages 字段 - -如果需要添加额外 RPM 包,并使用 kickstart 自动安装,需要在 /etc/isocut/rpmlist 和 kickstart 文件的 %packages 字段都指定该 RPM 包。 - -此处介绍在 /etc/isocut/anaconda-ks.cfg 文件中添加 RPM 包。 - -/etc/isocut/anaconda-ks.cfg 文件的 %packages 默认配置如下: - -```shell -%packages --multilib --ignoremissing -acl.aarch64 -aide.aarch64 -...... -NetworkManager.aarch64 -%end -``` - -将额外指定的 RPM 软件包添加到 %packages 配置中,需要遵循如下配置格式: - -"软件包名.对应架构",例如:kernel.aarch64 - -```shell -%packages --multilib --ignoremissing -acl.aarch64 -aide.aarch64 -...... -NetworkManager.aarch64 -kernel.aarch64 -%end -``` - -### 操作指导 - -> [!NOTE]说明 -> 请不要修改或删除 /etc/isocut/rpmlist 文件中的默认配置项。 -> isocut 的所有操作需要使用 root 权限。 -> 待裁剪的源镜像可以为基础镜像,也可以是 everything 版镜像,例子中以基础版镜像 openEuler-20. 03-LTS-SP3-aarch64-dvd.iso 为例。 -> 例子中假设新生成的镜像名称为 new.iso,且存放在 /home/result 路径;运行工具的临时目录为 /home/temp;额外的 RPM 软件包存放在 /home/rpms 目录。 - -1. 修改配置文件 /etc/isocut/rpmlist,指定用户需要安装的 RPM 软件包(来自原有 ISO 镜像)。 - - ``` shell script - sudo vi /etc/isocut/rpmlist - ``` - -2. 确定运行镜像裁剪定制工具的临时目录空间大于 8 GB 。默认临时目录为 /tmp,也可以使用 -t 参数指定其他目录作为临时目录,该目录必须为绝对路径。本例中使用目录 /home/temp,由如下回显可知 /home 目录可用磁盘为 38 GB,满足要求。 - - ```shell - $ df -h - Filesystem Size Used Avail Use% Mounted on - devtmpfs 1.2G 0 1.2G 0% /dev - tmpfs 1.5G 0 1.5G 0% /dev/shm - tmpfs 1.5G 23M 1.5G 2% /run - tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup - /dev/mapper/openeuler_openeuler-root 69G 2.8G 63G 5% / - /dev/sda2 976M 114M 796M 13% /boot - /dev/mapper/openeuler_openeuler-home 61G 21G 38G 35% /home - ``` - -3. 执行裁剪定制。 - - **场景一**:新镜像的所有 RPM 包来自原有 ISO 镜像 - - ``` shell script - $ sudo isocut -t /home/temp /home/isocut_iso/openEuler-20.03-LTS-SP3-aarch64-dvd.iso /home/result/new.iso - Checking input ... - Checking user ... - Checking necessary tools ... - Initing workspace ... - Copying basic part of iso image ... - Downloading rpms ... - Finish create yum conf - finished - Regenerating repodata ... - Checking rpm deps ... - Getting the description of iso image ... - Remaking iso ... - Adding checksum for iso ... - Adding sha256sum for iso ... - ISO cutout succeeded, enjoy your new image "/home/result/new.iso" - isocut.lock unlocked ... - ``` - - 回显如上,说明新镜像 new.iso 定制成功。 - - **场景二**:新镜像的 RPM 包除来自原有 ISO 镜像,还包含来自 /home/rpms 的额外软件包 - - ```shell - sudo isocut -t /home/temp -r /home/rpms /home/isocut_iso/openEuler-20.03-LTS-SP3-aarch64-dvd.iso /home/result/new.iso - ``` - - **场景三**:使用 kickstart 文件实现自动化安装,需要修改 /etc/isocut/anaconda-ks.cfg 文件 - - ```shell - sudo isocut -t /home/temp -k /etc/isocut/anaconda-ks.cfg /home/isocut_iso/openEuler-20.03-LTS-SP3-aarch64-dvd.iso /home/result/new.iso - ``` diff --git a/docs/zh/tools/community_tools/image_custom/isocut/public_sys-resources/icon-note.gif b/docs/zh/tools/community_tools/image_custom/isocut/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/image_custom/isocut/public_sys-resources/icon-note.gif and /dev/null differ diff --git a/docs/zh/tools/community_tools/migration/migration_tools/_toc.yaml b/docs/zh/tools/community_tools/migration/migration_tools/_toc.yaml deleted file mode 100644 index b7fdcbd76a2e144c6330e8ecb787df0b62851ed6..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/migration/migration_tools/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: Migration-tools用户指南 -isManual: true -description: 从原系统(centos7、centos8)迁移到统信服务器操作系统 -sections: - - label: Migration-tools用户指南 - href: ./migration_tools_user_guide.md diff --git a/docs/zh/tools/community_tools/migration/migration_tools/figures/kernel.png b/docs/zh/tools/community_tools/migration/migration_tools/figures/kernel.png deleted file mode 100644 index ecd5bbb3cf306e46da3448de46c4f9fc2e03eed2..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/migration/migration_tools/figures/kernel.png and /dev/null differ diff --git a/docs/zh/tools/community_tools/migration/migration_tools/figures/migration-tools-conf.png b/docs/zh/tools/community_tools/migration/migration_tools/figures/migration-tools-conf.png deleted file mode 100644 index 80520c44a86172c9f18e3d50930e0fcc25f411bb..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/migration/migration_tools/figures/migration-tools-conf.png and /dev/null differ diff --git a/docs/zh/tools/community_tools/migration/migration_tools/figures/openeuler-migration-complete.png b/docs/zh/tools/community_tools/migration/migration_tools/figures/openeuler-migration-complete.png deleted file mode 100644 index 20c5a4afaf2b06fae865137b9d4efd53326a9611..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/migration/migration_tools/figures/openeuler-migration-complete.png and /dev/null differ diff --git a/docs/zh/tools/community_tools/migration/migration_tools/figures/repo.png b/docs/zh/tools/community_tools/migration/migration_tools/figures/repo.png deleted file mode 100644 index 78437bbc839bff8906b535989bbac0c38a6263b7..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/migration/migration_tools/figures/repo.png and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\346\217\220\347\244\272.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\346\217\220\347\244\272.png" deleted file mode 100644 index 224a79aece026a4fa2b003753f40fc0f1ebd4d0d..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\346\217\220\347\244\272.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\347\216\257\345\242\203\346\243\200\346\265\213.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\347\216\257\345\242\203\346\243\200\346\265\213.png" deleted file mode 100644 index b03c4da5ba24e345a3614cd2c7d7e3b52983ad1a..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\347\216\257\345\242\203\346\243\200\346\265\213.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\347\224\250\346\210\267\346\243\200\346\265\213.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\347\224\250\346\210\267\346\243\200\346\265\213.png" deleted file mode 100644 index 8ec0b5518f37532eedb5897bc368d9b58a1ccafc..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\347\224\250\346\210\267\346\243\200\346\265\213.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\256\270\345\217\257\345\215\217\350\256\256.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\256\270\345\217\257\345\215\217\350\256\256.png" deleted file mode 100644 index 41eb3b6aa755619b94965f8060a27c1940e6936e..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\256\270\345\217\257\345\215\217\350\256\256.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\344\270\255.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\344\270\255.png" deleted file mode 100644 index e5bae64aaa303a6e7950ec0fdeb46a66bfaa70a3..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\344\270\255.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\345\256\214\346\210\220.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\345\256\214\346\210\220.png" deleted file mode 100644 index c832bb723ea5400aa2fe1f932f1f5dcb5a3d5065..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\345\256\214\346\210\220.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\345\274\200\345\247\213.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\345\274\200\345\247\213.png" deleted file mode 100644 index d8a2b58cd5ce8e559bd82c14400e16b4635d0ec3..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\345\274\200\345\247\213.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\346\243\200\346\237\245.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\346\243\200\346\237\245.png" deleted file mode 100644 index 776e9cafdf7e569cd33e1abd47217aa47c86f134..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\346\243\200\346\237\245.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\347\241\256\350\256\244.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\347\241\256\350\256\244.png" deleted file mode 100644 index 69567eabd886befe43fb8a512e7b6cde87fd0937..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\350\277\201\347\247\273\347\241\256\350\256\244.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\351\205\215\347\275\256\346\226\207\344\273\266.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\351\205\215\347\275\256\346\226\207\344\273\266.png" deleted file mode 100644 index aed6ce1cf37b1aad8d7bb037a422c726bb024d86..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\351\205\215\347\275\256\346\226\207\344\273\266.png" and /dev/null differ diff --git "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\351\246\226\351\241\265.png" "b/docs/zh/tools/community_tools/migration/migration_tools/figures/\351\246\226\351\241\265.png" deleted file mode 100644 index 2fb66ae7dc8336d6e38437ba79175fe1c2207a5d..0000000000000000000000000000000000000000 Binary files "a/docs/zh/tools/community_tools/migration/migration_tools/figures/\351\246\226\351\241\265.png" and /dev/null differ diff --git a/docs/zh/tools/community_tools/migration/migration_tools/migration_tools_user_guide.md b/docs/zh/tools/community_tools/migration/migration_tools/migration_tools_user_guide.md deleted file mode 100644 index b4be55c8305368dd90ab6df7aaefd3605376bd7a..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/migration/migration_tools/migration_tools_user_guide.md +++ /dev/null @@ -1,250 +0,0 @@ -# migration-tools用户指南 - -## 介绍 - -本文主要介绍服务器迁移软件(以下简称“migration-tools”)的使用方法,帮助用户顺利从原系统(centos7、centos8)迁移到统信服务器操作系统。 -migration-tools 工具提供网页界面方式进行操作,以供使用者在图形化界面便捷的进行迁移操作。 - -### 部署方式 - -在安装 openeuler 23.09 服务器上部署服务端(server),在需要迁移的 centos7/centos8 服务器上部署客户端(agent)。 - -#### 支持迁移的系统 - -1. 支持将 AMD64 和 ARM64 架构的 CentOS 系列系统迁移到 UOS 系统,迁移前需自行准备目标系统的全量源。 - -2. openeuler迁移:目前仅支持 centos 7.4 cui 系统迁移至 openeuler 20.03-LTS-SP1。 - -3. 不建议对安装了 i686 架构的 rpm 包的原系统进行迁移,如果对这种原系统进行迁移会出现迁移失败的结果。 - -|原系统|目标系统|使用的软件源| -|---|---|---| -|centos 7.4 cui|openeuler 20.03-LTS-SP1|使用openeuler外网源| -|centos 7.0~7.7|UOS 1002a|UOS 1002a(全量源)| -|centos 8.0~8.2|UOS 1050a|UOS 1050a(全量源)| - -### 使用方法 - -#### 安装与配置 - -##### 安装 migration-tools-server 端 - -- 关闭防火墙。 - - ``` shell - systemctl stop firewalld - ``` - -- 安装 migration-tools-server。 - - ``` shell - yum install migration-tools-server -y - ``` - -- 修改配置文件。 - - ``` shell - vim /etc/migration-tools/migration-tools.conf - ``` - - ![配置文件](./figures/migration-tools-conf.png) - -- 重启 migration-tools-server 服务。 - - ``` shell - systemctl restart migration-tools-server - ``` - -- 分发 agent 软件包。 - -- 根据迁移系统的版本选择分发的软件包。 - - centos7系列: - - xx.xx.xx.xx表示迁移机器IP - - ``` shell - scp -r /usr/lib/migration-tools-server/agent-rpm/el7 root@xx.xx.xx.xx:/root - ``` - - centos8系列: - - ``` shell - scp -r /usr/lib/migration-tools-server/agent-rpm/el8 root@xx.xx.xx.xx:/root - ``` - -#### 迁移 openeuler 系统 - ->**注意:** openeuler 系统目前仅支持单独使用脚本迁移。 - -- 从 server 端分发迁移脚本至 agent 端。 - - ``` shell - cd /usr/lib/migration-tools-server/ut-Migration-tools-0.1/centos7/ - scp openeuler/centos72openeuler.py root@10.12.23.106:/root - ``` - -- 安装迁移所需依赖。 - - ``` shell - yum install python3 dnf rsync yum-utils -y - ``` - -- 开始迁移。 - - ``` shell - python3 centos7/openeuler/centos72openeuler.py - ``` - -- 迁移完成后系统会自动重启,重启完成后即迁移完成。 - - ![openeuler迁移完成](./figures/openeuler-migration-complete.png) - -#### 迁移 UOS 系统 - -##### 安装 migration-tools-agent 端 - -在准备迁移的 centos 机器上执行以下步骤: - ->**注意:** 目前 migration-tools 仅支持 centos7.4 cui 迁移至 openeuler 20.03-LTS-SP1。 - -- 关闭防火墙。 - - ``` shell - systemctl stop firewalld - ``` - -- 安装 epel-release(部分依赖包含在 epel 源中)。 - - ``` shell - yum install epel-release -y - ``` - -- 安装 migration-tools-agent 软件包(centos7 系列需安装对应架构的软件包)。 - - centos7: - - ``` shell - cd /root/el7/x86_64 - yum install ./* -y - ``` - - centos8 - - ``` shell - cd /root/el8/ - yum install ./* -y - ``` - -- 修改配置文件。 - - ``` shell - vim /etc/migration-tools/migration-tools.conf - ``` - - ![配置文件](./figures/migration-tools-conf.png) - -- 重启 migration-tools-agent 服务。 - - ``` shell - systemctl restart migration-tools-agent - ``` - -##### UOS系统迁移步骤 - -- 登录web端 - - 在 server 端和 agent 端服务均启动后,打开浏览器(建议使用:Chrome),在浏览器导航栏中输入`https://SERVER_IP:9999`即可。 - - ![首页](./figures/首页.png) - -- 点击“我已阅读并同意此协议”,然后点击“下一步”。 - - ![许可协议](./figures/许可协议.png) - -- 迁移提示页面内容如下,点击“下一步”。 - - ![提示](./figures/提示.png) - -- 环境检测页面会检查系统版本和系统剩余空间大小,在检测完成后点击“下一步”。 - ->**注意:** 如果出现检测长时间无反应,请检查 agent 防火墙是否关闭,server与agent 服务是否开启。 -> 如需重新检测,在浏览器中刷新即可。 - - ![环境检测](./figures/环境检测.png) - -- 用户检测页面会检查用户名以及密码,推荐使用 root 用户,点击“下一步”开始检测,检测完成后自动进入 repo 源配置页面。 - - ![用户检测](./figures/用户检测.png) - -repo 源配置页面: - -- 请根据要迁移的系统输入对应的repo源。 - - centos7:1002a,centos8:1050a - -- 确保使用的软件源为全量源,否则迁移会失败。 - -- 输入栏中只需输入1个软件仓库路径即可。 - -![repo](./figures/repo.png) - -- 输入完成后点击“下一步”,等待软件源连通性检测完毕后,进入 kernel 版本选择页面,选择 4.19 内核,点击“下一步”。 - - ![kernel](./figures/kernel.png) - -- 迁移环境检查界面可以对比迁移前后的软件包差异,并输出检测报告,检查完成后可以导出检测报告。 - - > **注意:** 检测时间大约为1个小时,请耐心等待。 - - ![迁移检查](./figures/迁移检查.png) - -- 检测完成后,点击“下一步”会弹出系统迁移“确认”窗口,请确保系统已做好备份,准备完成后点击确认开始系统迁移。 - - ![迁移确认](./figures/迁移确认.png) - -- 点击“确认”后,进入系统迁移页面。 - - ![迁移开始](./figures/迁移开始.png) - -- 可以点击“查看详情”,来查看迁移情况。 - - ![迁移中](./figures/迁移中.png) - -- 迁移完成后,页面会跳转至迁移完成页面,可在该页面导出迁移分析报告及迁移日志。 - -- 导出后,可在 server 端 /var/tmp/uos-migration/ 目录下找到报告和日志的压缩包,解压后即可查看。 - - ![迁移完成](./figures/迁移完成.png) - -- 迁移完成后,需手动重启 agent 机器,并验证是否迁移完成。 - -###### 验证步骤 - -执行以下命令,检查操作系统版本是否已迁移至目标操作系统。 - -``` shell -uosinfo -``` - -如显示以下信息表示迁移成功。 - -1002a: - -``` shell -################################################# -Release: UnionTech OS Server release 20 (kongli) -Kernel : 4.19.0-91.77.97.uelc20.x86_64 -Build : UnionTech OS Server 20 1002c 20211228 x86_64 -################################################# -``` - -1050a: - -``` shell -################################################# -Release: UnionTech OS Server release 20 (kongzi) -Kernel : 4.19.0-91.82.88.uelc20.x86_64 -Build : UnionTech OS Server 20 1050a 20220214 x86_64 -################################################# -``` diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/_toc.yaml b/docs/zh/tools/community_tools/virtualization/euler_launcher/_toc.yaml deleted file mode 100644 index d94a686b1d172c386bf0b72bb1119c25a47e32f7..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/virtualization/euler_launcher/_toc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -label: EulerLauncher 用户指南 -isManual: true -description: 为开发者提供在主流桌面操作系统上高性能的开发资源 -sections: - - label: 概述 - href: ./overall.md - - label: 在Windows下安装与运行EulerLauncher - href: ./win_user_manual.md - - label: 在MacOS下安装与运行EulerLauncher - href: ./mac_user_manual.md diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-content.jpg b/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-content.jpg deleted file mode 100644 index 4b9f101056fb7bde536342896b94a698e72889a2..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-content.jpg and /dev/null differ diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-install.jpg b/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-install.jpg deleted file mode 100644 index b710de9b24b76c35017cee591bc704750855781d..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-install.jpg and /dev/null differ diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-start.jpg b/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-start.jpg deleted file mode 100644 index 2805c6244da9d1409958e8c33fc5296b1e138856..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-start.jpg and /dev/null differ diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-terminal.jpg b/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-terminal.jpg deleted file mode 100644 index d0f3082cc64658afd888a02ca578f76857578f83..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-terminal.jpg and /dev/null differ diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-visudo.jpg b/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-visudo.jpg deleted file mode 100644 index 7466ef4fec0f928ca0c0255ba59b628251216eb1..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/mac-visudo.jpg and /dev/null differ diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/win-install.jpg b/docs/zh/tools/community_tools/virtualization/euler_launcher/images/win-install.jpg deleted file mode 100644 index e395f62c0eb29390c980853f1d51ceb09641001e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/win-install.jpg and /dev/null differ diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/win-terminal-1.jpg b/docs/zh/tools/community_tools/virtualization/euler_launcher/images/win-terminal-1.jpg deleted file mode 100644 index 5976bff82cd34b6195f11291d0a99341133cfce3..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/win-terminal-1.jpg and /dev/null differ diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/win-terminal-2.jpg b/docs/zh/tools/community_tools/virtualization/euler_launcher/images/win-terminal-2.jpg deleted file mode 100644 index a831c6972f99a30355f68e34f30e09be237f0723..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/community_tools/virtualization/euler_launcher/images/win-terminal-2.jpg and /dev/null differ diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/mac_user_manual.md b/docs/zh/tools/community_tools/virtualization/euler_launcher/mac_user_manual.md deleted file mode 100644 index 95c5689d22f412fd38219ed438832d4fd7bdd2d2..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/virtualization/euler_launcher/mac_user_manual.md +++ /dev/null @@ -1,237 +0,0 @@ -# 在MacOS下安装与运行EulerLauncher - -## 准备工作 - -### 安装Homebrew - -Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。 - -在MacOS桌面下敲击 `command` + `shift` + `u` 组合键,打开`访达`中的`实用工具`,并找到`终端.app`。 - - - -并根据网络情况输入以下命令进行安装。 - -可以使用以下命令安装Homebrew: - -``` Shell -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -``` - -由于国内网络原因,可能需要修改源到国内源以进行安装: - -``` Shell -/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" -``` - -### 安装Qemu及wget - -**EulerLauncher**在MacOS上运行依赖于`QEMU`,镜像下载依赖于`wget`,使用`Homebrew`可以非常方便的下载和管理此类软件,使用以下命令进行安装: - -``` Shell -brew install qemu -brew install wget -``` - -### 配置sudo免密码权限 - -**EulerLauncher**在MacOS上运行依赖于`QEMU`,为了使用户的网络体验更加优秀,因此采用了MacOS的[vmnet framework][1]来提供虚拟机的网络能力,当前`vmnet`使用时需要使用管理员权限,因此在使用`QEMU`后端创建带有`vmnet`类型网络设备的虚拟机时,需要启用管理员权限,EulerLauncher在启动时会自动使用`sudo`命令来实现这一过程,因此需要为当前用户配置`sudo`免密码使用权限,如您介意此配置,请停止使用EulerLauncher。 - -1. 在MacOS桌面下敲击 `command` + `shift` + `u` 组合键,打开`访达`中的`实用工具`,并找到`终端.app`。 - - - -2. 在终端中输入`sudo visudo`修改sudo配置文件,注意,此步骤有可能要求输入密码,请按指示输入密码。 - -3. 找到并将`%admin ALL=(ALL) ALL`替换为 `%admin ALL=(ALL) NOPASSWD: ALL`。 - - - -4. 敲击`ESC`,再输入`:wq`进行保存。 - -## 安装EulerLauncher - -**EulerLauncher**当前支持MacOS Ventura, 支持Apple Silicon芯片版及x86芯片版,前往[EulerLauncher最新版][1]下载MacOS版软件包并解压到期望的位置。 - -解压后的目录包含以下文件: - - - -其中`install`可执行文件为安装文件,用于将**EulerLauncher**所需支持文件安装到指定位置,`EulerLauncher.dmg`为主程序的磁盘映象。 - -1. 本操作需要sudo权限,请先完成[配置sudo免密码权限](#配置sudo免密码权限)操作。 - -2. 安装支持文件:双击`install`可执行文件,等待程序完成执行。 - -3. 配置**EulerLauncher**: - - - 查看`qemu`及`wget`所处位置,`qemu`二进制文件在不同架构下名称不同,请根据自身情况选择正确的名称(Apple Silicon: qemu-system-aarch64; Intel: qemu-system-x86_64): - - ``` Shell - which wget - which qemu-system-{host_arch} - ``` - - 参考输出: - - ```bash - /opt/homebrew/bin/wget - /opt/homebrew/bin/qemu-system-aarch64 - ``` - - 查看完成后,记录路径结果,在接下来的步骤中将会使用到。 - - - 打开`eulerlauncher.conf`并进行配置: - - ``` Shell - sudo vi /Library/Application\ Support/org.openeuler.eulerlauncher/eulerlauncher.conf - ``` - - EulerLauncher的配置如下: - - ```bash - [default] - log_dir = # 日志文件位置(xxx.log) - work_dir = # EulerLauncher工作目录,用于存储虚拟机镜像、虚拟机文件等 - wget_dir = # wget的可执行文件路径,请参考上一步的内容进行配置 - qemu_dir = # qemu的可执行文件路径,请参考上一步的内容进行配置 - debug = True - - [vm] - cpu_num = 1 # 配置虚拟机的CPU个数 - memory = 1024 # 配置虚拟机的内存大小,单位为M,M1用户请勿配置超过2048 - ``` - - 完成编辑后保存退出。 - -4. 安装**EulerLauncher.app**: - - 双击`EulerLauncher.dmg`,在弹出的窗口中用鼠标将`EulerLauncher.app`拖动到`Applications`中,即可完成安装,并可在应用程序中找到`EulerLauncher.app`。 - - - -## 使用EulerLauncher - -1. 在应用程序中找到`EulerLauncher.app`,单击启动程序。 - -2. EulerLauncher需要访问网络,在弹出如下窗口时点击`允许`: - - - -3. EulerLauncher当前仅支持命令行方式进行访问,请打开`终端.app`,使用命令行进行操作。 - -### 镜像操作 - -1. 获取可用镜像列表: - - ```Shell - eulerlauncher images - ``` - - **EulerLauncher**镜像有两种位置属性:1)远端镜像 2)本地镜像,只有处于本地且状态为 `Ready` 的镜像可以直接用来创建虚拟机,位于远端的镜像需要下载后才能够使用;你也可以加载已经预先下载好的本地镜像到**EulerLauncher**中,具体操作方法可以参考接下来的操作指导。 - -2. 下载远端镜像。 - - ```Shell - eulerlauncher download-image 23.09 - - Downloading: 23.09, this might take a while, please check image status with "images" command. - ``` - - 镜像下载请求是一个异步请求,具体的下载动作将在后台完成,具体耗时与你的网络情况相关,整体的镜像下载流程包括下载、解压缩、格式转换等相关子流程,在下载过程中可以通过 `image` 命令随时查看下载进展与镜像状态: - - ```Shell - eulerlauncher images - ``` - - 当镜像状态转变为 `Ready` 时,表示镜像下载完成,处于 `Ready` 状态的镜像可被用来创建虚拟机: - - ```Shell - eulerlauncher images - ``` - -3. 加载本地镜像。 - - 用户也可以加载自定义镜像或预先下载到本地的镜像到EulerLauncher中用于创建自定义虚拟机: - - ```Shell - eulerlauncher load-image --path {image_file_path} IMAGE_NAME - ``` - - 当前支持加载的镜像格式有 `xxx.qcow2.xz`,`xxx.qcow2`。 - - 例如: - - ```Shell - eulerlauncher load-image --path /opt/openEuler-23.09-x86_64.qcow2.xz 2309-load - - Loading: 2309-load, this might take a while, please check image status with "images" command. - ``` - - 将位于 `/opt` 目录下的 `openEuler-23.09-x86_64.qcow2.xz` 加载到EulerLauncher系统中,并命名为 `2309-load`,与下载命令一样,加载命令也是一个异步命令,用户需要用镜像列表命令查询镜像状态直到显示为 `Ready`, 但相对于直接下载镜像,加载镜像的速度会快很多: - - ```Shell - eulerlauncher images - - ...... - - eulerlauncher images - - ...... - ``` - -4. 删除镜像: - - 通过下面的命令将镜像从EulerLauncher系统中删除: - - ```Shell - eulerlauncher delete-image 2309-load - - Image: 2309-load has been successfully deleted. - ``` - -### 虚拟机操作 - -1. 获取虚拟机列表: - - ```shell - eulerlauncher list - - +----------+-----------+---------+---------------+ - | Name | Image | State | IP | - +----------+-----------+---------+---------------+ - | test1 | 2309-load | Running | 172.22.57.220 | - +----------+-----------+---------+---------------+ - | test2 | 2309-load | Running | N/A | - +----------+-----------+---------+---------------+ - ``` - - 若虚拟机IP地址显示为 `N/A` ,若这台虚拟机的状态为 `Running` 则表示这台虚拟机为新创建的虚拟机,网络还未配置完成,网络配置过程大概需要若干秒,请稍后重新尝试获取相关虚拟机信息。 - -2. 登录虚拟机: - - 若虚拟机已成功分配到IP地址,可以直接使用 `SSH` 命令进行登录: - - ```Shell - ssh root@{instance_ip} - ``` - - 若使用的是openEuler社区提供的官方镜像,则默认用户为 `root` 默认密码为 `openEuler12#$`。 - -3. 创建虚拟机。 - - ```Shell - eulerlauncher launch --image {image_name} {instance_name} - ``` - - 通过\-\-image指定镜像,同时指定虚拟机名称。 - -4. 删除虚拟机。 - - ```Shell - eulerlauncher delete-instance {instance_name} - ``` - - 根据虚拟机名称删除指定的虚拟机。 - -[1]: https://developer.apple.com/documentation/vmnet diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/overall.md b/docs/zh/tools/community_tools/virtualization/euler_launcher/overall.md deleted file mode 100644 index 0317ab0158b57e56f008a0478633a06dcacdcddc..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/virtualization/euler_launcher/overall.md +++ /dev/null @@ -1,18 +0,0 @@ -# EulerLauncher - -**EulerLauncher**是由openEuler社区技术运营团队及基础设施团队孵化的开发者工具集,通过对主流桌面操作系统中的虚拟化技术(LXD、HyperV、Virtualization framework)等进行有机整合,使用openEuler社区官方发布的虚拟机、容器镜像,为开发者在Windows、MacOS、Linux上提供统一的开发资源(虚拟机、容器)发放和管理体验,提升主流桌面操作系统上openEuler开发环境使用的便利性和稳定性,有效提升开发者体验。 - -## 背景 & 简介 - -主流桌面操作系统上提供相关开发资源(虚拟机、容器等)的便利性和稳定性是影响openEuler开发者体验的重要因素,尤其是对开发资源受限的个人及高校开发者openEuler开发体验影响更为明显。当前常见的虚拟机管理平台有诸多局限性,如VirtualBox需要下载体积庞大的ISO镜像,同时需要进行操作系统安装等相关操作,WSL无法提供真实的openEuler内核,绝大多数虚拟机管理软件目前对Apple Sillicon芯片支持尚不完善且众多软件需要付费等,这些都极大的降低了开发者的工作效率。 - -**EulerLauncher**支持在Windows、MacOS及Linux(规划中)等主流桌面操作系统上提供方便、易用、统一体验的开发者工具集,硬件架构支持x86_64及Aarch64(包含Apple Sillicon系列芯片);并支持各平台对应的虚拟化硬件加速能力,为开发者提供高性能的开发资源。**EulerLauncher**支持使用openEuler社区发布的虚拟机、容器(规划中)镜像、openEuler社区提供的Daily Build镜像以及其他符合要求的自定义镜像,为开发者提供多种选择。 - -## 快速开始 - -**EulerLauncher** MacOS用户请参考[MacOS用户指导文档][1] - -**EulerLauncher** Windows用户请参考[Windows用户指导文档][2] - -[1]: ./mac-user-manual.md -[2]: ./win-user-manual.md diff --git a/docs/zh/tools/community_tools/virtualization/euler_launcher/win_user_manual.md b/docs/zh/tools/community_tools/virtualization/euler_launcher/win_user_manual.md deleted file mode 100644 index b6b3bde718f80b3e62d2a7a6cdb2ba1ee5564916..0000000000000000000000000000000000000000 --- a/docs/zh/tools/community_tools/virtualization/euler_launcher/win_user_manual.md +++ /dev/null @@ -1,159 +0,0 @@ -# 在Windows下安装与运行EulerLauncher - -**EulerLauncher**当前支持Windows11/10,前往[EulerLauncher最新版下载][1]下载Windows版软件包并解压到期望的位置。 -右键点击 `config-env.bat` 并选择**以管理员身份运行**,该脚本将进行环境变量相关的配置,将当前目录添加到系统环境变量 `PATH`中,如果使用者掌握如何配置环境变量,或配置脚本出现问题,也可以进行手动配置,将当前脚本所在目录及 `qemu-img` 子目录添加至系统环境变量 `PATH` 中。 - -**EulerLauncher**在Windows上运行需要对接 `Hyper-V` 虚拟化后端,`Hyper-V` 是 Microsoft 的硬件虚拟化产品,可以为Windows上的虚拟机提供更为出色的性能。在运行**EulerLauncher**前,请先检查你的系统是否开启了 `Hyper-V`,具体检查及开启方法请参考[Hyper-V开启指导][2]或其他网络资源。 - -**EulerLauncher**解压后包含以下几个部分: - -- eulerlauncherd.exe:EulerLauncher的主进程,是运行在后台的守护进程,负责与各类虚拟化后端交互,管理虚拟机、容器以及镜像的生命周期,eulerlauncherd.exe是运行在后台的守护进程。 -- eulerlauncher.exe:EulerLauncher的CLI客户端,用户通过该客户端与eulerlauncherd守护进程交互,对虚拟机、镜像等进行相关操作。 -- eulerlauncher.conf:EulerLauncher配置文件,需与eulerlauncherd.exe放置于同一目录下,参考下面配置进行相应配置: - -```Conf -[default] -# 配置日志文件的存储目录 -log_dir = D:\eulerlauncher-workdir\logs -# 配置日志等级是否开启Debug -debug = True -# 配置EulerLauncher的工作目录 -work_dir = D:\eulerlauncher-workdir -# 配置EulerLauncher的镜像目录,镜像目录为对工作目录的相对目录 -image_dir = images -# 配置EulerLauncher的虚拟机文件目录,虚拟机文件目录为对工作目录的相对目录 -instance_dir = instances -``` - -配置完成后请右键点击eulerlauncherd.exe,选择以管理员身份运行,点击后omnivird.exe将以守护进程的形式在后台运行。 - -打开 `PowerShell` 或 `Terminal` ,准备进行对应的操作。 - -## Windows下退出eulerlauncherd后台进程 - -当eulerlauncherd.exe运行后,会在操作系统右下角托盘区域生成eulerlauncherd托盘图标,鼠标右键点击托盘图标,并选择 `Exit eulerlauncher` 即可退出eulerlauncherd后台进程。 - -## 镜像操作 - -1. 获取可用镜像列表。 - - ```PowerShell - eulerlauncher.exe images - - +-----------+----------+--------------+ - | Images | Location | Status | - +-----------+----------+--------------+ - | 22.03-LTS | Remote | Downloadable | - | 21.09 | Remote | Downloadable | - | 2203-load | Local | Ready | - +-----------+----------+--------------+ - ``` - - **EulerLauncher**镜像有两种位置属性:1)远端镜像 2)本地镜像,只有处于本地且状态为 `Ready` 的镜像可以直接用来创建虚拟机,位于远端的镜像需要下载后才能够使用;你也可以加载已经预先下载好的本地镜像到**EulerLauncher**中,具体操作方法可以参考接下来的操作指导。 - -2. 下载远端镜像。 - - ```PowerShell - eulerlauncher.exe download-image 23.09 - - Downloading: 23.09, this might take a while, please check image status with "images" command. - ``` - - 镜像下载请求是一个异步请求,具体的下载动作将在后台完成,具体耗时与你的网络情况相关,整体的镜像下载流程包括下载、解压缩、格式转换等相关子流程,在下载过程中可以通过 `image` 命令随时查看下载进展与镜像状态: - - ```PowerShell - eulerlauncher.exe images - ``` - - 当镜像状态转变为 `Ready` 时,表示镜像下载完成,处于 `Ready` 状态的镜像可被用来创建虚拟机: - - ```PowerShell - eulerlauncher.exe images - ``` - -3. 加载本地镜像。 - - 用户也可以加载自定义镜像或预先下载到本地的镜像到EulerLauncher中用于创建自定义虚拟机: - - ```PowerShell - eulerlauncher.exe load-image --path {image_file_path} IMAGE_NAME - ``` - - 当前支持加载的镜像格式有 `xxx.qcow2.xz`,`xxx.qcow2`。 - - 例如: - - ```PowerShell - eulerlauncher.exe load-image --path D:\openEuler-23.09-x86_64.qcow2.xz 2309-load - - Loading: 2309-load, this might take a while, please check image status with "images" command. - ``` - - 将位于 `D:\` 目录下的 `openEuler-23.09-x86_64.qcow2.xz` 加载到EulerLauncher系统中,并命名为 `2309-load`,与下载命令一样,加载命令也是一个异步命令,用户需要用镜像列表命令查询镜像状态直到显示为 `Ready`, 但相对于直接下载镜像,加载镜像的速度会快很多: - - ```PowerShell - eulerlauncher.exe images - - ...... - - eulerlauncher images - - ...... - ``` - -4. 删除镜像。 - -通过下面的命令将镜像从EulerLauncher系统中删除: - -```PowerShell -eulerlauncher.exe delete-image 2309-load - -Image: 2309-load has been successfully deleted. -``` - -## 虚拟机操作 - -1. 获取虚拟机列表。 - - ```Powershell - eulerlauncher.exe list - - +----------+-----------+---------+---------------+ - | Name | Image | State | IP | - +----------+-----------+---------+---------------+ - | test1 | 2309-load | Running | 172.22.57.220 | - +----------+-----------+---------+---------------+ - | test2 | 2309-load | Running | N/A | - +----------+-----------+---------+---------------+ - ``` - - 若虚拟机IP地址显示为 `N/A` ,若这台虚拟机的状态为 `Running` 则表示这台虚拟机为新创建的虚拟机,网络还未配置完成,网络配置过程大概需要若干秒,请稍后重新尝试获取相关虚拟机信息。 - -2. 登录虚拟机。 - - 若虚拟机已成功分配到IP地址,可以直接使用 `SSH` 命令进行登录: - - ```PowerShell - ssh root@{instance_ip} - ``` - - 若使用的是openEuler社区提供的官方镜像,则默认用户为 `root` 默认密码为 `openEuler12#$`。 - -3. 创建虚拟机。 - - ```PowerShell - eulerlauncher.exe launch --image {image_name} {instance_name} - ``` - - 通过\-\-image指定镜像,同时指定虚拟机名称。 - -4. 删除虚拟机。 - - ```PowerShell - eulerlauncher.exe delete-instance {instance_name} - ``` - - 根据虚拟机名称删除指定的虚拟机。 - -[1]: https://gitee.com/openeuler/eulerlauncher/releases -[2]: https://learn.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v diff --git a/docs/zh/tools/desktop/_toc.yaml b/docs/zh/tools/desktop/_toc.yaml index 5a919054937ebdd12ed4a36d88091c47666fde5e..26b31e832b32916af1d27d5819844f6149ac6159 100644 --- a/docs/zh/tools/desktop/_toc.yaml +++ b/docs/zh/tools/desktop/_toc.yaml @@ -1,8 +1,9 @@ label: 图形桌面使用 sections: - - href: ./gnome/_toc.yaml - href: upstream: https://gitee.com/openeuler/ukui/blob/master/docs/zh/_toc.yaml - - href: ./dde/_toc.yaml - - href: ./kiran/_toc.yaml - - href: ./xfce/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/dde/blob/master/docs/zh/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/kiran-desktop/blob/master/docs/zh/_toc.yaml + path: ./kiran diff --git a/docs/zh/tools/desktop/dde/_toc.yaml b/docs/zh/tools/desktop/dde/_toc.yaml deleted file mode 100644 index f57690d9f7c884bfdad8f011807b5913c0de3a10..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/_toc.yaml +++ /dev/null @@ -1,9 +0,0 @@ -label: DDE用户指南 -isManual: true -description: 安装并使用 DDE 桌面环境 -sections: - - label: 安装 DDE - href: ./dde_installation.md - - label: 使用 DDE - href: ./dde_user_guide.md - diff --git a/docs/zh/tools/desktop/dde/dde_installation.md b/docs/zh/tools/desktop/dde/dde_installation.md deleted file mode 100644 index 4a913456db07269b8eaf384150d06870ce36fbaf..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/dde_installation.md +++ /dev/null @@ -1,39 +0,0 @@ -# 在 openEuler 上安装 DDE - -## 简介 - -DDE是统信软件团队研发的一款功能强大的桌面环境。包含数十款功能强大的桌面应用,是真正意义上的自主自研桌面产品。 - -## 安装方法 - -1. [下载](https://openeuler.org/zh/download/)openEuler ISO镜像并安装系统 -2. 更新软件源 - - ```bash - sudo dnf update - ``` - -3. 安装DDE - - ```bash - sudo dnf install dde - ``` - -4. 设置以图形界面的方式启动 - - ```bash - sudo systemctl set-default graphical.target - ``` - -5. 重启 - - ```bash - sudo reboot - ``` - -6. 在重启完成后,使用安装过程中创建的用户或openeuler用户登录桌面 - - > dde桌面无法使用root帐号登录 - > dde内置了openeuler用户,此用户的密码为openeuler - -现在您可以尽情的使用dde桌面了。 diff --git a/docs/zh/tools/desktop/dde/dde_user_guide.md b/docs/zh/tools/desktop/dde/dde_user_guide.md deleted file mode 100644 index 7f9351daa7a8134c0c617cf35238003ec10869fd..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/dde_user_guide.md +++ /dev/null @@ -1,850 +0,0 @@ -# DDE桌面环境用户手册 - -## 概述 - -DDE桌面环境是一款美观易用、安全可靠的图形化操作界面。桌面环境主要由桌面、任务栏、启动器、控制中心等组成,是您使用该操作系统的基础,主界面如下图所示。 - -![1|desk](./figures/43.jpg) - -### 欢迎 - -初次进入DDE桌面环境,会自动打开欢迎程序。您可以观看视频了解系统功能,选择桌面样式和图标主题,进一步了解该系统。 - -![welcome](./figures/64.png) - -## 桌面 - -桌面是您登录后看到的主屏幕区域。在桌面上,您可以新建文件/文件夹、排列文件、打开终端、设置壁纸和屏保等,还可以通过启动器 [发送到桌面](#设置快捷方式) 向桌面添加应用的快捷方式。 - -![0|rightbuttonmenu](./figures/41.png) - -### 新建文件夹/文档 - -在桌面新建文件夹或文档,也可以对文件进行常规操作,和在文件管理器中一样。 - -- 在桌面上,单击鼠标右键,单击 **新建文件夹**,输入新建文件夹的名称。 -- 在桌面上,单击鼠标右键,单击 **新建文档**,选择新建文档的类型,输入新建文档的名称。 - -在桌面文件或文件夹上,单击鼠标右键,您可以使用文件管理器的相关功能: - -| 功能 | 说明 | -| ----------- | -------------------------------------------------------- | -| 打开方式 | 选定系统默认打开方式,也可以选择其他关联应用程序来打开。 | -| 剪切 | 移动文件或文件夹。 | -| 复制 | 复制文件或文件夹。 | -| 重命名 | 重命名文件或文件夹。 | -| 删除 | 删除文件或文件夹。 | -| 创建链接 | 创建一个快捷方式。 | -| 标记信息 | 添加标记信息,以对文件或文件夹进行标签化管理。 | -| 压缩/解压缩 | 压缩文件或文件夹,或对压缩文件进行解压。 | -| 属性 | 查看文件或文件夹的基本信息,共享方式,及其权限。 | - -### 设置排列方式 - -您可以对桌面上的图标按照需要进行排序。 - -1. 在桌面上,单击鼠标右键。 -2. 单击 **排序方式**,您可以: - - 单击 **名称**,将按文件的名称顺序显示。 - - 单击 **大小**,将按文件的大小顺序显示。 - - 单击 **类型**,将按文件的类型顺序显示。 - - 单击 **修改时间**,文件将按最近一次的修改日期顺序显示。 - -> ![tips](./figures/icon125-o.svg)窍门:*您也可以勾选 **自动排列**,桌面图标将从上往下,从左往右按照当前排序规则排列,有图标被删除时后面的图标会自动向前填充。* - -### 调整图标大小 - -1. 在桌面上,单击鼠标右键。 -2. 单击 **图标大小**。 -3. 选择一个合适的图标大小。 - -> ![tips](./figures/icon125-o.svg)窍门:*您也可以用 **Ctrl** + ![=](./figures/icon134-o.svg)/![-](./figures/icon132-o.svg) 鼠标滚动来调整桌面和启动器中的图标大小。* - -### 设置显示器 - -从这里快速进入控制中心设置显示器的缩放比例、分辨率和亮度等。 - -1. 在桌面上,单击鼠标右键。 -2. 单击 **显示设置**,快速进入控制中心的显示设置界面。 - -> ![notes](./figures/icon99-o.svg)说明:*关于显示的设置,具体操作请参阅 [显示设置](#显示设置) 。* - -### 更改壁纸 - -您可以选择一些精美、时尚的壁纸来美化桌面,让您的电脑显示与众不同。 - -1. 在桌面上,单击鼠标右键。 -2. 单击 **壁纸与屏保**,在桌面底部预览所有壁纸。 -3. 选择某一壁纸后,壁纸就会在桌面和锁屏中生效。 -4. 您可以单击 **仅设置桌面** 、 **仅设置锁屏** 和 **同时设置** 来控制壁纸的生效范围。 - -![1|wallpaper](./figures/63.jpg) - -              - -> ![tips](./figures/icon125-o.svg)窍门: *您还可以在图片查看器中设置您喜欢的图片为桌面壁纸。* - -### 剪贴板 - -剪贴板展示当前用户登录系统后复制和剪切的所有文本、图片和文件。使用剪贴板可以快速复制其中的某项内容。注销或关机后,剪贴板会自动清空。 - -1. 使用快捷键 **Ctrl** + **Alt** + **V** 唤出剪贴板。 -2. 双击剪贴板内的某一区块,会快速复制当前内容, 且当前区块会被移动到剪贴板顶部。 -3. 选择目标位置粘贴。 -4. 鼠标移入剪贴板的某一区块,单击上方的![close](./figures/icon57-o.svg),删除当前内容;单击顶部的 **全部清除**,清空剪贴板。 - -![1|clipboard](./figures/40.png) - -## 任务栏 - -任务栏是指位于桌面底部的长条,主要由启动器、应用程序图标、托盘区、系统插件等组成。在任务栏,您可以打开启动器、显示桌面、进入工作区,对其上的应用程序进行打开、新建、关闭、强制退出等操作,还可以设置输入法,调节音量,连接网络,查看日历,进入关机界面等。 - -### 认识任务栏图标 - -任务栏图标包括启动器图标、应用程序图标、托盘区图标、系统插件图标等。 - -![1|fashion](./figures/45.png) - -| 图标 | 说明 | 图标 | 说明 | -| ------------------------------------------- | :------------------------------------------ | ------------------------------------------------ | ------------------------------------- | -| ![launcher](./figures/icon66-o.svg) | 启动器 - 点击查看所有已安装的应用。 | ![deepin-toggle-desktop](./figures/icon69-o.svg) | 显示桌面。 | -| ![dde-file-manager](./figures/icon63-o.svg) | 文件管理器 - 点击查看磁盘中的文件、文件夹。 | ![dde-calendar](./figures/icon62-o.svg) | 日历 - 查看日期、新建日程。 | -| ![controlcenter](./figures/icon58-o.svg) | 控制中心 - 点击进入系统设置。 | ![notification](./figures/icon101-o.svg) | 通知中心 - 显示所有系统和应用的通知。 | -| ![onboard](./figures/icon103-o.svg) | 屏幕键盘 - 点击使用虚拟键盘。 | ![shutdown](./figures/icon122-o.svg) | 电源 - 点击进入关机界面。 | -| ![trash](./figures/icon126-o.svg) | 回收站。 | | | - -              - -> ![tips](./figures/icon125-o.svg)窍门:*在高效模式下,单击任务栏最右侧可显示桌面。将鼠标指针移到任务栏上已打开窗口的图标时,会显示相应的预览窗口。* - -### 切换显示模式 - -任务栏提供两种显示模式:时尚模式和高效模式,显示不同的图标大小和应用窗口激活效果。 - -![1|fashion](./figures/46.png) - -![1|efficient](./figures/63.png) - -              - -您可以通过以下操作来切换显示模式: - -1. 右键单击任务栏。 -2. 在 **模式** 子菜单中选择一种显示模式。 - -### 设置任务栏位置 - -您可以将任务栏放置在桌面的任意方向。 - -1. 右键单击任务栏。 -2. 在 **位置** 子菜单中选择一个方向。 - -### 调整任务栏高度 - -鼠标拖动任务栏边缘,改变任务栏高度。 - -### 显示/隐藏插件 - -1. 右键单击任务栏。 -2. 在 **插件区域** 子菜单中勾选或取消勾选 **回收站、电源、显示桌面、屏幕键盘、通知中心、时间**,可以设置这些插件在任务栏上的显示和隐藏效果。 - -### 查看通知 - -当有系统或应用通知时,会在桌面上方弹出通知消息。若有按钮,单击按钮执行对应操作;若无按钮,单击关闭此消息。 - -![message](./figures/51.png) - -              - -您还可以单击任务栏上的 ![notification](./figures/icon101-o.svg), 打开通知中心,查看所有通知。 - -### 查看日期时间 - -- 鼠标指针悬停在任务栏的时间上,查看当前日期、星期和时间。 -- 单击时间,打开日历。 - -### 进入关机界面 - -您可以单击任务栏上的 ![shutdown](./figures/icon136-o.svg) 进入关机界面,也可以在启动器的小窗口模式中单击 ![poweroff_normal](./figures/icon136-o.svg)。 - -| 功能 | 说明 | -| ---------------------------------------------------------- | ------------------------------------------------------- | -| 关机![poweroff_normal](./figures/icon136-o.svg) | 关闭电脑。 | -| 重启![reboot_normal](./figures/icon110-o.svg) | 关机后再次重新运行您的电脑。 | -| 锁定![lock_normal](./figures/icon90-o.svg) | 锁定电脑,或按下键盘上的 **Super** + **L** 组合键锁定。 | -| 切换用户![userswitch_normal](./figures/icon128-o.svg) | 选择另一个用户帐户登录。 | -| 注销![logout_normal](./figures/icon92-o.svg) | 清除当前登录用户的信息。 | -| 启动系统监视器![deepin-system-monitor](./figures/icon68-o.svg) | 快速启动系统监视器。 | - -              - -> ![notes](./figures/icon99-o.svg)说明:*当系统存在多个帐户时才显示 ![userswitch_normal](./figures/icon128-o.svg)。* - -### 回收站 - -电脑中临时被删除的所有文件您都可以在回收站中找到,回收站中的文件可以被恢复或清空。 - -#### 还原文件 - -对于已删除的文件,您可以进入回收站进行还原,或使用 **Ctrl** + **Z** 还原刚删除的文件。 - -1. 在回收站中,选择要恢复的文件。 -2. 单击鼠标右键,选择 **还原**。 -3. 还原文件到原来的存储路径下。 - -> ![attention](./figures/icon52-o.svg)注意:*如果原来所在的文件夹已经删除,还原文件时会自动新建文件夹*。 - -#### 清空回收站 - -在回收站中,单击 **清空**,将彻底删除回收站的所有内容。 - -## 启动器 - -启动器 ![launcher](./figures/icon66-o.svg) 帮助您管理系统中已安装的所有应用,在启动器中使用分类导航或搜索功能可以快速找到您需要的应用程序。 - -> ![tips](./figures/icon125-o.svg)窍门:*您可以进入启动器查看新安装的应用。新安装应用的旁边会出现一个小蓝点提示*。 - -### 切换模式 - -启动器有全屏和小窗口两种模式。单击启动器界面右上角的图标来切换模式。 - -两种模式均支持搜索应用、设置快捷方式等操作。 - -小窗口模式还支持快速打开文件管理器,控制中心和进入关机界面等功能。 - -![1|fullscreen](./figures/47.jpg)![1|ini](./figures/52.png) - -### 排列应用 - -在全屏模式下,系统默认按照安装时间排列所有应用。 - -- 将鼠标悬停在应用图标上,按住鼠标左键不放,将应用图标拖拽到指定的位置自由排列。 -- 单击启动器界面左上角分类图标![category](./figures/icon56-o.svg)进行排列。 - -![1|sortapp](./figures/60.jpg) - -              - -在小窗口模式下,默认按照使用频率排列应用。 - -### 查找应用 - -在启动器中,您可以滚动鼠标滚轮或切换分类导航查找应用。 - -如果知道应用名称,直接在搜索框中输入关键字,快速定位到需要的应用。 - -### 设置快捷方式 - -快捷方式提供了一种简单快捷地启动应用的方法。 - -#### 创建快捷方式 - -将应用发送到桌面或任务栏上,方便您的后续操作。 - -在启动器中,右键单击应用图标,您可以: - -- 单击 **发送到桌面**,在桌面创建快捷方式。 - -- 单击 **发送到任务栏**,将应用固定到任务栏。 - -![0|sendto](./figures/58.png) - -> ![notes](./figures/icon99-o.svg)说明:*您还可以从启动器拖拽应用图标到任务栏上放置。但是当应用处于运行状态时您将无法拖拽固定,此时您可以右键单击任务栏上的应用图标,选择 **驻留** 将应用固定到任务栏,以便下次使用时从任务栏上快速打开。* - -#### 删除快捷方式 - -您既可以在桌面直接删除应用的快捷方式,也可以在任务栏和启动器中删除。 - -**从任务栏上删除** - -- 在任务栏上,按住鼠标左键不放,将应用图标拖拽到任务栏以外的区域移除快捷方式。 -- 当应用处于运行状态时您将无法拖拽移除,此时可以右键单击任务栏上的应用图标,选择 **移除驻留** 将应用从任务栏上移除。 - -**从启动器中删除** - -在启动器中,右键单击应用图标,您可以: - -- 单击 **从桌面上移除**,删除桌面快捷方式。 -- 单击 **从任务栏上移除**,将固定到任务栏上的应用移除。 - -> ![notes](./figures/icon99-o.svg)说明:*以上操作,只会删除应用的快捷方式,而不会卸载应用。* - -### 运行应用 - -对于已经创建了桌面快捷方式或固定到任务栏上的应用,您可以通过以下途径来打开应用。 - -- 双击桌面图标,或右键单击桌面图标选择 **打开**。 -- 直接单击任务栏上的应用图标,或右键单击任务栏上的应用图标选择 **打开**。 - -在启动器中,直接单击应用图标打开,或右键单击应用图标选择 **打开**。 - -> ![tips](./figures/icon125-o.svg)窍门:*对于经常使用的应用,您可以在启动器中,右键单击应用图标选择 **开机自动启动**。* - -## 控制中心 - -DDE桌面操作系统通过控制中心来管理系统的基本设置,包括帐户管理、网络设置、日期和时间、个性化设置、显示设置、系统信息查看等。当您进入桌面环境后,单击任务栏上的 ![controlcenter](./figures/icon58-o.svg) 即可打开控制中心窗口。 - -### 首页介绍 - -控制中心首页主要展示各个设置模块,方便日常查看和快速设置。 - -![2|dcchomepage](./figures/42.png) - -              - -打开控制中心的某一设置模块后,可以通过左侧导航栏快速切换到另一设置模块。 - -![2|cc-navigation](./figures/39.png) - -#### 标题栏 - -标题栏包含返回按钮,搜索框,主菜单及窗口按钮。 - -- 返回按钮:若要返回首页,单击 ![back](./figures/icon53-o.svg)。 -- 搜索框:输入关键字后,回车,搜索相应设置。 -- 主菜单:单击![menu](./figures/icon83-o.svg) 进入主菜单。在主菜单中,您可以设置窗口主题,查看版本,或退出控制中心。 - -### 帐户设置 - -在安装系统时您已经创建了一个帐户。在这里,您可以修改帐户设置或创建一个新帐户。 - -![0|account](./figures/38.png) - -#### 创建新帐户 - -1. 在控制中心首页,单击 ![account_normal](./figures/icon49-o.svg)。 -2. 单击![add](./figures/icon50-o.svg)。 -3. 输入用户名、密码和重复密码。 -4. 单击 **创建**。 -5. 在授权对话框输入当前帐户的密码,新帐户就会添加到帐户列表中。 - -#### 更改头像 - -1. 在控制中心首页,单击 ![account_normal](./figures/icon49-o.svg)。 -2. 单击列表中的帐户。 -3. 单击帐户头像,选择一个头像或添加本地头像,头像就替换完成了。 - -#### 设置全名 - -帐户全名会显示在帐户列表和系统登录界面,可根据需要设置。 - -1. 在控制中心首页,单击 ![account_normal](./figures/icon49-o.svg)。 -2. 单击列表中的帐户。 -3. 单击 **设置全名** 后的 ![edit](./figures/icon75-o.svg),输入帐户全名。 - -#### 修改密码 - -1. 在控制中心首页,单击 ![account_normal](./figures/icon49-o.svg)。 -2. 单击当前帐户。 -3. 单击 **修改密码**,进入修改密码页面。 -4. 输入当前密码、新密码和重复密码。 - -#### 删除帐户 - -1. 在控制中心首页,单击 ![account_normal](./figures/icon49-o.svg)。 -2. 单击其他未登录的帐户。 -3. 单击 **删除帐户** 。 -4. 在弹出的确认界面中单击 **删除**。 - -> ![attention](./figures/icon52-o.svg)注意: *已登录的帐户无法被删除。* - -#### 权限设置 - -除安装时的第一个帐户是管理员权限外,后面所添加的所有帐户都是普通用户。一个帐户可以在多个用户组内。 - -##### 设置组 - -添加或修改帐户时,可以: - -- 选择系统内已有的组。 -- 选择当前用户同名的组。 -- 选择之前添加帐户时和其他用户同名的组。 - -### 显示设置 - -设置显示器的分辨率、亮度、屏幕方向等,让您的电脑显示到达最佳状态。 - -![0|video](./figures/44.png) - -#### 单屏设置 - -##### 更改分辨率 - -1. 在控制中心首页,单击 ![display_normal](./figures/icon72-o.svg)。 -2. 单击 **分辨率**,进入分辨率设置界面。 -3. 在列表中选择合适的分辨率参数。 -4. 单击 **保存**。 - -##### 调节亮度 - -1. 在控制中心首页,单击 ![display_normal](./figures/icon72-o.svg)。 -2. 单击 **亮度**,进入亮度设置界面。 - - - 拖动亮度条滑块,调节屏幕亮度。 - - 打开 **自动调节色温** 开关,开启进入护眼模式,自动调节色温。 - - 打开 **手动调节** 亮度开关,可以调节屏幕亮度 。 - -##### 设置屏幕刷新率 - -1. 在控制中心首页,单击 ![display_normal](./figures/icon72-o.svg)。 -2. 单击 **刷新率**。 -3. 选择一个合适的刷新率,单击 **保存**。 - -##### 改变屏幕方向 - -1. 在控制中心首页,单击 ![display_normal](./figures/icon72-o.svg)。 -2. 单击 ![rotate](./figures/icon112-o.svg) 。 -3. 每单击一下鼠标左键,屏幕逆时针旋转90°。 -4. 要还原为之前的屏幕方向,单击鼠标右键退出;要使用当前屏幕方向,请按下组合键 **Ctrl** + **S** 保存。 - -#### 多屏设置 - -多屏显示,让您的视野无限延伸!使用VGA、HDMI、EDP等线缆将您的电脑和另一台显示器、投影仪等连接起来,同时在多个屏幕显示您电脑上的内容。 - -1. 在控制中心首页,单击 ![display_normal](./figures/icon72-o.svg)。 -2. 单击 **多屏显示模式**。 -3. 选择一种显示模式。 - - **复制** 将主屏的显示内容复制到其他屏幕。 - - **扩展** 将主屏的显示内容扩展到其他屏幕,扩大桌面区域。 - - **自定义** 设置显示模式,主屏、分辨率、刷新率和屏幕旋转方向。 - -在多屏环境下,按下 **Super** + **P**调出多屏显示模式的OSD。 - -详细操作方法如下。 - -1. 按住 **Super** 不放,再按下 **P** 或鼠标单击来进行模式选择。 -2. 松开按键,确认选择,模式生效。 - -> ![notes](./figures/icon99-o.svg)说明:*当多屏显示模式为扩展模式时,仅主屏支持桌面图标显示、操作右键菜单等功能,而副屏不支持。* - -##### 自定义设置 - -1. 在控制中心首页,单击 ![display_normal](./figures/icon72-o.svg)。 -2. 单击 **多屏显示模式** > **自定义**。 -3. 单击 “识别”,查看屏幕名称。 -4. 选择“合并”或“拆分”,然后对多个屏幕进行设置,如主屏、分辨率、刷新率,旋转屏幕等。 -5. 单击 **保存**。 - -> ![notes](./figures/icon99-o.svg)说明:*合并即复制模式,拆分即扩展模式。* - -### 默认程序设置 - -当安装有多个功能相似的应用程序时,可以选择其中的一个应用作为对应文件类型的默认启动程序。 - -![0|default](./figures/39.png) - -#### 设置默认程序 - -1. 右键单击文件,选择 **打开方式** > **选择默认程序**。 -2. 选择一个应用,自动勾选"设为默认",单击 **确定**。 -3. 该应用将自动添加到控制中心的默认程序列表。 - -#### 更改默认程序 - -1. 在控制中心首页,单击 ![default_applications_normal](./figures/icon70-o.svg)。 -2. 选择一个文件类型进入默认程序列表。 -3. 在列表中选择另一个应用程序。 - -#### 添加默认程序 - -1. 在控制中心首页,单击 ![default_applications_normal](./figures/icon70-o.svg)。 -2. 选择文件类型进入默认程序列表。 -3. 单击列表下的![add](./figures/icon50-o.svg),选择desktop文件(一般在/usr/share/applications),或特定的二进制文件。 -4. 该程序将添加到列表,并自动设置为默认程序。 - -#### 删除默认程序 - -在默认程序列表中,您只能删除自己添加的应用程序,不能删除系统已经安装的应用。要删除系统已经安装的应用,只能卸载应用。卸载后该应用将自动从默认程序列表中删除。 - -可用以下方法删除自己添加的默认程序。 - -1. 在控制中心首页,单击 ![default_applications_normal](./figures/icon70-o.svg)。 -2. 选择文件类型进入默认程序列表。 -3. 单击程序后面的![close](./figures/icon57-o.svg),删除默认程序。 - -### 个性化设置 - -在这里,您可以设置系统主题、活动用色、字体等,改变桌面和窗口的外观,设置成您喜欢的显示风格。 - -![0|personalise](./figures/56.png) - -#### 设置窗口主题 - -1. 在控制中心首页,单击 ![personalization_normal](./figures/icon105-o.svg)。 -2. 单击 **通用**,选择一种窗口主题。 -3. 该主题即为系统窗口主题。 - -> ![tips](./figures/icon125-o.svg)窍门:*自动主题表示根据当前时区的时间,根据日出日落的时间自动更换窗口主题。日出后是浅色,日落后是深色。* - -#### 更改活动用色 - -活动用色是指选中某一选项时的强调色。 - -1. 在控制中心首页,单击 ![personalization_normal](./figures/icon105-o.svg)。 -2. 单击 **通用**。 -3. 单击 **活动用色** 下的一种颜色,可实时查看该颜色效果。 - -#### 设置图标主题 - -1. 在控制中心首页,单击 ![personalization_normal](./figures/icon105-o.svg)。 -2. 单击 **图标主题**,选择一款图标样式。 - -#### 设置光标主题 - -1. 在控制中心首页,单击 ![personalization_normal](./figures/icon105-o.svg)。 -2. 单击 **光标主题**,选择一款光标样式。 - -#### 更改系统字体 - -1. 在控制中心首页,单击 ![personalization_normal](./figures/icon105-o.svg)。 -2. 单击 **字体**,进入设置字体界面。 -3. 设置系统字号和字体。 - -### 网络设置 - -登录系统后,您需要连接网络,才能接收邮件、浏览新闻、下载文件、聊天、网上购物等。 - -> ![tips](./figures/icon125-o.svg)窍门:*您可以单击任务栏托盘区的网络图标,查看当前网络状态。* - -![0|network](./figures/54.png) - -#### 有线网络 - -有线网络安全快速稳定,是最常见的网络连接方式。当您设置好路由器后,把网线两端分别插入电脑和路由器,即可连接有线网络。 - -1. 将网线插入电脑上的网络插孔。 -2. 将网线的另一端插入路由器或网络端口。 -3. 在控制中心首页,单击 ![network_normal](./figures/icon97-o.svg)。 -4. 单击 **有线网络**,进入有线网络设置界面。 -5. 打开 **有线网卡**,开启有线网络连接功能。 -6. 当网络连接成功后,桌面右上角将弹出“已连接有线连接”的提示信息。 - -您还可以在有线网络的设置界面,编辑或新建有线网络设置。 - -#### 移动网络 - -当您处于一个没有网络信号的地方时,可以使用无线上网卡来上网。在有电话信号覆盖的任何地方,无线上网卡通过运营商的移动数据网络接入宽带服务。 - -1. 将移动网卡插入电脑上的USB接口中。 -2. 电脑将根据移动网卡和运营商信息,自动适配并自动连接网络。 -3. 在控制中心首页,单击 ![network_normal](./figures/icon97-o.svg)。 -4. 单击 **移动网络**,查看详细设置信息。 - -#### 拨号网络 - -拨号上网(DSL)是指通过本地电话拨号连接到网络的连接方式。配置好调制解调器,把电话线插入电脑的网络接口,创建宽带拨号连接,输入运营商提供的用户名和密码,即可拨号连接到Internet上。 - -##### 新建拨号连接 - -1. 在控制中心首页,单击 ![network_normal](./figures/icon97-o.svg)。 -2. 单击 **DSL**,单击 ![add](./figures/icon50-o.svg)。 -3. 输入宽带名称、帐户、密码。 -4. 单击 **保存**,系统自动创建宽带连接并尝试连接。 - -#### VPN - -VPN即虚拟专用网络,其主要功能是在公用网络上建立专用网络,进行加密通讯。无论您是在外地出差还是在家中办公,只要能上网就能利用VPN访问企业的内网资源。您还可以使用VPN加速访问其他国家的网站。 - -1. 在控制中心首页,单击 ![network_normal](./figures/icon97-o.svg)。 -2. 单击 **VPN**,选择 ![add](./figures/icon50-o.svg) 或 ![import](./figures/icon84-o.svg)。 -3. 选择VPN协议类型,并输入名称、网关、帐号、密码等信息。(导入VPN会自动填充信息) -4. 单击 **保存**,系统自动尝试连接VPN网络。 -5. 您可以将VPN设置导出,备用或共享给其他用户。 - -> ![notes](./figures/icon99-o.svg)说明:*打开 **仅用于相对应的网络上的资源** 开关,可以不将VPN设置为默认路由,只在特定的网络资源上生效。* - -#### 系统代理 - -1. 在控制中心首页,单击 ![network_normal](./figures/icon97-o.svg)。 -2. 单击 **系统代理**,进入系统代理界面。 - - - 单击 **无**,关闭代理服务器功能。 - - 单击 **手动**,输入代理服务器的地址和端口信息。 - - 单击 **自动**,输入URL,系统将自动配置代理服务器的信息。 - -#### 应用代理 - -1. 在控制中心首页,单击 ![network_normal](./figures/icon97-o.svg)。 -2. 单击 **应用代理**。 -3. 设置应用代理参数。 -4. 单击 **保存**。 - -> ![notes](./figures/icon99-o.svg)说明:*应用代理设置成功后,打开启动器,右键单击应用图标,可以选择 **使用代理**。* - -#### 网络详情 - -在网络详情界面,您可以查看MAC、IP地址、网关和其他网络信息。 - -1. 在控制中心首页,单击 ![network_normal](./figures/icon97-o.svg)。 -2. 单击 **网络详情**,进入网络信息界面。 -3. 查看当前有线网络或无线网络的信息。 - -### 声音设置 - -输入输出设备声音的设置(如设置扬声器和麦克风),让您听得更舒适,录音更清晰。 - -![0|sound](./figures/61.png) - -#### 输出设备 - -1. 在控制中心首页,单击 ![sound_normal](./figures/icon116-o.svg)。 -2. 单击 **输出**,进入输出设备配置界面,您可以: - - 在输出设备后面的下拉框中选择输出设备类型。 - - 通过拖曳滑块调节输出音量和左/右声道平衡。 - - 打开 **音量增强**,音量的可调节区间由0-100% 转变为0-150%。 - -#### 输入设备 - -1. 在控制中心首页,单击 ![sound_normal](./figures/icon116-o.svg)。 -2. 单击 **输入**,进入输入设备配置界面,您可以: - - 在输入设备后面的下拉框中选择输入设备类型。 - - 通过拖曳滑块调节输入音量。 - - 打开 **开启** 按钮,还可以设置 **噪音抑制** 功能。 - -> ![tips](./figures/icon125-o.svg)窍门:*通常,需要调大输入音量,确保能够听到声源的声音,但是音量不宜过大,因为这会导致声音失真。可以对着麦克风以正常说话的音量讲话,并观察反馈音量的变化,变化较明显,则说明输入音量合适。* - -#### 系统音效 - -1. 在控制中心首页,单击 ![sound_normal](./figures/icon116-o.svg)。 -2. 单击 **系统音效**,勾选选项,开启某一事件发生时的声音效果。 - -> ![tips](./figures/icon125-o.svg)窍门:*您可以单击试听音效。* - -### 时间日期 - -正确选择您所在的时区,一般即可显示正确的日期和时间。您也可以手动修改时间和日期。 - -![0|time](./figures/62.png) - -#### 修改时区 - -在您安装系统时,已选择了系统时区。若要修改系统时区,请按如下步骤设置。 - -1. 在控制中心首页,单击 ![time](./figures/icon124-o.svg)。 -2. 单击 **时区列表**。 -3. 单击 **修改系统时区**, 通过搜索或单击地图选择时区。 -4. 单击 **确定**。 - -#### 添加时区 - -您可以同时使用多个时区,以便查看另一时区的时间。 - -1. 在控制中心首页,单击 ![time](./figures/icon124-o.svg)。 -2. 单击 **时区列表**。 -3. 单击![add](./figures/icon50-o.svg),通过搜索或单击地图选择时区。 -4. 单击 **添加**。 - -#### 删除时区 - -1. 在控制中心首页,单击 ![time](./figures/icon124-o.svg)。 -2. 单击 **时区列表**。 -3. 单击时区列表后面的 **编辑**。 -4. 单击 ![delete](./figures/icon71-o.svg),删除已添加的时区。 - -#### 修改时间和日期 - -默认情况下,系统通过网络自动同步该时区的本地时间和日期。您也可以手动修改时间和日期。手动设置后,自动同步功能会被关闭。 - -1. 在控制中心首页,单击 ![time](./figures/icon124-o.svg)。 -2. 单击 **时间设置** 。 - - 开启或关闭自动同步配置。 - - 设置正确的时间和日期。 -3. 单击 **确定**。 - -#### 设置时间日期格式 - -支持即时设置时间日期的格式。 - -1. 在控制中心首页,单击 ![time](./figures/icon124-o.svg)。 -2. 单击 **格式设置**,可以设置星期、长短日期、长短时间等格式。 - -### 电源管理 - -对系统电源进行一些设置,让系统更安全。 - -![0|power](./figures/57.png) - -              - -#### 设置显示器关闭时间 - -1. 在控制中心首页,单击 ![power_normal](./figures/icon107-o.svg)。 -2. 单击 **使用电源**。 -3. 选择关闭显示器的时间。 - -#### 设置自动锁屏时间 - -1. 在控制中心首页,单击 ![power_normal](./figures/icon107-o.svg)。 -2. 单击 **使用电源**。 -3. 选择自动锁屏的时间。 - -#### 设置电源按钮 - -1. 在控制中心首页,单击 ![power_normal](./figures/icon107-o.svg)。 -2. 单击 **使用电源**。 -3. 选择电源按钮 **关机**、**关闭显示器** 或 **无任何操作**,更改电源设置。 - -更改设置后会即时生效,同时系统通知用户已修改电源设置。 - -### 鼠标 - -鼠标是计算机的常用输入设备。使用鼠标,可以使操作更加简便快捷。 - -![0|mouse](./figures/53.png) - -#### 通用设置 - -1. 在控制中心首页,单击 ![mouse_touchpad_normal](./figures/icon94-o.svg)。 -2. 单击 **通用**。 -3. 开启 **左手模式**,调节鼠标和触控板的**滚动速度**,**双击速度**。 - -> ![notes](./figures/icon99-o.svg)说明:*开启左手模式后,鼠标的左右键功能互换。* - -#### 鼠标设置 - -插入或连接鼠标后,在控制中心进行相关设置,让其更符合您的使用习惯。 - -1. 在控制中心首页,单击 ![mouse_touchpad_normal](./figures/icon94-o.svg)。 -2. 单击 **鼠标**。 -3. 调节 **指针速度**, 控制鼠标移动时指针移动的速度。 -4. 单击 **自然滚动** / **鼠标加速** 开关,开启相应功能。 - -> ![notes](./figures/icon99-o.svg)说明: -> -> - *开启鼠标加速,提高了指针精确度,鼠标指针在屏幕上的移动距离会根据移动速度的加快而增加。可以根据使用情况开启或关闭。* -> - *自然滚动开启后,鼠标滚轮向下滚动,内容会向下滚动;鼠标滚轮向上滚动,内容会向上滚动。* - -### 键盘和语言 - -在此模块,您可以设置键盘属性,以便符合您的输入习惯,还可以根据国家和语言调整键盘布局,设置系统语言,以及自定义快捷键。 - -![0|keyboard](./figures/59.png) - -#### 键盘属性 - -1. 在控制中心首页,单击 ![keyboard_normal](./figures/icon86-o.svg)。 -2. 单击 **通用**。 -3. 调节 **重复延迟**/**重复速度**。 -4. 单击“请在此测试”,按下键盘上的任意字符不松开,查看调节效果。 -5. 单击 **启用数字键盘**/**大写锁定提示** 开关,开启相应功能。 - -#### 键盘布局 - -设置键盘布局,可以为当前语言自定义键盘。按下键盘上的按键时,键盘布局会控制哪些字符显示在屏幕上。更改键盘布局后,屏幕上的字符可能与键盘按键上的字符不相符。 - -一般在安装系统时,就已经设置了键盘布局,您也可以添加其他的键盘布局。 - -![layout](./figures/50.png) - -##### 添加键盘布局 - -1. 在控制中心首页,单击 ![keyboard_normal](./figures/icon86-o.svg)。 -2. 单击 **键盘布局**,进入键盘布局界面。 -3. 单击![add](./figures/icon50-o.svg),单击某一键盘布局即可添加到列表。 - -##### 删除键盘布局 - -1. 在控制中心首页,单击 ![keyboard_normal](./figures/icon86-o.svg)。 -2. 单击 **键盘布局**,进入键盘布局界面。 -3. 单击”键盘布局“后的 **编辑**。 -4. 单击 ![delete](./figures/icon71-o.svg),删除该键盘布局。 - -##### 切换键盘布局 - -1. 在控制中心首页,单击 ![keyboard_normal](./figures/icon86-o.svg)。 -2. 单击 **键盘布局**,进入键盘布局界面。 -3. 选择一个键盘布局进行切换。 -4. 切换成功后,该键盘布局将标记为已选择。 - -> ![tips](./figures/icon125-o.svg)窍门:*您也可以选择一组或多组快捷键,按顺序切换已添加的键盘布局。选择 **切换方式**, 让切换后的键盘布局应用于整个系统或当前应用。* - -#### 系统语言 - -系统语言默认为您安装系统时所选择的语言,可以随时更改。 - -##### 添加系统语言 - -您可以添加多个语言到系统语言列表,以便切换系统语言。 - -1. 在控制中心首页,单击 ![keyboard_normal](./figures/icon86-o.svg)。 -2. 单击 **系统语言**,进入系统语言界面。 -3. 单击 ![add](./figures/icon50-o.svg) 进入语言列表。 -4. 选择语言,该语言将自动添加到系统语言列表。 - -##### 切换系统语言 - -1. 在控制中心首页,单击 ![keyboard_normal](./figures/icon86-o.svg)。 -2. 单击 **系统语言**,进入系统语言界面。 -3. 选择要切换的语言,系统将自动开始安装语言包。 -4. 语言包安装完成后,需要注销后重新登录,以便设置生效。 - -> ![attention](./figures/icon52-o.svg)注意:*更改系统语言后,键盘布局可能也会发生改变。重新登录时,请确保使用正确的键盘布局来输入密码。* - -#### 快捷键 - -快捷键列表显示了系统所有的快捷键。您可以在这里查看、修改和自定义快捷键。 - -![0|shortcut](./figures/59.png) - -##### 查看快捷键 - -1. 在控制中心首页,单击 ![keyboard_normal](./figures/icon86-o.svg)。 -2. 单击 **快捷键**,进入快捷键设置界面。 -3. 搜索或查看默认的系统快捷键、窗口快捷键和工作区快捷键。 - -##### 修改快捷键 - -1. 在控制中心首页,单击 ![keyboard_normal](./figures/icon86-o.svg)。 -2. 单击 **快捷键**,进入快捷键设置界面。 -3. 单击需要修改的快捷键。 -4. 使用键盘输入新的快捷键。 - -> ![tips](./figures/icon125-o.svg)窍门:*若要禁用快捷键,请按下键盘上的 ![Backspace](./figures/icon54-o.svg)。若要取消修改快捷键,按下键盘上 **Esc** 键, 或单击下方的”恢复默认”按钮。* - -##### 自定义快捷键 - -您可以为常用的应用自定义一个快捷键。 - -1. 在控制中心首页,单击 ![keyboard_normal](./figures/icon86-o.svg)。 -2. 单击 **快捷键**。 -3. 单击![add](./figures/icon50-o.svg),进入添加快捷键界面。 -4. 输入快捷键名称、命令和快捷键。 -5. 单击 **添加**。 -6. 添加成功后,单击”自定义快捷键“后的 **编辑**。 -7. 单击某个快捷键后 ![delete](./figures/icon71-o.svg), 删除自定义的快捷键。 - -> ![tips](./figures/icon125-o.svg)窍门:*若要修改快捷键,单击输入新的快捷键即可。若要修改自定义快捷键的名称和命令,单击“自定义快捷键”后的 **编辑** ,单击快捷键名称后的 ![edit](./figures/icon75-o.svg),进入修改页面。* - -### 系统信息 - -您可以查看系统版本、版本授权和电脑硬件等信息,以及该系统的一些协议。 - -![0|info](./figures/48.png) - -#### 关于本机 - -1. 在控制中心首页,单击 ![system_info_normal](./figures/icon120-o.svg)。 -2. 在 **关于本机** 下,您可以查看当前系统版本、版本授权及电脑硬件信息; -3. 若系统未激活,可在此页面单击 **激活**,进行系统激活。 - -#### 版本协议 - -1. 在控制中心首页,单击 ![system_info_normal](./figures/icon120-o.svg)。 -2. 在 **版本协议** 下,查看系统版本协议。 - -#### 最终用户许可协议 - -1. 在控制中心首页,单击 ![system_info_normal](./figures/icon120-o.svg)。 -2. 在 **最终用户许可协议** 下,查看最终用户许可协议。 - -## 键盘交互 - -您可以使用键盘在各个界面区域内切换,并选择对象,执行操作。 - -| 按键 | 功能 | -| :----------------------------------------------------------- | :----------------------------------------------------------- | -| **Tab** | 在不同区域或对话框按钮之间切换。 | -| ![Up](./figures/icon127-o.svg) ![Down](./figures/icon73-o.svg) ![Left](./figures/icon88-o.svg) ![Right](./figures/icon111-o.svg) | 在同区域内对不同的对象进行选择。使用 ![Right](./figures/icon111-o.svg) 进入下级菜单,使用 ![Left](./figures/icon88-o.svg) 返回上级菜单。使用![Up](./figures/icon127-o.svg)![Down](./figures/icon73-o.svg) 键进行上下切换 。 | -| **Enter** | 执行选定对象。 | -| **Space** | 在文件管理器中,预览选定对象;在影院和音乐中,开始/暂停播放;在下拉列表中,展开下拉选项(也可使用回车键)。 | -| **Ctrl**+**M** | 打开右键菜单。 | diff --git a/docs/zh/tools/desktop/dde/figures/38.png b/docs/zh/tools/desktop/dde/figures/38.png deleted file mode 100644 index 838f5ff0616a83cdf42edb053f4e72b93bfa644e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/38.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/39.png b/docs/zh/tools/desktop/dde/figures/39.png deleted file mode 100644 index 12a379403d73a47b2fa564120a28fdb58d188963..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/39.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/40.png b/docs/zh/tools/desktop/dde/figures/40.png deleted file mode 100644 index bf419894eab852b45604966c62fafa71f051c4df..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/40.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/41.png b/docs/zh/tools/desktop/dde/figures/41.png deleted file mode 100644 index f94b0ee72e0d4e9277e9b44b4268cfbdb8402104..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/41.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/42.png b/docs/zh/tools/desktop/dde/figures/42.png deleted file mode 100644 index 3182e551c4e4b03885bad6339f1de514b3f55f8c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/42.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/43.jpg b/docs/zh/tools/desktop/dde/figures/43.jpg deleted file mode 100644 index 26e9244f58ea9800081fd61ae135477f05b21b40..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/43.jpg and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/44.png b/docs/zh/tools/desktop/dde/figures/44.png deleted file mode 100644 index c3abaecd6e053272d81e0ad9bd183c6858b4f3c5..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/44.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/45.png b/docs/zh/tools/desktop/dde/figures/45.png deleted file mode 100644 index 86b051acde857c88479714414f721a7f59cca483..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/45.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/46.png b/docs/zh/tools/desktop/dde/figures/46.png deleted file mode 100644 index d8ec41c87628bf28c9905523f99ae93aebd13614..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/46.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/47.jpg b/docs/zh/tools/desktop/dde/figures/47.jpg deleted file mode 100644 index bf95f03c8ea0f84a878bc63af20972c9da71bc04..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/47.jpg and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/48.png b/docs/zh/tools/desktop/dde/figures/48.png deleted file mode 100644 index ef21fa1ce1e2e9848a8dca16e692de673df7c6d7..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/48.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/50.png b/docs/zh/tools/desktop/dde/figures/50.png deleted file mode 100644 index b86a55fe4363f56fc18befc9d27025a75ca427ad..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/50.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/51.png b/docs/zh/tools/desktop/dde/figures/51.png deleted file mode 100644 index d427ac871dba9c32eb4ffe736d5352f8408da533..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/51.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/52.png b/docs/zh/tools/desktop/dde/figures/52.png deleted file mode 100644 index 0ca0a2db05c70bc25f9bb59e82d074f671cfc74e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/52.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/53.png b/docs/zh/tools/desktop/dde/figures/53.png deleted file mode 100644 index 76fbc34a1d5621b83c2d8c93222766acad33350d..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/53.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/54.png b/docs/zh/tools/desktop/dde/figures/54.png deleted file mode 100644 index 49ecae6f8941a118223f3765c23015df074c4983..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/54.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/56.png b/docs/zh/tools/desktop/dde/figures/56.png deleted file mode 100644 index 36fee795bfe593b6246c8d6c2bddea9386b06f45..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/56.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/57.png b/docs/zh/tools/desktop/dde/figures/57.png deleted file mode 100644 index 539d06b77b058a933cb154c43641d498050986e0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/57.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/58.png b/docs/zh/tools/desktop/dde/figures/58.png deleted file mode 100644 index 396ca16d873e54505bcdbd41d669366eea7f5dee..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/58.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/59.png b/docs/zh/tools/desktop/dde/figures/59.png deleted file mode 100644 index 9b1de98ac4fe686937ca844d3e9481548a79ce63..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/59.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/60.jpg b/docs/zh/tools/desktop/dde/figures/60.jpg deleted file mode 100644 index 033c88aaadd04f7d4058ec2eb5b2c70498319bf7..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/60.jpg and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/61.png b/docs/zh/tools/desktop/dde/figures/61.png deleted file mode 100644 index 8df17062963a3baf92318a12ec34b1378122687b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/61.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/62.png b/docs/zh/tools/desktop/dde/figures/62.png deleted file mode 100644 index ec312d6c0c22018c1745dd866da71ce9be47fbda..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/62.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/63.jpg b/docs/zh/tools/desktop/dde/figures/63.jpg deleted file mode 100644 index 504f7cf59768f6fd1cd73a115d01fbc4e15a02e1..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/63.jpg and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/63.png b/docs/zh/tools/desktop/dde/figures/63.png deleted file mode 100644 index 86b051acde857c88479714414f721a7f59cca483..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/63.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/64.png b/docs/zh/tools/desktop/dde/figures/64.png deleted file mode 100644 index cbbd2ede047e735c3766e08b04595f08cd72f5b2..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/64.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/dde-1.png b/docs/zh/tools/desktop/dde/figures/dde-1.png deleted file mode 100644 index fb1d5177c39262ed182f10a57fdae850d007eeb1..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/dde-1.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/dde-2.png b/docs/zh/tools/desktop/dde/figures/dde-2.png deleted file mode 100644 index be5d296937bd17b9646b32c80934aa76738027af..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/dde/figures/dde-2.png and /dev/null differ diff --git a/docs/zh/tools/desktop/dde/figures/icon101-o.svg b/docs/zh/tools/desktop/dde/figures/icon101-o.svg deleted file mode 100644 index af1c5d3dc0277a6ea59e71efb6ca97bdfc782e8e..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon101-o.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon103-o.svg b/docs/zh/tools/desktop/dde/figures/icon103-o.svg deleted file mode 100644 index c06c885725c569ab8db1fe7d595a7c65f18c5142..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon103-o.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon105-o.svg b/docs/zh/tools/desktop/dde/figures/icon105-o.svg deleted file mode 100644 index 36c49949fa569330b761c2d65518f36c10435508..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon105-o.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon107-o.svg b/docs/zh/tools/desktop/dde/figures/icon107-o.svg deleted file mode 100644 index fb5a3ea756f6ccb7b3e5c31122a433347a908c96..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon107-o.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon110-o.svg b/docs/zh/tools/desktop/dde/figures/icon110-o.svg deleted file mode 100644 index 7958e3f192061592e002e1e8a1bad06ffa86742c..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon110-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - reboot_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon111-o.svg b/docs/zh/tools/desktop/dde/figures/icon111-o.svg deleted file mode 100644 index 097d16a08d305a8b3f3b2268ab1ea8342e799377..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon111-o.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Right - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon112-o.svg b/docs/zh/tools/desktop/dde/figures/icon112-o.svg deleted file mode 100644 index e51628c2b8b10495f3410d219814286696ea2fd5..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon112-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon116-o.svg b/docs/zh/tools/desktop/dde/figures/icon116-o.svg deleted file mode 100644 index 4d79cd6dbbbfd3969f4e0ad0ad88e27398853505..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon116-o.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon120-o.svg b/docs/zh/tools/desktop/dde/figures/icon120-o.svg deleted file mode 100644 index e895c347d16a200aea46b00428b0b9f1a3c94246..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon120-o.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon122-o.svg b/docs/zh/tools/desktop/dde/figures/icon122-o.svg deleted file mode 100644 index 7fb014b5fd6097ca37a84d0b6a27dc982d675c8a..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon122-o.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon124-o.svg b/docs/zh/tools/desktop/dde/figures/icon124-o.svg deleted file mode 100644 index 960c0ec096c925213f8953398f0e8e5db3cdaed3..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon124-o.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon125-o.svg b/docs/zh/tools/desktop/dde/figures/icon125-o.svg deleted file mode 100644 index 011c05f4b8f296867cd408a339230323fcbb28dd..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon125-o.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - tips - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon126-o.svg b/docs/zh/tools/desktop/dde/figures/icon126-o.svg deleted file mode 100644 index e0a43b6b8beb434090ac0dd3a8fd68c023f11fce..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon126-o.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon127-o.svg b/docs/zh/tools/desktop/dde/figures/icon127-o.svg deleted file mode 100644 index bed95d35334a8d0151211054236c0bacddcc0dd3..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon127-o.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Up - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon128-o.svg b/docs/zh/tools/desktop/dde/figures/icon128-o.svg deleted file mode 100644 index aa727f3f5d5883b3fb83a79c4b98e8b5bfe4ade6..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon128-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - userswitch_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon132-o.svg b/docs/zh/tools/desktop/dde/figures/icon132-o.svg deleted file mode 100644 index 588ba9d98864ba67a562fa9179f29405f7687aa0..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon132-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Created with Sketch. - - - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon134-o.svg b/docs/zh/tools/desktop/dde/figures/icon134-o.svg deleted file mode 100644 index 784cf383eb0e8f5c7a57a602047be50ad0a3bc05..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon134-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - = - Created with Sketch. - - - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon136-o.svg b/docs/zh/tools/desktop/dde/figures/icon136-o.svg deleted file mode 100644 index 24aa139ab2fefaee20935551f1af5aef473719ed..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon136-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - poweroff_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon49-o.svg b/docs/zh/tools/desktop/dde/figures/icon49-o.svg deleted file mode 100644 index 72ffb173fdb95e1aff5b0001b08ed6b71122b7f2..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon49-o.svg +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon50-o.svg b/docs/zh/tools/desktop/dde/figures/icon50-o.svg deleted file mode 100644 index 05026802be4718205065d6369e14cc0b6ef05bc7..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon50-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon52-o.svg b/docs/zh/tools/desktop/dde/figures/icon52-o.svg deleted file mode 100644 index 23149c05873259cd39721b8ee9c3ab7db86d64c5..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon52-o.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - attention - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon53-o.svg b/docs/zh/tools/desktop/dde/figures/icon53-o.svg deleted file mode 100644 index 50e33489ce984b0acfd621da4a8ef837fdf048c1..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon53-o.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - previous - Created with Sketch. - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon54-o.svg b/docs/zh/tools/desktop/dde/figures/icon54-o.svg deleted file mode 100644 index 3b599aef4b822c707d2f646405bb00837aed96fd..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon54-o.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - Backspace - Created with Sketch. - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon56-o.svg b/docs/zh/tools/desktop/dde/figures/icon56-o.svg deleted file mode 100644 index 9f13b6861e3858deec8d57a5301c934acc247069..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon56-o.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - Slice 1 - Created with Sketch. - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon57-o.svg b/docs/zh/tools/desktop/dde/figures/icon57-o.svg deleted file mode 100644 index e6fbfa1381b76ab3fcd45652b33267a7f6c69bb7..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon57-o.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - titlebutton/close_normal - Created with Sketch. - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon58-o.svg b/docs/zh/tools/desktop/dde/figures/icon58-o.svg deleted file mode 100644 index 9746dcacfc8e5d4c4b63233801e37418a190fc8f..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon58-o.svg +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon62-o.svg b/docs/zh/tools/desktop/dde/figures/icon62-o.svg deleted file mode 100644 index 09f61b446669df2e05a3351d40d8c30879c7b035..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon62-o.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon63-o.svg b/docs/zh/tools/desktop/dde/figures/icon63-o.svg deleted file mode 100644 index 06c03ed99260ffadc681475dad35610aedf67f83..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon63-o.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon66-o.svg b/docs/zh/tools/desktop/dde/figures/icon66-o.svg deleted file mode 100644 index 5793b3846b7fe6a5758379591215b16c7f9e1b52..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon66-o.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon68-o.svg b/docs/zh/tools/desktop/dde/figures/icon68-o.svg deleted file mode 100644 index a7748052dfa436116d8742dca28f7d90865231ed..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon68-o.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - deepin-system-monitor - Created with Sketch. - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon69-o.svg b/docs/zh/tools/desktop/dde/figures/icon69-o.svg deleted file mode 100644 index e21dfd00a32a44ee1c8e3882b4ca8239be04690f..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon69-o.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon70-o.svg b/docs/zh/tools/desktop/dde/figures/icon70-o.svg deleted file mode 100644 index b5787a7ffa5ed9519a48c6937c60927fd11fd455..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon70-o.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon71-o.svg b/docs/zh/tools/desktop/dde/figures/icon71-o.svg deleted file mode 100644 index 669a21f143b06cb45ea3f45f7f071809f2cbc8a8..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon71-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon72-o.svg b/docs/zh/tools/desktop/dde/figures/icon72-o.svg deleted file mode 100644 index 79067ed9b9ff7912e1742183b461fa056601b9cc..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon72-o.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon73-o.svg b/docs/zh/tools/desktop/dde/figures/icon73-o.svg deleted file mode 100644 index cf6292387f5e790db6ebd66184aabcbb39257ee7..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon73-o.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Down - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon75-o.svg b/docs/zh/tools/desktop/dde/figures/icon75-o.svg deleted file mode 100644 index ef6823ccc19858f57374f0b78ad31514e8311be3..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon75-o.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon83-o.svg b/docs/zh/tools/desktop/dde/figures/icon83-o.svg deleted file mode 100644 index 35dd6eacc54a933dc9ebc3f3010edfa7363fecc0..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon83-o.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - image/svg+xml - - img_upload - - - - - - img_upload - Created with Sketch. - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon84-o.svg b/docs/zh/tools/desktop/dde/figures/icon84-o.svg deleted file mode 100644 index 9bd11b9e7b45b506dd7e1c87d09d545d8f48af06..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon84-o.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon86-o.svg b/docs/zh/tools/desktop/dde/figures/icon86-o.svg deleted file mode 100644 index 5da20233309c43d4fc7b315f441cde476c835c67..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon86-o.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon88-o.svg b/docs/zh/tools/desktop/dde/figures/icon88-o.svg deleted file mode 100644 index c2570c26575fd14cb5e9d9fe77831d2e8f6c9333..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon88-o.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Left - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon90-o.svg b/docs/zh/tools/desktop/dde/figures/icon90-o.svg deleted file mode 100644 index 79b5e0a141f7969a8f77ae61f4c240de7187afe9..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon90-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - lock_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon92-o.svg b/docs/zh/tools/desktop/dde/figures/icon92-o.svg deleted file mode 100644 index 21341b64a832e1935252aa82e7a4e0b083c16eae..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon92-o.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - logout_normal - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/dde/figures/icon94-o.svg b/docs/zh/tools/desktop/dde/figures/icon94-o.svg deleted file mode 100644 index a47044149a02101dbd24a3fdb2f3ead77efca6c1..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon94-o.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon97-o.svg b/docs/zh/tools/desktop/dde/figures/icon97-o.svg deleted file mode 100644 index 4f4670de29d8c86885b5aa806b2c8cdc6fc16dcb..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon97-o.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/zh/tools/desktop/dde/figures/icon99-o.svg b/docs/zh/tools/desktop/dde/figures/icon99-o.svg deleted file mode 100644 index e9a3aa60a51404c9390bfbea8d8ff09edc0e2e32..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/dde/figures/icon99-o.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - notes - - - - - - - - \ No newline at end of file diff --git a/docs/zh/tools/desktop/gnome/_toc.yaml b/docs/zh/tools/desktop/gnome/_toc.yaml deleted file mode 100644 index 52784eabd2ae5ec15280bca23d9a91772af02476..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/gnome/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: Gnome用户指南 -isManual: true -description: 安装并使用 Gnome 桌面环境 -sections: - - label: 安装 Gnome - href: ./gnome_installation.md - - label: 使用 Gnome - href: ./gnome_user_guide.md diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-1.png b/docs/zh/tools/desktop/gnome/figures/gnome-1.png deleted file mode 100644 index b33f802aa6dcf8b23a70fe451830015c614193b3..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-1.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-10.png b/docs/zh/tools/desktop/gnome/figures/gnome-10.png deleted file mode 100644 index 1c7b1465209c7a92db36d1b4c83445ce45e0d187..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-10.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-11.png b/docs/zh/tools/desktop/gnome/figures/gnome-11.png deleted file mode 100644 index cc534ce5e1b250547dd9eb1db2b3f43a79c00409..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-11.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-12.png b/docs/zh/tools/desktop/gnome/figures/gnome-12.png deleted file mode 100644 index 65de953b821cac6b09b9f0d6623760dc339d867b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-12.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-13.png b/docs/zh/tools/desktop/gnome/figures/gnome-13.png deleted file mode 100644 index 103370de2f2d81fe4e880f18bb9a3b4546d14840..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-13.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-14.png b/docs/zh/tools/desktop/gnome/figures/gnome-14.png deleted file mode 100644 index 13e1367d6ce006567e69fed8fd334aeb4810196c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-14.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-15.png b/docs/zh/tools/desktop/gnome/figures/gnome-15.png deleted file mode 100644 index fb86a36e2eb9c5ccfb3c53b0c49864e73c622ccf..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-15.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-16.png b/docs/zh/tools/desktop/gnome/figures/gnome-16.png deleted file mode 100644 index 9b375517e433740b7e2c27ede1159cda1eb986b8..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-16.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-17.png b/docs/zh/tools/desktop/gnome/figures/gnome-17.png deleted file mode 100644 index ebfcc9c71afeda1d50b5355f23ec1ea422a17889..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-17.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-18.png b/docs/zh/tools/desktop/gnome/figures/gnome-18.png deleted file mode 100644 index 5d28c8372499dd2b9b71186dee7d4854b5320999..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-18.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-19.png b/docs/zh/tools/desktop/gnome/figures/gnome-19.png deleted file mode 100644 index bea391d41386ab9b7953b269c44aec6cba4667c5..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-19.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-2.png b/docs/zh/tools/desktop/gnome/figures/gnome-2.png deleted file mode 100644 index 520df0228a38914ca7897dec6dc84e9639b757c0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-2.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-20.png b/docs/zh/tools/desktop/gnome/figures/gnome-20.png deleted file mode 100644 index d720a2c215de4172a8051d7e0554c7f6b3d6d043..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-20.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-21.png b/docs/zh/tools/desktop/gnome/figures/gnome-21.png deleted file mode 100644 index dec78c390a65a1e707a5c9620fa3392e38124430..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-21.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-22.png b/docs/zh/tools/desktop/gnome/figures/gnome-22.png deleted file mode 100644 index d8564596fd8ada47891a28b8fd97915722b28ff9..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-22.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-23.png b/docs/zh/tools/desktop/gnome/figures/gnome-23.png deleted file mode 100644 index 6fcb86d0b74acd102bc4e19bd483165fca0921bc..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-23.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-24.png b/docs/zh/tools/desktop/gnome/figures/gnome-24.png deleted file mode 100644 index 692929de10b612af7e15ddef689a611b7f4e8693..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-24.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-25.png b/docs/zh/tools/desktop/gnome/figures/gnome-25.png deleted file mode 100644 index 793a5a2d3ec63581902da5d4b8863f9ba33675b8..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-25.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-26.png b/docs/zh/tools/desktop/gnome/figures/gnome-26.png deleted file mode 100644 index 4d3f5418352e644f56a16099a9c77218045dabab..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-26.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-27.png b/docs/zh/tools/desktop/gnome/figures/gnome-27.png deleted file mode 100644 index 908998f4c4624e8b3317a311643123f690153325..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-27.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-28.png b/docs/zh/tools/desktop/gnome/figures/gnome-28.png deleted file mode 100644 index 8b47b2397fa8818dfecbc3c05341e31d4d70a940..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-28.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-29.png b/docs/zh/tools/desktop/gnome/figures/gnome-29.png deleted file mode 100644 index fc90cb58691e6484b6e263f4e81a1046e3adbed1..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-29.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-3.png b/docs/zh/tools/desktop/gnome/figures/gnome-3.png deleted file mode 100644 index 4d423b13941604a29ff794817ed6fb1d6fea9c1e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-3.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-30.png b/docs/zh/tools/desktop/gnome/figures/gnome-30.png deleted file mode 100644 index 8f4ab5dcd8ebd61b05a1b129b4c90e342f97e0fd..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-30.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-31.png b/docs/zh/tools/desktop/gnome/figures/gnome-31.png deleted file mode 100644 index 93159341a996153105985451fa6d8391c358b52e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-31.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-32.png b/docs/zh/tools/desktop/gnome/figures/gnome-32.png deleted file mode 100644 index c4ca5695e67a4a585f0ff074cd3645a32a9e4e83..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-32.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-33.png b/docs/zh/tools/desktop/gnome/figures/gnome-33.png deleted file mode 100644 index e0b166e013144ed7e5f26c2b7bd7e8a00ac6a57f..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-33.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-34.png b/docs/zh/tools/desktop/gnome/figures/gnome-34.png deleted file mode 100644 index dc8653255f8782ab72b8a24eeadff8fe64f88bb1..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-34.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-35.png b/docs/zh/tools/desktop/gnome/figures/gnome-35.png deleted file mode 100644 index 595c8d76ddc857ed9e76d421cf1e755874a6cc4a..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-35.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-36.png b/docs/zh/tools/desktop/gnome/figures/gnome-36.png deleted file mode 100644 index f5a22198f57d34fe05336d88c6e4b288ed78dc8e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-36.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-37.png b/docs/zh/tools/desktop/gnome/figures/gnome-37.png deleted file mode 100644 index 1a855eee24e959c3e8bfed371d2f74f93fceda3c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-37.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-38.png b/docs/zh/tools/desktop/gnome/figures/gnome-38.png deleted file mode 100644 index e80fcb9c25299130ca94bef2cdce9d5e7f9ba02c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-38.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-39.png b/docs/zh/tools/desktop/gnome/figures/gnome-39.png deleted file mode 100644 index 29843d242f260cd1b722fdcc13cef645a3679e7f..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-39.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-4.png b/docs/zh/tools/desktop/gnome/figures/gnome-4.png deleted file mode 100644 index 04391e2e926d5195b21d7e05dc5322a0d7646ad6..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-4.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-40.png b/docs/zh/tools/desktop/gnome/figures/gnome-40.png deleted file mode 100644 index 8497bdd58dffe2210fca22d01912f82b5c39fd9c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-40.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-41.png b/docs/zh/tools/desktop/gnome/figures/gnome-41.png deleted file mode 100644 index a4357eb95c379dfecc1d627c59eb5da660d42d14..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-41.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-42.png b/docs/zh/tools/desktop/gnome/figures/gnome-42.png deleted file mode 100644 index bc01808fe7c12d7d433dc1da9367e858027fcce9..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-42.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-43.png b/docs/zh/tools/desktop/gnome/figures/gnome-43.png deleted file mode 100644 index 467e52cf41a32df9c7207417817f906b518c54c3..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-43.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-44.png b/docs/zh/tools/desktop/gnome/figures/gnome-44.png deleted file mode 100644 index 71303b84fce85478ccba02b10f6c0358c5bdc2a0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-44.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-45.png b/docs/zh/tools/desktop/gnome/figures/gnome-45.png deleted file mode 100644 index a0927659af30d18715ab8b43266de3f54a3142a0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-45.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-46.png b/docs/zh/tools/desktop/gnome/figures/gnome-46.png deleted file mode 100644 index ad2093e67041d656c25a5674a6e4282c804ec6f2..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-46.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-47.png b/docs/zh/tools/desktop/gnome/figures/gnome-47.png deleted file mode 100644 index 9a67dd6b3b0081fa858b4beed0cc40708d5418e9..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-47.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-48.png b/docs/zh/tools/desktop/gnome/figures/gnome-48.png deleted file mode 100644 index 8789fcb96ee2143eae12131b07acf1cfbd82cf41..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-48.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-49.png b/docs/zh/tools/desktop/gnome/figures/gnome-49.png deleted file mode 100644 index e5df514480c825a5c65b607721d80cf59642b4a1..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-49.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-5.png b/docs/zh/tools/desktop/gnome/figures/gnome-5.png deleted file mode 100644 index b7148601f06fcee9517864aca19ba3cee863ba33..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-5.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-50.png b/docs/zh/tools/desktop/gnome/figures/gnome-50.png deleted file mode 100644 index 7b1f4678846cb691b144b26f24bc5570961a3d7d..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-50.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-51.png b/docs/zh/tools/desktop/gnome/figures/gnome-51.png deleted file mode 100644 index 10466de4bbd4c7b31654bb1369a9a85a20e88a27..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-51.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-52.png b/docs/zh/tools/desktop/gnome/figures/gnome-52.png deleted file mode 100644 index 16c8191ae59475d46cd7c275ad3841419544397d..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-52.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-53.png b/docs/zh/tools/desktop/gnome/figures/gnome-53.png deleted file mode 100644 index b968bbd5c5df6148ef26c8cf292e040220987554..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-53.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-54.png b/docs/zh/tools/desktop/gnome/figures/gnome-54.png deleted file mode 100644 index 6f169f432a1ad4290b3fca12b1a835330d922ab0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-54.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-55.png b/docs/zh/tools/desktop/gnome/figures/gnome-55.png deleted file mode 100644 index e40794fbf2e23e3496ac7f9352abe84ac943cb8c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-55.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-56.png b/docs/zh/tools/desktop/gnome/figures/gnome-56.png deleted file mode 100644 index d66360c2865ba03e7f2959612b2e33061dfad39f..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-56.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-57.png b/docs/zh/tools/desktop/gnome/figures/gnome-57.png deleted file mode 100644 index f2ffff79898f36e290bb133efc36c7439d089f57..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-57.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-58.png b/docs/zh/tools/desktop/gnome/figures/gnome-58.png deleted file mode 100644 index 2eb30604a6dc2a4194da688830f88d0e596c5be9..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-58.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-59.png b/docs/zh/tools/desktop/gnome/figures/gnome-59.png deleted file mode 100644 index 9b25d253604f353b0bd3ef0c153237d74459ccae..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-59.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-6.png b/docs/zh/tools/desktop/gnome/figures/gnome-6.png deleted file mode 100644 index 3c54d7f40cb5caab2c3cecb9945f9c89a1afe00e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-6.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-7.png b/docs/zh/tools/desktop/gnome/figures/gnome-7.png deleted file mode 100644 index fa4b0e178fb0332d334d98e0106746b7bff65449..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-7.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-8.png b/docs/zh/tools/desktop/gnome/figures/gnome-8.png deleted file mode 100644 index 5c39bb44371d94a66c66e053a7f498b46d3a0937..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-8.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/figures/gnome-9.png b/docs/zh/tools/desktop/gnome/figures/gnome-9.png deleted file mode 100644 index 00a9ad1a7c94054c9418795c39b29574bfe16bf0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/gnome/figures/gnome-9.png and /dev/null differ diff --git a/docs/zh/tools/desktop/gnome/gnome_installation.md b/docs/zh/tools/desktop/gnome/gnome_installation.md deleted file mode 100644 index 7c4121a4db7860af76f7db82d9201b76ad4015f9..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/gnome/gnome_installation.md +++ /dev/null @@ -1,123 +0,0 @@ -# 在 openEuler 上安装 Gnome - -GNOME是运行在类Unix操作系统中最常用桌面环境。是一个功能完善、操作简单、界面友好、集使用和开发为一身的桌面环境,是GNU计划的正式桌面。 - -从用户的角度看,GNOME是一个集成桌面环境和应用程序的套件。从开发者的角度看,它是一个应用程序开发框架(由数目众多的实用函数库组成)。即使用户不运行GNOME桌面环境,用GNOME编写的应用程序也可以正常运行。 - -GNOME既包含文件管理器,应用商店,文本编辑器等基础软件,也包含系统采样分析,系统日志,软件工程IDE,web浏览器,简洁虚拟机监视器,开发者文档浏览器等高级应用和工具。 - -安装时,建议新建一个管理员用户。 - -1. [下载](https://openeuler.org/zh/download/)openEuler ISO镜像并安装系统,更新软件源(需要配置Everything源,以及EPOL源,下面命令是在最小化安装系统的情况下安装GNOME)。 - - ```sh - sudo dnf update - ``` - -2. 安装字库。 - - ```sh - sudo dnf install dejavu-fonts liberation-fonts gnu-*-fonts google-*-fonts - ``` - -3. 安装Xorg。 - - ```sh - sudo dnf install xorg-* - ``` - - 这可能会安装很多没用的包,可以使用下面的命令安装必要的xorg相关包。 - - ```sh - sudo dnf install xorg-x11-apps xorg-x11-drivers xorg-x11-drv-ati \ - xorg-x11-drv-dummy xorg-x11-drv-evdev xorg-x11-drv-fbdev xorg-x11-drv-intel \ - xorg-x11-drv-libinput xorg-x11-drv-nouveau xorg-x11-drv-qxl \ - xorg-x11-drv-synaptics-legacy xorg-x11-drv-v4l xorg-x11-drv-vesa \ - xorg-x11-drv-vmware xorg-x11-drv-wacom xorg-x11-fonts xorg-x11-fonts-others \ - xorg-x11-font-utils xorg-x11-server xorg-x11-server-utils xorg-x11-server-Xephyr \ - xorg-x11-server-Xspice xorg-x11-util-macros xorg-x11-xauth \ - xorg-x11-xbitmaps xorg-x11-xinit xorg-x11-xkb-utils - ``` - -4. 安装GNOME及组件。 - - ```sh - sudo dnf install adwaita-icon-theme atk atkmm at-spi2-atk at-spi2-core baobab \ - abattis-cantarell-fonts cheese clutter clutter-gst3 clutter-gtk cogl dconf \ - dconf-editor devhelp eog epiphany evince evolution-data-server file-roller folks \ - gcab gcr gdk-pixbuf2 gdm gedit geocode-glib gfbgraph gjs glib2 glibmm24 \ - glib-networking gmime30 gnome-autoar gnome-backgrounds gnome-bluetooth \ - gnome-boxes gnome-calculator gnome-calendar gnome-characters \ - gnome-clocks gnome-color-manager gnome-contacts gnome-control-center \ - gnome-desktop3 gnome-disk-utility gnome-font-viewer gnome-getting-started-docs \ - gnome-initial-setup gnome-keyring gnome-logs gnome-menus gnome-music \ - gnome-online-accounts gnome-online-miners gnome-photos gnome-remote-desktop \ - gnome-screenshot gnome-session gnome-settings-daemon gnome-shell \ - gnome-shell-extensions gnome-software gnome-system-monitor gnome-terminal \ - gnome-tour gnome-user-docs gnome-user-share gnome-video-effects \ - gnome-weather gobject-introspection gom grilo grilo-plugins \ - gsettings-desktop-schemas gsound gspell gssdp gtk3 gtk4 gtk-doc gtkmm30 \ - gtksourceview4 gtk-vnc2 gupnp gupnp-av gupnp-dlna gvfs json-glib libchamplain \ - libdazzle libgdata libgee libgnomekbd libgsf libgtop2 libgweather libgxps libhandy \ - libmediaart libnma libnotify libpeas librsvg2 libsecret libsigc++20 libsoup \ - mm-common mutter nautilus orca pango pangomm libphodav python3-pyatspi \ - python3-gobject rest rygel simple-scan sushi sysprof tepl totem totem-pl-parser \ - tracker3 tracker3-miners vala vte291 yelp yelp-tools \ - yelp-xsl zenity - ``` - -5. 启动gdm显示管理器。 - - ```sh - sudo systemctl enable gdm - ``` - -6. 设置系统默认以图形界面登录。 - - ```sh - sudo systemctl set-default graphical.target - ``` - - 重启验证。 - - ```sh - sudo reboot - ``` - -7. 当gdm不能工作。 - - 如果默认安装了gdm,则停用gdm - - ```sh - sudo systemctl disable gdm - ``` - - 安装lightdm显示管理器替代 - - ```sh - sudo dnf install lightdm lightdm-gtk - ``` - - 设置默认桌面为GNOME,通过root权限用户设置 - - ```sh - echo 'user-session=gnome' >> /etc/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf - ``` - - 启动lightdm显示管理器 - - ```sh - sudo systemctl enable lightdm - ``` - - 设置系统默认以图形界面登录 - - ```sh - sudo systemctl set-default graphical.target - ``` - - 重启验证 - - ```sh - sudo reboot - ``` diff --git a/docs/zh/tools/desktop/gnome/gnome_user_guide.md b/docs/zh/tools/desktop/gnome/gnome_user_guide.md deleted file mode 100644 index af052362996ac6ce5fb53607506c4a4a70ed1a94..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/gnome/gnome_user_guide.md +++ /dev/null @@ -1,390 +0,0 @@ -# Gnome 用户指南 - -## 一 概述 - -Gnome是运行在类Unix操作系统中最常用桌面环境。其目标是基于自由软件,为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,是GNU计划的正式桌面。 - -Gnome提供了多个功能部件: - -ATK:可达性工具包。 - -Bonobo:复合文档技术。 - -GObject:用于C语言的面向对象框架。 - -GConf:保存应用软件设置。 - -GNOME VFS:虚拟文件系统。 - -GNOME Keyring:安全系统。 - -GNOME Print:GNOME软件打印文档。 - -GStreamer:GNOME软件的多媒体框架。 - -GTK+:构件工具包。 - -Cairo:复杂的2D图形库。 - -Human Interface Guidelines:Sun微系统公司提供的使得GNOME应用软件易于使用的研究和文档。 - -LibXML:为GNOME设计的XML库。 - -ORBit:使软件组件化的CORBAORB。 - -Pango:i18n文本排列和变换库。 - -Metacity:窗口管理器。 - -本文主要描述 Gnome 的使用。 - -界面如下图所示。 - -![图 1 桌面主界面-big](./figures/gnome-1.png) - -
- -## 二 桌面 - -### 2.1 桌面 - -Gnome桌面比较干净,不摆放任何文件或者目录。桌面仅有顶部左、中、右三部分有入口选项。它们分别是活动程序入口、消息通知入口、系统状态入口。 - -![图 2 桌面顶部图标-big](./figures/gnome-2.png) - -### 2.2 右键菜单 - -在桌面空白处单击鼠标右键,出现的菜单如下图所示,为用户提供了一些快捷功能。 - -![图 3 右键菜单](./figures/gnome-3.png) - -选项说明如表。 - -| 选项 | 说明| -| :------------ | :------------ | -| 更换壁纸 | 更换桌面显示图像 | -| 显示设置 | 屏幕分辨率、屏幕旋转及夜间模式设置 | -| 设置 | 系统设置 | - -
- -## 三 桌面顶部 - -### 3.1 活动程序 - -活动程序入口位于桌面左上角,其包括应用程序收藏夹、所有应用程序列表、活动程序列表、多视图切换、当前活动程序指示。 - -#### 3.1.1 应用程序收藏夹 - -![图 4 应用程序收藏夹-big](./figures/gnome-4.png) - -右键点击收藏夹内的应用程序图标,可以选择"从收藏夹中移除",从而把应用移出收藏夹。 - -#### 3.1.2 所有应用程序列表 - -点击应用程序收藏夹下面的九个小点"![](./figures/gnome-5.png)"——"显示应用程序",可打开所有应程序列表。 - -![图 5 所有应用程序列表1-big](./figures/gnome-6.png) - -右键点击列表内的应用程序图标,可以选择"添加到收藏夹",从而把应用加入收藏夹。 - -当应用程序很多并且知道其名字时,可以在搜索一栏输入应用名字进行搜索打开。 - -![图 6 所有应用程序列表2-big](./figures/gnome-7.png) - -#### 3.1.3 活动程序列表 - -当多个程序打开,即存在多个活动程序时,活动程序会在收藏夹内最后一个应用程序后逐个显示。打开的程序其下有个点表示已打开。 - -![图 7 活动程序列表-big](./figures/gnome-8.png) - -右键单击活动程序,可以弹出活动状态下此程序可以进行的一些操作,不同的程序可执行的操作不同。以"截图"程序为例,如图所示。 - -![图 8 活动程序右键菜单-big](./figures/gnome-9.png) - -#### 3.1.4 多视图切换 - -查看活动程序列表的同时,活动程序也以多视图方式显示在活动程序列表右侧。 - -![图 9 多视图切换1-big](./figures/gnome-10.png) - -鼠标移到多视图右侧,右侧竖条将会变宽,显示当前桌面处于顶层的活动程序窗口和桌面。点击桌面图像将会切换回桌面。 - -![图 10 多视图切换2-big](./figures/gnome-11.png) - -点击不属于当前活动程序的其他程序,则顶层切换到相应应用程序。 - -#### 3.1.5 当前活动程序指示 - -当前活动程序的指示会显示在活动程序入口右侧,并且点击可弹出活动状态下此程序可以进行的一些操作,不同的程序可执行的操作不同。以"终端"程序为例,如图所示。 - -![图 11 当前活动程序指示-big](./figures/gnome-12.png) - -点击"首选项"可对终端进行设置。 - -### 3.2 消息通知 - -消息通知入口位于桌面顶部中央,其包括消息通知、日历、时钟和天气。 - -![图 12 消息通知-big](./figures/gnome-13.png) - -#### 3.2.1 消息通知 - -当在"时钟"程序中设置闹钟和倒计时,定时到了后都会将消息通知到消息通知入口的左侧。在"日历"程序中设置的待办事项,详细信息也会显示到左侧消息通知,其概要信息将会显示到右侧日历下方。 - -![图 13 消息-big](./figures/gnome-14.png) - -点击"请勿打扰"可以关闭这些消息在外部(没有点击此入口之前)的弹窗通知。 - -#### 3.2.2 日历 - -如上图,右侧显示日历,对于有待办事项的日期,其下会有一个点。点击这些日期,可在日历下方看到待办事项概要信息。 - -#### 3.2.3 时钟和天气 - -可以把时钟和天气添加到右下角连同日历一并作信息显示。点击时钟位置将调用"时钟"程序并使用其"世界时钟"的功能,点击"天气"将调用"天气"程序。 - -![图 14 时钟和天气-big](./figures/gnome-15.png) - -### 3.3 系统状态 - -系统状态入口位于桌面右上角,其包括多个选项,部分说明如表。 - -| 选项 | 说明| -| :------------ | :------------ | -| 声音 | 音量调节 | -| 以太网 | 以太网卡及其连接状况 | -| 定位服务 | 系统所在设置 | -| 设置 | 系统设置 | -| 锁定 | 立即锁屏,再次打开需要密码 | -| 关机/注销 | 包括挂起、关机、重启、注销四种动作 | - -![图 15 系统状态-big](./figures/gnome-16.png) - -不同的设置和系统配置此处显示的系统状态也有所不同,例如wifi,蓝牙,电池。系统状态还可以由其他程序追加到右上角左侧,例如上图中输入源相关的显示。 - -#### 3.3.1 声音 - -快捷的音量调节设置。如要进一步设置声音需要打开系统设置。 - -#### 3.3.2 网络 - -快捷的网络禁用与否设置。如要进一步设置网络需要打开系统设置。 - -![图 16 网络状态-big](./figures/gnome-17.png) - -#### 3.3.3 定位服务 - -快捷的定位服务禁用与否设置。如要进一步设置定位需要打开系统设置。 - -![图 17 定位状态-big](./figures/gnome-18.png) - -#### 3.3.4 设置 - -便捷的系统设置入口之一。 - -![图 18 设置1-big](./figures/gnome-19.png) - -系统设置可以设置数量众多系统相关的选项,除了上图左侧已经展示的项,余下的项如下图左侧。 - -![图 19 设置2-big](./figures/gnome-20.png) - -设置项也是动态拓展的,例如当系统所在的硬件有wifi时,wifi的设置项将会出现在设置中。一些重要的设置项将在下文中举例。 - -#### 3.3.5 锁定 - -点击"锁定"将立即回到锁屏界面并黑屏,鼠标移动立马亮屏,点击任意按键进入登录界面,并需要用户密码输入以实现再次登录。以下是锁屏界面。 - -![图 20 锁屏界面-big](./figures/gnome-21.png) - -#### 3.3.6 关机/注销 - -包括挂起、关机、重启、注销四种动作。其中挂起和锁定的区别在于挂起后直接黑屏,需要使用键盘唤醒到登录界面,时间较锁屏久。注销是登出当前用户,退回到登录界面并且不黑屏,以选择另外的用户登录或者相同用户再次登录。 - -![图 21 关机_注销-big](./figures/gnome-22.png) - -以下是用户登录界面。 - -![图 22 登录界面-big](./figures/gnome-23.png) - -锁定和挂起唤醒后首先进入锁屏界面,再次的按钮或者按键才进入用户登录界面。注销和重启后直接进入登录界面。 - -
- -## 四 常用系统设置和应用举例 - -### 4.1 系统设置举例 - -系统设置有四个个入口,分别是: - -桌面右键->设置 - -右上角系统状态入口->设置 - -左上角活动程序入口->设置 - -在终端中->执行gnome-control-center - -#### 4.1.1 网络 - -![图 23 网络设置1-big](./figures/gnome-19.png) - -这里显示有线网络,点击按钮可以打开和关闭网络。还可以设置vpn和网络代理。 - -点击以太网的某个连接右侧的小齿轮,可查看此连接的详细信息,也可对此连接进行修改,包括移除此连接。 - -![图 24 网络设置2-big](./figures/gnome-24.png) - -修改此连接名字。 - -![图 25 网络设置3-big](./figures/gnome-25.png) - -修改ip地址获取方式(自动,手动),添加DNS,添加路由等。 - -![图 26 网络设置4-big](./figures/gnome-26.png) - -点击小齿轮上的"+"号,可以从头创建一个连接,新连接的设置项和上图类似,前提是这个以太网口要存在。 - -#### 4.1.2 显示器 - -固定分辨率设置可在"显示器"一项进行配置,如果这里不包含你的硬件系统的分辨率,那么需要在命令设置好分辨率,再打开此处设置,新加入的分辨率将会显示在这里。 - -![图 27 分辨率设置-big](./figures/gnome-27.png) - -选择分辨率后点击弹出的"保留更改"以使设置生效。 - -![图 28 分辨率设置确认-big](./figures/gnome-28.png) - -有些显示器允许旋转以便竖向观察屏幕,例如文本可以一次查看到更底部的内容。这里的"方向"也提供支持。 - -![图 29 屏幕方向-big](./figures/gnome-29.png) - -#### 4.1.3 键盘快捷键 - -设置键盘快捷键可以执行快捷的操作,例如快速打开主目录,摄像头或者浏览器等。gnome没有为打开终端设置快捷键,可以考虑设置打开终端的默认快捷键。 - -已有的快捷键设置可以滚动查看也可以进行搜索。 - -![图 30 键盘快捷键-big](./figures/gnome-30.png) - -单击已禁用的项,例如主目录和网页浏览器,可以触发快捷键设置。 - -![图 31 快捷键设置-big](./figures/gnome-31.png) - -![图 32 快捷键设置反馈-big](./figures/gnome-32.png) - -设置成功后的效果。 - -![图 33 快捷键设置结果-big](./figures/gnome-33.png) - -拖动"键盘快捷键"设置到底部,点击"+"新加一个打开终端的快捷键。 - -![图 34 快捷键添加设置1-big](./figures/gnome-34.png) - -![图 35 快捷键添加设置2-big](./figures/gnome-35.png) - -![图 36 快捷键添加设置3-big](./figures/gnome-36.png) - -![图 37 快捷键添加设置结果-big](./figures/gnome-37.png) - -按住“ctrl+alt+t”可打开终端。主目录和网页浏览器与此相似。 - -![图 38 快捷键测试-big](./figures/gnome-38.png) - -#### 4.1.4 区域和语言 - -系统语言可以在多种语言间切换,即使安装系统时没有选择这种语言。 - -![图 39 区域和语言-big](./figures/gnome-39.png) - -点击语言和格式选择,可以把语言从中文换为英文,并反馈重启按钮,需要重新登录重启会话设置才能生效。 - -![图 40 语言设置-big](./figures/gnome-40.png) - -![图 41 格式设置-big](./figures/gnome-41.png) - -![图 42 语言和格式设置结果-big](./figures/gnome-42.png) - -点击"输入源"右侧的小齿轮可以查看到输入法的快捷键以及输入源选项设置。点击其下方的"+"可以添加输入源。 - -![图 43 输入设置-big](./figures/gnome-43.png) - -当使用快捷键切换输入法时,可以在右上角系统状态处查看到变化。 - -![图 44 输入切换结果查看-big](./figures/gnome-44.png) - -#### 4.1.5 用户 - -可以在图形界面添加和删除用户。使用非root用户登录时,此项功能需要点击"解锁",输入超级权限用户的密码才能显示完整。 - -![图 45 用户-big](./figures/gnome-45.png) - -点击密码可以修改当前用户的密码。 - -![图 46 修改用户密码-big](./figures/gnome-46.png) - -点击帐号活动可以看到本周的此用户的登录状况。 - -![图 47 用户活动记录-big](./figures/gnome-47.png) - -点击右上角添加用户可以添加一个新用户并在添加用户时设置密码或者在登录时设置密码。登录新用户需要先登出当前用户再选择新用户登录。新加的用户可以在"移除用户"移除,当然,不能移除当前登录的用户。 - -![图 48 添加新用户-big](./figures/gnome-48.png) - -### 4.2 应用举例 - -#### 4.2.1 文件 - -"文件"应用的二进制文件名为nautilus。可在"文件"所图形化显示的文件系统内创建、修改、移动、保存和删除文件等操作。 - -![图 49 文件系统主目录-big](./figures/gnome-49.png) - -#### 4.2.2 终端 - -运行的"终端"是gnome登录会话下的特殊进程,它相当于一个控制台,本质是一个新的会话。它几乎能完成控制台能完成的所有任务,这是没有图形界面的linux原本的样子。 - -![图 50 终端及其设置项-big](./figures/gnome-50.png) - -在其"配置文件首选项"中能对字体、字符间隔、主题背景等选项进行设置。 - -#### 4.2.3 软件 - -"软件"内能搜索安装许多开源免费的应用,也能查看和卸载当前已经安装的程序。 - -![图 51 软件-big](./figures/gnome-51.png) - -![图 52 已安装-big](./figures/gnome-52.png) - -#### 4.2.4 浏览器 - -gnome自带了名为"Web"的浏览器,其界面和功能较google或者firefox浏览器要简单,但是常见的书签、搜索引擎设置、历史记录、文件下载等均支持。 - -![图 53 浏览器-big](./figures/gnome-53.png) - -#### 4.2.5 系统监视器 - -相当于windows下的任务管理器,可以看到进程名字、用户、cpu和内存等资源的使用状况。这个是动态的,不过其变化效果远逊于top命令。 - -![图 54 进程-big](./figures/gnome-54.png) - -还可以看到cpu,内存,网络等重要部件的利用率走势。 - -![图 55 资源-big](./figures/gnome-55.png) - -#### 4.2.6 文本编辑器 - -创建、修改、保存文件等操作需要文本编辑器。在其菜单栏的"首选项"中可进行字体、制表符宽度、主题、插件等选项进行设置。 - -![图 56 文本编辑器-big](./figures/gnome-56.png) - -#### 4.2.7 Sysprof - -这是对系统包括软硬件的采样和呈现,这可以用来定位系统的性能问题,例如应用启动卡顿,系统响应延迟等。点击选择要跟踪的项目并点击"Record",便开始采样。 - -![图 57 采样对象选择-big](./figures/gnome-57.png) - -![图 58 开始记录-big](./figures/gnome-58.png) - -停止采样后,采样结果提供了非常丰富的信息,可用于诊断和分析。 - -![图 59 采样结果-big](./figures/gnome-59.png) diff --git a/docs/zh/tools/desktop/kiran/_toc.yaml b/docs/zh/tools/desktop/kiran/_toc.yaml deleted file mode 100644 index 2409e198619b27f36fcc3e26e5d712a8c3b0c69d..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/kiran/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: Kiran用户指南 -isManual: true -description: 安装并使用 Kiran 桌面环境 -sections: - - label: 安装 Kiran - href: ./kiran_installation.md - - label: 使用 Kiran - href: ./kiran_user_guide.md diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-1.png b/docs/zh/tools/desktop/kiran/figures/kiran-1.png deleted file mode 100644 index 59b632062ba3ff6e26c550567e858eb4dfdfc780..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-1.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-10.png b/docs/zh/tools/desktop/kiran/figures/kiran-10.png deleted file mode 100644 index 18cfa3074af1f4b8d49d064a77b016f24ab8c17c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-10.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-11.png b/docs/zh/tools/desktop/kiran/figures/kiran-11.png deleted file mode 100644 index b58fbb7ce8a798d5355855a4ac0638540df74d9e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-11.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-12.png b/docs/zh/tools/desktop/kiran/figures/kiran-12.png deleted file mode 100644 index 920d0c7112be6bed509773413de36506d748b822..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-12.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-13.png b/docs/zh/tools/desktop/kiran/figures/kiran-13.png deleted file mode 100644 index f6632732bd2e8a10d0cda2bd0550f43741a7ba97..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-13.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-14.png b/docs/zh/tools/desktop/kiran/figures/kiran-14.png deleted file mode 100644 index 52eae7cc40fe4f7c6b2a8fe9744209a1fcbc30d8..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-14.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-15.png b/docs/zh/tools/desktop/kiran/figures/kiran-15.png deleted file mode 100644 index 5496c56ca72983780b9785d2d15c4008fb73aeef..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-15.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-16.png b/docs/zh/tools/desktop/kiran/figures/kiran-16.png deleted file mode 100644 index 6125b257245aa89f9b6592ed5b14a95d5699076e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-16.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-17.png b/docs/zh/tools/desktop/kiran/figures/kiran-17.png deleted file mode 100644 index d8a4cb88017efe9f41f78ffc2f9de06dedcc1b23..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-17.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-18.png b/docs/zh/tools/desktop/kiran/figures/kiran-18.png deleted file mode 100644 index 0cb0c50d15597998fbd4cf3db2d1d0f9ec3c920e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-18.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-19.png b/docs/zh/tools/desktop/kiran/figures/kiran-19.png deleted file mode 100644 index 58ef2d33a52cf6404ea03b6a2d37f8d8b8391539..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-19.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-2.png b/docs/zh/tools/desktop/kiran/figures/kiran-2.png deleted file mode 100644 index 088bf53c1e763924e7cee46d0cdac98ad0a9d5e2..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-2.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-20.png b/docs/zh/tools/desktop/kiran/figures/kiran-20.png deleted file mode 100644 index e8608485553033eb2ae141162e4300fa48c578cd..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-20.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-21.png b/docs/zh/tools/desktop/kiran/figures/kiran-21.png deleted file mode 100644 index 4d4c0ff304bdfbc8e715d2e756315a005c008336..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-21.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-22.png b/docs/zh/tools/desktop/kiran/figures/kiran-22.png deleted file mode 100644 index 6778d5a40a82e699da9531f4727a196d1442b9ae..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-22.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-23.png b/docs/zh/tools/desktop/kiran/figures/kiran-23.png deleted file mode 100644 index fc1d5e284eb299a771c5abbfdff611270ddf2449..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-23.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-24.png b/docs/zh/tools/desktop/kiran/figures/kiran-24.png deleted file mode 100644 index a3ed57f9e9c300a65f867d29a44f287405a0509c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-24.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-25.png b/docs/zh/tools/desktop/kiran/figures/kiran-25.png deleted file mode 100644 index 694e6173dfbf1fda8d07670a8e3daf4fbeb263ac..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-25.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-26.png b/docs/zh/tools/desktop/kiran/figures/kiran-26.png deleted file mode 100644 index 3b6ae2eeff3aae39107f15b60c5bb14ffc787cd8..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-26.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-27.png b/docs/zh/tools/desktop/kiran/figures/kiran-27.png deleted file mode 100644 index 3b6ae2eeff3aae39107f15b60c5bb14ffc787cd8..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-27.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-28.png b/docs/zh/tools/desktop/kiran/figures/kiran-28.png deleted file mode 100644 index 01ff3a8f47248d96c714e78b80fd81cd1ed16e0f..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-28.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-29.png b/docs/zh/tools/desktop/kiran/figures/kiran-29.png deleted file mode 100644 index c5ad5b4438eae441f6086ce5e1aae2e6755aa12a..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-29.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-3.png b/docs/zh/tools/desktop/kiran/figures/kiran-3.png deleted file mode 100644 index e1399424c52eee8804f9433c9e9bf203950008c6..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-3.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-30.png b/docs/zh/tools/desktop/kiran/figures/kiran-30.png deleted file mode 100644 index c1efc1e3931a129affd5dfcea9e319556e492f04..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-30.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-31.png b/docs/zh/tools/desktop/kiran/figures/kiran-31.png deleted file mode 100644 index c5ad5b4438eae441f6086ce5e1aae2e6755aa12a..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-31.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-32.png b/docs/zh/tools/desktop/kiran/figures/kiran-32.png deleted file mode 100644 index fd900ec891b09313a7c558c61213b1816b803034..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-32.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-33.png b/docs/zh/tools/desktop/kiran/figures/kiran-33.png deleted file mode 100644 index 64ba70b08ed63c6e0942478d61e36a8c443f0604..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-33.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-34.png b/docs/zh/tools/desktop/kiran/figures/kiran-34.png deleted file mode 100644 index 4b869e7d172e2f2889d487157b92204a28a8dc4e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-34.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-35.png b/docs/zh/tools/desktop/kiran/figures/kiran-35.png deleted file mode 100644 index 9b383f3c84964b4fc34c4d8e75400325f93908bc..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-35.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-36.png b/docs/zh/tools/desktop/kiran/figures/kiran-36.png deleted file mode 100644 index 0b16632852c5024e2c6ec4fbd49513e3b7a2b146..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-36.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-37.png b/docs/zh/tools/desktop/kiran/figures/kiran-37.png deleted file mode 100644 index 2be3cc3b2528260c579b59f529e7a5663f1cc779..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-37.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-38.png b/docs/zh/tools/desktop/kiran/figures/kiran-38.png deleted file mode 100644 index fc1ffaf3aa920f922357f6d48700f42974600d77..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-38.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-39.png b/docs/zh/tools/desktop/kiran/figures/kiran-39.png deleted file mode 100644 index fd0e5add782b6c9cf4a8b9f6473c96641c39bd1d..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-39.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-4.png b/docs/zh/tools/desktop/kiran/figures/kiran-4.png deleted file mode 100644 index bd318280b403912ab4846b694592d580b9e5d242..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-4.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-40.png b/docs/zh/tools/desktop/kiran/figures/kiran-40.png deleted file mode 100644 index 083031058ff47dc1550881d3a9f189861d3e8563..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-40.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-41.png b/docs/zh/tools/desktop/kiran/figures/kiran-41.png deleted file mode 100644 index 582893929e2c10a96c49696411bbed3ea9fd7c55..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-41.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-42.png b/docs/zh/tools/desktop/kiran/figures/kiran-42.png deleted file mode 100644 index eede1243506ccd309ee707465f56c31581dd8554..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-42.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-43.0.png b/docs/zh/tools/desktop/kiran/figures/kiran-43.0.png deleted file mode 100644 index caacc027322d4b7480e6508d4a1b4a13eefcf788..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-43.0.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-43.png b/docs/zh/tools/desktop/kiran/figures/kiran-43.png deleted file mode 100644 index 4ea9f45ed8f327fce426352c4ae7fbf06cbefc84..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-43.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-44.png b/docs/zh/tools/desktop/kiran/figures/kiran-44.png deleted file mode 100644 index c86a100005f89dbb9b24055e42d716205d47399e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-44.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-45.png b/docs/zh/tools/desktop/kiran/figures/kiran-45.png deleted file mode 100644 index c5b5d75f972e594587f3393c8d384dcd76e7477e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-45.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-46.png b/docs/zh/tools/desktop/kiran/figures/kiran-46.png deleted file mode 100644 index e9a28632c62de95d8ea2d436ba9bc705ff980991..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-46.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-47.png b/docs/zh/tools/desktop/kiran/figures/kiran-47.png deleted file mode 100644 index a3606e3c899f944eb84d206d98cedc3377197c97..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-47.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-48.png b/docs/zh/tools/desktop/kiran/figures/kiran-48.png deleted file mode 100644 index b69202c9a83bfc2c835ab166ef0fc2455bb4bcd3..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-48.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-49.png b/docs/zh/tools/desktop/kiran/figures/kiran-49.png deleted file mode 100644 index d739e6107fd80ecd741dacaaf9dfb868afc61e37..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-49.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-5.png b/docs/zh/tools/desktop/kiran/figures/kiran-5.png deleted file mode 100644 index 154dd54d43b5b98682eb798518046e72fc7e3f83..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-5.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-50.png b/docs/zh/tools/desktop/kiran/figures/kiran-50.png deleted file mode 100644 index 96957676afc9f66bcc4b63c5e39eb8890f108015..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-50.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-6.png b/docs/zh/tools/desktop/kiran/figures/kiran-6.png deleted file mode 100644 index 927b475d6687d60f04fed8a535b2225a8f4b23f7..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-6.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-7.png b/docs/zh/tools/desktop/kiran/figures/kiran-7.png deleted file mode 100644 index 254ef11f36d958f6ef7c70853e5f61032f825463..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-7.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-8.png b/docs/zh/tools/desktop/kiran/figures/kiran-8.png deleted file mode 100644 index 29b5845d2fa94cba92719b8649a5e86c926ea911..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-8.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/figures/kiran-9.png b/docs/zh/tools/desktop/kiran/figures/kiran-9.png deleted file mode 100644 index 46bcfdd0e1e88ad0f0ade4a3990c3ac5d66060e7..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/kiran/figures/kiran-9.png and /dev/null differ diff --git a/docs/zh/tools/desktop/kiran/kiran_installation.md b/docs/zh/tools/desktop/kiran/kiran_installation.md deleted file mode 100644 index 144af15c3d478ea44bc238110d477eb4081a2c15..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/kiran/kiran_installation.md +++ /dev/null @@ -1,31 +0,0 @@ -# 在 openEuler 上安装 Kiran - -## 简介 - -kiran 桌面是湖南麒麟信安团队以用户和市场需求为导向,研发的一个安全、稳定、高效、易用的桌面环境。Kiran 可以支持 x86 和 aarch64 架构。 - -## 安装方法 - -安装时建议使用 root 用户或者新建一个管理员用户。 - -1.下载 openEuler 23.09 镜像并安装系统。 - -2.更新软件源: - -```sh -sudo dnf update -``` - -3.安装 kiran-desktop: - -```sh -sudo dnf -y install kiran-desktop -``` - -4.设置以图形界面的方式启动,并重启(`reboot`)。 - -```sh -systemctl set-default graphical.target -``` - -重启系统即可通过 Kiran 桌面登录,您就可以尽情使用 Kiran 桌面了。 diff --git a/docs/zh/tools/desktop/kiran/kiran_user_guide.md b/docs/zh/tools/desktop/kiran/kiran_user_guide.md deleted file mode 100644 index f3e3f499f9a3011788aaa4beaf135c8d70f9b7f8..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/kiran/kiran_user_guide.md +++ /dev/null @@ -1,329 +0,0 @@ -# Kiran桌面环境用户手册 - -## 1.概述 - -Kiran桌面是一款以用户和市场需求为主导的稳定、高效、易用的桌面环境,主要包括了桌面、任务栏、托盘、控制中心和窗口管理等组件。本文介绍了Kiran桌面的使用。 - -## 2.桌面 - -### 2.1.登录界面 - -安装完成后重启系统,系统启动后需要输入登录的用户名和密码才能进入系统,登录界面会显示时间日期,电源按钮,软键盘按钮。界面支持自适应调整,支持屏幕放缩,支持多屏显示,登录框可以跟随鼠标进行屏幕切换。 - -![图1-登录界面](figures/kiran-1.png) - -### 2.2.主界面 - -输入正确的用户名和密码后即可登录系统进入主界面,如下图所示: - -![图2-主界面](figures/kiran-2.png) - -桌面上放置有几个图标,如计算机、主文件夹、回收站等,位于屏幕底部的一个长条称为面板,从这里可以启动应用程序或在模拟桌面上切换。 -桌面是用户的工作区域,用户操作和程序运行都是在桌面上。桌面上还有用户希望能方便访问的文件和应用程序图标,用鼠标双击可以运行相应程序或打开文件。可以拖动、添加或删除桌面图标。使用桌面图标可以更加便捷地完成工作。 - -![图3-计算机](figures/kiran-3.png)计算机:双击可以显示从本计算机访问的所有本地和远程磁盘和文件夹。 - -![图4-主文件夹](figures/kiran-4.png)主文件夹:双击可以显示/root(家目录)下的内容。 - -![图5-回收站](figures/kiran-5.png)回收站:暂时存放已删除文件的地方。 - -桌面右键:提供了创建文件夹、创建启动器、创建文档、更改桌面背景、图标保持对齐等快捷方式。 - -创建文件夹:可以创建新的文件夹。 - -创建启动器:可以创建一个新的启动器。 - -创建文档:可以创建空的纯文本文档。 - -按名称组织桌面:按名称来进行排序桌面文件。 - -保持对齐:勾选了保持对齐,桌面图标会按照网格对齐排列。 - -打开终端:直接打开终端应用。 - -更改桌面背景:打开“背景”,以改变桌面或锁屏的背景图片。 - -### 2.3.面板 - -面板通常位于屏幕的底部,上面包括了开始菜单按钮、快速启动区域、经常使用的应用程序与桌面小程序图标和显示当前运行应用程序的任务条。 -将鼠标停在某个图标上呆几秒钟,会看到一个白色的弹出提示框,内容是对这个图标作用的描述。 - -![图6-系统面板](figures/kiran-6.png) - -## 3.任务栏 - -任务栏:显示正在运行的程序或打开的文档,点击任务条上某一项可以最大化或最小化被选中的程序。可以通过在对应项上点击鼠标右键对其运行窗口进行最大化、最小化或关闭等操作。 - -| 组件 | 说明 | -| :------------ | :------------ | -|![图7-开始菜单](figures/kiran-7.png)|开始菜单按钮:相当于Windows中的开始按钮,单击会弹出系统级联的开始菜单| -|![图8-工作区按钮](figures/kiran-8.png)|单机此按钮启动工作区| -|![图9-文件浏览器按钮](figures/kiran-9.png)|单击此按钮启动文件浏览器,可浏览管理文件| -|![图10-终端命令按钮](figures/kiran-10.png)|单击将启动终端| -|![图11-Web浏览器按钮](figures/kiran-11.png)|单击此按钮启动firefox浏览器| -|![图12-网络控制图标](figures/kiran-12.png)|显示当前网络状态,单击可修改系统的网络配置| -|![图13-时钟按钮](figures/kiran-13.png)|显示当前日期和时间,可以根据需要定制显示的样式| - -## 4.控制中心 - -### 4.1.开始菜单设置 - -选择“开始菜单”>“控制中心”>“开始菜单设置”。 -开始菜单可设置开始菜单样式,根据个人喜好设置开始菜单的显示模式与不透明度,如图所示: - -![图14-开始菜单设置](figures/kiran-14.png) - -开始菜单根据设置的透明度、显示模式而更改,如下图: - -![图15-开始菜单界面](figures/kiran-15.png) - -### 4.2.登录设置 - -选择“开始菜单”>“控制中心”>“登录设置”打开。 -在kiran桌面,用户可以通过选择控制中心中的登录设置对登录界面环境效果进行设置,其中包括登录界面背景图、是否自动登录、缩放比例、是否允许手动输入用户名登录、是否显示用户列表等,如图所示: - -![图16-登录设置](figures/kiran-16.png) - -还可以设置自动登录,设置自动登录的用户和延时,重启系统后会自动登录该用户,无需输入密码。 - -![图17-设置自动登录](figures/kiran-17.png) - -### 4.3.显示设置 - -定制显示属性是每个桌面系统所必备的,kiran桌面提供了强大的显示属性定制工具。您可以通过选择“开始菜单”>“控制中心”>“显示设置”进入显示设置界面,如下图所示: - -![图18-显示设置](figures/kiran-18.png) - -这里可以设置屏幕旋转、分辨率、刷新率、缩放率和旋转,设置完成后点击“应用”即可。 - -### 4.4.鼠标设置 - -用户可以通过选择控制中心中的“鼠标设置”对鼠标进行配置,可以修改鼠标手持模式为左手和右手模式,调整鼠标移动速度,可以设置是否自动滚动,是否同时按下左右键模拟中键功能。鼠标设置常见界面如图所示: - -![图19-鼠标设置](figures/kiran-19.png) - -### 4.5.账户管理工具 - -账户管理工具工具是对用户和组进行管理的一个简单易用工具,您可以通过这个工具对用户和组群进行配置和管理,主要包括: - -1)增加用户,设置用户属性; -2)修改用户属性; -3)显示用户属性; -4)删除用户; - -用户属性包括:账号、口令(密码)、登录 shell,用户组属性指在该组包含哪些用户。 - -#### 4.5.1.启动账户管理工具 - -在控制中心中选择启动“账户管理工具”选项即可启动账户管理工具,如图所示: - -![图20-账户管理工具](figures/kiran-20.png) - -在这个界面中您可以看到有左侧菜用户栏和右侧详细信息栏两个部分。目前在列出的是系统中的所有用户(除root用户除外)。点击左侧某个用户,详细信息栏将显示用户的基本信息(用户ID、用户类型等)。 - -点击“创建用户”,在右侧出现页面,如下图所示,按照要求填写您要添加的用户名、用户类型、设置密码、头像。填写完毕后,单击“创建”即完成添加。 - -![图21-创建账户](figures/kiran-21.png) - -【注】:如果您已经设置了密码允许的最小位数(例如四位),则您在此处输入的密码位数要不小于 4 位,否则系统将不会接受该密码。 - -单击头像区域打开头像修改功能,系统预设了各种类型的头像供用户选择,用户也可以自己添加头像,点击“确认”后记得保存: - -![图22-修改头像](figures/kiran-22.png) - -#### 4.5.2.删除用户 - -首先在左侧信息栏里的欲删除的用户上单击,选中该用户,然后在右侧工具栏上点击“删除”按钮,如下图所示: - -![图23-删除用户](figures/kiran-23.png) - -![图24-删除确认提示](figures/kiran-24.png) - -在弹出上图所示的对话框中单击“否”撤消删除,单击“是”确认删除。 - -#### 4.5.3.高级设置 - -选择“创建新用户”>“输入账号密码”>“高级设置”,打开一个对话框,如下图所示,可以设置用户的登录shell、指定用户ID和指定用户目录。 - -![图25-高级设置](figures/kiran-25.png) - -### 4.6.外观 - -定制显示属性是每个桌面系统所必备的,Kiran桌面为您提供了强大的显示属性定制工具。外观是一个对系统的桌面背景,主题,字体三个方面提供统一配置和管理的工具。 -选择“开始菜单”>“控制中心”>“外观”,显示的界面如下图所示: - -![图26-外观设置](figures/kiran-26.png) - -#### 4.6.1.主题 - -主题可以对系统的对话框风格,菜单风格,系统面板风格,图标风格进行统一设置或者也可以根据用户的喜好定制。 - -1)主题设置 -系统中默认已提供了多套主题,可以在主题浏览对话框中浏览主题的相关信息。点击主题浏览对话框中的主题,即可设置系统主题,如图所示: -![图27-主题设置](figures/kiran-27.png) - -2)自定义主题 -用户可以通过点击“自定义”按钮,来根据用户的喜好定制系统主题,如下图所示:自定义主题包括: -a.控制; -b.色彩; -c.窗口边框; -d.图标; -e.指针; - -![图28-自定义主题](figures/kiran-28.png) - -#### 4.6.2.背景 - -用户可以对桌面背景进行设置,可以修改颜色、样式。 - -1)背景图片设置 -如下图所示,点击壁纸文件浏览对话框中的壁纸,即可将桌面设置为此壁纸。 - -![图29-背景设置](figures/kiran-29.png) - -2)样式 -用户可以根据自己的喜好通过样式下拉式选择框来调整壁纸填充桌面背景时的方式。填充方式有以下五种方式: - -a.平铺; -b.缩放; -c.居中; -d.比例放大; -e.伸展; -f.适合宽度。 - -3)壁纸的添加与删除 -用户可以通过“添加”按钮添加自己喜欢的壁纸,如下图所示: - -![图30-添加壁纸](figures/kiran-30.png) - -点击“打开”即可添加壁纸。 -同时可以点击“删除”按钮来删除用户不喜欢的壁纸。具体步骤:选择壁纸,点击“删除”。 - -4)桌面背景色彩填充设置 -用户如果不喜欢用壁纸来设置桌面背景,也可以用色彩来设置背景,在壁纸选择对话框中选择无壁纸选项,即可使用色彩来填充桌面背景。 -填充色彩的方式有三种: - -a.纯色; -b.水平梯度; -c.垂直梯度。 - -![图31-背景图片色彩填充](figures/kiran-31.png) - -#### 4.6.3.字体 - -1)字体设置 -用户可以通过字体设置来设置系统图形界面的各种类型的字体,字体类型包括以下五种类型: - -a.应用程序字体; -b.文档字体; -c.桌面字体; -d.窗口标题字体; -e.等宽字体。 - -![图32-字体设置](figures/kiran-32.png) - -2)字体效果设置与详情设置 -字体渲染效果设置 -用户可以通过字体渲染效果设置来设置系统图形界面的以下四种类型的字体效果: - -a.单色; -b.最佳形状; -c.最佳对比; -d.次像素平滑; -系统默认使用的最佳形状的字体渲染效果,如下图所示: - -![图33-字体渲染设置](figures/kiran-33.png) - -3)字体细节设置 -字体效果的一些详情设置可以通过“细节”按钮进行设置。详情设置包括: - -a.字体分辨率; -b.字体平滑度; -c.字体微调; -d.字体次像素排序。 - -![图34-字体细节设置](figures/kiran-34.png) - -4)用户可以设置界面,选择是否在菜单显示图标和在按钮中显示图标: - -![图35-显示图标与否设置](figures/kiran-35.png) - -## 5.桌面应用 - -### 5.1.文本编辑器 - -要启动文本编辑器,点击“开始菜单”>“所有应用”>“工具”>“pluma”。也可以在shell提示符下键入pluma启动文本编辑器。 -文本编辑器是所有计算机系统中最常用的一种工具。用户在使用计算机时,往往需要创建自己的文件,无论是一般的文字文件、资料文件,还是编写源程序,这些工作都离不开编辑器。它用于查看和修改纯文本文件,纯文本文件是不包含应用字体或风格格式的普通文本文件,如系统日志和配置文件: - -![图36-文本编辑器](figures/kiran-36.png) - -### 5.2.终端 - -在桌面环境下,可以利用终端程序进入传统的命令操作界面,启动命令行终端的方法是:选择“开始菜单”>“所有应用”>“工具”>“终端”或者桌面面板上的图标: - -![图37-终端](figures/kiran-37.png) - -### 5.3.Firefox火狐浏览器 - -要启动Firefox火狐浏览器,点击“开始菜单”>“所有应用”>“互联网”>“Firefox火狐浏览器”。 -Firefox火狐浏览器,是一个自由及开放源代码网页浏览器,使用Gecko排版引擎,支持多种操作系统,如Windows、Mac OS X及GNU/Linux等。它体积小速度快,还有其他一些高级特征,主要特性有:标签式浏览、使用网上冲浪更快、可以禁止弹出式窗口、自定制工具栏、扩展管理、更好的搜索特性、快速而方便的侧栏: - -![图38-firefox浏览器](figures/kiran-38.png) - -### 5.4.截图工具 - -选择“开始菜单”>“所有应用”>“图像”>“截图工具”,可以启动截图工具。 -截图工具是kiranz桌面的一款小巧灵活的屏幕捕捉软件,操作界面简洁、使用极为方便。该软件启动时会在托盘处添加截图工具图标,如下图所示: - -![图39-托盘区截图图标](figures/kiran-39.png) - -点击该图标后,直接弹出屏幕捕捉界面,可自行选择截图范围。可通过有击该图标打开“打开启动器”,可选择需要抓取的范围是整个桌面,或者方形区域,可设置截图延迟时间,如下图所示: - -![图40-截图界面](figures/kiran-40.png) - -![图41-启动器界面](figures/kiran-41.png) - -在弹出的对话框中,点击“√”,即可保存至桌面,如想自定义保存位置,点击“选项”>勾选“自定义保存位置”即可。如下图所示: - -![图42-截图过程](figures/kiran-42.png) - -### 5.5.网络设置 - -Kiran桌面采用了NetworkManager作为网络配置工具,NetworkManager是用来设定、配置和管理各种网络类型的桌面工具,NetworkManager提供了对移动宽带设备、蓝牙、IPv6 提供改进的支持。通过点击“开始菜单-控制中心-网络连接”打开,或者通过点击桌面右下角网络图标选择编辑连接打开,如图所示: - -![图43-网络连接工具](figures/kiran-43.png) - -设置有线连接: -设备选择当前的网卡,如“ens160”是当前系统的网卡,选中该网卡,点击“编辑”按钮,弹出网卡编辑对话框: - -![图44-编辑网络](figures/kiran-44.png) - -“IPv4设置”是用户常用到的设置,这里选择了DHCP的方式获取IP和DNS服务器,系统会自动给用户分配IP地址。 -有些时候用户会碰到需要手动填写IP地址的情况,这就需要在IPv4设置的上方“方法”下拉菜单中选择“手动”,如下图所示: - -![图45-设置IPV4](figures/kiran-45.png) - -接下来点击“添加”按钮依次输入IP地址、子网掩码和网关,并填写DNS服务器,如下图: - -![图46-设置网络ip和dns等](figures/kiran-46.png) - -填写ip地址、子网掩码、网关和DNS后保存,点击桌面右下角网络图标断开网络后重新连接。 - -### 5.6.时间和日期管理 - -要对系统的日期和时间进行设置,您可以在控制中心中选择“时间和日期管理”选项,也可以通过点击桌面右下角日期区域,系统将弹出如图所示的界面: - -![图47-时间和日期管理工具](figures/kiran-47.png) - -自动同步日期和时间:打开“自动同步”并连接外网可以自动同步时间。 -设置时区:点击“更改时区”按钮,右侧显示如下图所示时区设置对话框,点击需要更改的时区后保存即可修改时区。 - -![图48-修改时区](figures/kiran-48.png) - -手动设置时间:关闭自动同步按钮,点击手动设置时间,可以手动调整年份、月份、日以及时间,修改完成后保存。 - -![图49-手动设置时间](figures/kiran-49.png) - -修改日期格式:点击日期时间格式设置可以修改显示的日期格式,可以设置长日期显示格式、短日期显示格式、时间格式、以及是否显示秒: - -![图50-修改日期格式](figures/kiran-50.png) diff --git a/docs/zh/tools/desktop/ukui/_toc.yaml b/docs/zh/tools/desktop/ukui/_toc.yaml deleted file mode 100644 index a90309c72a1f68a2179861c449460cd7c1102964..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/ukui/_toc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -label: UKUI用户指南 -isManual: true -description: 安装并使用 UKUI 桌面环境 -sections: - - label: 安装 UKUI - href: ./ukui_installation.md - - label: 使用 UKUI - href: ./ukui_user_guide.md diff --git a/docs/zh/tools/desktop/ukui/figures/1.png b/docs/zh/tools/desktop/ukui/figures/1.png deleted file mode 100644 index 40af4242eebb440a76c749a8d970d50cd7b89bf4..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/1.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/10.png b/docs/zh/tools/desktop/ukui/figures/10.png deleted file mode 100644 index e588ffbe3d8d7b66d92ae8f2b4bcec7c80d0592c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/10.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/11.png b/docs/zh/tools/desktop/ukui/figures/11.png deleted file mode 100644 index 1989a5bb08155f920363e154e68bb148715c7e9e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/11.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/12.png b/docs/zh/tools/desktop/ukui/figures/12.png deleted file mode 100644 index cb6346161182d2cfeaf3818d5ec518ddb11c732e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/12.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/13.png b/docs/zh/tools/desktop/ukui/figures/13.png deleted file mode 100644 index 0a7def1fb66c90da62acde799eaffca97e3b5396..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/13.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/14.png b/docs/zh/tools/desktop/ukui/figures/14.png deleted file mode 100644 index 3a27a66d57e284775420d467f90dcc02889bbffe..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/14.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/15.png b/docs/zh/tools/desktop/ukui/figures/15.png deleted file mode 100644 index 370bea32abcaa8a2b06a1a61c1455d4b35f43474..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/15.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/16.png b/docs/zh/tools/desktop/ukui/figures/16.png deleted file mode 100644 index 812ee462669c5263ef4bffc49ca4f9b6af4541c6..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/16.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/17.png b/docs/zh/tools/desktop/ukui/figures/17.png deleted file mode 100644 index 36e524b806874fa3788f5e4dcd78350686281107..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/17.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/18.png b/docs/zh/tools/desktop/ukui/figures/18.png deleted file mode 100644 index 51b32442980aa60646f77dabd53ade74f55891fe..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/18.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/19.png b/docs/zh/tools/desktop/ukui/figures/19.png deleted file mode 100644 index c9457d09aa9f1662b2c9e4550cdbdb9f57dd020e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/19.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/2.png b/docs/zh/tools/desktop/ukui/figures/2.png deleted file mode 100644 index 97917cc245484a43bec8562757d920a06f123121..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/2.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/20.png b/docs/zh/tools/desktop/ukui/figures/20.png deleted file mode 100644 index b0943189920d7a541d35da27340593ea93f92a17..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/20.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/21.png b/docs/zh/tools/desktop/ukui/figures/21.png deleted file mode 100644 index e590c22c0ea28906b5f4ea7ccbc6ab11e47ad173..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/21.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/22.png b/docs/zh/tools/desktop/ukui/figures/22.png deleted file mode 100644 index 03a548b1ffb1f0ad53cfa5387af2721af90bca81..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/22.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/23.png b/docs/zh/tools/desktop/ukui/figures/23.png deleted file mode 100644 index 834c492094715cde1c02c91752ecabfe7921ed62..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/23.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/24.png b/docs/zh/tools/desktop/ukui/figures/24.png deleted file mode 100644 index 1881e868b74a60888b319576fa38fb4af92ba75c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/24.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/25.png b/docs/zh/tools/desktop/ukui/figures/25.png deleted file mode 100644 index f38839725d27a3486984d152e5d9de305364fbd2..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/25.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/26.png b/docs/zh/tools/desktop/ukui/figures/26.png deleted file mode 100644 index 6d7957119133ecb98b1b6b104e54a3a4647ec2a5..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/26.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/27.png b/docs/zh/tools/desktop/ukui/figures/27.png deleted file mode 100644 index 3e4733717fdc5172d6479b393005219e65e96df4..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/27.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/28.png b/docs/zh/tools/desktop/ukui/figures/28.png deleted file mode 100644 index a77772e818e3f6c11acac3b9cfa18bad14a0a48c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/28.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/29.png b/docs/zh/tools/desktop/ukui/figures/29.png deleted file mode 100644 index c4f58ffe5855295268298448744e5aadbdc55276..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/29.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/3.png b/docs/zh/tools/desktop/ukui/figures/3.png deleted file mode 100644 index fbb76b336957020ed6867d908e0a8bdcfc953c52..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/3.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/30.png b/docs/zh/tools/desktop/ukui/figures/30.png deleted file mode 100644 index d91adefba1753959e90ccf4aa1501ac08d7144bd..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/30.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/31.png b/docs/zh/tools/desktop/ukui/figures/31.png deleted file mode 100644 index 0abef09ab438f5f8cfb68090993f55c493b8c15e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/31.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/32.png b/docs/zh/tools/desktop/ukui/figures/32.png deleted file mode 100644 index d567cfbacc07a9eb46ff2c54a68432f45e034e94..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/32.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/33.png b/docs/zh/tools/desktop/ukui/figures/33.png deleted file mode 100644 index 7b5896e2884520672c0bd88d68471b45a09c56fe..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/33.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/34.png b/docs/zh/tools/desktop/ukui/figures/34.png deleted file mode 100644 index 81bc9480fbbd81a97c559d7a6a74274deeab2bd1..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/34.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/35.png b/docs/zh/tools/desktop/ukui/figures/35.png deleted file mode 100644 index ab2399847a643a87279337704e23fea7609bb211..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/35.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/36.png b/docs/zh/tools/desktop/ukui/figures/36.png deleted file mode 100644 index 536981609b9ae5d32be56bec612f2b3446146184..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/36.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/37.png b/docs/zh/tools/desktop/ukui/figures/37.png deleted file mode 100644 index e39aa03587642dc1f8622fff515b05a9a3085b28..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/37.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/4.png b/docs/zh/tools/desktop/ukui/figures/4.png deleted file mode 100644 index 5078e36aca713706d2cf08a3ebecdc3769951899..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/4.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/5.png b/docs/zh/tools/desktop/ukui/figures/5.png deleted file mode 100644 index 2976a745cfaede26594d6daa01cfc18d18b1de8b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/5.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/6.png b/docs/zh/tools/desktop/ukui/figures/6.png deleted file mode 100644 index 275c23872f2353f007371672714902babcc3db53..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/6.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/7.png b/docs/zh/tools/desktop/ukui/figures/7.png deleted file mode 100644 index 4d397959ac7f6d166ef5a3b7084bd5c3c93b475f..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/7.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/8.png b/docs/zh/tools/desktop/ukui/figures/8.png deleted file mode 100644 index 8ade274092d7b3e461c96d7909a9d89d3a944f09..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/8.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/9.png b/docs/zh/tools/desktop/ukui/figures/9.png deleted file mode 100644 index f7b2215404929346f1a814b0b1d6d482559c08b5..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/9.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon1.png b/docs/zh/tools/desktop/ukui/figures/icon1.png deleted file mode 100644 index 9bac00355cf4aa57d32287fd4271404f6fd3fd4d..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon1.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon11-o.png b/docs/zh/tools/desktop/ukui/figures/icon11-o.png deleted file mode 100644 index 47a1f2cb7f99b583768c7cbd7e05a57f302dbe8a..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon11-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon12-o.png b/docs/zh/tools/desktop/ukui/figures/icon12-o.png deleted file mode 100644 index f1f0f59dd3879461a0b5bc0632693a4a4124def3..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon12-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon13-o.png b/docs/zh/tools/desktop/ukui/figures/icon13-o.png deleted file mode 100644 index c05a981b29d8ad11c6682f796f79b4cafd0f088b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon13-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon14-o.png b/docs/zh/tools/desktop/ukui/figures/icon14-o.png deleted file mode 100644 index b21deee4d98593d93fb5f72158d2d78f3d3f1cb9..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon14-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon15-o.png b/docs/zh/tools/desktop/ukui/figures/icon15-o.png deleted file mode 100644 index 1827a20e9da4d28e35e8ab2eae739b2fec37b385..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon15-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon16.png b/docs/zh/tools/desktop/ukui/figures/icon16.png deleted file mode 100644 index f271594dda9d3ad0f038c9d719dd68c3e82c59f1..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon16.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon17.png b/docs/zh/tools/desktop/ukui/figures/icon17.png deleted file mode 100644 index dbe58b89347c857920bce25f067fbd11c308e502..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon17.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon18.png b/docs/zh/tools/desktop/ukui/figures/icon18.png deleted file mode 100644 index 1827a20e9da4d28e35e8ab2eae739b2fec37b385..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon18.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon19-o.png b/docs/zh/tools/desktop/ukui/figures/icon19-o.png deleted file mode 100644 index 47a1f2cb7f99b583768c7cbd7e05a57f302dbe8a..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon19-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon2.png b/docs/zh/tools/desktop/ukui/figures/icon2.png deleted file mode 100644 index 9101e4b386df065a87d422bc5a0b287528ea5ec7..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon2.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon26-o.png b/docs/zh/tools/desktop/ukui/figures/icon26-o.png deleted file mode 100644 index 2293a893caf6d89c3beb978598fe7f281e68e7d5..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon26-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon27-o.png b/docs/zh/tools/desktop/ukui/figures/icon27-o.png deleted file mode 100644 index abbab8e40f7e3ca7c2a6f28ff78f08f15117828e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon27-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon28-o.png b/docs/zh/tools/desktop/ukui/figures/icon28-o.png deleted file mode 100644 index e40d45fc0a9d2af93280ea14e01512838bb3c3dc..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon28-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon29-o.png b/docs/zh/tools/desktop/ukui/figures/icon29-o.png deleted file mode 100644 index e40d45fc0a9d2af93280ea14e01512838bb3c3dc..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon29-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon3.png b/docs/zh/tools/desktop/ukui/figures/icon3.png deleted file mode 100644 index 930ee8909e89e3624c581f83d713af271cd96c75..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon3.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon30-o.png b/docs/zh/tools/desktop/ukui/figures/icon30-o.png deleted file mode 100644 index e40d45fc0a9d2af93280ea14e01512838bb3c3dc..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon30-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon31-o.png b/docs/zh/tools/desktop/ukui/figures/icon31-o.png deleted file mode 100644 index 25959977f986f433ddf3d66935f8d2c2bc6ed86b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon31-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon32.png b/docs/zh/tools/desktop/ukui/figures/icon32.png deleted file mode 100644 index 25959977f986f433ddf3d66935f8d2c2bc6ed86b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon32.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon33.png b/docs/zh/tools/desktop/ukui/figures/icon33.png deleted file mode 100644 index 88ed145b25f6f025ad795ceb012500e0944cb54c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon33.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon34.png b/docs/zh/tools/desktop/ukui/figures/icon34.png deleted file mode 100644 index 8247f52a3424c81b451ceb318f4a7979a5eddece..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon34.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon35.png b/docs/zh/tools/desktop/ukui/figures/icon35.png deleted file mode 100644 index 7c656e9030b94809a57c7e369921e6a585f3574c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon35.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon36.png b/docs/zh/tools/desktop/ukui/figures/icon36.png deleted file mode 100644 index 7d29d173e914dfff48245d3d3a4d42575ce2d1db..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon36.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon37.png b/docs/zh/tools/desktop/ukui/figures/icon37.png deleted file mode 100644 index 58be4c621b6638115153e361801deb9ee06634d8..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon37.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon38.png b/docs/zh/tools/desktop/ukui/figures/icon38.png deleted file mode 100644 index 0c861ccb891f4fb5e533eb7f7151a8fce1571f17..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon38.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon39.png b/docs/zh/tools/desktop/ukui/figures/icon39.png deleted file mode 100644 index b1ba1f347452d0cd1c06c6c51d2cdf5aea5e490b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon39.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon4.png b/docs/zh/tools/desktop/ukui/figures/icon4.png deleted file mode 100644 index 548dc8b648edb73ff1dd8a0266e8479203e72ca0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon4.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon40.png b/docs/zh/tools/desktop/ukui/figures/icon40.png deleted file mode 100644 index 9c29dd1e9a1bf22c36abf51cb18fa9e47b455fab..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon40.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon41.png b/docs/zh/tools/desktop/ukui/figures/icon41.png deleted file mode 100644 index 9e8aea527a2119433fffec5a8800ebfa4fa5062f..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon41.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon42-o.png b/docs/zh/tools/desktop/ukui/figures/icon42-o.png deleted file mode 100644 index 25959977f986f433ddf3d66935f8d2c2bc6ed86b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon42-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon42.png b/docs/zh/tools/desktop/ukui/figures/icon42.png deleted file mode 100644 index 25959977f986f433ddf3d66935f8d2c2bc6ed86b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon42.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon43-o.png b/docs/zh/tools/desktop/ukui/figures/icon43-o.png deleted file mode 100644 index 284bdd551baf25beb4143013402e77a1a4c60ccb..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon43-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon44-o.png b/docs/zh/tools/desktop/ukui/figures/icon44-o.png deleted file mode 100644 index 810f4d784ee140dbf562e67a0d3fd391272626a5..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon44-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon45-o.png b/docs/zh/tools/desktop/ukui/figures/icon45-o.png deleted file mode 100644 index 3e528ce2c98284f020ae4912a853f5864526396b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon45-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon46-o.png b/docs/zh/tools/desktop/ukui/figures/icon46-o.png deleted file mode 100644 index ec6a3ca0fe57016f3685981ed518493ceea1c855..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon46-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon47-o.png b/docs/zh/tools/desktop/ukui/figures/icon47-o.png deleted file mode 100644 index 6eeaba98d908775bd363a8ffcec27c3b6a214013..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon47-o.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon5.png b/docs/zh/tools/desktop/ukui/figures/icon5.png deleted file mode 100644 index e4206b7b584bf0702c7cb2f03a3a41e20bfba844..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon5.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon6.png b/docs/zh/tools/desktop/ukui/figures/icon6.png deleted file mode 100644 index 88ced3587e9a42b145fe11393726f40aba9d1b2c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon6.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon7.png b/docs/zh/tools/desktop/ukui/figures/icon7.png deleted file mode 100644 index 05fe8aa38c84ca0c0c99b0b005ddec2f2ba42f4a..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon7.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon8.png b/docs/zh/tools/desktop/ukui/figures/icon8.png deleted file mode 100644 index 01543c3e0f5e96a023b4e1f0859a03e3a0dafd56..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon8.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/figures/icon9.png b/docs/zh/tools/desktop/ukui/figures/icon9.png deleted file mode 100644 index a07c9ab8e51decd9a3bca8c969d2ae95bd68512c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/ukui/figures/icon9.png and /dev/null differ diff --git a/docs/zh/tools/desktop/ukui/ukui_installation.md b/docs/zh/tools/desktop/ukui/ukui_installation.md deleted file mode 100644 index 4eafe5558405c645a92af731e7f183d23095a66a..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/ukui/ukui_installation.md +++ /dev/null @@ -1,28 +0,0 @@ -# 在 openEuler 上安装 UKUI - -UKUI是麒麟软件团队历经多年打造的一款Linux 桌面,主要基于 GTK 和 QT开发。与其他UI界面相比,UKUI更加注重易用性和敏捷度,各元件相依性小,可以不依赖其他套件而独自运行,给用户带来亲切和高效的使用体验。 - -UKUI支持x86_64和aarch64两种架构。 - -安装时,建议新建一个管理员用户。 - -1. 下载 openEuler ISO 镜像并安装系统。 - - ```sh - # sudo dnf update - ``` - -2. 安装UKUI。 - - ```sh - # sudo dnf install ukui - ``` - -3. 在确认正常安装后,如果希望以图形界面的方式启动,请在命令行运行以下代码,并重启(`reboot`)。 - - ```sh - # systemctl set-default graphical.target - ``` - -目前UKUI版本还在不断的更新,最新的安装方法请查阅: -[https://gitee.com/openeuler/ukui](https://gitee.com/openeuler/ukui) diff --git a/docs/zh/tools/desktop/ukui/ukui_user_guide.md b/docs/zh/tools/desktop/ukui/ukui_user_guide.md deleted file mode 100644 index 46c6a9c7b891bf4d65a0e4950a1bdca736499c2b..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/ukui/ukui_user_guide.md +++ /dev/null @@ -1,391 +0,0 @@ -# UKUI 用户指南 - -## 概述 - -桌面是用户进行图形界面操作的基础,UKUI提供了多个功能部件,包括任务栏、开始菜单等,本文主要描述 UKUI 的使用。 - -主界面如下图所示。 - -![图 1 桌面主界面-big](./figures/1.png) - -## 桌面 - -### 桌面图标 - -系统默认放置了计算机、回收站、主文件夹三个图标,鼠标左键双击即可打开页面,功能如下表。 - -| 图标 | 说明 | -| :------------ | :------------ | -| ![](./figures/icon1.png) | 计算机:显示连接到本机的驱动器和硬件| -| ![](./figures/icon2.png) | 回收站:显示移除的文件| -| ![](./figures/icon3.png) | 主文件夹:显示个人主目录| - -另外,右键单击“计算机”,选择“属性”,可显示当前系统版本、内核版本等相关信息。 - -![图 2 “计算机”-“属性”-big](./figures/2.png) - -### 右键菜单 - -在桌面空白处单击鼠标右键,出现的菜单如下图所示,为用户提供了一些快捷功能。 - -![图 3 右键菜单](./figures/3.png) - -部分选项说明如表 2。 - -| 选项 | 说明| -| :------------ | :------------ | -| 新建 | 可新建文件夹、文本文档、WPS文件 | -| 视图类型 | 提供四种视图类型:小图标、中图标、大图标、超大图标 | -| 排序方式 | 提供根据文件名称、文件类型、文件大小、修改日期排列的四种方式| - -
- -## 任务栏 - -### 基本功能 - -任务栏位于底部,包括开始菜单、多视图切换、文件浏览器、Firefox网络浏览器、WPS、托盘菜单。 - -![图 4 任务栏](./figures/4.png) - -| 组件 | 说明 | -| :------------ | :------------ | -|![](./figures/icon4.png)| 开始菜单,用于弹出系统菜单,可查找应用和文件 | -|![](./figures/icon5.png)| 多视图切换,可在多个工作区互不干扰进行操作| -|![](./figures/icon6.png)| 文件浏览器,可浏览和管理系统中的文件| -|![](./figures/icon7.png)| Firefox网页浏览器,提供便捷安全的上网方式| -|![](./figures/icon8.png)| WPS办公套件,可以实现办公软件最常用的文字、表格、演示等多种功能| -|窗口显示区 |横条中间空白部分;显示正在运行的程序或打开的文档,可进行关闭窗口、窗口置顶操作。| -|![](./figures/icon9.png)| 托盘菜单,包含了对声音、麒麟天气、网络连接、输入法、通知中心、日期、夜间模式的设置| -|显示桌面| 按钮位于最右侧;最小化桌面的所有窗口,返回桌面;再次单击将恢复窗口| - -
- -#### 多视图切换 - -点击任务栏“![](./figures/icon5.png)”图标,即可进入如下图所示界面,在多个工作区内选择当下需要工作的操作区。 - -![图 5 多视图切换-big](./figures/5.png) - -#### 预览窗口 - -用户将鼠标移动到任务栏的应用图标上,会对该应用打开的窗口进行小窗口预览,悬停在指定窗口如下图所示为悬停状态,该窗口会微微呈现毛玻璃效果(左),其余窗口为默认状态(右)。 - -![图 6 任务栏预览窗口](./figures/6.png) - -用户通过鼠标右键点击任务栏的应用图标,可关闭该应用。 - -![图 7 任务栏右键预览](./figures/7.png) - -#### 侧边栏 - -侧边栏位于整个桌面的右侧,点击任务栏托盘菜单中的“![](./figures/icon11-o.png)”图标打开收纳菜单,点击侧边栏“![](./figures/icon12-o.png)”图标,弹出侧边栏如下图所示。 - -侧边栏由两部分构成:通知中心、剪切板和小插件。 - -![图 8 侧边栏无消息状态-big](./figures/8.png) - -##### 通知中心 - -通知中心将会显示近期最新的重要信息列表,选择右上角“清空”可将信息列表清空;用户可通过选择右上角“设置”跳转进入控制面板的通知设置界面,能设置显示信息的应用,以及信息的数量。 - -![图 9 通知中心-big](./figures/9.png) - -右侧工作区可设置为按应用折叠的模式。 - -![图 10 按应用折叠通知消息-big](./figures/10.png) - -侧边栏右上角“![](./figures/icon13-o.png)”图标可收纳不重要信息,可以打开不重要的和已被设置为收纳的应用软件信息,消息超过999+后显示成![](./figures/icon14-o.png)的形式表示无穷大。 - -![图 11 消息收纳箱](./figures/11.png) - -##### 剪切板 - -剪切板可保存近期选择复制或剪切的内容,同时可通过表上说明的图标进行相应操作。 - -其中点击“![](./figures/icon15-o.png)”图标,可对剪切板的内容进行编辑。 - -|图标| 说明| 图标 |说明 | -| :------------ | :------------ | :------------ | :------------ | -|![](./figures/icon16.png)| 复制剪切板上的该内容 |![](./figures/icon18.png)| 编辑剪切板上的该内容 | -|![](./figures/icon17.png)| 删除剪切板上的该内容 | | | - -
- -![图 12 剪切板](./figures/12.png) - -![图 13 编辑选中实的剪切板内容](./figures/13.png) - -剪切板的第二个标签为小插件,插件包含:闹钟、麒麟便签本、用户反馈,可供用户快捷选择。 - -![图 14 小插件](./figures/14.png) - -#### 托盘菜单 - -##### 收纳菜单 - -点击任务栏托盘菜单中的“![](./figures/icon19-o.png)”图标打开收纳菜单,收纳菜单中可收纳麒麟天气、输入法、蓝牙、u盘等小工具。 - -![图 15 收纳菜单](./figures/15.png) - -##### 输入法 - -任务栏输入法默认为搜狗输入法,使用快捷键“Ctrl+Space”可切换出来,“Shift”按键切换中英文模式。 - -![图 16 输入法](./figures/16.png) - -##### U盘 - -U盘插入主机后,自动读取U盘数据,点击任务栏中U盘“![](./figures/icon26-o.png)”图标弹窗如下图所示。 - -需要卸载U盘时仅需点击弹出“![](./figures/icon27-o.png)”图标即可。 - -![图 17 U盘状态窗口](./figures/17.png) - -##### 电源 - -没有检测到电源设备时,用户通过点击鼠标左键任务栏中电源“![](./figures/icon28-o.png)”图标。 - -![图 18 无电源设备](./figures/18.png) - -若检测到接入的电源设备,用户通过点击鼠标左键任务栏中电源“![](./figures/icon29-o.png)”图标。 - -![图 19 电源管理器窗口](./figures/19.png) - -用户通过点击鼠标右键任务栏中电源“![](./figures/icon30-o.png)”图标,弹出电源管理器设置菜单,设置调整屏幕亮度、设置电源和休眠两项。 - -![图 20 电源管理器设置](./figures/20.png) - -若电源管理器弹出“电池电量不足”的弹窗后,用户可点击开启节能模式,电源管理器则即刻将本机设为节能模式运行。 - -![图 21 电池电量不足开启节能模式](./figures/21.png) - -##### 网络 - -用户通过鼠标左键点击任务栏上的网络“![](./figures/icon31-o.png)”图标,可根据需要选择有线和无线两种网络连接方式。 - -|图标 |说明| 图标 |说明 | -| :------------ | :------------ | :------------ | :------------ | -|![](./figures/icon32.png)| 网络已连接 |![](./figures/icon37.png)| 网络未连接 | -|![](./figures/icon33.png)| 网络连接受限 |![](./figures/icon38.png)| 网络已上锁 | -|![](./figures/icon34.png)| 网络正在连接 |![](./figures/icon39.png)| Wifi已连接 | -|![](./figures/icon35.png)| Wifi未连接 |![](./figures/icon40.png)| Wifi连接受限 | -|![](./figures/icon36.png)| Wifi已上锁 |![](./figures/icon41.png)| Wifi正在连接 | - -
- -![图 22 网络连接界面](./figures/22.png) - -- 有线网络 - - 在有线网络连接界面,点击有线网络方案即可展开,查看网络的详细信息。 - - ![图 23 有线网络连接](./figures/23.png) - -- 无线网络 - - 无线网络连接,点击右上角开关按钮打开无线网络连接,并在可用无线网络列表中选择需要连接的WiFi,并键入密码即可通过WiFi上网。 - - ![图 24 无线网络连接](./figures/24.png) - -- 网络设置窗口 - - 用户通过鼠标右键点击任务栏上的网络“![](./figures/icon42-o.png)”图标,弹出网络设置菜单。 - - ![图 25 有线网络设置](./figures/25.png) - - 点击设置网络,即刻进入网络设置窗口。 - - ![图 26 网络设置窗口](./figures/26.png) - -##### 音量 - -用户通过鼠标左键点击任务栏上的音量“![](./figures/icon43-o.png)”图标,打开声音界面。 - -- mini模式 - - 音量mini模式,仅显示扬声器的音量。 - - ![图 27 音量mini模式](./figures/27.png) - -- 按设备 - 音量按设备标签包括输出设备、输入设备。 - - ![图 28 按设备音量列表](./figures/28.png) -- 按应用 - 音量按应用标签包括系统音量、其他应用音量。 - - ![图 29 按应用音量列表](./figures/29.png) - -##### 日历 - -用户通过鼠标左键点击任务栏上的时间日期弹出日历窗口,查看日历、月历、年历窗口。 - -用户可通过筛选年 > 月 > 日查看一日信息,会以大字显示当日日期,并有当日的时间、星期、节气、农历,点击下方宜忌勾选可查看。 - -![图 30 日历查看-big](./figures/30.png) - -##### 夜间模式 - -用户通过鼠标左键点击任务栏上的夜间模式“![](./figures/icon44-o.png)”图标,可设置为夜间模式。 - -#### 高级设置 - -右键单击任务栏,出现的菜单。 - -![图 31 任务栏右键菜单](./figures/31.png) - -用户可对任务栏的布局进行设定,在“设置任务栏”中可进行相关设置。 - -
- -## 窗口 - -### 窗口管理器 - -窗口管理器为用户提供了如表所示的功能。 - -|功能 |说明 | -| :--------| :----------| -|窗口标题栏| 显示当前窗口的标题名称 | -|最小化/最大化/关闭 |标题栏右侧的三个图标按钮,分别对应最小化窗口、最大化窗口、关闭窗口的功能 | -|侧边滑动 |在窗口右侧提供滑动条,可上下滚动查看页面 | -|窗口堆叠| 允许窗口之间产生重叠 | -|窗口拖拽 |在窗口标题栏长按鼠标左键,可移动窗口到任意位置 | -|窗口大小调整 |将鼠标移至窗口四角,长按左键,可任意调整窗口大小 | - -
- -### 窗口切换 - -用户有三种方式可以切换: - -- 在任务栏上点击窗口标题; - -- 在桌面上点击不同窗口; - -- 使用快捷键\< Alt > + \< Tab >; - -
- -## 开始菜单 - -### 基本功能 - -单击“开始菜单”按钮,菜单具备滑动条功能。 - -![图 32 开始菜单主界面](./figures/32.png) - -#### 右侧分类菜单 - -用户将鼠标停留在开始菜单右侧,会出现一个右侧预展开的提示栏,点击展开,即在右侧默认显示三个分类:“常用软件”、“字母分类”、“功能分类”,其中: - -- 所有软件:列出所有软件,近期使用过的软件将会在此页面置顶显示。 - -- 字母分类:列出系统根据首字母进行分类显示所有软件。 - -- 功能分类:列出系统根据功能进行分类显示所有软件。 - -用户可通过点击右上角开始菜单的全屏图标,查看全屏菜单。 - -![图 33 全屏开始菜单-big](./figures/33.png) - -#### 右侧功能键 - -右下侧显示用户头像、计算机、设置和电源四个选项。 - -##### 用户头像 - -点击“![](./figures/icon45-o.png)”图标,进入控制面板查看用户信息。 - -##### 计算机 - -点击“![](./figures/icon46-o.png)”图标进入计算机:个人主文件夹。 - -##### 设置 - -点击“![](./figures/icon47-o.png)”图标进入控制面板。 - -##### 电源 - -###### 锁定屏幕 - -当用户暂时不需要使用计算机时,可以选择锁屏(不会影响系统当前的运行状态),防止误操作;用户返回后,输入密码即可重新进入系统。 - -在默认设置下,系统在一段空闲时间后,将自动锁定屏幕。 - -锁屏界面如下图所示。 - -![图 34 锁屏界面-big](./figures/34.png) - -###### 切换用户和注销 - -当要选择其他用户登录使用计算机时,可选择“注销”或“切换用户”。 - -此时,系统会关闭所有正在运行的应用;所以,在执行此操作前,请先保存当前工作。 - -###### 关机与重启 - -有两种操作方式: - -1)“开始菜单” > “电源” > “关机” - -会弹出对话框,用户可根据需要选择重启或关机。 - -![图 35 关闭系统对话框-big](./figures/35.png) - -2)“开始菜单” > “关机” 按钮右边菜单 > “关机”/“重启” - -系统将直接关机/重启,不再弹出对话框。 - -### 高级设置 - -右键单击开始菜单图标,提供锁屏、切换用户、注销、重启、关闭五个快捷选项。 - -### 应用 - -用户可以在搜索框中,通过关键字搜索应用。如下图所示,可输入中文,如:搜索用户手册,查询结果会随着输入自动显示出来。 - -![图 36 搜索应用](./figures/36.png) - -通过右键点击开始菜单中的某个应用,弹出右键菜单,可将选中应用固定到“所有软件”、任务栏,可添加该应用到桌面方式,可快捷卸载该应用。 - -![图 37 应用的右键菜单](./figures/37.png) - -各个选项说明如下表。 - -|选项 |说明 | -| :------| :-------- -|固定到所有用软件 |将选中软件在所有软件列表中置顶 | -|固定到任务栏 |在任务栏上生成应用的图标 | -|添加到桌面快捷方式| 在桌面生成应用的快捷方式图标 | -|卸载| 卸载软件 | - -
- -## 常见问题 - -### 锁屏后无法登录系统 - -- 通过Ctrl + Alt + F2切换到字符终端。 - -- 输入用户名和密码后登录。 - -- 执行命令“sudo rm -rf ~/.Xauthority”。 - -- 通过Ctrl + Alt + F1切回图形界面,输入用户密码登录。 - -
- -## 附录 - -### 快捷键 - -|快捷键 |功能 | -| :------ | :----- | -|F5| 刷新桌面 | -|F1 |打开用户手册 | -|Alt + Tab |切换窗口 | -|win |打开开始菜单 | -|Ctrl + Alt + L| 锁屏 | -|Ctrl + Alt + Delete| 注销 | diff --git a/docs/zh/tools/desktop/xfce/_toc.yaml b/docs/zh/tools/desktop/xfce/_toc.yaml deleted file mode 100644 index 2f9bbc0a59fde1fa538c0234cecce5127ab1d5c4..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/xfce/_toc.yaml +++ /dev/null @@ -1,9 +0,0 @@ -label: XFCE用户指南 -isManual: true -description: 安装并使用 XFCE 桌面环境 -sections: - - label: 安装 XFCE - href: ./xfce_installation.md - - label: 使用 XFCE - href: ./xfce_user_guide.md - diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-1.png b/docs/zh/tools/desktop/xfce/figures/xfce-1.png deleted file mode 100644 index 0e478b9f10ddf3210d5f5fada2e45329e2d1d028..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-1.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-2.png b/docs/zh/tools/desktop/xfce/figures/xfce-2.png deleted file mode 100644 index 33a946d988d499a1e98cb43968b72119bd48d7a5..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-2.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-3.png b/docs/zh/tools/desktop/xfce/figures/xfce-3.png deleted file mode 100644 index 020356f0c981fac2aafe33c8e997efbf01af9253..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-3.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-4.png b/docs/zh/tools/desktop/xfce/figures/xfce-4.png deleted file mode 100644 index 21369e366322955023b427e7a2ae63fd29b387e5..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-4.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-5.png b/docs/zh/tools/desktop/xfce/figures/xfce-5.png deleted file mode 100644 index 1f7807877f775fe6aa32652a29ef833e48e1a6ee..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-5.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-6.png b/docs/zh/tools/desktop/xfce/figures/xfce-6.png deleted file mode 100644 index e5376fcfd1737234a885d4d95649cd996005cf0c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-6.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-7.png b/docs/zh/tools/desktop/xfce/figures/xfce-7.png deleted file mode 100644 index b7a94df356b7b9f7dca3d305d066ec854406aaab..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-7.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-71.png b/docs/zh/tools/desktop/xfce/figures/xfce-71.png deleted file mode 100644 index 11d1618c907d4bb18de1eb68e42e9b98d92d91c3..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-71.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-8.png b/docs/zh/tools/desktop/xfce/figures/xfce-8.png deleted file mode 100644 index f6f97d9a173105cb6a72e4b8c48deab25ecac898..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-8.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-81.png b/docs/zh/tools/desktop/xfce/figures/xfce-81.png deleted file mode 100644 index b97c9a81c2a07efe361e6dc6ee8bed5db445ecfa..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-81.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-811.png b/docs/zh/tools/desktop/xfce/figures/xfce-811.png deleted file mode 100644 index 58233638eca203d917081d6a9ac5003474cbf60b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-811.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-812.png b/docs/zh/tools/desktop/xfce/figures/xfce-812.png deleted file mode 100644 index 0fc975f75da95dce8a3e5a098d024578335c9426..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-812.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-813.png b/docs/zh/tools/desktop/xfce/figures/xfce-813.png deleted file mode 100644 index 4d399468c74355cbaa765380720cb9561e95f834..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-813.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-814.png b/docs/zh/tools/desktop/xfce/figures/xfce-814.png deleted file mode 100644 index c09fd6524a20ba04e0fca30307d35fa05e79c1f4..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-814.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-82.png b/docs/zh/tools/desktop/xfce/figures/xfce-82.png deleted file mode 100644 index 170deb5fb43f4e924d5ba4eba94a02c341d31515..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-82.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-821.png b/docs/zh/tools/desktop/xfce/figures/xfce-821.png deleted file mode 100644 index c5c1f3567dccda3d0d49ae445612d5b9ba27e09a..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-821.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-83.png b/docs/zh/tools/desktop/xfce/figures/xfce-83.png deleted file mode 100644 index 95e4844c0ece09819d3e9f1e8457bbf371b1282e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-83.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-831.png b/docs/zh/tools/desktop/xfce/figures/xfce-831.png deleted file mode 100644 index 6456dd02f0281a5ec8d752ba5b95be581bcbfa09..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-831.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-832.png b/docs/zh/tools/desktop/xfce/figures/xfce-832.png deleted file mode 100644 index 2932aaacf71fa53f1d0c10340df3aebcc016e991..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-832.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-84.png b/docs/zh/tools/desktop/xfce/figures/xfce-84.png deleted file mode 100644 index e0435c2edf9f68d193cff036215f32c259d378f0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-84.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-841.png b/docs/zh/tools/desktop/xfce/figures/xfce-841.png deleted file mode 100644 index c2c06346d4a296bfbe7836139cd943baa1ce6ea5..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-841.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-842.png b/docs/zh/tools/desktop/xfce/figures/xfce-842.png deleted file mode 100644 index 101bf6923e3780617d33dde04b92232ca7f87b42..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-842.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-85.png b/docs/zh/tools/desktop/xfce/figures/xfce-85.png deleted file mode 100644 index 21b39638fe4c83e0da5cdc69ecad9b7a22718a55..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-85.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-851.png b/docs/zh/tools/desktop/xfce/figures/xfce-851.png deleted file mode 100644 index 893064ca10399a683afbcb3752266d93b0a79a51..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-851.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-86.png b/docs/zh/tools/desktop/xfce/figures/xfce-86.png deleted file mode 100644 index 35e8a99e31e4a49eb64b24cfbab825111e40f709..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-86.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-861.png b/docs/zh/tools/desktop/xfce/figures/xfce-861.png deleted file mode 100644 index affc46c874991a3b289e15072e06ba6566c099b1..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-861.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-87.png b/docs/zh/tools/desktop/xfce/figures/xfce-87.png deleted file mode 100644 index 47524c21d57c887c3398ea53a675f89e9f92113f..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-87.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-9.png b/docs/zh/tools/desktop/xfce/figures/xfce-9.png deleted file mode 100644 index 5586c4f62cc161665b91a56ad23b2320901901c0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-9.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-91.png b/docs/zh/tools/desktop/xfce/figures/xfce-91.png deleted file mode 100644 index ee69879bb4ad66405b045af5e3965e275fe8eabf..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-91.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-911.png b/docs/zh/tools/desktop/xfce/figures/xfce-911.png deleted file mode 100644 index b49416558e9ab844fda2026b76e2e900ac106842..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-911.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-92.png b/docs/zh/tools/desktop/xfce/figures/xfce-92.png deleted file mode 100644 index 78dd6313c603aad9ebd37fe68e06f98b2a3b331e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-92.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-921.png b/docs/zh/tools/desktop/xfce/figures/xfce-921.png deleted file mode 100644 index 5eb6f40df9ca73e11b9b9fa5079496ac0c36857b..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-921.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-93.png b/docs/zh/tools/desktop/xfce/figures/xfce-93.png deleted file mode 100644 index 06ac80c152fefbe1ad2ba1c989f6acfbbaf1a992..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-93.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-931.png b/docs/zh/tools/desktop/xfce/figures/xfce-931.png deleted file mode 100644 index a156e5cf14ae154b93e845ff1bd5bc6ba12c9beb..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-931.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-94.png b/docs/zh/tools/desktop/xfce/figures/xfce-94.png deleted file mode 100644 index f48064ff5902c4ea740ccba9a1640cbca27b5b72..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-94.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-941.png b/docs/zh/tools/desktop/xfce/figures/xfce-941.png deleted file mode 100644 index f7904da12dc807836acfb9d6f24b8d9b976a2fdc..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-941.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-95.png b/docs/zh/tools/desktop/xfce/figures/xfce-95.png deleted file mode 100644 index bda965b15a859e4cccf4b80f62875f79eb3470fd..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-95.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-951.png b/docs/zh/tools/desktop/xfce/figures/xfce-951.png deleted file mode 100644 index 6521a28275d2b63c12b47604c7afc926f7938697..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-951.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-96.png b/docs/zh/tools/desktop/xfce/figures/xfce-96.png deleted file mode 100644 index 29ce24923477065b98cacf603f185113e9959069..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-96.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-961.png b/docs/zh/tools/desktop/xfce/figures/xfce-961.png deleted file mode 100644 index 874fa200f4e63b690261d7827f3c73cf70861b32..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-961.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/figures/xfce-962.png b/docs/zh/tools/desktop/xfce/figures/xfce-962.png deleted file mode 100644 index bb84e35e43e992bc68b053a0da760bd5aa8b0270..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/desktop/xfce/figures/xfce-962.png and /dev/null differ diff --git a/docs/zh/tools/desktop/xfce/xfce_installation.md b/docs/zh/tools/desktop/xfce/xfce_installation.md deleted file mode 100644 index 42c042b70c08829179749a8005af760cf7993944..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/xfce/xfce_installation.md +++ /dev/null @@ -1,72 +0,0 @@ -# 在 openEuler 上安装 XFCE - -XFCE是一款轻量级 Linux 桌面,当前版本已经将所有部件从 GTK2 更新到 GTK3,从D-Dbus Glib更新到GDBus,大部分组件支持Object Introspection(简称 GI,用于产生与解析 C 程序库 API 元信息,以便于动态语言(或托管语言)绑定基于 C + GObject 的程序库)。优化用户体验,加入新特性,并修补大量BUG。与其他UI界面(GNOME、KDE)相比,XFCE占用的内存和CPU使用量非常小,给用户带来亲切和高效的使用体验。 - -XFCE支持x86_64和aarch64两种架构。 - -安装时,建议新建一个管理员用户。 - -1. [下载](https://openeuler.org/zh/download/)openEuler ISO镜像并安装系统,更新软件源(需要配置Everything源,以及EPOL源,下面命令是在最小化安装系统的情况下安装XFCE) - - ```sh - # sudo dnf update - ``` - -2. 安装字库 - - ```sh - # sudo dnf install dejavu-fonts liberation-fonts gnu-*-fonts google-*-fonts - ``` - -3. 安装Xorg - - ```sh - # sudo dnf install xorg-* - ``` - -4. 安装XFCE及组件 - - ```sh - # sudo dnf install xfwm4 xfdesktop xfce4-* xfce4-*-plugin network-manager-applet *fonts - ``` - -5. 安装登录管理器 - - ```sh - # sudo dnf install lightdm lightdm-gtk - ``` - -6. 设置默认桌面为XFCE - 通过root权限用户设置 - - ```sh - # echo 'user-session=xfce' >> /etc/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf - ``` - -7. 使用登录管理器登录XFCE - - ```sh - # sudo systemctl start lightdm - ``` - - 登录管理器启动后,在右上角左侧选择"xfce-session" - 输入用户名、密码登录 - -8. 设置开机自启动图形界面 - - ```sh - # sudo systemctl enable lightdm - # sudo systemctl set-default graphical.target - ``` - - 如果默认安装了gdm,建议停用gdm - - ```sh - # systemctl disable gdm - ``` - - 重启验证 - - ```sh - # sudo reboot - ``` diff --git a/docs/zh/tools/desktop/xfce/xfce_user_guide.md b/docs/zh/tools/desktop/xfce/xfce_user_guide.md deleted file mode 100644 index 9a90c6f5841d6d5ae8ac5dcbf8f25c7c426f6610..0000000000000000000000000000000000000000 --- a/docs/zh/tools/desktop/xfce/xfce_user_guide.md +++ /dev/null @@ -1,244 +0,0 @@ -# Xfce 用户指南 - -## 一 概述 - -Xfce是运行在类Unix操作系统中的一款轻量级桌面环境。Xfce提供了多个功能部件,包括 所有应用程序 等,本文主要描述 Xfce 的使用。 - -界面如下图所示。 - -![图 1 桌面主界面-big](./figures/xfce-1.png) - -
- -## 二 桌面 - -### 2.1 桌面图标 - -系统默认放置了文件系统、主文件夹、挂载目录等图标,鼠标左键双击即可打开页面。 - -![图 2 主界面默认图标-big](./figures/xfce-2.png) - -### 2.2 右键菜单 - -在桌面空白处单击鼠标右键,出现的菜单如下图所示,为用户提供了一些快捷功能。 - -![图 3 右键菜单](./figures/xfce-3.png) - -部分选项说明如表。 - -| 选项 | 说明| -| :------------ | :------------ | -| 在新窗口中打开 | 打开对应登录用户的Desktop目录 | -| 创建启动器 | 启动器的自行创建 | -| 创建URL链接 | URL链接的自行创建 | -| 创建文件夹 | 新建文件夹 | -| 创建文档 | 新建文本文档 | -| Open Terminal Here | 新建终端 | -| 排列桌面图标 | 自动排列桌面图标 | -| 桌面设置 | 提供关于背景、菜单、图标的设置 | -| 属性 | 提供关于Desktop的一般、徽标、权限等属性设置 | -| 应用程序 | 所有应用程序 | - -
- -## 三 任务栏 - -### 3.1 基本功能 - -任务栏位于顶部,包括所有应用程序菜单、窗口显示区、多视图切换、托盘菜单。 - -![图 4 任务栏](./figures/xfce-4.png) - -| 组件 | 说明 | -| :------------ | :------------ | -| 所有应用程序 | 用于弹出所有程序以及设置,可查找应用和设置。| -| 窗口显示区 | 横条中间空白部分;显示正在运行的程序或打开的文档,可进行最小化、最大化、关闭窗口、窗口置顶等操作。| -| 多视图切换 | 可在多个工作区互不干扰进行操作。 | -| 托盘 | 包含了对网络连接、声音、电源、通知中心、日历、登录用户动作的设置。| - -#### 3.1.1 所有应用程序 - -![图 5 所有应用程序-big](./figures/xfce-5.png) - -#### 3.1.2 窗口显示区 - -![图 6 窗口显示区-big](./figures/xfce-6.png) - -#### 3.1.3 多视图切换 - -点击任务栏“![](./figures/xfce-7.png)”中的每个区域图标,即可进入对应的工作区域。 - -例如,通过鼠标在多个工作区内切换选择当下需要工作的操作区。 - -![图 7 多视图切换-big](./figures/xfce-71.png) - -#### 3.1.4 托盘 - -![图 8 托盘菜单-big](./figures/xfce-8.png) - -##### 3.1.4.1 网络 - -用户通过鼠标左键点击任务栏上的网络“![](./figures/xfce-81.png)”图标,可根据需要选择网络连接方式。 - -![图 9 网络连接界面](./figures/xfce-811.png) - -网络设置窗口 - -用户通过鼠标右键点击任务栏上的网络“![](./figures/xfce-81.png)”图标,弹出网络设置菜单。 - -![图 10 网络设置](./figures/xfce-812.png) - -点击 编辑连接,即刻进入网络设置窗口。 - -![图 11 网络设置窗口](./figures/xfce-813.png) - -双击 指定的网络连接 ,例如enp1s0,进入该连接的设置界面。 - -![图 12 有线网络设置窗口](./figures/xfce-814.png) - -##### 3.1.4.2 音量 - -用户通过鼠标左键点击任务栏上的音量“![](./figures/xfce-82.png)”图标,打开声音界面。 - -![图 13 音量设置窗口](./figures/xfce-821.png) - -##### 3.1.4.3 电源 - -用户通过点击鼠标左键任务栏中电源“![](./figures/xfce-83.png)”图标。 - -![图 14 电源设备](./figures/xfce-831.png) - -用户通过点击 电源管理器设置 进行 显示、节点 等配置。 - -![图 15 电源管理器设置](./figures/xfce-832.png) - -##### 3.1.4.4 通知中心 - -用户通过点击鼠标左键任务栏中通知“![](./figures/xfce-84.png)”图标。 - -![图 16 通知中心-big](./figures/xfce-841.png) - -用户可通过选择“请勿打扰”关闭通知。 - -通知中心将会显示重要的近期最新的重要信息列表,选择“清除日志”可将信息列表清空。 - -用户可通过选择“通知设置”跳转进入控制面板的通知设置界面,能设置显示信息的应用,以及信息的数量。 - -![图 17 通知中心-big](./figures/xfce-842.png) - -##### 3.1.4.5 日历 - -用户通过鼠标左键点击任务栏上的时间日期弹出日历窗口,查看日历、月历、年历窗口。 - -用户可通过筛选年 > 月 > 日查看一日信息。 - -![图 18 日历-big](./figures/xfce-85.png) - -用户通过鼠标右键点击任务栏上的时间日期,点击 属性 进行时间设置。 - -![图 19 日期设置-big](./figures/xfce-851.png) - -##### 3.1.4.6 高级设置 - -右键单击任务栏,出现的菜单中点击 面板。 - -![图 20 任务栏右键菜单](./figures/xfce-86.png) - -用户可对任务栏的布局进行设定,可进行项目的添加、删除等相关设置。 - -![图 21 任务栏右键菜单](./figures/xfce-861.png) - -##### 3.1.4.7 登录用户动作 - -用户通过鼠标左键点击任务栏上的登录用户,查看相关动作。 - -![图 22 登录用户动作](./figures/xfce-87.png) - -###### 3.1.4.7.1 锁屏 - -当用户暂时不需要使用计算机时,可以选择锁屏(不会影响系统当前的运行状态),防止误操作;用户返回后,输入密码即可重新进入系统。 - -在默认设置下,系统在一段空闲时间后,将自动锁定屏幕。 - -###### 3.1.4.7.2 切换用户 - -选择其他用户登录使用计算机时,可选择“切换用户”。 - -此时,系统会关闭所有正在运行的应用;所以,在执行此操作前,请先保存当前工作。 - -###### 3.1.4.7.3 挂起 - -处于环保节能考虑,可选择“挂起”。 - -此时,相关数据读入内存,注意不能切换电源。 - -###### 3.1.4.7.3 关机 - -用户选择关闭计算机时,可以选择“关机”。 - -在执行此操作前,建议先保存当前工作。 - -###### 3.1.4.7.3 注销 - -选择退出本次图形界面登录时,可选择“注销”。 - -此时,系统会关闭所有正在运行的应用;所以,在执行此操作前,请先保存当前工作。 - -
- -## 四 快捷操作栏 - -### 4.1 基本功能 - -快捷操作栏位于底部,包括所有显示桌面、终端、文件管理器、网络浏览器、应用程序查找、用户家目录。 - -![图 23 快捷操作栏](./figures/xfce-9.png) - -| 组件 | 说明 | -| :------------ | :------------ | -| 显示桌面 | 最小化桌面的所有窗口,返回桌面;再次单击将恢复窗口 | -| 终端 | 快速打开一个终端 | -| 文件管理器 | 快速打开一个文件管理器 | -| 网络浏览器 | 快速打开一个网络浏览器 | -| 应用程序查找 | 快速打开应用程序查找窗口 | -| 用户家目录 | 快速打开登录用户的家目录 | - -#### 4.1.1 显示桌面 - -用户通过鼠标左键点击快捷操作栏上的“![](./figures/xfce-91.png)”图标,执行 显示桌面 相关操作。 - -![图 24 显示桌面-big](./figures/xfce-911.png) - -#### 4.1.2 终端 - -用户通过鼠标左键点击快捷操作栏上的“![](./figures/xfce-92.png)”图标,打开一个终端。 - -![图 25 终端-big](./figures/xfce-921.png) - -#### 4.1.3 文件管理器 - -用户通过鼠标左键点击快捷操作栏上的“![](./figures/xfce-93.png)”图标,打开一个文件管理器。 - -![图 26 文件管理器-big](./figures/xfce-931.png) - -#### 4.1.4 网络浏览器 - -用户通过鼠标左键点击快捷操作栏上的“![](./figures/xfce-94.png)”图标,打开一个网络浏览器。 - -![图 27 网络浏览器-big](./figures/xfce-941.png) - -#### 4.1.5 应用程序查找 - -用户通过鼠标左键点击快捷操作栏上的“![](./figures/xfce-95.png)”图标,打开一个应用程序查找界面。 - -![图 28 应用程序查找-big](./figures/xfce-951.png) - -#### 4.1.6 用户家目录 - -用户通过鼠标左键点击快捷操作栏上的“![](./figures/xfce-96.png)”图标,点击 打开文件,打开一个用户家目录界面。 - -![图 29 用户家目录-big](./figures/xfce-961.png) - -用户通过鼠标左键点击快捷操作栏上的“![](./figures/xfce-96.png)”图标,点击 在终端中打开,打开一个终端,当前目录为用户家目录。 - -![图 30 用户家目录-big](./figures/xfce-962.png) diff --git a/docs/zh/tools/devops/_toc.yaml b/docs/zh/tools/devops/_toc.yaml index cf82238ac25c778ebb0555fa4a6061ed8821aa0e..20740d38a188e14640aa4b47e9df1226befbd138 100644 --- a/docs/zh/tools/devops/_toc.yaml +++ b/docs/zh/tools/devops/_toc.yaml @@ -2,7 +2,6 @@ label: 社区服务 sections: - label: 源码管理 sections: - - href: ./code_manage/patch_tracking/_toc.yaml - - label: 包管理 - sections: - - href: ./package_manage/pkgship/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/patch-tracking/blob/master/docs/zh/master/_toc.yaml + path: ./patch_tracking diff --git a/docs/zh/tools/devops/code_manage/patch_tracking/_toc.yaml b/docs/zh/tools/devops/code_manage/patch_tracking/_toc.yaml deleted file mode 100644 index b53d41a6b44d5a86346c5abaf174b46837d55b54..0000000000000000000000000000000000000000 --- a/docs/zh/tools/devops/code_manage/patch_tracking/_toc.yaml +++ /dev/null @@ -1,7 +0,0 @@ -label: patch-tracking -isManual: true -description: 对软件包进行补丁管理 -sections: - - label: patch-tracking - href: ./patch_tracking.md - diff --git a/docs/zh/tools/devops/code_manage/patch_tracking/images/Maintainer.jpg b/docs/zh/tools/devops/code_manage/patch_tracking/images/Maintainer.jpg deleted file mode 100644 index da0d5f1b5d928eca3a0d63795f59c55331136065..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/devops/code_manage/patch_tracking/images/Maintainer.jpg and /dev/null differ diff --git a/docs/zh/tools/devops/code_manage/patch_tracking/images/PatchTracking.jpg b/docs/zh/tools/devops/code_manage/patch_tracking/images/PatchTracking.jpg deleted file mode 100644 index e12afd6227c18c333f289b9aa71abf608d8058a0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/devops/code_manage/patch_tracking/images/PatchTracking.jpg and /dev/null differ diff --git a/docs/zh/tools/devops/code_manage/patch_tracking/patch_tracking.md b/docs/zh/tools/devops/code_manage/patch_tracking/patch_tracking.md deleted file mode 100644 index 703d3a3828c7f6a2448c4ee01e54cb0742e3b303..0000000000000000000000000000000000000000 --- a/docs/zh/tools/devops/code_manage/patch_tracking/patch_tracking.md +++ /dev/null @@ -1,291 +0,0 @@ -# patch-tracking - -## 简介 - -在 openEuler 发行版开发过程中,需要及时更新上游社区各个软件包的最新代码,修改功能 bug 及安全问题,确保发布的 openEuler 发行版尽可能避免缺陷和漏洞。 - -本工具主要功能是对软件包进行补丁管理,主动监控上游社区提交,自动生成补丁,并自动提交 issue 给对应的 maintainer,同时自动验证补丁基础功能,减少验证工作量支持 maintainer 快速决策。 - -## 架构 - -### C/S架构 - -patch-tracking采用 C/S 架构。 - -服务端(patch-tracking) :负责执行补丁跟踪任务,包括:维护跟踪项、识别上游仓库分支代码变更并形成补丁文件、向 Gitee 提交 issue 及 PR。同时 patch-tracking 提供 RESTful 接口,用于对跟踪项进行增删改查操作。 - -客户端:即命令行工具(patch-tracking-cli),通过调用 patch-tracking 的 RESTful 接口,实现对跟踪项的增删改查操作。 - -### 核心流程 - -a. 补丁跟踪服务流程 - -主要步骤: - -1. 通过命令行工具添加跟踪项。 -2. 自动从跟踪项配置的上游仓库(例如GitHub)获取补丁文件。 -3. 创建临时分支,将获取到的补丁文件提交到临时分支。 -4. 自动提交 issue 到对应仓库,并生成关联 issue 的 PR。 - -![PatchTracking](./images/PatchTracking.jpg) - -b. Maintainer对提交的补丁处理流程 - -主要步骤: - -1. Maintainer 分析 PR。 -2. 执行 CI,执行成功后判断是否合入 PR。 - -![Maintainer](./images/Maintainer.jpg) - -### 数据结构 - -* Tracking表 - -| 序号 | 名称 | 说明 | 类型 | 键 | 允许空 | -|:----:| ----| ----| ----| ----| ----| -| 1 | id | 自增补丁跟踪项序号 | int | - | NO | -| 2 | version_control | 上游SCM的版本控制系统类型 | String | - | NO | -| 3 | scm_repo | 上游SCM仓库地址 | String | - | NO | -| 4 | scm_branch | 上游SCM跟踪分支 | String | - | NO | -| 5 | scm_commit | 上游代码最新处理过的Commit ID | String | - | YES | -| 6 | repo | 包源码在Gitee的仓库地址 | String | Primary | NO | -| 7 | branch | 包源码在Gitee的仓库分支 | String | Primary | NO | -| 8 | enabled | 是否启动跟踪 | Boolean | -| NO | - -* Issue表 - -| 序号 | 名称 | 说明 | 类型 | 键 | 允许空 | -|:----:| ----| ----| ----| ----| ----| -| 1 | issue | issue编号 | String | Primary | NO | -| 2 | repo | 包源码在Gitee的仓库地址 | String | - | NO | -| 3 | branch | 包源码在Gitee的仓库分支 | String | - | NO | - -## 工具部署 - -### 软件下载 - -Repo 源地址:[https://repo.openeuler.org/](https://repo.openeuler.org) - -rpm 包获取地址:[https://repo.openeuler.org/](https://repo.openeuler.org),依次选择正确的版本号、everything、正确的架构、Packages,找到需要的rpm包,点击即可下载。 - -### 安装工具 - -方法1:从repo源安装 - -1. 使用 dnf 挂载 repo源(具体方法参考[《应用开发指南》](../../../../server/development/application_dev/preparations-for-development-environment.md))。 -2. 执行以下命令安装`patch-tracking`及其依赖。 - -```shell -# dnf install patch-tracking -``` - -方法2:直接使用rpm安装 - -1. 首先安装相关依赖。 - - ```shell - # dnf install python3-uWSGI python3-flask python3-Flask-SQLAlchemy python3-Flask-APScheduler python3-Flask-HTTPAuth python3-requests python3-pandas - ``` - -2. 安装patch-tracking包。 - - ```shell - # rpm -ivh patch-tracking-xxx.rpm - ``` - -### 生成证书 - -执行如下命令生成证书。 - -```shell -# openssl req -x509 -days 3650 -subj "/CN=self-signed" -nodes -newkey rsa:4096 -keyout self-signed.key -out self-signed.crt -``` - -将生成的 `self-signed.key` 和 `self-signed.crt` 文件拷贝到 /etc/patch-tracking 目录。 - -### 配置参数 - -在配置文件中对相应参数进行配置,配置文件路径为 `/etc/patch-tracking/settings.conf`。 - -1. 配置服务监听地址。 - - ```text - LISTEN = "127.0.0.1:5001" - ``` - -2. GitHub Token, 用于访问托管在 GitHub 上游开源软件仓的仓库信息 , 生成 GitHub Token 的方法参考 [Creating a personal access token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) 。 - - ```text - GITHUB_ACCESS_TOKEN = "" - ``` - -3. 对于托管在gitee上的需要跟踪的仓库,配置一个有该仓库权限的gitee的token,用于提交patch文件,提交issue,提交PR等操作。 - - ```text - GITEE_ACCESS_TOKEN = "" - ``` - -4. 定时扫描数据库中是否有新增或修改的跟踪项,对扫描到的跟踪项执行获取上游补丁任务,在这里配置扫描的时间间隔,数字单位是秒。 - - ```text - SCAN_DB_INTERVAL = 3600 - ``` - -5. 命令行工具运行过程中,POST接口需要填写进行认证的用户名和口令哈希值。 - - ```text - USER = "admin" - PASSWORD = "" - ``` - - > `USER`默认值为`admin`。 - - 执行如下指令,获取口令的哈希值,其中Test@123为设置的口令。 - - ```shell - # generate_password Test@123 - ``` - - > `口令值`需要满足如下复杂度要求: - > - > * 长度大于等于6个字符 - > * 必须包含大写字母、小写字母、数字、特殊字符(~!@#%^*-_=+) - - 将口令的哈希值复制到`PASSWORD = ""`引号中。 - -### 启动补丁跟踪服务 - -* 使用systemd方式。 - - ```shell - # systemctl start patch-tracking - ``` - -* 直接执行可执行程序。 - - ```shell - # /usr/bin/patch-tracking - ``` - -## 工具使用 - -### 添加跟踪项 - -将需要跟踪的软件仓库和分支与其上游开源软件仓库与分支关联起来,可以通过以下方式实现。 - -* 命令行直接添加 - - 参数含义: - > --user :POST接口需要进行认证的用户名,同settings.conf中的USER参数 - > --password :POST接口需要进行认证的口令,为settings.conf中的PASSWORD哈希值对应的实际的口令字符串 - > --server :启动Patch Tracking服务的URL,例如:127.0.0.1:5001 - > --version_control :上游仓库版本的控制工具,只支持github - > --repo: 需要进行跟踪的仓库名称,格式:组织/仓库 - > --branch :需要进行跟踪的仓库的分支名称 - > --scm_repo :被跟踪的上游仓库的仓库名称,github格式:组织/仓库 - > --scm_branch: 被跟踪的上游仓库的仓库的分支 - > --scm_commit: 指定跟踪的起始commit,选填,默认从当前最新commit开始跟踪 - > --enabled :是否自动跟踪该仓库 - - 例如: - - ```shell - # patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --version_control github --repo testPatchTrack/testPatch1 --branch master --scm_repo BJMX/testPatch01 --scm_branch test --enabled true - ``` - -* 指定文件添加 - - 参数含义: - >--server :启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \ - --user :POST接口需要进行认证的用户名,同settings.conf中的USER参数 \ - --password :POST接口需要进行认证的口令,为settings.conf中的PASSWORD哈希值对应的实际的口令字符串 \ - --file :yaml文件路径 - - 将仓库、分支、版本管理工具、是否启动监控等信息写入yaml文件(例如tracking.yaml),文件路径作为`--file`的入参调用命令。 - - 例如: - - ```shell - # patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --file tracking.yaml - ``` - - yaml文件内容格式如下,冒号左边的内容不可修改,右边内容根据实际情况填写。 - - ```text - version_control: github - scm_repo: xxx/xxx - scm_branch: master - repo: xxx/xxx - branch: master - enabled: true - ``` - - > version_control :上游仓库版本的控制工具,只支持github \ - > scm_repo :被跟踪的上游仓库的仓库名称,github格式:组织/仓库 \ - > scm_branch :被跟踪的上游仓库的仓库的分支 \ - > repo :需要进行跟踪的仓库名称,格式:组织/仓库 \ - > branch :需要进行跟踪的仓库的分支名称 \ - > enabled :是否自动跟踪该仓库 - -* 指定目录添加 - - 在指定的目录,例如`test_yaml`下放入多个`xxx.yaml`文件,执行如下命令,记录指定目录下所有yaml文件的跟踪项。 - - 参数含义: - >--user :POST接口需要进行认证的用户名,同settings.conf中的USER参数 \ - --password :POST接口需要进行认证的口令,为settings.conf中的PASSWORD哈希值对应的实际的口令字符串 \ - --server :启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \ - --dir :存放yaml文件目录的路径 - - ```shell - # patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --dir /home/Work/test_yaml/ - ``` - -### 查询跟踪项 - -参数含义: ->--server :必选参数,启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \ ---table :必选参数,需要查询的表 \ ---repo :可选参数,需要查询的repo;如果没有该参数查询表中所有内容 \ ---branch :可选参数,需要查询的branch - -```shell -# patch-tracking-cli query --server SERVER --table tracking -``` - -例如: - -```shell -# patch-tracking-cli query --server 127.0.0.1:5001 --table tracking -``` - -### 查询生成的 Issue - -```shell -# patch-tracking-cli query --server SERVER --table issue -``` - -例如: - -```shell -# patch-tracking-cli query --server 127.0.0.1:5001 --table issue -``` - -### 删除跟踪项 - -```shell -# patch-tracking-cli delete --server SERVER --user USER --password PWD --repo REPO [--branch BRANCH] -``` - -例如: - -```shell -# patch-tracking-cli delete --server 127.0.0.1:5001 --user admin --password Test@123 --repo testPatchTrack/testPatch1 --branch master -``` - -> 可以删除指定repo和branch的单条数据;也可直接删除指定repo下所有branch的数据。 - -### 码云查看 issue 及 PR - -登录Gitee上进行跟踪的软件项目,在该项目的Issues和Pull Requests页签下,可以查看到名为`[patch tracking] TIME`,例如`[patch tracking] 20200713101548`的条目,该条目即是刚生成的补丁文件的issue和对应PR。 diff --git a/docs/zh/tools/devops/package_manage/pkgship/_toc.yaml b/docs/zh/tools/devops/package_manage/pkgship/_toc.yaml deleted file mode 100644 index 623114571ed9b6d2706a843ff1d7babb1877664e..0000000000000000000000000000000000000000 --- a/docs/zh/tools/devops/package_manage/pkgship/_toc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -label: pkgship -isManual: true -description: 提供软件包依赖查询、生命周期管理、补丁查询等功能 -sections: - - label: pkgship - href: ./pkgship.md diff --git a/docs/zh/tools/devops/package_manage/pkgship/images/packagemanagement.png b/docs/zh/tools/devops/package_manage/pkgship/images/packagemanagement.png deleted file mode 100644 index 915001f44cb143c26b10e9e71bcfaaf6ee3aef06..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/devops/package_manage/pkgship/images/packagemanagement.png and /dev/null differ diff --git a/docs/zh/tools/devops/package_manage/pkgship/images/panel.png b/docs/zh/tools/devops/package_manage/pkgship/images/panel.png deleted file mode 100644 index 150eb8c8229f9e8cb47706f3b82f07516a505076..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/devops/package_manage/pkgship/images/panel.png and /dev/null differ diff --git a/docs/zh/tools/devops/package_manage/pkgship/pkgship.md b/docs/zh/tools/devops/package_manage/pkgship/pkgship.md deleted file mode 100644 index ab91e3de5872302978cdc7c5a89e07b5aefcfba2..0000000000000000000000000000000000000000 --- a/docs/zh/tools/devops/package_manage/pkgship/pkgship.md +++ /dev/null @@ -1,442 +0,0 @@ -# pkgship - - - -- [pkgship](#pkgship) - - [介绍](#介绍) - - [架构](#架构) - - [软件下载](#软件下载) - - [运行环境](#运行环境) - - [安装工具](#安装工具) - - [配置参数](#配置参数) - - [服务启动和停止](#服务启动和停止) - - [工具使用](#工具使用) - - [日志查看和转储](#日志查看和转储) - - [扩展工具pkgship-panel](#扩展工具pkgship-panel) - - - -## 介绍 - -pkgship是一款管理OS软件包依赖关系,提供依赖和被依赖关系完整图谱的查询工具,pkgship提供软件包依赖查询、生命周期管理等功能。 - -1. 软件包基本信息查询:方便社区人员快速获取软件包的名称、版本、描述等基本信息。 -2. 软件包依赖查询:方便社区人员在软件包引入、更新和删除的时候了解软件的影响范围。 - -## 架构 - -系统采用flask-restful开发,架构如下图所示。 - -![avatar](./images/packagemanagement.png) - -## 在线使用 - -pkgship提供了公网地址,若无定制化需求,可直接使用在线查询。 - -若需要定制查询数据源,可按照文档进行本地安装、配置、使用。 - -## 软件下载 - -- Repo源挂载正式发布地址: -- 源码获取地址: -- RPM包版本获取地址: - -## 运行环境 - -- 硬件配置: - -| 配置项 | 推荐规格 | -| -------- | ----------- | -| CPU | 8核 | -| 内存 | 32G,最小4G | -| 硬盘 | 20G | -| 网络带宽 | 300M | -| I/O | 375MB/sec | - -- 软件配置: - -| 软件名 | 版本和规格 | -| ------------- | ------------------------------------------ | -| Elasticsearch | 版本7.10.1;单机部署可用;有能力可部署集群 | -| Redis | 建议5.0.4及以上;建议大小配置为内存的3/4 | -| Python | 版本 3.8及以上 | - -## 安装工具 - -> 说明:该软件支持在docker下运行。目前在openEuler21.09版本下,由于环境条件限制,创建docker时请使用--privileged参数,不使用--privileged参数将会导致软件启动失败,后续适配后将更新该文档。 - -**1、pkgship工具安装** - - 工具安装可通过以下两种方式中的任意一种实现。 - -- 方法一:通过dnf挂载repo源实现。 - 先使用dnf挂载pkgship软件所在repo源(具体方法可参考[《应用开发指南》](https://openeuler.org/zh/docs/20.09/docs/ApplicationDev/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html)),然后执行如下指令下载以及安装pkgship及其依赖。 - - ```bash - dnf install pkgship - ``` - -- 方法二:通过安装rpm包实现。 - 先下载pkgship的rpm包,然后执行如下命令进行安装(其中“x.x-x”表示版本号,请用实际情况代替)。 - - ```bash - rpm -ivh pkgship-x.x-x.oe1.noarch.rpm - ``` - - 或者 - - ```bash - dnf install pkgship-x.x-x.oe1.noarch.rpm - ``` - -**2、Elasticsearch和Redis安装** - - 如果环境没有安装Elasticsearch或者Redis,可以在pkgship安装之后执行自动化安装脚本。 - - 脚本路径默认为: - -```sh -/etc/pkgship/auto_install_pkgship_requires.sh -``` - - 执行方法为 - -```sh -/bin/bash auto_install_pkgship_requires.sh elasticsearch -``` - - 或者 - -```sh - /bin/bash auto_install_pkgship_requires.sh redis -``` - ->**说明:** ->以rpm包方式安装Elasticsearch默认为无密码模式,且pkgship需使用无密码设置的Elasticsearch,因此,当前建议Elasticsearch和pkgship需安装在同一服务器,通过网络隔离提高安全性。后续版本将支持Elasticsearch设置用户名密码。 - -**3、安装后添加用户** - -在安装pkgship软件后,会自动创建名为pkgshipuser的用户和名为pkgshipuser的用户组,无需手动创建,后续服务启动和运行时,都会以该用户角色操作。 - -## 配置参数 - -1.在配置文件中对相应参数进行配置,系统的默认配置文件存放在 /etc/pkgship/package.ini,请根据实际情况进行配置更改。 - -```sh -vim /etc/pkgship/package.ini -``` - -```ini -[SYSTEM-系统配置] -; 初始化数据库时导入的yaml文件存放位置,该yaml中记录导入的sqlite文件位置 -init_conf_path=/etc/pkgship/conf.yaml - -; 若部署为客户端-服务端方式,服务端需保证query_ip_addr为本机ip或者(0.0.0.0), -; 客户端可通过query_ip_addr和query_port访问服务端,或者通过设置映射的remote_host访问服务端 - -; 服务查询端口 -query_port=8090 - -; 服务查询ip -query_ip_addr=127.0.0.1 - -; 远程服务的地址,命令行可以直接调用远程服务来完成数据请求 -remote_host=https://api.openeuler.org/pkgmanage - -; 初始化和下载临时文件存放目录,不会长时间占用,建议可用空间至少1G -temporary_directory=/opt/pkgship/tmp/ - -[LOG-日志] -; 业务日志存放路径 -log_path=/var/log/pkgship/ - -; 打印日志级别,支持如下: -; INFO DEBUG WARNING ERROR CRITICAL -log_level=INFO - -; 单个业务日志文件最大容量,超过该值会自动压缩转储,默认为30M -max_bytes=31457280 - -; 备份日志保留的最大数量,默认为30 -backup_count=30 - -[UWSGI-Web服务器配置] -; 操作日志路径 -daemonize=/var/log/pkgship-operation/uwsgi.log -; 前后端传输数据大小 -buffer-size=65536 -; 网络连接超时时间 -http-timeout=600 -; 服务响应时间 -harakiri=600 - -[REDIS-缓存配置] -; Redis缓存服务器的地址可以是已发布的可以正常访问的域或IP地址 -;链接地址默认为127.0.0.1 -redis_host=127.0.0.1 - -;Redis缓存服务器的端口,默认为6379 -redis_port=6379 - -;Redis服务器一次允许的最大连接数 -redis_max_connections=10 - -[DATABASE-数据库] -;数据库访问地址,建议设置为本机地址 -database_host=127.0.0.1 - -;数据库访问端口,默认为9200 -database_port=9200 - -``` - -2.创建初始化数据库的yaml配置文件: -conf.yaml 文件默认存放在 /etc/pkgship/ 路径下,pkgship会通过该配置读取要建立的数据库名称以及需要导入的sqlite文件,也支持配置sqlite文件所在的repo地址。conf.yaml 示例如下所示。 - -```yaml -dbname: oe20.03 #数据库名称 -src_db_file: /etc/pkgship/repo/openEuler-20.03/src #源码包所在的本地路径 -bin_db_file: /etc/pkgship/repo/openEuler-20.03/bin #二进制包所在的本地路径 -priority: 1 #数据库优先级 - -dbname: oe20.09 -src_db_file: https://repo.openeuler.org/openEuler-20.09/source #源码包所在的repo源 -bin_db_file: https://repo.openeuler.org/openEuler-20.09/everything/aarch64 #二进制包所在的repo源 -priority: 2 -``` - -> 如需更改存放路径,请更改package.ini下的 init_conf_path 选项。 -> -> 不支持直接配置sqlite文件路径。 -> -> dbname请使用小写字母或者数字开头和结尾,支持括号内字符(. - _ +),不支持大写字母。 - -## 服务启动和停止 - -pkgship启动和停止方式有两种,systemctl方式和pkgshipd方式,其中systemctl方式启动可以有异常停止自启动的机制。两种方式的执行命令为: - -```shell -systemctl start pkgship.service 启动服务 - -systemctl stop pkgship.service 停止服务 - -systemctl restart pkgship.service 重启服务 -``` - -```sh -pkgshipd start 启动服务 - -pkgshipd stop 停止服务 -``` - -> 每次启停周期内仅支持一种方式,不允许两种操作同时使用。 -> -> pkgshipd启动方式只允许在pkgshipuser用户下操作。 -> -> docker环境下如果不支持systemctl命令,请使用pkgshipd启停方式。 - -## 工具使用 - -1. 数据库初始化。 - - > 使用场景:服务启动后,为了能查询对应的数据库(比如oe20.03,oe20.09)中的包信息及包依赖关系,需要将这些数据库通过createrepo生成的sqlite(分为源码库和二进制库)导入进服务内,生成对应的包信息json体然后插入Elasticsearch对应的数据库中。数据库名为根据conf.yaml中配置的dbname生成的dbname-source/binary。 - - ```bash - pkgship init [-filepath path] - ``` - - > 参数说明: - > -filepath:指定初始化配置文件config.yaml的路径,可以使用相对路径和绝对路径,不带参数则使用默认配置初始化,可选参数。 - -2. 单包查询。 - - 用户可查询源码包或者二进制包(packagename)在指定数据库表(database)中的具体信息。 - - > 使用场景:用户可查询源码包或者二进制包在指定数据库中的具体信息。 - - ```bash - pkgship pkginfo $packageName $database [-s] - ``` - - > 参数说明: - > packagename:指定要查询的软件包名,必传参数。 - > database:指定具体的数据库名称,必传参数。 - > - > -s: 指定`-s`将查询的是`src`源码包信息;若未指定 默认查询`bin`二进制包信息,可选参数。 - -3. 所有包查询。 - - 查询数据库下包含的所有包的信息。 - - > 使用场景:用户可查询指定数据库下包含的所有软件包信息。 - - ```bash - pkgship list $database [-s] - ``` - - > 参数说明: - > database:指定具体的数据库名称,必传参数。 - > -s: 指定`-s`将查询的是`src`源码包信息;若未指定 默认查询`bin`二进制包信息,可选参数。 - -4. 安装依赖查询。 - - 查询二进制包(binaryName)的安装依赖。 - - > 使用场景:用户需要安装某个二进制包A时,需要将该二进制包A的安装依赖B,及B的安装依赖C等等,直至所有的安装依赖全部安装到系统才能成功安装二进制包A。因此,在用户安装二进制包A之前,可能会需要查询二进制包A的所有安装依赖。该命令提供了此功能,允许用户根据平台默认的优先级在多个数据库之间进行查询;同时也支持用户自定义数据库查询优先级。 - - ```bash - pkgship installdep [$binaryName $binaryName1 $binaryName2...] [-dbs] [db1 db2...] [-level] $level - ``` - - > 参数说明: - > binaryName:需要查询安装的依赖的二进制包名字,支持传多个;必传参数。 - > - > -dbs:指定需要查询的database优先级,不传按照系统默认优先级搜索;可选参数。 - > - > -level:指定需要查询的依赖层级,不传默认为0,查询所有层级;可选参数。 - -5. 编译依赖查询。 - - 查询源码包(sourceName)的所有编译依赖。 - - > 使用场景:用户要编译某个源码包A的时候,需要安装源码包A的编译依赖B,要成功安装编译依赖B需要获取B的所有安装依赖。因此,在用户编译源码包A之前,可能会需要查询源码包的编译依赖以及这些编译依赖的所有安装依赖。该命令提供了此功能,允许用户根据平台默认的优先级在多个数据库之间进行查询;同时也支持用户自定义数据库查询优先级。 - - ```bash - pkgship builddep [$sourceName $sourceName1 $sourceName2..] -dbs [db1 db2 ..] [-level] $level - ``` - - > 参数说明: - > sourceName:需要查询编译依赖的源码包名字,支持多个查询;必传参数。 - > - > -dbs: 指定需要查询的database优先级,不传按照系统默认优先级搜索;可选参数。 - > - > -level:指定需要查询的依赖层级,不传默认为0,查询所有层级;可选参数。 - -6. 自编译自安装依赖查询。 - - 查询指定二进制包(binaryName)或源码包(sourceName )的安装及编译依赖,其中[pkgName]为查询的二进制包或者源码包的名称。当查询二进制包时,可以查询到该二进制包的所有安装依赖以及该二进制包对应的源码包的编译依赖,及这些编译依赖的所有安装依赖;当查询源码包时,可以查询该源码包的编译依赖,及这些编译依赖的所有安装依赖,并且查询该源码包生成的所有二进制包的所有安装依赖。同时,配合对应参数使用,该命令也支持查询软件包的自编译依赖查询,和包含子包的依赖查询。 - - > 使用场景:如果开发者想在现有的版本库的基础上引入新的软件包,应同时引入该软件包的所有编译、安装依赖。该命令提供开发者一个同时查询这两种依赖关系的功能,能让开发者知晓该软件包会引入哪些其他的包,该命令支持查询二进制包和源码包。 - - ```bash - pkgship selfdepend [$pkgName1 $pkgName2 $pkgName3 ..] [-dbs] [db1 db2..] [-b] [-s] [-w] - ``` - - > 参数说明: - > - > pkgName:需要查询安装的依赖的软件包名字,支持传多个;必传参数。 - > - > -dbs: 指定需要查询的database优先级,不传按照系统默认优先级搜索;可选参数。 - > - > -b:指定`-b`表示查询的包是二进制,不指定默认查询源码包;可选参数。 - > - > -s: 指定-s表示查询软件包的所有安装依赖和所有编译依赖(即编译依赖的源码包的编译依赖),以及所有编译依赖的安装依赖;如果不增加-s参数表示只查询软件包的所有安装依赖和一层编译依赖,以及一层编译依赖的所有安装依赖;可选参数。 - > - > -w:指定-w表示引入某个二进制包的时候,查询结果会显示出该二进制包对应的源码包以及该源码包生成的所有二进制包;如果不指定-w参数表示引入某个二进制包的时候,查询结果只显示对应的源码包;可选参数。 - -7. 被依赖查询。 - 查询软件包(pkgName)在某数据库(dbName)中被哪些包所依赖。 - - > 使用场景:针对软件包A,在升级或删除的情况下会影响哪些软件包,可通过该命令查询。该命令会显示源码包A(若为源码包)生成的所有二进制包(若输入为二进制包,那此处即为输入的二进制包)被哪些源码包(比如B)编译依赖,被哪些二进制包(比如C1)安装依赖;以及B生成的二进制包及C1被哪些源码包(比如D)编译依赖,被哪些二进制包(比如E1)安装依赖,以此类推,遍历这些二进制包的被依赖。 - - ```bash - pkgship bedepend dbName [$pkgName1 $pkgName2 $pkgName3] [-w] [-b] [-install/build] - ``` - - > 参数说明: - > - > dbName:需要查询依赖关系的仓库,不支持多个;必选参数。 - > - > pkgName:待查询的软件包名称,支持多个;必选参数。 - > - > -w :当不指定-w 时,查询结果默认不包含对应源码包的子包;当命令后指定配置参数[-w] 时,不仅会查询二进制包C1的被依赖关系,还会进一步去查询C1对应的源码包C生成的其他二进制包(比如:C2,C3)的被依赖关系;可选参数。 - > - > -b:指定`-b`表示查询的包是二进制,默认查询源码包;可选参数。 - > - > -install/build:指定`-install`表示查询的是安装被依赖,指定`-build`表示查询的是编译被依赖,默认查全部, 不能`-install`和`-build`同时存在;可选参数。 - -8. 数据库信息。 - - > 使用场景,查看Elasticsearch中初始化了哪些数据库,该功能会按照优先级顺序返回已经初始化的数据库列表。 - - `pkgship dbs` - -9. 获取版本号。 - - > 使用场景:获取pkgship软件的版本号。 - - `pkgship -v` - -## 日志查看和转储 - - **日志查看** - - pkgship服务在运行时会产生两种日志,业务日志和操作日志。 - - 1、业务日志: - - 路径:/var/log/pkgship/log_info.log(支持在package.ini中通过log_path字段自定义路径)。 - - 功能:主要记录代码内部运行的日志,方便问题定位。 - - 权限:路径权限755,日志文件权限644,普通用户可以查看。 - -2、操作日志: - -路径:/var/log/pkgship-operation/uwsgi.log (支持在package.ini中通过daemonize字段自定义路径)。 - -功能:记录使用者操作信息,包括ip,访问时间,访问url,访问结果等,方便后续查阅以及记录攻击者信息。 - -权限:路径权限700,日志文件权限644,只有root和pkgshipuser可以查看。 - -**日志转储** - -1、业务日志转储: - -- 转储机制 - - 使用python自带的logging内置函数的转储机制,按照日志大小来备份。 - -> 配置项,package.ini中配置每个日志的容量和备份数量 -> -> ```ini -> ; Maximum capacity of each file, the unit is byte, default is 30M -> max_bytes=31457280 -> -> ; Number of old logs to keep;default is 30 -> backup_count=30 -> ``` - -- 转储过程 - - 当某次日志写入后,日志文件大小超过配置的日志容量时,会自动压缩转储,压缩后文件名为log_info.log.x.gz, x是数字,数字越小为越新的备份。 - - 当备份日志数量到达配置的备份数量之后,最早的备份日志会被删除掉,然后备份一个最新的压缩日志文件。 - -2、操作日志转储: - -- 转储机制 - - 使用脚本进行转储,按照时间转储,每日转储一次,共保留30天,不支持自定义配置。 - - > 脚本位置:/etc/pkgship/uwsgi_logrotate.sh - -- 转储过程 - - pkgship启动时转储脚本后台运行,从启动时,每隔1天进行转储压缩,共保留30份压缩文件,压缩文件名称为uwsgi.log-20201010x.zip, x为压缩时的小时数。 - - pkgship停止后转储脚本停止,不再进行转储,再次启动时,转储脚本重新执行。 - -## 扩展工具pkgship-panel - -### 介绍 - -pkgship-panel旨在将软件包构建信息和维护信息集成到一起,方便版本维护人员可以快速识别构建异常软件包并快速邮件通知相关责任人去解决,保证构建工程稳定性,提高OS构建成功率。 - -### 架构 - -![](images/panel.png) - -### 工具使用 - -由于工具数据源不可配置,所以建议直接使用pkgship-panel官网: diff --git a/docs/zh/tools/maintenance/_toc.yaml b/docs/zh/tools/maintenance/_toc.yaml index 0f9cdc5c9be46688e152dff0bd5210d97ea30f52..e7b1afb2f7ec29df0f65fe33c94ed7b1e6d34f79 100644 --- a/docs/zh/tools/maintenance/_toc.yaml +++ b/docs/zh/tools/maintenance/_toc.yaml @@ -2,7 +2,8 @@ label: 系统运维 sections: - label: 热补丁制作 sections: - - href: ../../server/maintenance/syscare/_toc.yaml + - href: + upstream: https://gitee.com/openeuler/syscare/blob/master/docs/zh/_toc.yaml - label: 系统监控 sections: - href: diff --git a/docs/zh/tools/ros/_toc.yaml b/docs/zh/tools/ros/_toc.yaml deleted file mode 100644 index 9763d7ab5971a32677803c361845bedbf19da456..0000000000000000000000000000000000000000 --- a/docs/zh/tools/ros/_toc.yaml +++ /dev/null @@ -1,14 +0,0 @@ -label: ROS 用户指南 -isManual: true -description: 主要介绍了 openEuler 系统上 ROS 的安装部署与使用方法。 -sections: - - label: ROS 用户指南 - href: ./ros_user_guide.md - - label: 认识ROS - href: ./getting_to_know_ros.md - - label: 安装与部署 - href: ./installation_and_deployment.md - - label: 使用方法 - href: ./usage_guide.md - - label: 附录 - href: ./appendix.md diff --git a/docs/zh/tools/ros/appendix.md b/docs/zh/tools/ros/appendix.md deleted file mode 100644 index 68d9f8f1f83facefa323a5fc188d9ab090c05c4f..0000000000000000000000000000000000000000 --- a/docs/zh/tools/ros/appendix.md +++ /dev/null @@ -1,3 +0,0 @@ -# 附录 - -更详细的ROS介绍可访问[ROS wiki](https://wiki.ros.org/),[ROS docs](http://docs.ros.org/)获取。 diff --git a/docs/zh/tools/ros/faqs_and_solutions.md b/docs/zh/tools/ros/faqs_and_solutions.md deleted file mode 100644 index 5a41881407ba05eb31cc26068d821ebb4a23c0f3..0000000000000000000000000000000000000000 --- a/docs/zh/tools/ros/faqs_and_solutions.md +++ /dev/null @@ -1,21 +0,0 @@ -# 常见问题及解决方法 - -## 问题1: - -![](./figures/problem.png) - -原因:出现该警告的原因在于环境变量中同时存在ROS1、ROS2。 - -解决方法:修改环境变量,避免两个版本冲突。 - -```shell -[root@openEuler ~]# vim /opt/ros/humble/share/ros_environment/environment/1.ros_distro.sh -``` - -```shell -# generated from ros_environment/env-hooks/1.ros_distro.sh.in - -#export ROS_DISTRO=humble -``` - -将里面的内容全部注释即可。 diff --git a/docs/zh/tools/ros/figures/ROS-ROS2.png b/docs/zh/tools/ros/figures/ROS-ROS2.png deleted file mode 100644 index 649c0aa93b0a3710f027ecf9df2482920f16301e..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/ros/figures/ROS-ROS2.png and /dev/null differ diff --git a/docs/zh/tools/ros/figures/ROS-demo.png b/docs/zh/tools/ros/figures/ROS-demo.png deleted file mode 100644 index 184ae905d022e52adbac7fcee59d956903e1ff5c..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/ros/figures/ROS-demo.png and /dev/null differ diff --git a/docs/zh/tools/ros/figures/ROS-release.png b/docs/zh/tools/ros/figures/ROS-release.png deleted file mode 100644 index bf7c1cb7b2b0b60ec375613d32e09ecd0a9174d0..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/ros/figures/ROS-release.png and /dev/null differ diff --git a/docs/zh/tools/ros/figures/ROS2-release.png b/docs/zh/tools/ros/figures/ROS2-release.png deleted file mode 100644 index dc606412c467714af1d05c92b244ecfef63664f6..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/ros/figures/ROS2-release.png and /dev/null differ diff --git a/docs/zh/tools/ros/figures/problem.png b/docs/zh/tools/ros/figures/problem.png deleted file mode 100644 index 9f690fb99cac9b957a6601b6eca3a011bee12273..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/ros/figures/problem.png and /dev/null differ diff --git a/docs/zh/tools/ros/figures/ros-humble.png b/docs/zh/tools/ros/figures/ros-humble.png deleted file mode 100644 index a6079358d9df9b983d82679af067a634fe5c05c3..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/ros/figures/ros-humble.png and /dev/null differ diff --git a/docs/zh/tools/ros/figures/turtlesim.png b/docs/zh/tools/ros/figures/turtlesim.png deleted file mode 100644 index ebc8368f7e8e6a4b44075ad402b492638d636181..0000000000000000000000000000000000000000 Binary files a/docs/zh/tools/ros/figures/turtlesim.png and /dev/null differ diff --git a/docs/zh/tools/ros/getting_to_know_ros.md b/docs/zh/tools/ros/getting_to_know_ros.md deleted file mode 100644 index df0ee4246d307be9155c02fa4627bc634c0af5ea..0000000000000000000000000000000000000000 --- a/docs/zh/tools/ros/getting_to_know_ros.md +++ /dev/null @@ -1,33 +0,0 @@ -# 认识ROS - -## 简介 - -ROS 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。 - -ROS的运行架构是一种使用ROS通信模块实现模块间[P2P](https://zh.wikipedia.org/wiki/對等網路)的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括: - -1. 基于服务的同步[RPC](https://zh.wikipedia.org/wiki/遠程過程調用)(远程过程调用)通讯; -2. 基于Topic的异步数据流通讯,还有参数服务器上的数据存储。 - -自从2007年ROS开始以来,伴随着机器人技术的大发展,ROS的核心思想和基本软件包逐渐完善并发布了不同的ROS发行版本。下面是当前和历史的ROS发行版列表,表中以绿色标记的行是当前支持的发行版。 - -![ROS 发行版](./figures/ROS-release.png) - -ROS虽然仍是机器人领域的开发利器,但介于最初设计时的局限性,也逐渐暴露出不少问题。比如:实时性差、系统开销大、对Python3支持不友好、没有加密机制安全性不高等问题。不少开发者和研究机构还针对ROS的局限性进行了改良,但这些局部功能的改善往往很难带来整体性能的提升。在ROSCon 2014上,新一代ROS的设计架构(Next-generation ROS: Building on DDS)正式公布,2015年8月31日第一个ROS2.0的alpha版本落地,之后也发布了不同的发行版本。下面是当前和历史的ROS2发行版列表,表中以绿色标记的行是当前支持的发行版。 - -![ROS2 发行版](./figures/ROS2-release.png) - -## 架构 - -ROS总体架构如下图所示: - -![ROS 架构](./figures/ROS-ROS2.png) - -1. OS层 - - ROS1主要构建于Linux系统之上,ROS2带来了改变,支持构建的系统包括Linux、Windows、Mac、RTOS,甚至没有操作系统的裸机。 -2. 中间件 - - ROS中最重要的一个概念就是基于发布/订阅模型的“节点”,可以让开发者并行开发低耦合的功能模块,并且便于二次复用。ROS1的通讯系统基于TCPROS/UDPROS,而ROS2的通讯系统基于DDS。DDS是一种分布式实时系统中数据发布/订阅的标准解决方案,下一小节会具体讲解。ROS2内部提供了DDS的抽象层实现,用户不需要关注底层DDS的提供厂家。 - - 在ROS1的架构中Nodelet和TCPROS/UDPROS是并列的层次,为同一个进程中的多个节点提供一种更优化的数据传输方式。ROS2中也保留了这种数据传输方式,只不过换了一个名字,叫做“Intra-process”,同样也是独立于DDS。 -3. 应用层 - - - ROS1强依赖于ROS Master,可以想像一旦Master宕机,整个系统会面临如何的窘境。但是从右边ROS2的架构中我们可以发现,之前让人耿耿于怀的Master终于消失了,节点之间使用一种称为“Discovery”的发现机制来获取彼此的信息。 diff --git a/docs/zh/tools/ros/installation_and_deployment.md b/docs/zh/tools/ros/installation_and_deployment.md deleted file mode 100644 index 4fbe1ef85ebfd69412d0c275cc10957b17652edd..0000000000000000000000000000000000000000 --- a/docs/zh/tools/ros/installation_and_deployment.md +++ /dev/null @@ -1,67 +0,0 @@ -# 安装与部署 - -## 硬件要求 - -* x86_64架构、AArch64架构 - -## 环境准备 - -* 安装 openEuler 系统,安装方法参考 《[安装指南](../../server/installation_upgrade/installation/installation_on_servers.md)》。 - -## 1. ROS2 - -### 1. ros-humble - -#### 1. 安装ros-humble - -1. 安装ros-humble 软件包 - - ```shell - [root@openEuler ~]# yum install openeuler-ros - [root@openEuler ~]# yum install ros-noetic-* - ``` - -2. 执行如下命令,查看安装是否成功。如果回显有对应软件包,表示安装成功。 - - ```shell - [root@openEuler ~]# rpm -q ros-humble - ``` - -### 2. ros-noetic - -#### 2. 安装ros-noetic - -1. 安装ros-noetic 软件包 - - ```shell - [root@openEuler ~]# yum install openeuler-ros - [root@openEuler ~]# yum install ros-noetic-* - ``` - -2. 执行如下命令,查看安装是否成功。如果回显有对应软件包,表示安装成功。 - - ```shell - [root@openEuler ~]# rpm -q ros-noetic - ``` - -#### 2. 测试 ros-humble - -##### 运行小乌龟 - -1. 启动小乌龟 - - ```shell - [root@openEuler ~]# source /opt/ros/humble/setup.bash - [root@openEuler ~]# ros2 run turtlesim turtlesim_node - ``` - -2. 打开小乌龟控制终端 - - ```shell - [root@openEuler ~]# source /opt/ros/humble/setup.bash - [root@openEuler ~]# ros2 run turtlesim turtle_teleop_key - ``` - -3. 在乌龟控制终端中使用方向键控制乌龟运动 - - ![ros-humble](./figures/ros-humble.png) diff --git a/docs/zh/tools/ros/ros_user_guide.md b/docs/zh/tools/ros/ros_user_guide.md deleted file mode 100644 index 9b2a72aae3dd642106c17223e52c67666bfb6ab2..0000000000000000000000000000000000000000 --- a/docs/zh/tools/ros/ros_user_guide.md +++ /dev/null @@ -1,5 +0,0 @@ -# ROS用户指南 - -本文档介绍openEuler系统上ROS(英语:Robot Operating System,一般译为机器人操作系统)的安装部署与使用方法,以指导用户快速了解并使用ROS。 - -本文档适用于使用openEuler系统并希望了解和使用ROS的社区开发者、开源爱好者以及相关合作伙伴。使用人员需要具备基本的Linux操作系统知识。 \ No newline at end of file diff --git a/docs/zh/tools/ros/usage_guide.md b/docs/zh/tools/ros/usage_guide.md deleted file mode 100644 index b3a6f25386497642ca51e62c834ed39b0d71fe1c..0000000000000000000000000000000000000000 --- a/docs/zh/tools/ros/usage_guide.md +++ /dev/null @@ -1,57 +0,0 @@ -# 使用方法 - -## ROS使用 - -ROS 提供了一些实用的命令行工具,可以用于获取不同节点的各类信息,常用的命令如下: - -- rosnode : 操作节点 -- rostopic : 操作话题 -- rosservice : 操作服务 -- rosmsg : 操作msg消息 -- rossrv : 操作srv消息 -- rosparam : 操作参数 - -另请参考: - -http://wiki.ros.org/ROS/CommandLineTools - -## ROS2使用 - -```shell -# 命令help -[root@openEuler ~]# ros2 --help -usage: ros2 [-h] Call `ros2 -h` for more detailed usage. ... - -ros2 is an extensible command-line tool for ROS 2. - -optional arguments: - -h, --help show this help message and exit - -Commands: - action Various action related sub-commands - bag Various rosbag related sub-commands - component Various component related sub-commands - daemon Various daemon related sub-commands - doctor Check ROS setup and other potential issues - interface Show information about ROS interfaces - launch Run a launch file - lifecycle Various lifecycle related sub-commands - multicast Various multicast related sub-commands - node Various node related sub-commands - param Various param related sub-commands - pkg Various package related sub-commands - run Run a package specific executable - security Various security related sub-commands - service Various service related sub-commands - test Run a ROS2 launch test - topic Various topic related sub-commands - trace Trace ROS nodes to get information on their execution - wtf Use `wtf` as alias to `doctor` - - Call `ros2 -h` for more detailed usage. -``` - -## 注意事项 - -* 新打开终端需要执行“source /opt/ros/foxy/local_setup.bash”或“source /opt/ros/noetic/setup.bash”命令。 -