diff --git a/SUMMARY.md b/SUMMARY.md
index b15081a..d3b79a6 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -42,11 +42,11 @@
## linux
- [linnux 入门 -- 01了解开源协议](linux/01-License.pdf)
-- [如何重置 root 密码](linux/reset_passwd.pdf)
-- [如何设置静态 IP](linux/static_ip.pdf)
-- [vim 快捷操作](linux/vim_command.pdf)
+- [如何重置 root 密码](linux/reset_passwd.md)
+- [如何设置静态 IP](linux/static_ip.md)
+- [vim 快捷操作](linux/vim_command.md)
- [profile 、bashrc 等的区别和联系](linux/linux-profile-bashrc-diff.pdf)
-- [初识 Raspberry Pi OS Lite](linux/Raspberry%20Pi%20OS%20Lite.pdf)
+- [初识 Raspberry Pi OS Lite](linux/Raspberry%20Pi%20OS%20Lite.md)
diff --git a/linux/Raspberry Pi OS Lite.md b/linux/Raspberry Pi OS Lite.md
new file mode 100644
index 0000000..9f0a1d1
--- /dev/null
+++ b/linux/Raspberry Pi OS Lite.md
@@ -0,0 +1,191 @@
+---
+title: 初识 Raspberry Pi OS Lite
+author: Uncle Dragon
+date: 2021-07-13
+categories: linux
+tags: [linux,containerd,mqtt]
+---
+
+
初识 Raspberry Pi OS Lite
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ author: Uncle Dragon
+
+
+ date: 2021-07-13
+
+
+
+
+[TOC]
+
+
+
+ Raspberry Pi OS Lite 基于 Debian 10 32 位版本的精简版,因此debian 下默认使用的命令,绝大部分它都可以使用。
+
+ # set up Raspberry
+ 设置静态IP
+
+```shell
+$ vi /etc/dhcpcd.conf
+
+interface eth0
+static ip_address=10.8.30.100/24
+static routes=10.8.30.1
+static domain_name_servers=114.114.114.114 223.5.5.5 223.6.6.6
+
+```
+
+
+ssh
+ 默认已经安装ssh服务
+ 设置开机自启
+```shell
+$ systemctl enable ssh
+Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install.
+Executing: /lib/systemd/systemd-sysv-install enable ssh
+Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.
+Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service.
+
+```
+
+安装 vim
+
+```shell
+$ apt-get update && apt-get install vim
+
+```
+
+
+时区设置
+
+```shell
+$ apt-get install ntpdate
+
+$ tzselect
+Please identify a location so that time zone rules can be set correctly.
+Please select a continent, ocean, "coord", or "TZ".
+1) Africa 5) Atlantic Ocean 9) Pacific Ocean
+2) Americas 6) Australia 10) coord - I want to use geographical coordinates.
+3) Antarctica 7) Europe 11) TZ - I want to specify the time zone using the Posix TZ format.
+4) Asia 8) Indian Ocean
+#? 4
+Please select a country whose clocks agree with yours.
+1) Afghanistan 7) Brunei 13) Hong Kong 19) Japan 25) Kyrgyzstan 31) Myanmar (Burma) 37) Qatar 43) Taiwan 49) Vietnam
+2) Armenia 8) Cambodia 14) India 20) Jordan 26) Laos 32) Nepal 38) Russia 44) Tajikistan 50) Yemen
+3) Azerbaijan 9) China 15) Indonesia 21) Kazakhstan 27) Lebanon 33) Oman 39) Saudi Arabia 45) Thailand
+4) Bahrain 10) Cyprus 16) Iran 22) Korea (North) 28) Macau 34) Pakistan 40) Singapore 46) Turkmenistan
+5) Bangladesh 11) East Timor 17) Iraq 23) Korea (South) 29) Malaysia 35) Palestine 41) Sri Lanka 47) United Arab Emirates
+6) Bhutan 12) Georgia 18) Israel 24) Kuwait 30) Mongolia 36) Philippines 42) Syria 48) Uzbekistan
+#? 9
+Please select one of the following time zone regions.
+1) Beijing Time
+2) Xinjiang Time
+#? 1
+
+The following information has been given:
+
+ China
+ Beijing Time
+
+Therefore TZ='Asia/Shanghai' will be used.
+Selected time is now: Mon Jul 12 17:33:01 CST 2021.
+Universal Time is now: Mon Jul 12 09:33:01 UTC 2021.
+Is the above information OK?
+1) Yes
+2) No
+#? 1
+
+You can make this change permanent for yourself by appending the line
+ TZ='Asia/Shanghai'; export TZ
+to the file '.profile' in your home directory; then log out and log in again.
+
+Here is that TZ value again, this time on standard output so that you
+can use the /usr/bin/tzselect command in shell scripts:
+Asia/Shanghai
+
+$ vi /etc/profile
+
+TZ='Asia/Shanghai'; export TZ
+
+$ source /etc/profile
+
+$ date
+Mon 12 Jul 17:36:07 CST 2021
+```
+
+
+# install containerd
+
+```shell
+$ sudo apt-get update
+
+$ sudo apt-get install \
+ apt-transport-https \
+ ca-certificates \
+ curl \
+ gnupg \
+ lsb-release
+```
+
+
+```shell
+$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
+```
+
+
+
+```shell
+$ echo \
+ "deb [arch=armhf signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
+ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+```
+
+```shell
+$ sudo apt-get update
+$ sudo apt-get install containerd.io
+```
+
+# install mqtt
+
+```shell
+
+
+wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
+
+sudo apt-key add mosquitto-repo.gpg.key
+
+# sudo wget -P /etc/apt/sources.list.d/ http://repo.mosquitto.org/debian/mosquitto-jessie.list
+# sudo wget -P /etc/apt/sources.list.d/ http://repo.mosquitto.org/debian/mosquitto-stretch.list
+sudo wget -P /etc/apt/sources.list.d/ http://repo.mosquitto.org/debian/mosquitto-buster.list
+
+apt-get update
+
+apt-get install mosquitto
+
+
+```
+
+
+
diff --git a/linux/Raspberry Pi OS Lite.pdf b/linux/Raspberry Pi OS Lite.pdf
deleted file mode 100644
index f48cada..0000000
Binary files a/linux/Raspberry Pi OS Lite.pdf and /dev/null differ
diff --git a/linux/login_no_passwd.md b/linux/login_no_passwd.md
new file mode 100644
index 0000000..b9c1ad9
--- /dev/null
+++ b/linux/login_no_passwd.md
@@ -0,0 +1,70 @@
+---
+title: SSH 免密认证
+date: 2020-09-28
+categories:
+ - devops
+tags: [linux, ssh]
+---
+
+
+## a. 安装ssh
+
+``` bash
+sudo apt-get update
+sudo apt-get install openssh-server
+sudo apt-get install openssh-client
+# 测试是否安装成功
+ssh -l anxinyun 10.8.30.179
+```
+
+
+## b. 修改配置
+
+```
+修改 /etc/ssh/sshd_config:
+RSAAuthentication yes (启用RSA认证)
+PubkeyAuthentication yes (启用公钥私钥配对认证)
+AuthorizedKeysFile %h/.ssh/authorized_keys (公钥文件路径)
+```
+
+``` bash
+# 重启服务
+service ssh restart
+```
+
+## c. 配置密钥
+
+``` bash
+# 生成密钥对
+# ssh-keygen -t rsa -P ""
+ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
+# 输出到authorized_keys文件
+cat .ssh/id_rsa.pub >> .ssh/authorized_keys
+# 设置authorized_keys权限
+chmod 600 .ssh/authorized_keys
+```
+
+``` bash
+# 需要免密登录 哪台主机,就把公钥注册到哪台主机
+# 复制 n1 公钥到 m1
+scp anxinyun@10.8.30.179:/home/anxinyun/.ssh/id_rsa.pub .
+# 追加到 authorized_keys
+cat id_rsa.pub >> .ssh/authorized_keys
+# 删除 n1 公钥
+rm id_rsa.pub
+
+# 在 n1、n2中重复上述命令
+```
+
+## M1 远程登录免密
+
+``` basic
+用xshell 用户密钥生成工具生成密钥对
+把公钥追加到 .ssh/authorized_keys
+私钥和密钥自己妥善保存
+
+# 禁用ssh用户密码登录
+修改 /etc/ssh/sshd_config:
+ PasswordAuthentication no
+```
+
diff --git a/linux/reset_passwd.md b/linux/reset_passwd.md
new file mode 100644
index 0000000..4c5d2ed
--- /dev/null
+++ b/linux/reset_passwd.md
@@ -0,0 +1,37 @@
+---
+title: 忘记 Linux root 密码
+date: 2020-05-26
+categories:
+ - linux
+tags: [linux]
+---
+
+
+> linux 忘记密码,别慌,按下面步骤轻松重置密码。
+
+## 1. 重启系统
+
+```
+# 根据提示在系统启动菜单,选择系统,然后根据提示 按 `e` 修改启动参数
+Use the ↑ and ↓ keys to changed the selection.
+Press 'e' to edit the selected item. or 'c' for ... ...
+```
+
+
+## 2. 修改参数
+
+向下滚动光标,找到 `...root=/dev/Mapper/centos-root ro rd.lvm.lv=...` 主要时找 **ro**
+把 ro 更改为 `rw init=/sysroot/bin/sh`
+修改完成,根据提示 按 `Ctrl-x`
+
+## 3. 修改密码
+
+```bash
+passwd root # 不只是root,任何你想修改的可登录用户名
+# 下面根据系统提示输入新密码并确认密码
+```
+
+## 4. 重启系统
+
+> 使用新创建的密码登录
+
diff --git a/linux/reset_passwd.pdf b/linux/reset_passwd.pdf
deleted file mode 100644
index 052a497..0000000
Binary files a/linux/reset_passwd.pdf and /dev/null differ
diff --git a/linux/static_ip.md b/linux/static_ip.md
new file mode 100644
index 0000000..b6c2852
--- /dev/null
+++ b/linux/static_ip.md
@@ -0,0 +1,202 @@
+---
+title: Linux 设置静态 IP
+date: 2020-05-26
+categories:
+ - linux
+tags: [linux]
+---
+
+## Ubuntu
+
+### Ubuntu 16
+#### 修改 `/etc/network/interfaces`
+
+``` bash
+sudo vi /etc/network/interfaces
+```
+
+
+
+``` ini
+auto eno4
+iface eno4 inet static
+address 10.8.30.176
+netmask 255.255.255.0
+gateway 10.8.30.1
+dns-nameserver 114.114.114.114
+```
+
+### Ubuntu 18.04 +
+
+> 原来设置 `/etc/network/interfaces` 的方法还可以用,只是设置的dns没有用
+> 新的配置使用 netplan 管理
+
+#### 修改配置文件
+
+> 编辑 `/etc/netplan/`下的yaml文件
+>
+> 这里文件名是 `01-network-manager-all.yaml`
+
+```bash
+sudo vi /etc/netplan/01-network-manager-all.yaml
+
+# 注释掉 renderer:NetworkManager
+
+network:
+ version: 2
+ ethernets:
+ # 网络名
+ enp0s3:
+ # 一个ip数组,用 ‘,’ 隔开
+ addresses: [10.8.40.119/24]
+ # 使用dhcp 动态获取ip: true/no
+ dhcp4: no
+ # ipv4 网关
+ gateway4: 192.168.0.1
+ # dns
+ nameservers:
+ addresses: [114.114.114.114]
+ search: [localdomain]
+ optional: true
+
+# 立即生效
+sudo netplan apply
+```
+
+### 补充
+
+#### 查看网关
+
+```bash
+# 查看网关
+netstat -rn
+# 或
+route -n
+
+```
+
+#### 设置默认网关
+``` bash
+route add default gw 10.8.30.1
+```
+
+#### 重启网关
+``` bash
+/etc/init.d/networking restart
+```
+
+### 配置 `/etc/resolv.conf`
+> 以上配置完成就可以了
+> 如果是desktop 版本可能设置的dns不能使 /etc/resolv.conf生效. 重启又恢复到默认
+
+#### 安装 resolvconf 服务
+
+```bash
+sudo apt-get update
+sudo apt-get install resolvconf
+```
+
+#### 配置 resolvconf
+
+> 修改 /etc/resolvconf/resolv.conf.d/head
+
+```bash
+vi /etc/resolvconf/resolv.conf.d/head
+# 增加
+nameserver 223.5.5.5
+nameserver 223.6.6.6
+```
+
+> 保存退出,执行
+
+```bash
+resolvconf -u
+```
+
+> 查看 /etc/resolv.conf, 重启再看
+
+```bash
+cat /etc/resolv.conf
+```
+
+## CentOS
+
+>
+>配置文件在 `/etc/sysconfig/network-scripts ` 下
+>
+>这里测试机文件名为:ifcfg-enp0s3
+>
+>修改 ifcfg-enp0s3 文件
+
+```bash
+vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
+```
+
+> 默认配置
+
+```bash
+TYPE=Ethernet
+PROXY_METHOD=none
+BROWSER_ONLY=no
+BOOTPROTO=dhcp
+DEFROUTE=yes
+IPV4_FAILURE_FATAL=no
+IPV6INIT=yes
+IPV6_AUTOCONF=yes
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
+NAME=enp0s3
+UUID=64a31304-95d8-4ab6-961e-8d5db92f8cc0
+DEVICE=enp0s3
+ONBOOT=no
+```
+
+> 修改为
+
+```bash
+TYPE=Ethernet
+PROXY_METHOD=none
+BROWSER_ONLY=no
+#BOOTPROTO=dhcp
+DEFROUTE=yes
+IPV4_FAILURE_FATAL=no
+IPV6INIT=yes
+IPV6_AUTOCONF=yes
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
+NAME=enp0s3
+UUID=64a31304-95d8-4ab6-961e-8d5db92f8cc0
+DEVICE=enp0s3
+#ONBOOT=no
+
+#static assignment
+NM_CONTROLLED=no
+ONBOOT=yes
+BOOTPROTO=static
+IPADDR=192.168.0.116
+NETMASK=255.255.255.0
+GATEWAY=192.168.0.1
+
+```
+
+
+
+> 修改/etc/sysconfig/network
+
+> 默认为空
+
+```bash
+# Created by anaconda
+NETWORKING=yes
+GATEWAY=192.168.0.1
+DNS1=114.114.114.114
+```
+
+> 重启服务
+
+```bash
+service network restart
+```
+
diff --git a/linux/static_ip.pdf b/linux/static_ip.pdf
deleted file mode 100644
index 47429fb..0000000
Binary files a/linux/static_ip.pdf and /dev/null differ
diff --git a/linux/vim_command.md b/linux/vim_command.md
new file mode 100644
index 0000000..85ee523
--- /dev/null
+++ b/linux/vim_command.md
@@ -0,0 +1,83 @@
+---
+title: VIM 编辑器
+date: 2020-10-18
+categories:
+ - linux
+tags: [linux]
+---
+
+
+## VIM 文本编辑器
+> 一般 `linux` 系统上默认都会安装 `vim` 文本编辑器。
+
+
+
+## 快捷操作
+
+### 批量添加注释
+
+> 有两种方法:
+
+#### 使用可视模式
+
+##### 注释
+
+1. 按 **`Ctrl+ v`** 进入块选择模式,
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191058873.png)
+
+
+2. 然后移动光标选中你要注释的行,
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191059608.png)
+
+
+3. 再按大写的 **`I`** 进入首行插入模式,输入注释符号比如 `#`,
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191059940.png)
+
+
+4. 输入完成后,按 **两下** `ESC`, vim 会自动将你选中的行都加上注释,保存退出
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191059429.png)
+
+
+##### 取消注释
+
+1. **`Ctrl + v`** 进入块选择模式,
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191100130.png)
+
+2. 选中你要删除的行首的注释符号,
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191100634.png)
+
+3. 选好之后按 **d** 即可删除注释,**ESC** 保存退出。
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191100231.png)
+
+
+
+#### 使用替换命令
+
+##### 注释
+
+使用下面命令在指定的行首添加注释。
+
+使用名命令格式: **`:起始行号,结束行号s/^/注释符/g`**
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191101730.png)
+
+
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191101021.png)
+
+##### 取消注释
+
+使用名命令格式: **`:起始行号,结束行号s/^注释符//g`**
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191101890.png)
+
+ ![](https://cdn.jsdelivr.net/gh/vinloong/imgchr@latest/notes/img/202201191101210.png)
+
+
diff --git a/linux/vim_command.pdf b/linux/vim_command.pdf
deleted file mode 100644
index 68cd5f2..0000000
Binary files a/linux/vim_command.pdf and /dev/null differ