/images/avatar.png

Linux cp 命令完全指南

cp 命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp 命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

语法

1
cp [选项] [参数]

选项

  • -a:此参数的效果和同时指定“-dpR”参数相同;
  • -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
  • -f:强行复制文件或目录,不论目标文件或目录是否已存在;
  • -i:覆盖既有文件之前先询问用户;
  • -l:对源文件建立硬连接,而非复制文件;
  • -p:保留源文件或目录的属性;
  • -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
  • -s:对源文件建立符号连接,而非复制文件;
  • -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
  • -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
  • -b:覆盖已存在的文件目标前将目标文件备份;
  • -v:详细显示命令执行的操作。

参数

  • 源文件:指定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
  • 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。

实例

  1. 复制文件并更新已存在文件
1
cp -r -u -v /tmp ~/test/tmp

此命令会递归地复制 /tmp 下的文件到 ~/test/tmp 目录中,且仅在源文件更新时才会进行复制,并详细显示操作。

  1. 使用备份选项复制文件并创建编号备份
1
cp --force --backup=numbered test001.py test001.py

此命令会强制覆盖 test001.py 并且创建带编号的备份文件,如 test001.py.1 和 test001.py.2

  1. 复制文件到当前目录
1
cp ../usr/local/bin/test .

将 ../usr/local/bin/test 复制到当前目录。

  1. 将文件复制到指定目录并改名
1
cp file /tmp/file-test

将 file 文件复制到 /tmp 目录,并将其改名为 file-test

Linux find 命令完全指南

find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时不设置任何参数,则 find 命令将在当前目录下查找子目录与文件,并将查找到的子目录和文件全部显示。

语法

1
find [选项] [参数]

选项

  • -amin <分钟>:查找在指定时间曾被存取过的文件或目录,单位为分钟。
  • -anewer <参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录。
  • -atime <24小时数>:查找在指定时间曾被存取过的文件或目录,单位为24小时。
  • -cmin <分钟>:查找在指定时间曾被更改过的文件或目录,单位为分钟。
  • -cnewer <参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。
  • -ctime <24小时数>:查找在指定时间曾被更改过的文件或目录,单位为24小时。
  • -daystart:从本日开始计算时间。
  • -depth:从指定目录下最深层的子目录开始查找。
  • -empty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录。
  • -exec <执行指令>:假设find指令的回传值为True,就执行该指令。
  • -false:将find指令的回传值皆设为False。
  • -fls <列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件。
  • -follow:排除符号连接。
  • -fprint <列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件。
  • -fstype <文件系统类型>:只寻找该文件系统类型下的文件或目录。
  • -gid <群组识别码>:查找符合指定之群组识别码的文件或目录。
  • -group <群组名称>:查找符合指定之群组名称的文件或目录。
  • -help–help:在线帮助。
  • -iname <范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别。
  • -links <连接数目>:查找符合指定的硬连接数目的文件或目录。
  • -ls:假设find指令的回传值为True,就将文件或目录名称列出到标准输出。
  • -maxdepth <目录层级>:设置最大目录层级。
  • -mindepth <目录层级>:设置最小目录层级。
  • -mmin <分钟>:查找在指定时间曾被更改过的文件或目录,单位为分钟。
  • -name <范本样式>:指定字符串作为寻找文件或目录的范本样式。
  • -newer <参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。
  • -perm <权限数值>:查找符合指定的权限数值的文件或目录。
  • -print:假设find指令的回传值为True,就将文件或目录名称列出到标准输出。
  • -printf <输出格式>:假设find指令的回传值为True,就将文件或目录名称列出到标准输出,格式可以自行指定。
  • -size <文件大小>:查找符合指定的文件大小的文件。
  • -type <文件类型>:只寻找符合指定的文件类型的文件。
  • -uid <用户识别码>:查找符合指定的用户识别码的文件或目录。
  • -user <拥有者名称>:查找符合指定的拥有者名称的文件或目录。
  • -xdev:将范围局限在先行的文件系统中。

文件类型

  • f:普通文件
  • l:符号连接
  • d:目录
  • c:字符设备
  • b:块设备
  • s:套接字
  • p:Fifo

简单示例

  1. 列出当前目录及子目录下所有文件和文件夹
1
find .
  1. /home 目录下查找以 .txt 结尾的文件名
1
find /home -name "*.txt"
  1. 忽略大小写查找 .txt 文件
1
find /home -iname "*.txt"
  1. 当前目录及子目录下查找所有以 .txt.pdf 结尾的文件
1
2
3
find . \( -name "*.txt" -o -name "*.pdf" \)
find . -name "*.txt" -o -name "*.pdf"
  1. 基于正则表达式匹配文件路径
1
find . -regex ".*\(\.txt\|\.pdf\)$"
  1. 搜索 /usr/ 目录中路径包含 “local” 的文件
1
find /usr/ -path "*local*"
  1. 找出/home下不是以.txt结尾的文件
1
find /home ! -name "*.txt"
  1. 根据文件类型进行搜索
1
find . -type 类型参数

Linux ls 命令完全指南

用法

