Browse Source

pdf --> markdown

master
winloong 3 years ago
parent
commit
8746adbe3d
  1. 8
      SUMMARY.md
  2. 191
      linux/Raspberry Pi OS Lite.md
  3. BIN
      linux/Raspberry Pi OS Lite.pdf
  4. 70
      linux/login_no_passwd.md
  5. 37
      linux/reset_passwd.md
  6. BIN
      linux/reset_passwd.pdf
  7. 202
      linux/static_ip.md
  8. BIN
      linux/static_ip.pdf
  9. 83
      linux/vim_command.md
  10. BIN
      linux/vim_command.pdf

8
SUMMARY.md

@ -42,11 +42,11 @@
## linux ## linux
- [linnux 入门 -- 01了解开源协议](linux/01-License.pdf) - [linnux 入门 -- 01了解开源协议](linux/01-License.pdf)
- [如何重置 root 密码](linux/reset_passwd.pdf) - [如何重置 root 密码](linux/reset_passwd.md)
- [如何设置静态 IP](linux/static_ip.pdf) - [如何设置静态 IP](linux/static_ip.md)
- [vim 快捷操作](linux/vim_command.pdf) - [vim 快捷操作](linux/vim_command.md)
- [profile 、bashrc 等的区别和联系](linux/linux-profile-bashrc-diff.pdf) - [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)

191
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]
---
<div align='center' ><b><font size='70'> 初识 Raspberry Pi OS Lite </font></b></div>
<center> author: Uncle Dragon </center>
<center> date: 2021-07-13 </center>
<div STYLE="page-break-after: always;"></div>
[TOC]
<div STYLE="page-break-after: always;"></div>
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
```

BIN
linux/Raspberry Pi OS Lite.pdf

Binary file not shown.

70
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
```
<!--more-->
## 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
```

37
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 ... ...
```
<!--more-->
## 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. 重启系统
> 使用新创建的密码登录

BIN
linux/reset_passwd.pdf

Binary file not shown.

202
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
```
<!--more-->
``` 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
```

BIN
linux/static_ip.pdf

Binary file not shown.

83
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)

BIN
linux/vim_command.pdf

Binary file not shown.
Loading…
Cancel
Save