格卡

用管理员权限打开 “SDFormatter.exe”

把对应的卡格式化

Option:

FORMAT TYPE: QUICK
FORMAT SIZE ADJUSTMENT: ON      // 对齐

烧录

用管理员权限打开 “USB Image Tool.exe”

  • 左上角选项为: Device Mode

Restore: 刷写、恢复系统
Rescan: (刷多张卡的时候才会用得到)
Backup: 备份系统(镜像快照?集群时用)


或直接使用 树莓派官方烧录软件 进行格卡和烧录

建议自己下载镜像,官方的烧录软件要梯子 而且速度慢


进入系统

正常安装,设置好 语言、WiFi、时区等


配置

su 认证

1
$ sudo passwd

换源

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/

选择对应版本,复制粘贴

更新

1
2
$ sudo apt update
$ sudo apt upgrade

安装 ssh

1
$ sudo apt install openssh-server

查看是否ssh服务是否启动:

1
$ sudo ps -e | grep ssh

有sshd证明已经启动,没有则需要启动ssh服务:

1
$ sudo service ssh start

生成公钥、私钥

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建.ssh目录
$ mkdir .ssh
$ cd .ssh

# 生成公私钥
$ ssh-keygen

# 复制一份公钥
$ cp id_rsa.pub authorized_keys

# 修改 authorized_keys 的权限
# $ chmod 755 ~
# $ chmod 700 ~/.ssh
# $ chmod 600 ~/.ssh/authorized_keys

将要免密登录的电脑的公钥 追加到 authorized_keys 里即可


Git

安装git

1
$ sudo apt install git

注:这里往后基本上都是 root 在进行的,注意切换!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 配置git用户
$ adduser git

# 修改权限
$ chmod 740 /etc/sudoers
$ vim /etc/sudoers

# 在 root ALL=(ALL:ALL) ALL 下面添加:
git ALL=(ALL:ALL) ALL

# 然后保存并退出,将 sudoers 文件权限改回原样:
$ chmod 400 /etc/sudoers

# 设置 git 用户的密码:
$ sudo passwd git

# 切换到 git 用户,然后在 ~ 目录下创建 .ssh 文件夹
# 同上文 配置->生成公钥、私钥

# 修改 authorized_keys 的权限

创建仓库

1
2
3
4
5
6
7
8
9
# 进入到 git 用户
# $ su root
# $ cd /home/git

# 在 /home/git下创建新仓库 xxx.git
$ git init --bare xxx.git

# 给予 git 用户权限
$ chown git:git -R blog.git

hooks

假设当前用户为:xld

1
2
3
4
5
6
# 在 xld 的目录下创建文件夹 xxx
$ cd
$ mkdir xxx

# 添加可写权限
$ chmod 777 xxx/

返回到git用户

/home/git/xxx.git/hooks/ 下创建 post-receive 文件

1
2
$ cd xxx.git/hooks/
$ vim post-receive

添加以下内容:

1
2
#!/bin/bash
git --work-tree=/home/xld/xxx --git-dir=/home/git/xxx.git checkout -f

保存退出,添加可执行权限:

1
$ chmod +x /home/git/xxx.git/hooks/post-receive

这样就可以将提交到 /home/git/xxx.git 仓库里的内容,同步到 /home/xld/xxx 的文件夹下


Node

安装 nodejs

通过 apt 安装

1
$ sudo apt install nodejs

通过版本管理工具安装

1
2
3
4
5
6
7
8
# 安装 npm
$ sudo apt install npm

# 安装版本管理工具 n
$ sudo npm install -g n

# 利用 n 安装指定版本的 node
$ sudo n 16.17.0

npm相关设置

1
2
3
4
5
6
$ npm config ls 			# 查看npm设置
$ npm config get prefix # 获取npm包安装路径
$ npm config set prefix # 设置npm包安装路径
$ npm config get cache # 获取npm缓存
$ npm config set cache # 设置npm缓存
$ npm root -g # 查看npm全局路径的根目录

安装 nodejs 守护进程 forever

1
$ npm install -g forever

forever相关指令

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
# index.js是你要启动的js文件
$ forever start index.js

# 会列出forever正在运行的服务脚本
$ forever list

# 停止服务运行
$ forever stop index.js

# 查看帮助信息
$ forever --help


# 最简单的启动方式
$ forever start ./index.js

# 指定forever日志输出文件,默认路径~/.forever
$ forever start -l forever.log ./index.js

# 需要注意,如果第一次启动带日志输出文件,以后启动都需要加上 -a 参数,forever默认不覆盖原文件
$ forever start -l forever.log -a ../index.js

# 指定node.js应用的控制台输出文件和错误信息输出文件
$ forever start -o out.log -e err.log ./index.js

# 监听当前目录下文件改动,如有改动,立刻重启应用,不推荐的做法!如有日志文件,日志文件是频繁更改的
$ forever start -w ./index.js

Python

安装 python

apt 安装

1
$ sudo apt install python3.x

源码安装

这里选择版本,建议3.9.x

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 安装依赖
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev
$ sudo apt-get install -y libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
$ sudo apt-get install -y libncurses5-dev libncursesw5-dev xz-utils tk-dev

# 下载压缩包
$ wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz

# 解压
$ tar zxvf Python-3.9.16.tgz
$ cd Python-3.9.16