1
2
3
4
5
ls [选项] [文件名...]  
   [-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [--full-time]  
   [--format={long,verbose,commas,across,vertical,single-col‐umn}]  
   [--sort={none,time,size,extension}] [--time={atime,access,use,ctime,status}]  
   [--color[={none,auto,always}]] [--help] [--version] [--]  

常用选项

  • -C 多列输出,纵向排序。
  • -F 每个目录名加 “/” 后缀,每个 FIFO 名加 “|” 后缀,每个可运行名加“ * ”后缀。
  • -R 递归列出遇到的子目录。
  • -a 列出所有文件,包括以 “.” 开头的隐含文件。
  • -c 使用“状态改变时间”代替“文件修改时间”为依据来排序(使用“-t”选项时)或列出(使用“-l”选项时)。
  • -d 将目录名像其它文件一样列出,而不是列出它们的内容。
  • -i 输出文件前先输出文件系列号(即 i 节点号)。
  • -q 将文件名中的非打印字符输出为问号。
  • -r 逆序排列。
  • -t 按时间信息排序。
  • -u 使用最近访问时间代替最近修改时间为依据来排序(使用“-t”选项时)或列出(使用“-l”选项时)。
  • -1 单列输出。
  • -l 列出详细信息(文件模式、链接数、所有者、组名、文件大小、时间信息、文件名)。
  • -m 水平列出文件,用逗号和空格分隔。
  • -n 列出数字化的 UID 和 GID,而不是用户名和组名。
  • -p 在每个文件名后附上一个字符以说明文件类型。
  • -s 输出文件大小,以 1024 字节的块为单位。
  • -w 假定屏幕宽度是 cols 列。
  • -x 多列输出,横向排序。
  • -A 显示除 “.” 和 “..” 外的所有文件。
  • -B 不输出以“ ~ ”结尾的备份文件,除非已在命令行中给出。
  • -F 在每个文件名后附上一个字符以说明文件的类型。
  • –color[=when] 指定是否使用颜色区别文件类别。可选参数 noneautoalways
  • –full-time 列出完整的时间信息。

选项详细说明

  • -c / –time=ctime: 按文件状态改变时间(ctime)排序。
  • -d / –directory: 将目录名像其它文件一样列出,而不是列出它们的内容。
  • -f: 不排序目录内容,按它们在磁盘上存储的顺序列出。
  • -l: 显示长格式信息,包括权限、硬链接数、所有者、组名、文件大小、时间等。
  • -i / –inode: 输出每个文件的 inode 号。
  • -m / –format=commas: 水平列出文件,用逗号分隔。
  • -n / –numeric-uid-gid: 显示数字化的 UID 和 GID。
  • -s / –size: 输出文件大小。
  • -T / –tabsize: 假定每个制表符的宽度为 cols(默认值为 8)。
  • -u / –time=atime: 使用文件的最近访问时间(atime)排序。
  • -X / –sort=extension: 按文件扩展名的字典顺序排序。

简单示例

  1. 列出当前目录下的文件:
1
ls
  1. 列出当前目录下的文件,并显示详细信息:
1
ls -l
  1. 列出当前目录下所有文件(包括隐藏文件):
1
ls -al
  1. 按文件大小排序列出当前目录下的文件:
1
ls --human-readable --size -1 -S --classify
  1. 按文件大小排序,并使用 du 命令:
1
du -sh * | sort -h
  1. 显示包括隐藏文件在内的所有文件列表:
1
ls -a

Linux mv 命令完全指南

mv 命令用于对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。

语法

1
mv [选项] [参数]

主要用途

  • 将源文件或目录移动到目标文件或目录。
  • 重新命名文件或目录。

参数

  • 源文件:指定源文件或目录,可以是一个或多个文件。
  • 目标文件:目标文件或目录。
    • 如果目标是文件名,则会将源文件重命名为目标文件。
    • 如果目标是目录名,则源文件会被移动到目标目录下。

选项

  • –backup=<备份模式>:若需覆盖文件,则覆盖前先行备份。
  • -b:当文件存在时,覆盖前,为其创建一个备份。
  • -f:如果目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录。
  • -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入“y”表示将覆盖目标文件;输入“n”表示取消对源文件的移动。
  • –strip-trailing-slashes:删除源文件中的斜杠“/”。
  • -S<后缀>:为备份文件指定后缀,而不使用默认的后缀。
  • –target-directory=<目录>:指定源文件要移动到目标目录。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

实例

1. 将目录中的所有文件移到当前目录

1
mv /usr/men/* .

将 /usr/men/ 目录中的所有文件移动到当前目录(用 . 表示)。

  1. 移动文件
1
mv file_1.txt /home/office/

将 file_1.txt 文件移动到 /home/office/ 目录。

  1. 移动多个文件
1
mv file_2.txt file_3.txt file_4.txt /home/office/

将 file_2.txt、file_3.txt 和 file_4.txt 移动到 /home/office/ 目录。

  1. 移动文件匹配模式的文件
1
mv *.txt /home/office/

将当前目录下所有 .txt 文件移动到 /home/office/ 目录。

UBUNTU-24.04-初始化配置

一、系统检查升级:

sudo apt-get update && sudo apt-get upgrade

二、配置主机名

sudo hostnamectl hostname ubuntu

三、安装nfs

# 安装
sudo apt-get install nfs4-acl-tools nfs-common -y

四、qemu-guest-agent-虚拟机使用-非虚拟机可不用安装

# 安装
sudo apt-get install qemu-guest-agent -y
# 启动-开机启动-查看状态
sudo systemctl enable qemu-guest-agent && sudo systemctl start qemu-guest-agent && sudo systemctl status qemu-guest-agent

五、修改hosts文件

sudo vim /etc/hosts
10.10.10.111    ubuntu  Ubuntu

六、句柄配置

ulimit -SHn 65535

修改limits.conf文件

sudo vim /etc/security/limits.conf

* soft nofile 655360
* hard nofile 131072
* soft nproc 655350
* hard nproc 655350
* seft memlock unlimited
* hard memlock unlimitedd

ulimit -a

七、安装时间同步服务

sudo apt-get install chrony 

备份原有配置

Helm安装Gitlab-Runner

添加htlm-gitlab源

helm repo add gitlab https://charts.gitlab.cn

列出repo

helm repo list

创建空间

kubectl create namespace gitlab

修改gitlab-runner.yaml文件

sudo vim gitlab-runner.yaml

imagePullPolicy: IfNotPresent # 镜像拉取策略,IfNotPresent 表示如果本地有镜像则不拉取
concurrent: 5 # 同时运行的 Runner 数量
checkInterval: 30 # Runner 定期检查任务的时间间隔(秒)
logLevel: info # 日志级别

## Gitlab服务器地址
gitlabUrl: https://gitlab.hckz.top # Gitlab 服务的访问地址

## 注册token
runnerRegistrationToken: "glrt-t1_xxxxxxxxxxxxxxxx_7" # 用于注册 Runner 的 token

# 创建RBAC (角色访问控制)
rbac:
  create: true # 是否创建 RBAC 资源

serviceAccount:
  create: true # 是否创建服务账户

# 添加 hosts 文件解析配置
hostAliases: 
  - ip: "10.10.10.140" # 指定的 IP 地址
    hostnames:
    - "gitlab.hckz.top" # 与 IP 地址对应的主机名

runners:
  config: |
    [[runners]]
      [runners.kubernetes]
        namespace = "{{.Release.Namespace}}" # 指定运行器使用的命名空间
        image = "ubuntu:20.04" # 指定 Pod 中使用的基础镜像
      [[runners.kubernetes.host_aliases]]
        ip = "10.10.10.140" # 指定 IP 地址
        hostnames = ["gitlab.hckz.top"] # 与 IP 地址对应的主机名
      [[runners.kubernetes.volumes.host_path]]
          name = "docker" # 卷名称
          mount_path = "/var/run/docker.sock" # 容器中挂载路径
          host_path = "/var/run/docker.sock" # 主机上的路径
      [runners.kubernetes.security_context]
        run_as_user = 100 # 设置运行容器的用户 ID
        fs_group = 65533 # 设置文件系统组 ID

securityContext:
  runAsUser: 100 # 运行容器的用户 ID
  fsGroup: 65533 # 文件系统组 ID

metrics:
  enabled: false # 是否启用监控指标

安装命令

K8S-组件版本查看

ingress-nginx

kubectl -n ingress-nginx get deployments.apps ingress-nginx-controller-nginx -o jsonpath='{.spec.template.spec.containers[0].image}' && echo

>> swr.cn-east-2.myhuaweicloud.com/kuboard-dependency/ingress-nginx:v1.0.0

kubectl -n ingress-nginx get deployments.apps ingress-nginx-controller-nginx -o jsonpath='{.metadata.labels.app\.kubernetes\.io\/version}' && echo

>> 1.0.0

calico

kubectl -n calico-system get deployment calico-kube-controllers -o jsonpath='{.spec.template.spec.containers[0].image}' && echo

>> docker.io/calico/kube-controllers:v3.29.1

kubernetesVersion

kubectl -n kube-system get cm kubeadm-config -o jsonpath='{.data.ClusterConfiguration}' | grep kubernetesVersion

>> kubernetesVersion: v1.31.3

kubectl

kubectl version -o yaml

>>
clientVersion:
buildDate: "2024-11-19T13:51:52Z"
compiler: gc
gitCommit: c83cbee114ddb732cdc06d3d1b62c9eb9220726f
gitTreeState: clean
gitVersion: v1.31.3
goVersion: go1.22.8
major: "1"
minor: "31"
platform: linux/amd64
kustomizeVersion: v5.4.2
serverVersion:
buildDate: "2024-11-19T13:48:20Z"
compiler: gc
gitCommit: c83cbee114ddb732cdc06d3d1b62c9eb9220726f
gitTreeState: clean
gitVersion: v1.31.3
goVersion: go1.22.8
major: "1"
minor: "31"
platform: linux/amd64

ubuntu-24.04-server-live搭建K8s-完整版

  1. 系统检查升级:
1
sudo apt-get update && sudo apt-get upgrade
  1. 配置主机名
1
2
3
sudo hostnamectl hostname master
sudo hostnamectl hostname node-a
sudo hostnamectl hostname node-b
  1. 安装nfs
1
sudo apt-get install nfs4-acl-tools nfs-common -y
  1. qemu-guest-agent-虚拟机使用-非虚拟机可不用安装
1
sudo apt-get install qemu-guest-agent -y

启动-开机启动-查看状态

1
sudo systemctl enable qemu-guest-agent && sudo systemctl start qemu-guest-agent && sudo systemctl status qemu-guest-agent
  1. 修改hosts文件
1
2
3
4
5
6
sudo vim /etc/hosts
---
10.10.10.120    master  MASTER
10.10.10.122    node-a NODE-A
10.10.10.124    node-b NODE-B
10.10.10.130    gitlab  GITLAB
  1. 关闭防火墙
1
2
3
sudo service ufw stop
sudo update-rc.d ufw defaults-disabled
sudo systemctl disable ufw.service
  1. 配置iptables
1
2
3
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -L -n
  1. 禁用 swap 分区
1
2
sudo swapoff -a
sudo vim /etc/fstab

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
cat /etc/fstab 
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# /dev/disk/by-uuid/b37ae6c4-bf8d-4f7c-8500-9a8f108b8c5f none swap sw 0 0
# / was on /dev/sda4 during curtin installation
/dev/disk/by-uuid/8db6546c-34c9-4077-9f6c-ed47e1d5769b / ext4 defaults 0 1
# /boot was on /dev/sda2 during curtin installation
/dev/disk/by-uuid/155150cb-0911-4ec5-9870-d34c175a5a8f /boot ext4 defaults 0 1
  1. 句柄配置
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
ulimit -SHn 65535
---
sudo vim /etc/security/limits.conf
---
* soft nofile 655360
* hard nofile 131072
* soft nproc 655350
* hard nproc 655350
* seft memlock unlimited
* hard memlock unlimitedd
---
ulimit -a
  1. 安装时间同步服务
1
2
3
4
5
sudo apt-get install chrony 

备份原有配置

sudo mv /etc/chrony/chrony.conf /etc/chrony/chrony.conf.bak

修改配置文件

Ubuntu安装Cloud-init

系统检查升级:

sudo apt-get update && sudo apt-get upgrade

安装

sudo apt-get install cloud-init

配置

sudo vim /etc/cloud/cloud.cfg

    # /etc/cloud/cloud.cfg
    # The top level settings are used as module
    # and base configuration.
    # 顶级设置用于模块和基本配置

    # A set of users which may be applied and/or used by various modules
    # when a 'default' entry is found it will reference the 'default_user'
    # from the distro configuration specified below
    # 定义要使用的用户配置,'default' 会引用下方 'default_user' 配置
    users:
    - default  # 使用默认用户配置

    # If this is set, 'root' will not be able to ssh in and they
    # will get a message to login instead as the default $user
    # 如果设置为 true,将禁用 root 用户的 SSH 登录
    disable_root: true  # 禁用 root 用户登录

    # This will cause the set+update hostname module to not operate (if true)
    # 如果为 true,主机名设置模块将不会操作
    preserve_hostname: false  # 保持主机名不变

    # If you use datasource_list array, keep array items in a single line.
    # If you use multi line array, ds-identify script won't read array items.
    # Example datasource config
    # 数据源配置示例
    # datasource:
    #   Ec2:
    #     metadata_urls: [ 'blah.com' ]
    #     timeout: 5 # (defaults to 50 seconds)
    #     max_wait: 10 # (defaults to 120 seconds)

    # The modules that run in the 'init' stage
    # 在 'init' 阶段运行的模块
    cloud_init_modules:
    - seed_random  # 生成随机数种子
    - bootcmd  # 执行引导时命令
    - write_files  # 写入文件
    - growpart  # 扩展磁盘分区
    - resizefs  # 调整文件系统大小
    - disk_setup  # 磁盘设置
    - mounts  # 挂载分区
    - set_hostname  # 设置主机名
    - update_hostname  # 更新主机名
    - update_etc_hosts  # 更新 /etc/hosts 文件
    - ca_certs  # 设置证书
    - rsyslog  # 启动 rsyslog 服务
    - users_groups  # 配置用户和组
    - ssh  # 配置 SSH 服务
    - set_passwords  # 设置用户密码

    # The modules that run in the 'config' stage
    # 在 'config' 阶段运行的模块
    cloud_config_modules:
    - wireguard  # 配置 WireGuard VPN
    - snap  # 配置 snap 软件包
    - ubuntu_autoinstall  # 启用 Ubuntu 自动安装
    - ssh_import_id  # 从 ssh 密钥导入 ID
    - keyboard  # 设置键盘布局
    - locale  # 设置地区和语言环境
    - grub_dpkg  # 配置 GRUB 引导加载程序
    - apt_pipelining  # 启用 apt 管道
    - apt_configure  # 配置 apt
    - ubuntu_pro  # 配置 Ubuntu Pro 订阅
    - ntp  # 配置 NTP 时间同步
    - timezone  # 设置时区
    - disable_ec2_metadata  # 禁用 EC2 元数据(适用于非 EC2 环境)
    - runcmd  # 执行自定义命令
    - byobu  # 安装 Byobu 终端复用器

    # The modules that run in the 'final' stage
    # 在 'final' 阶段运行的模块
    cloud_final_modules:
    - package_update_upgrade_install  # 更新并安装包
    - fan  # 配置风扇控制
    - landscape  # 配置 Landscape 管理工具
    - lxd  # 配置 LXD 容器
    - ubuntu_drivers  # 自动安装 Ubuntu 驱动
    - write_files_deferred  # 延迟写入文件
    - puppet  # 配置 Puppet 管理工具
    - chef  # 配置 Chef 管理工具
    - ansible  # 配置 Ansible 管理工具
    - mcollective  # 配置 MCollective 管理工具
    - salt_minion  # 配置 Salt Minion
    - reset_rmc  # 重置 RMC(远程管理控制)
    - scripts_vendor  # 执行厂商提供的脚本
    - scripts_per_once  # 执行一次性脚本
    - scripts_per_boot  # 每次启动时执行脚本
    - scripts_per_instance  # 每个实例执行脚本
    - scripts_user  # 执行用户自定义脚本
    - ssh_authkey_fingerprints  # 配置 SSH 密钥指纹
    - keys_to_console  # 将密钥传输到控制台
    - install_hotplug  # 安装热插拔设备
    - phone_home  # 向云服务发送信息
    - final_message  # 显示最终信息
    - power_state_change  # 处理电源状态变化

    # System and/or distro specific settings
    # 系统和/或发行版特定的设置
    # (not accessible to handlers/transforms)
    system_info:
    # This will affect which distro class gets used
    # 这将影响使用哪个发行版类
    distro: ubuntu  # 设置发行版为 Ubuntu
    
    # Default user name + that default users groups (if added/used)
    # 默认用户名和默认用户组
    default_user:
        name: ubuntu  # 设置默认用户名为 ubuntu
        lock_passwd: True  # 锁定密码(禁止设置密码)
        gecos: Ubuntu  # 用户的 GECOS 字段(用于显示的名称)
        groups: [adm, cdrom, dip, lxd, sudo]  # 用户所属的组
        sudo: ["ALL=(ALL) NOPASSWD:ALL"]  # 允许该用户使用 sudo 执行任何命令,不需要密码
        shell: /bin/bash  # 设置用户默认的 shell 为 bash

    network:
        dhcp_client_priority: [dhcpcd, dhclient, udhcpc]  # 设置 DHCP 客户端优先级
        renderers: ['netplan', 'eni', 'sysconfig']  # 配置网络渲染器
        activators: ['netplan', 'eni', 'network-manager', 'networkd']  # 网络激活器

    # Automatically discover the best ntp_client
    # 自动选择最合适的 NTP 客户端
    ntp_client: auto  # 自动选择 NTP 客户端
    
    # Other config here will be given to the distro class and/or path classes
    # 其他配置将传递给发行版类和/或路径类
    paths:
        cloud_dir: /var/lib/cloud/  # Cloud-init 数据存储目录
        templates_dir: /etc/cloud/templates/  # 模板文件目录
        
    # 配置包镜像源
    package_mirrors:
        - arches: [i386, amd64]
        failsafe:
            primary: http://repo.huaweicloud.com/ubuntu
            security: http://repo.huaweicloud.com/ubuntu
        search:
            primary:
            - http://repo.huaweicloud.com/ubuntu/
            security: []
        - arches: [arm64, armel, armhf]
        failsafe:
            primary: http://repo.huaweicloud.com/ubuntu-ports
            security: http://repo.huaweicloud.com/ubuntu-ports
        search:
            primary:
            - http://repo.huaweicloud.com/ubuntu-ports/
            security: []
        - arches: [default]
        failsafe:
            primary: http://repo.huaweicloud.com/ubuntu-ports
            security: http://repo.huaweicloud.com/ubuntu-ports

    ssh_svcname: ssh  # SSH 服务名称

配置-如果上述不起作用则使用本命令

sudo cloud-init clean && sudo cloud-init init && sudo cloud-init modules --mode=config

重启

reboot

启动-开机启动-查看状态

sudo systemctl enable cloud-init && sudo systemctl start cloud-init && sudo cloud-init status

Ubuntu安装GitLab

配置主机名

sudo hostnamectl hostname gitlab

hosts

10.10.10.130	gitlab	GITLAB gitlab.hckz.top

检查升级

sudo apt-get update && sudo apt-get upgrade

qemu-guest-agent-虚拟机使用-非虚拟机可不用安装

# 安装

sudo apt-get install qemu-guest-agent

# 启动-开机启动-查看状态
sudo systemctl enable qemu-guest-agent && sudo systemctl start qemu-guest-agent && sudo systemctl status qemu-guest-agent

安装nfs

sudo apt-get install nfs4-acl-tools nfs-common -y

前置安装

sudo apt-get install -y conntrack ipvsadm ipset jq iptables curl sysstat wget vim net-tools git

sudo apt-get install -y curl openssh-server ca-certificates tzdata perl golang libc6 libnfs-utils libnfs-dev

句柄配置

ulimit -SHn 65535

sudo vim /etc/security/limits.conf

* soft nofile 655360
* hard nofile 131072
* soft nproc 655350
* hard nproc 655350
* seft memlock unlimited
* hard memlock unlimitedd

ulimit -a

安装时间同步服务

sudo apt-get install chrony 

备份原有配置

sudo mv /etc/chrony/chrony.conf /etc/chrony/chrony.conf.bak

修改配置文件

http状态码

1xx 信息响应

  • 100 Continue: 继续。客户端应继续其请求。
  • 101 Switching Protocols: 切换协议。服务器根据客户端的请求切换协议。
  • 102 Processing: 处理将继续执行。

2xx 成功

  • 200 OK: 请求成功。服务器已成功处理了请求。
  • 201 Created: 已创建。请求成功并且服务器创建了新的资源。
  • 202 Accepted: 已接受。服务器已接受请求,但尚未处理。
  • 203 Non-Authoritative Information: 非权威信息。服务器成功处理了请求,但返回的信息可能来自另一来源。
  • 204 No Content: 无内容。服务器成功处理了请求,但没有返回任何内容。
  • 205 Reset Content: 重置内容。服务器成功处理了请求,并要求客户端重置视图。
  • 206 Partial Content: 部分内容。服务器成功处理了部分GET请求。
  • 207 Multi-Status: 多状态。消息体中包含多个独立操作的状态码。
  • 208 Already Reported: 已经报告。DAV绑定成员的状态已经在前一个响应中列出。
  • 226 IM Used: IM使用。服务器已经完成GET请求,并执行了实例操控。

3xx 重定向

  • 300 Multiple Choices: 多种选择。请求的资源有多种选择。
  • 301 Moved Permanently: 永久移动。请求的资源已永久移动到新URI。
  • 302 Found: 临时移动。请求的资源临时移动到新URI。
  • 303 See Other: 查看其他。响应可以在另一URI找到。
  • 304 Not Modified: 未修改。资源未修改,可以使用缓存的版本。
  • 305 Use Proxy: 使用代理。请求的资源必须通过代理访问。
  • 306 (Unused): 已废弃。原用于指定请求应使用的代理,现在不再使用。
  • 307 Temporary Redirect: 临时重定向。请求的资源临时移动到新URI。
  • 308 Permanent Redirect: 永久重定向。请求和所有将来的请求应使用新的URI。

4xx 客户端错误

  • 400 Bad Request: 错误请求。服务器不理解请求的语法。
  • 401 Unauthorized: 未授权。请求要求身份验证。
  • 402 Payment Required: 需要付款。保留,将来使用。
  • 403 Forbidden: 禁止。服务器拒绝请求。
  • 404 Not Found: 未找到。服务器找不到请求的资源。
  • 405 Method Not Allowed: 方法禁用。禁用请求中指定的方法。
  • 406 Not Acceptable: 不接受。无法使用请求的内容特性响应请求的资源。
  • 407 Proxy Authentication Required: 需要代理授权。客户端必须通过代理进行身份验证。
  • 408 Request Timeout: 请求超时。服务器等候请求时超时。
  • 409 Conflict: 冲突。服务器在完成请求时发生冲突。
  • 410 Gone: 已删除。请求的资源已永久删除。
  • 411 Length Required: 需要有效长度。服务器不接受不含有效内容长度标头字段的请求。
  • 412 Precondition Failed: 未满足前提条件。服务器未满足请求者在请求中设置的其中一个前提条件。
  • 413 Payload Too Large: 载荷过大。请求实体过大,服务器无法处理。
  • 414 URI Too Long: URI过长。请求的URI过长,服务器无法处理。
  • 415 Unsupported Media Type: 不支持的媒体类型。请求的格式不受服务器支持。
  • 416 Range Not Satisfiable: 范围不合适。请求的范围无法满足。
  • 417 Expectation Failed: 未满足期望值。服务器无法满足期望值。
  • 418 I’m a teapot: 我是茶壶。用于愚人节笑话的状态码。
  • 421 Misdirected Request: 请求被误导。服务器无法生成响应。
  • 422 Unprocessable Entity: 无法处理的实体。请求格式正确,但语义错误。
  • 423 Locked: 锁定。资源被锁定。
  • 424 Failed Dependency: 依赖失败。由于前一个请求失败,请求失败。
  • 425 Too Early: 太早。服务器不愿意处理请求,因为它可能被重放。
  • 426 Upgrade Required: 需要升级。客户端应切换到TLS/1.0。
  • 428 Precondition Required: 需要前提条件。要求请求先满足前提条件。
  • 429 Too Many Requests: 请求过多。用户在给定时间内发送了太多请求。
  • 431 Request Header Fields Too Large: 请求头字段太大。请求头字段太大,服务器拒绝。
  • 451 Unavailable For Legal Reasons: 因法律原因不可用。服务器由于法律原因无法提供资源。

5xx 服务器错误

  • 500 Internal Server Error: 服务器内部错误。服务器遇到错误,无法完成请求。
  • 501 Not Implemented: 尚未实施。服务器不具备完成请求的功能。
  • 502 Bad Gateway: 错误网关。服务器作为网关或代理,从上游服务器收到无效响应。
  • 503 Service Unavailable: 服务不可用。服务器目前无法使用(由于过载或维护)。
  • 504 Gateway Timeout: 网关超时。服务器作为网关或代理,未及时从上游服务器接收请求。
  • 505 HTTP Version Not Supported: HTTP版本不受支持。服务器不支持请求中使用的HTTP协议版本。
  • 506 Variant Also Negotiates: 变体也进行协商。服务器有内部配置错误。
  • 507 Insufficient Storage: 存储不足。服务器无法存储完成请求所需的内容。
  • 508 Loop Detected: 检测到循环。服务器在处理请求时检测到无限循环。
  • 510 Not Extended: 未扩展。获取资源的策略不满足请求。
  • 511 Network Authentication Required: 需要网络认证。客户端需要进行身份验证以获得网络访问权限。

ports_list

常用端口

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
- **20**: FTP 数据传输 (File Transfer Protocol Data Transfer)
  - 用于FTP的实际数据传输。
- **21**: FTP 控制 (File Transfer Protocol Command Control)
  - 用于FTP的控制指令传输。
- **22**: SSH (Secure Shell)
  - 用于安全的登录和其他安全网络服务。
- **23**: Telnet
  - 用于不安全的远程登录。
- **25**: SMTP (Simple Mail Transfer Protocol)
  - 用于电子邮件传输。
- **53**: DNS (Domain Name System)
  - 用于域名解析。
- **80**: HTTP (HyperText Transfer Protocol)
  - 用于网页浏览。
- **110**: POP3 (Post Office Protocol 3)
  - 用于电子邮件接收。
- **143**: IMAP (Internet Message Access Protocol)
  - 用于电子邮件接收和管理。
- **443**: HTTPS (HyperText Transfer Protocol Secure)
  - 用于安全的网页浏览。
- **445**: SMB (Server Message Block) / CIFS (Common Internet File System)
  - 用于文件共享和打印服务。
- **587**: SMTP 传输层安全 (SMTP over TLS)
  - 用于安全的电子邮件传输。
- **993**: IMAPS (IMAP over SSL)
  - 用于安全的IMAP电子邮件接收。
- **995**: POP3S (POP3 over SSL)
  - 用于安全的POP3电子邮件接收。
- **3306**: MySQL 数据库
  - 用于MySQL数据库连接。
- **3389**: RDP (Remote Desktop Protocol)
  - 用于远程桌面连接。
- **5432**: PostgreSQL 数据库
  - 用于PostgreSQL数据库连接。
- **6379**: Redis
  - 用于Redis数据库连接。
- **8080**: HTTP 代理 (HTTP Proxy)
  - 用于代理服务的HTTP连接。
- **8443**: HTTPS 代理 (HTTPS Proxy)
  - 用于代理服务的HTTPS连接。

Unix 特有端口

1
2
3
4
5
6
7
8
- **2049**: NFS (Network File System)
  - 用于网络文件系统服务。
- **6000-6007**: X11 (X Window System)
  - 用于图形用户界面系统的网络连接。
- **6660-6669**: IRC (Internet Relay Chat)
  - 用于网络聊天服务。
- **7100**: X Font Server
  - 用于X字体服务器服务。

Windows 特有端口

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
- **135**: DCOM (Distributed Component Object Model) 服务控制管理器
  - 用于DCOM服务控制和管理。
- **137-139**: NetBIOS 名称服务, 数据报服务和会话服务
  - 用于NetBIOS的网络基本输入输出系统。
- **389**: LDAP (Lightweight Directory Access Protocol)
  - 用于目录服务协议。
- **445**: Microsoft-DS (Active Directory, Windows shares)
  - 用于活动目录和Windows共享服务。
- **1433**: Microsoft SQL Server
  - 用于Microsoft SQL Server数据库连接。
- **3389**: RDP (Remote Desktop Protocol)
  - 用于远程桌面连接。
- **5985/5986**: WinRM (Windows Remote Management)
  - 用于Windows远程管理。

特殊符号/字符

符号广泛应用于日常生活和各类领域,它们有助于简洁、直观地表达信息。
常见的符号包括数字符号、希腊数字、月份符号、日期符号、时间符号、特殊中文字符、音乐符号、天气符号、单位符号、货币符号、数学符号等。
无论是在书写、数学运算、编程、天气预报还是文化标识中,符号都起到了重要的辅助作用,提升了表达的效率与准确性。
以下列出了各种特殊符号:

数字符号

① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳

⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇

⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛

㊀ ㊁ ㊂ ㊃ ㊄ ㊅ ㊆ ㊇ ㊈ ㊉

㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩

№ ½ ⅓ ⅔ ¼ ¾ ⅛ ⅜ ⅝ ⅞

希腊数字

Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ

ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ⅺ ⅻ

月份符号

㋀ ㋁ ㋂ ㋃ ㋄ ㋅ ㋆ ㋇ ㋈ ㋉ ㋊ ㋋

日期符号

㏠ ㏡ ㏢ ㏣ ㏤ ㏥ ㏦ ㏧ ㏨ ㏩ ㏪ ㏫ ㏬ ㏭ ㏮ ㏯ ㏰ ㏱ ㏲ ㏳ ㏴ ㏵ ㏶ ㏷ ㏸ ㏹ ㏺ ㏻ ㏼ ㏽ ㏾

时间符号

㍘ ㍙ ㍚ ㍛ ㍜ ㍝ ㍞ ㍟ ㍠ ㍡ ㍢ ㍣ ㍤ ㍥ ㍦ ㍧ ㍨ ㍩ ㍪ ㍫ ㍬ ㍭ ㍮ ㍯ ㍰

特殊中文字符

㊐ ㊊ ㊎ ㊍ ㊌ ㊋ ㊏ ㊑ ㊒ ㊓ ㊔ ㊕ ㊖ ㊗ ㊘ ㊜ ㊝ ㊞ ㊟ ㊠ 

㊡ ㊢ ㊩ ㊪ ㊫ ㊬ ㊭ ㊮ ㊯ ㊰ ㊙ ㊚ ㊛ ㊣ ㊤ ㊥ ㊦ ㊧ ㊨

囍 ㈱ ㍿ 卐 卍 ォミ灬 彡 ツ

音乐符号

♩ ♪ ♫ ♬ ¶ ♭ ♯ ♮ ∮ ‖ § Ψ

英文字母符号

⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵

ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ

Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ

大写数字

零 壹 贰 叁 肆 伍 陆 柒 捌 玖 佰 仟 万 亿

天气符号

晴:☀☼♨ 多云:☁☂ 夜晚:☽☾ 雪:❄❅❆☃

单位符号

版权符号© ®

温度符号℃ ℉

性别符号♂ ♀

平方米符号㎡

℗ Ω ㏎  ㎎ ㎏ ㎜ ㎝ ㎞ ㎡ ㏄ ㏎ ㏑ ㏒ ㏕ ℡ % ‰ °′″ ¢ ℅

货币符号

人民币符号¥

港元符号HK$ 或 HKD

美元符号$

日元符号¥(与人民币符号相同,日元单位日文写作:円)

欧元符号€

英镑符号£

其他货币符号

₴ $₰ ¢ ₤ ₳ ₲ ₪ ₵ ₣ ₱ ฿ ¤ ₡ ₮ ₭ ₩ ރ ₢ ₥ ₫ ₦ zł ﷼ ₠ ₧ ₯ ₨ Kč ₹ ƒ ₸ ¢

表格符号

┏ ┳ ┓┌ ┬ ┐╔ ╦ ╗╓ ╥ ╖╒ ╤ ╕╭ ╮╱ ╲ ─│┱ ┲ ╃ ╄

┣ ╋ ┫├ ┼ ┤╠ ╬ ╣╟ ╫ ╢╞ ╪ ╡╰ ╯╲ ╱ ━ ┇┅ ┋

┗ ┻ ┛└ ┴ ┘╚ ╩ ╝╙ ╨ ╜╘ ╧ ╛═║ ︴ ﹏ ﹋ ﹌

星形符号

✱ ✲ ✳ ❃ ✾ ✽ ✼ ✻ ✺ ✹ ✸ ✷ ✶ ✵ ✴ ❄ ❅ ❆ ❇ ❈ ❉ ❊ ❋ ✱

心形符号

❤ ♡ ♥ ❥ ♠ ♣ ♤ ღ ❣

星星符号

★ ☆ ✡ ✦ ✧ ✩ ✪ ✫ ✬ ✭ ✮ ✯ ✰

对号错号符号

对号:☑ ✓ ✔ √

错号:☓ ☒ ✘ ㄨ ✕ ✖ ✗

方形符号

❏ ❐ ❑ ❒ ▏▐ ░ ▒ ▓ ▔ ▕ ■ □ ▢ ▣ ▤ ▥ ▦ ▧ ▨ ▩ ▪ ▫

▬ ▭ ▮ ▯ ˍ ∎ ⊞ ⊟ ⊠ ⊡ ⋄ ▱ ◆ ◇ ◈ ◧ ◨ ◩ ◪ ◫ ◙ ◘ ▀ 

▁ ▂ ▃ ▄ ▅ ▆ ▇ ▉ ▊ ▋ █ ▌ ▍ ▎ ▰

圆形符号

⊙ ● ○ ◎ ◕ ¤ ☪ ❂ ✪ ☻ ☼ Θ ⊖ ⊘ ⊕ ⊚ ⊛ ⊜ ⊝ ◉ ◌ ◍ ◐ ◑ ◒ ◓ ◔ ⊗ ◖ ◗ ◯

三角符号

◤ ◥ ◄ ► ▶ ◀ ◣ ◢ ▲ ▼ ▸ ◂ ▴ ▾ △ ▽ ▷ ◁ ⊿ ▻ ◅ ▵ ▿ ▹ ◃ ∆ ◬ ◭ ◮ ∇ ☢

八卦符号

乾☰ 兑☱ 离☲ 震☳ 巽☴ 坎☵ 艮☶ 坤☷ ☯

标点符号

。,、:∶;‘’“”〝〞ˆˇ﹕︰﹔﹖﹑·¨.¸;´?!~—|‖"

〃`@﹫¡¿﹏﹋︴々﹟#﹩$﹠&﹪%﹡﹢×﹦‐ ̄¯―﹨˜﹍﹎_

-~()〈〉‹›﹛﹜『』〖〗[]《》〔〕{}「」【】︵︷︿︹

︽_︶︸﹀︺︾ˉ﹂﹄︼﹁﹃︻▲●□…→

中文拼音符号

ā á ǎ à ō ó ǒ ò ē é ě è ī í ǐ ì ū ú ǔ ù ǖ ǘ ǚ ǜ ü ê ɑ

ń ň ǹ ɡ

ㄅ ㄆ ㄇ ㄈ ㄉ ㄊ ㄋ ㄌ ㄍ ㄎ ㄏ ㄐ ㄑ ㄒ ㄓ ㄔ ㄕ ㄖ ㄗ

ㄘ ㄙ ㄚ ㄛ ㄜ ㄝ ㄞ ㄟ ㄠ ㄡ ㄢ ㄣ ㄤ ㄥ ㄦ ㄧ ㄨ ㄩ

日文符号

ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ぎ く ぐ け げ こ

ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち ぢ っ つ づ て

で と ど な に ぬ ね の は ば ぱ ひ び ぴ ふ ぶ ぷ へ べ

ぺ ほ ぼ ぽ ま み む め も ゃ や ゅ ゆ ょ よ ら り る れ

ろ ゎ わ ゐ ゑ を ん ゔ ゕ ゖ ゚ ゛ ゜ ゝ ゞ ゟ ゠ ァ ア ィ

イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク グ ケ ゲ コ ゴ サ ザ

シ ジ ス ズ セ ゼ ソ ゾ タ ダ チ ヂ ッ ツ ヅ テ デ ト ド

ナ ニ ヌ ネ ノ ハ バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ

ポ マ ミ ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ

ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ ㍿

韩文符号

ㄱ ㄲ ㄳ ㄴ ㄵ ㄶ ㄷ ㄸ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅃ ㅄ

ㅅ ㅆ ㅇ ㅈ ㅉ ㅊ ㅋ ㅌ ㅍ ㅎ ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅗ ㅘ

ㅙ ㅚ ㅛ ㅜ ㅝ ㅞ ㅟ ㅠ ㅡ ㅢ

俄文符号

А Б В Г Д Е Ё Ж З И Й К Л М Н О П

Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я

а б в г д е ё ж з и й к л м н о п

р с т у ф х ц ч ш щ ъ ы ь э ю я

箭头符号

← ↑ → ↓ ↙ ↘ ↖ ↗ ↰ ↱ ↲ ↳ ↴ ↵ ↶ ↺ ↻ ↷ ➝ ⇄ ⇅

⇆ ⇇ ⇈ ⇉ ⇊ ⇋ ⇌ ⇍ ⇎ ⇏ ⇐ ⇑ ⇒ ⇓ ⇔ ⇕ ⇖ ⇗ ⇘ ⇙

⇚ ⇛ ↯ ↹ ↔ ↕ ⇦ ⇧ ⇨ ⇩ ➫ ➬ ➩ ➪ ➭ ➮ ➯ ➱ ⏎ ➜ ➡

 ➥ ➦ ➧ ➨ ➷ ➸ ➻ ➼ ➽ ➸ ➹ ➳ ➤ ➟ ➲ ➢ ➣ ➞

⇪ ➚ ➘ ➙ ➛ ➺ ⇞ ⇟ ⇠ ⇡ ⇢ ⇣ ⇤ ⇥ ↜ ↝ ♐ ➴ ➵ ➶ ↼

↽ ↾ ↿ ⇀ ⇁ ⇂ ⇃ ↞ ↟ ↠ ↡ ↢ ↣ ↤ ↪ ↫ ↬ ↭ ↮ ↯ ↩

⇜ ⇝ ↸ ↚ ↛ ↥ ↦ ↧ ↨

更多图形符号

✐ ✎ ✏ ✑ ✒ ✍ ✉ ✁ ✂ ✃ ✄ ✆ ✉ ☎ ☏ ☢ ☠ ☣ ✈ ☜ ☞

☝ ✍ ☚ ☛ ☟ ✌ ♤ ♧ ♡ ♢ ♠ ♣ ♥ ♦ ☀ ☁ ☂ ❄ ☃ ♨ 웃

유 ❖ ☽ ☾ ☪ ✿ ♂ ♀ ✪ ✯ ☭ ➳ 卍 卐 √ × ■ ◆ ● ○

◐ ◑ ✙ ☺ ☻ ❀ ⚘ ♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟ ♧ ♡

♂ ♀ ♠ ♣ ♥ ❤ ⊙ ◎ ☺ ☻ ☼ ▧ ▨ ♨ ◐ ◑ ↔ ↕ ▪ ▒ ◊

◦ ▣ ▤ ▥ ▦ ▩ ◘ ◈ ◇ ♬ ♪ ♩ ♭ ♪ の ★ ☆ → あ ぃ

£ Ю 〓 § ♤ ♥ ▶ ¤ ✲ ❈ ✿ ✲ ❈ ➹ ☀ ☂ ☁ 【 】 ┱

┲ ❣ ✚ ✪ ✣ ✤ ✥ ✦ ❉ ❥ ❦ ❧ ❃ ❂ ❁ ❀ ✄ ☪ ☣ ☢ ☠

☭ ღ ▶ ▷ ◀ ◁ ☀ ☁ ☂ ☃ ☄ ★ ☆ ☇ ☈ ⊙ ☊ ☋ ☌ ☍ ⓛ

ⓞ ⓥ ⓔ ╬ ∴ ☀ ☆ ∷ ﹌ の ★ ◎ ▶ ☺ ☻ ► ◄ ▧ ▨ ♨

◐ ◑ ↔ ↕ ↘ ▀ ▄ █ ▌ ◦ ☼ ♪ の ☆ → ♧ ぃ £ ❤ ▒ ▬

♦ ◊ ◦ ♠ ♣ ▣ ۰ • ❤ • ۰ ► ◄ ▧ ▨ ♨ ▪ ▫ ☼ ♦ ⊙ ●

○ ① ⊕ ◎ Θ ⊙ ¤ ㊣ ★ ☆ ♀ ◆ ◇ ◣ ◢ ◥ ▲ ▼ △ ▽ ⊿

◤ ◥ ✐ ✌ ✍ ✡ ☜ ☞ ⊙ ◎ ♥ ♡ ▪ ▫ ☼ ♦ ▐ ░ ▒ ▬ ♦

◊ ◘ ◙ ◦ ☼ ♠ ♣ ▣ ▤ ▥ ▦ ▩ ◘ ◙ ◈ ✄ ☪ ☣ ☢ ☠ ☪

♈ ºº ₪ ¤ 큐 «» ™ ♂ ✿ ♥ 

表情符号

☺ ☻

。◕‿◕。 。◕‿◕。 ◕‿-。 ◉◞◟◉

⊙‿⊙ ⊙▂⊙ ⊙0⊙ ⊙︿⊙ ⊙ω⊙ ⊙﹏⊙ ⊙△⊙ ⊙▽⊙

∩▂∩ ∩0∩ ∩︿∩ ∩ω∩ ∩﹏∩ ∩△∩ ∩▽∩

●▂● ●0● ●︿● ●ω● ●﹏● ●△● ●▽●

∪▂∪ ∪0∪ ∪︿∪ ∪ω∪ ∪﹏∪ ∪△∪ ∪▽∪

≧▂≦ ≧0≦ ≧︿≦ ≧ω≦ ≧﹏≦ ≧△≦ ≧▽≦

>▂< >0< >︿< >ω< >﹏< >△< >▽<

╯▂╰ ╯0╰ ╯︿╰ ╯ω╰ ╯﹏╰ ╯△╰ ╯▽╰

+▂+ +0+ +︿+ +ω+ +﹏+ +△+ +▽+

ˋ▂ˊ ˋ0ˊ ˋ︿ˊ ˋωˊ ˋ﹏ˊ ˋ△ˊ ˋ▽ˊ

ˇ▂ˇ ˇ0ˇ ˇ︿ˇ ˇωˇ ˇ﹏ˇ ˇ△ˇ ˇ▽ˇ

˙▂˙ ˙0˙ ˙︿˙ ˙ω˙ ˙﹏˙ ˙△˙ ˙▽˙

≡(▔﹏▔)≡ ⊙﹏⊙∥∣° ˋ︿ˊ﹀-# ╯︿╰﹀ 

(=‵′=) <(‵^′)>

(ˉ▽ˉ;) (-__-)b \ _ /  ̄□ ̄|| 

------\(˙<>˙)/------

<("""O"""> (‵▽′)ψ(°ο°)~ @ ? (^人^)?

(*?↓˙*) (O ^ ~ ^ O)

[>\/<] ↓。υ。↓ (;°○° ) ( > c < )

网名符号

艹 丶 灬 丨 彡 丿 丬 巛 o 氵刂 卩 s 宀 卩 刂 阝

肀 忄冫 丿 氵 彡 丬 丨 丩 丬 丶 丷 丿 乀 乁 乂 乄

乆 乛 亅 亠 亻 冂 冫 冖 凵 刂 辶 釒 钅 阝 飠 牜 

饣卩 卪 厸 厶 厽 孓 宀 巛 巜 彳 廴 彡 彐 彳 忄 扌

攵 氵灬 爫 犭 疒 癶 礻 糹 纟 罒 罓 耂 艹 虍 訁 

覀 兦 亼 亽 亖 亗 吂 凸 凹 卝 卍 卐 匸 皕 旡 玊 尐 幵

希腊字母

Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω

α β γ δ ε ζ ν ξ ο π ρ σ η θ ι κ λ μ τ υ φ χ ψ ω

数学符号

+- × ÷﹢﹣±/= ∥∠ ≌ ∽ ≦ ≧ ≒﹤﹥ ≈ ≡ ≠ = ≤ ≥ < > ≮ ≯

∷ ∶ ∫ ∮ ∝ ∞ ∧ ∨ ∑ ∏ ∪ ∩ ∈ ∵ ∴ ⊥ ∥ ∠ ⌒ ⊙ √∟⊿ ㏒ ㏑ % ‰

使用Helm安装Gitlab

需要先配置helm 后再进行此配置安装

使用 以下命令检测helm版本信息

1
helm version

对helm增加Gitlab的安装库

1
2
helm repo add gitlab https://charts.gitlab.io/
helm repo update

使用以下命令进行安装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
helm install gitlab gitlab/gitlab \
  --namespace gitlab --timeout 600s \
  --set certmanager-issuer.email=your.email@example.com \
  --set global.ingress.configureCertmanager=true \
  --set global.ingress.class=nginx \
  --set global.hosts.domain=gitlab.example.com \
  --set gitlab.unicorn.workhorse.timeout=3600 \
  --set gitlab.unicorn.workhorse.max-concurrency=3000 \
  --set gitlab.username=admin \
  --set gitlab.password=password \
  --set gitlab.pages.http=true \
  --set gitlab.pages.https=true

注意: 其中global.hosts.domain为访问gitlab时使用的域名;gitlab.username为访问gitlab的用户名; gitlab.password为访问时使用的密码

使用Helm安装Hbrbor镜像库

需要先配置helm 后再进行此配置安装

使用 以下命令检测helm版本信息

1
helm version

对helm增加harbor的安装库

1
helm repo add harbor https://helm.goharbor.io
1
helm repo update

使用以下命令进行安装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
helm upgrade --install harbor harbor/harbor \
> --namespace harbor \
> --create-namespace \
> --set expose.type=ingress \
> --set expose.ingress.className=nginx \
> --set expose.ingress.hosts.core=hbr.hckz.top \
> --set expose.ingress.hosts.notary=hbr.hckz.top \
> --set externalURL=https://hbr.hckz.top \
> --set internalURL=https://docker.local \
> --set harborAdminPassword="PASSWORD"

注意: 其中externalURL 为访问harbor时使用的域名; harborAdminPassword为访问时使用的密码