Raspberry Pi 4

raspberry pi 4 4G on 2020/05/19 updated 2023/04/08

Raspbian

Raspberry Pi Imager

https://www.raspberrypi.com/software/

Raspberry Pi OS(other)

Raspberry Pi OS(64-bit)

SSH

create file "SSH" under sd card root folder

mirror

https://mirror.tuna.tsinghua.edu.cn/help/raspbian/

# 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代:
deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi
# deb-src https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi

# deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/raspbian/multiarch/ bullseye main
sudo apt-get update
sudo apt-get upgrade
sudo apt install vim

githubusercontent

https://zhuanlan.zhihu.com/p/107691233

sudo vim /etc/hosts

# GitHub Start
52.74.223.119     github.com
192.30.253.119    gist.github.com
54.169.195.247    api.github.com
185.199.111.153   assets-cdn.github.com
151.101.76.133    raw.githubusercontent.com
151.101.76.133    gist.githubusercontent.com
151.101.76.133    cloud.githubusercontent.com
151.101.76.133    camo.githubusercontent.com
151.101.76.133    avatars0.githubusercontent.com
151.101.76.133    avatars1.githubusercontent.com
151.101.76.133    avatars2.githubusercontent.com
151.101.76.133    avatars3.githubusercontent.com
151.101.76.133    avatars4.githubusercontent.com
151.101.76.133    avatars5.githubusercontent.com
151.101.76.133    avatars6.githubusercontent.com
151.101.76.133    avatars7.githubusercontent.com
151.101.76.133    avatars8.githubusercontent.com
# GitHub End

Kodi

https://kodi.wiki/view/HOW-TO:Install_Kodi_on_Raspberry_Pi

sudo apt-get update
sudo apt-get install kodi

auto start kodi

https://www.raspberrypi.org/forums/viewtopic.php?t=251645

without desktop

https://forum.kodi.tv/showthread.php?tid=297380

sudo tee -a /lib/systemd/system/kodi.service <<_EOF_
[Unit]
Description = Kodi Media Center
After = remote-fs.target network-online.target
Wants = network-online.target

[Service]
User = pi
Group = pi
Type = simple
ExecStart = /usr/bin/kodi-standalone
Restart = on-abort
RestartSec = 5

[Install]
WantedBy = multi-user.target
_EOF_
sudo systemctl enable kodi.service

with desktop

sudo vim /etc/xdg/lxsession/LXDE-pi/autostart

add

@kodi

sudo apt install transmission-daemon

mount usb hard disk

mount

exfat and ntfs support already included

sudo fdisk -l
df -h
mkdir /home/pi/storage
sudo mount /dev/sda1 /home/pi/storage
df -h

auto mount

sudo blkid

sudo vim /etc/fstab
# append one line
/dev/sda1 /home/pi/storage ext4 defaults 0 0

samba

sudo apt-get install samba samba-common-bin
sudo vim /etc/samba/smb.conf

[storage]
comment = pi storage
path = /home/pi/storage
# 不出现在网络发现中
browseable = yes
# 禁止匿名访问
public = no
writable = yes
# 只允许pi用户访问
valid users = pi
sudo smbpasswd -a pi
sudo systemctl restart smbd

\\<raspberry_pi>\share

docker

https://docs.docker.com/engine/install/debian/ https://docs.docker.com/engine/install/debian/#install-using-the-convenience-script

sudo apt-get remove docker docker-engine docker.io containerd runc

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker pi

docker-compose

https://www.zuidwijk.com/blog/installing-docker-and-docker-compose-on-a-raspberry-pi-4/

sudo apt install libffi-dev libssl-dev python3 python3-pip
sudo pip3 install docker-compose

pip

修改~/.pip/pip.conf文件, 没有则创建

[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple

aria2

sudo apt-get install aria2

config

~/.aria2/aria2.config

# download folder
dir=/home/pi/storage

# rpc
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-secret=abcd

# for increasing BT speed
listen-port=6881-6999,51413
bt-seed-unverified=true
bt-save-metadata=true
seed-ratio=2.0
bt-tracker=udp://5.79.83.194:6969/announce,udp://92.241.171.245:6969/announce,udp://5.79.209.57:6969/announce,udp://82.118.242.198:1337/announce

#session
input-file=/home/pi/.aria2/aria2.session
save-session=/home/pi/.aria2/aria2.session
save-session-interval=60

auto start

/lib/systemd/system/aria2.service

[Unit]
Description=Aria2 Service
After=network.target

[Service]
User=pi
ExecStart=/usr/bin/aria2c --conf-path=/home/pi/.aria2/aria2.config

[Install]
WantedBy=default.target
sudo systemctl enable aria2
sudo systemctl start aria2
sudo systemctl status aria2

webui-aria2

sudo apt-get install nginx
git clone https://github.com/ziahamza/webui-aria2.git
sudo ln -s /home/pi/webui-aria2/docs /var/www/html/webui-aria2

temperature

vcgencmd measure_temp

cat /sys/class/thermal/thermal_zone0/temp

pihole

https://pi-hole.net/

https://github.com/pi-hole/pi-hole/

https://github.com/pi-hole/docker-pi-hole/#running-pi-hole-docker

version: "3"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "8280:80/tcp"
      #- "443:443/tcp"
    environment:
      TZ: 'Asia/Shanghai'
      # WEBPASSWORD: 'set a secure password here or it will be random'
    # Volumes store your data between container upgrades
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
    dns:
      - 127.0.0.1
      - 1.1.1.1
    # Recommended but not required (DHCP needs NET_ADMIN)
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    #cap_add:
    #  - NET_ADMIN
    restart: unless-stopped

DNS-Over-HTTPS

https://docs.pi-hole.net/guides/dns-over-https/

V2RayA

https://v2raya.org/docs/prologue/installation/debian/