# 编译安装
$ sudo ./configure && sudo make -j4 && sudo make install

# 检查
$ python3 -V
$ pip3 -V # python3.4 及 python2.7 以上版本内置了pip

Java

安装 JDK(二选一)


安装 openjdk

1
2
3
4
5
# 建议安装 jdk17 是LTS长期支持版本
$ sudo apt install openjdk-17-jdk-headless

# 测试
$ java -version

安装 OracleJDK

可以到这里选择版本安装,建议是jdk17

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
# 下载压缩包
$ wget https://download.oracle.com/java/17/latest/jdk-17_linux-aarch64_bin.tar.gz

# 解压
$ tar -zxvf jdk-17_linux-aarch64_bin.tar.gz

# 切换并新建jdk目录
$ cd /usr/lib
$ sudo mkdir jdk
$ sudo mv ~/download/jdk-17.0.5/ /usr/lib/jdk/

# 配置环境
$ sudo vim /etc/profile

# set java env
export JAVA_HOME=/usr/lib/jdk/jdk-17.0.5
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# 使修改生效
$ source /etc/profile

# 测试
$ java -version

# 添加软连接,部分软件会从/usr/bin下找java
# $ sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk/jdk-17.0.5/bin/java 300
# $ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/jdk-17.0.5/bin/javac 300

Docker

安装 docker

1
2
3
4
5
# 安装
$ sudo apt install docker.io

# 测试
$ sudo docker run hello-world

docker 命令免 sudo 执行

1
2
3
4
5
6
7
8
9
10
11
12
# 创建docker组
$ sudo groupadd docker

# 将用户添加到docker组
$ sudo gpasswd -a ${USER} docker

# 重启docker服务
$ sudo systemctl restart docker

# 退出当前会话 重新登录即可
# 或切换当前会话到新 group
$ newgrp - docker

Nginx

利用apt安装

1
2
# apt安装nginx
$ sudo apt install nginx

编译安装

  1. 一些工具安装(也不一定需要,后面缺啥装啥)

    1
    $ sudo apt -y install make gcc openssl openssl-devel pcre-devel zlib zlib-devel
  2. 下载其中一个版本 nginx官网下载

    1
    2
    $ mkdir nginx && cd nginx
    $ wget https://nginx.org/download/nginx-1.22.1.tar.gz
  3. 解压

    1
    2
    $ tar -zxf nginx-1.22.1.tar.gz
    $ cd nginx-1.22.1
  4. 编译安装

    1
    2
    $ ./configure
    $ sudo make && sudo make install
  5. 启动nginx

    1
    2
    $ cd /usr/share/nginx/sbin
    $ ./nginx
  6. 添加到全局变量

    1
    $ sudo ln -s /usr/share/nginx/sbin/nginx /usr/local/bin/

安装 代理服务器 版本

  1. 一些工具安装(也不一定需要,后面缺啥装啥)

    1
    $ sudo apt -y install make gcc openssl openssl-devel pcre-devel zlib zlib-devel
  2. 下载其中一个版本 nginx官网下载

    1
    2
    $ mkdir nginx && cd nginx
    $ wget https://nginx.org/download/nginx-1.22.1.tar.gz
  3. 下载正向代理模块的包 ngx_http_proxy_connect_module

    1
    $ wget https://github.com/chobits/ngx_http_proxy_connect_module/archive/refs/tags/v0.0.5.tar.gz
  4. 解压

    1
    2
    $ tar -zxf nginx-1.22.1.tar.gz
    $ tar -zxf ngx_http_proxy_connect_module-0.0.5
  5. 查看版本&导入模块

    因为这里 nginx 版本为1.22.1, 因此对应的版本为proxy_connect_rewrite_102101.patch 其他版本查看

    1
    2
    $ cd nginx-1.22.1
    $ patch -p1 < ../ngx_http_proxy_connect_module-0.0.5/patch/proxy_connect_rewrite_102101.patch
  6. 编译

    1
    2
    3
    4
    5
    6
    7
    $ sudo ./configure  --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --add-module=/home/ubuntu/dir/nginx/ngx_http_proxy_connect_module-0.0.5

    --prefix: 安装路径
    --conf-path: 配置路径
    --http-log-path: http的log路径
    --error-log-path: 错误信息的log路径
    --add-module:添加模块,这里是正向代理模块
  7. 安装

    1
    $ sudo make && sudo make install
  8. 启动nginx

    1
    2
    $ cd /usr/share/nginx/sbin
    $ ./nginx
  9. 添加到全局变量

    1
    $ sudo ln -s /usr/share/nginx/sbin/nginx /usr/local/bin/

MySQL

1
2
3
4
5
6
7
8
# 安装mysql
$ apt install mysql-server

# 查看服务状态
$ service mysql status

# 启动服务
$ service mysql start

MongoDB


Redis

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
# 安装Redis
$ apt install redis

# 修改配置
$ vim /etc/redis/redis.conf
# 这两个地方开启/改为
bind 127.0.0.1
daemonize yes

# 启动服务
$ redis-server /etc/redis/redis.conf

# 未启动服务则会提示
# Could not connect to Redis at 127.0.0.1:6379: Connection refused
# not connected>
# exit 退出即可

# 进入Redis
$ redis-cli

# 一些命令
$ PING
$ set [key] value
$ get [key]
$ del [key]




待续未完……