大佬们左手YouTube右手twitter炸鱼炸的飞起inmesur包m蛤创车万各种梗无所不知人均bilibiliuid5位数年度大会员FGO氪金百万个个马列毛出国留学6位数投资不眨眼
在我调整好心态前会自闭一段时间

Snipaste_2018-08-26_00-44-55.png

P70824-171856.jpg

没钱非常可怕

先纪念一下伤痕累累的Orange Pi Zero,
Alpha V0.2
注:foo,bar为占位符
据自己的需求弄
来到这里请评论一下哪怕是sadasdasd


树莓派0崩了,其实也不是崩了,因为未知原因连不上网,对我来说已经成为黑盒,所以下面我们重装系统.

Dump映像方便分析

Win32DiskImager或者dd把内存卡dump出来方便以后刨尸,比如用7z打开看配置,用qume启动(这个够呛)。

Snipaste_2018-07-17_17-46-19.png

从官网下载映像

如果没有翻墙的化先用广告屏蔽插件屏蔽谷歌API否则打不开
在自定义规则添加

*google* 

点击这里跳转到官网
你会看到两个版本
Raspbian Stretch with desktop有桌面
Raspbian Stretch Lite没桌面
根据需求选,而且桌面还可以以后安装
不要用浏览器下载,会非常慢

写镜像

用Win32DiskImager向内存卡写镜像

Snipaste_2018-07-17_17-50-27.png

连接树莓派

写好镜像后你可以看到有个叫boot的盘,在里面创建一个叫ssh的空文件,不要扩展名.效果是这样的:

Snipaste_2018-07-17_18-33-46.png

插好你的充电器数据线网线,等5分钟你应该可以在路由器的管理界面看到树莓派,记下ip,用PuTTY或其他ssh客户端连接。

ssh [email protected]
[email protected]'s password:raspberry
[email protected]:~ $

改名

不喜欢pi这个名字,改掉它

sudo su
passwd # 设置root密码
nano /etc/passwd
nano /etc/shadow
nano /etc/group
#按下Ctrl+\,输入pi,然后按Enter键,再输入foo,按Enter.然后选A
passwd foo
mv /home/pi /home/foo    
^D #推出重登

配置sudo,使其不问密码

visudo
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
^X
Y

配置秘钥,自动登录

如果已经有.ssh的话用scp传上来,改下权限

[email protected]:~ $
chmod 755 .ssh/
chmod 644 .ssh/*
chmod 600 .ssh/id_rsa

改源,更新

用#注释掉原内容用别的源,例如清华源

sudo nano /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

同上

sudo nano /etc/apt/sources.list.d/raspi.list

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

更新

sudo apt update
sudo apt upgrade

改语言,时区

sudo raspi-config

4 Localisation Options
I1 Change Locale
PgDn翻到最后
[*] zh_CN.GBK GBK
[*] zh_CN.UTF-8 UTF-8
<Ok>
zh_CN.UTF-8
<Ok>
时区自动改了

安装oh-my-zsh

sudo apt install zsh git
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

个性化和效率

nano .zshrc
主题

ZSH_THEME="ys"

插件

plugins=(git colored-man-pages sudo autojump extract catimg urltools encode64 nyan fbterm colorize cp copyfile copydir history mosh zsh-history-substring-search zsh-syntax-highlighting zsh-autosuggestions)

sudo apt install autojump 
cd ~/.oh-my-zsh/plugins
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
git clone git://github.com/zsh-users/zsh-autosuggestions.git
git clone git://github.com/zsh-users/zsh-history-substring-search.git
git add -A
别名

alias az="sudo apt install"
alias xz="sudo apt-get purge"
alias rm="rm -rfv"
alias cp="cp -prv"
alias mv="mv -v"
alias halt="sudo shutdown -h now"
alias srm="sudo rm -rfv"

vim

az vim #alias az="sudo apt install"

https://github.com/chxuan/vimplus 看看
我不想要这么花俏的配置,所以我就一个.vimrc 而且还把插件全删了

硬盘自动挂载

sudo nano /etc/fstab
/dev/sda1 /media/foo/bar ext4 defaults,user,rw,exec  0 0
sudo mkdir /media/foo
sudo mkdir /media/foo/bar
sudo chown foo:foo /media/foo/
sudo chown foo:foo /media/foo/bar

编译安装LNMP

sudo apt-get install screen
screen -S lnmp
sudo su
cd #最好在硬盘里编译lnmp,因为写入放大的原因编译会伤内存卡.
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
不要启动
#去等着吧,且等着的呢(怨念)

Snipaste_2018-07-19_13-01-43.png

实用网站

sudo su
cd /home/wwwroot

h5ai

wget https://release.larsjung.de/h5ai/h5ai-0.29.0.zip
x h5ai-0.29.0.zip
mv h5ai-0.29.0/_h5ai ./
rm  h5ai-0.29.0  h5ai-0.29.0.zip

参照:
https://www.htcp.net/3643.html
http://www.senra.me/h5ai-a-modern-http-web-server-index-setup-and-modify/comment-page-1/

贴吧云签到

git clone https://gitee.com/kenvix/Tieba-Cloud-Sign.git

别用火狐安装

crontab -e

* * * * * php /home/wwwroot/Tieba-Cloud-Sign/do.php

webui-aria2

git clone https://github.com/ziahamza/webui-aria2.git

pi-dashboard

git clone https://github.com/spoonysonny/pi-dashboard.git

技巧

journalctl -f #实时显示日志,可以用来排错

配置V2Ray前端

https://www.v2ray.com/
https://toutyrater.github.io/

wget https://install.direct/go.sh 
chmod +x go.sh
sudo ./go.sh
sudo nano /etc/v2ray/config.json #参照引用
sudo service v2ray restart
#啊终于可以看YouTube了

BBR

高效TCP,搭配代理有奇效

sudo echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
sudo echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sudo sysctl -p

尽量不用swap

sudo echo "vm.swappiness = 1" >> /etc/sysctl.conf
sudo sysctl -p

NFS

sudo apt install nfs-kernel-server nfs-common
sudo nano /etc/exports

/ *(rw,sync,no_root_squash,no_subtree_check)

sudo reboot

在Windows7以上版本下挂载

Microsoft Windows [版本 10.0.17134.165]
(c) 2018 Microsoft Corporation。保留所有权利。

C:\Users\wrtyi>regedit

HKEY_LOCAL_MACHINESOFTWAREMicrosoftClientForNFSCurrentVersionDefault

新建名为AnonymousUid和AnonymousGid的REG_DWORD项
效果:

Snipaste_2018-07-20_13-13-23.png

Snipaste_2018-07-20_13-18-23.png

重启系统

Microsoft Windows [版本 10.0.17134.165]
(c) 2018 Microsoft Corporation。保留所有权利。

C:\Users\wrtyi>mount 192.168.1.120:/./ Y:
Y: 现已成功连接到 192.168.1.120:/./

命令已成功完成。

C:\Users\wrtyi>

现在可以直接在电脑上用Notepad++改配置文件了

samba

sudo apt install samba
sudo vim /etc/samba/smb.conf

[share]
path = /media/foo/bar
valid users = foo
browseable = yes
public = yes
writable = yes

sudo /etc/init.d/samba restart
sudo smbpasswd -a foo

桌面

sudo apt install raspberrypi-ui-mods vnc4server xrdp xscreensaver-

DLNA

Debian stretch 的dlna软件包有问题,死活没法访问挂载的目录,所以我们编译安装.

sudo apt remove minidlna
sudo apt-get build-dep minidlna
 wget http://sourceforge.net/projects/minidlna/files/latest/download\?source\=files -O minidlna.tar.gz
x minidlna.tar.gz
cd minidlna-1.2.1
./configure
make
sudo make install
sudo cp minidlna.conf /etc
sudo cp linux/minidlna.init.d.script  /etc/init.d/minidlna
sudo chmod +x /etc/init.d/minidlna
sudo update-rc.d minidlna defaults
sudo mkdir /var/cache/minidlna
sudo vim /etc/minidlna.conf

media_dir=/media/foo/bar/ #会自动扫描子目录的文件
db_dir=/var/cache/minidlna
log_dir=/var/log

sudo service minidlna restart

Snipaste_2018-07-23_13-38-07.png

打开网络.你应该可以看见树莓派

Snipaste_2018-07-23_13-37-17.png

双击后打开状态统计,你可以看到数据以肉眼可见的速度增长

Snipaste_2018-07-23_13-37-25.png

Snipaste_2018-07-23_13-38-35.png

Snipaste_2018-07-23_13-39-27.png

现在你可以听歌了.

静态IP

sudo vim  /etc/dhcpcd.conf

照着注释改

frpc内网穿透

wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_arm.tar.gz
x frp_0.20.0_linux_arm.tar.gz
cd frp_0.20.0_linux_arm
sudo mkdir /usr/local/frp
sudo cp frpc /usr/local/frp
sudo cp frpc.ini /etc/
sudo chmod +x /usr/local/frp/frpc
sudo ln /usr/local/frp/frpc /usr/bin/
sudo chmod +x /usr/local/frp/frpc

接下来我我们要写一个systemd Service 脚本 ,在此之前吐槽一下
systemd,管天管地管一切!
systemd 管天管地管一切

sudo systemctl edit --foce frpc.service

[Unit]
Description=frpc service
After=network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/local/frp/frpc -c /etc/frpc.ini
Restart=on-failure

[Install]
WantedBy=multi-user.target

sudo systemctl enable frpc
sudo vim /etc/frpc.ini

参照 https://github.com/fatedier/frp/blob/master/README_zh.md

sudo systemctl restart frpc

hdparm硬盘休眠

sudo apt install hdparm
sudo systemctl edit --foce hdparm.service

技巧dpkg -L 看文件路径

[Unit]
Description=hdparm Service

[Service]
Type=oneshot
ExecStart=/sbin/hdparm -B 127 -S 30 "/dev/disk/by-id/foo
Restart=no

[Install]
WantedBy=multi-user.target

sudo systemctl enable hdparm
sudo systemctl start hdparm
#不用管报错

ipfs

wget https://dist.ipfs.io/go-ipfs/v0.4.16/go-ipfs_v0.4.16_linux-arm.tar.gz
x go-ipfs_v0.4.16_linux-arm.tar.gz
cd go-ipfs
sudo ./install.sh
echo export IPFS_PATH=/foo >>~/.zshrc
source ~/zshrc
ipfs init
ipfs daemon
sudo systemctl edit  IPFS.service

[Unit]
Description=IPFS Service
After=network.target
Wants=network.target

[Service]
Type=simple
Environment="IPFS_PATH=foo"
ExecStart=/usr/local/bin/ipfs daemon Restart=on-failure

[Install]
WantedBy=multi-user.target

syncthing

sudo apt install syncthing
/usr/bin/syncthing 
#等会
vim /home/liutao/.config/syncthing/config.xml

<address>0.0.0.0:3081</address>

sudo mv  /lib/systemd/system/[email protected] /lib/systemd/system/syncthing.service
sudo vim /lib/systemd/system/syncthing.service

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
Wants=network.target

[Service]
User=foo
ExecStart=/usr/bin/syncthing -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install] WantedBy=multi-user.target

sudo systemctl disable syncthing
sudo systemctl enable syncthing
sudo systemctl start syncthing

aria2

sudo apt install aria2
sudo mkdir /var/cache/aria2
sudo chown foo:foo /var/cache/aria2
touch /var/cache/aria2/aria2.session
sudo vim /etc/aria2.conf

enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-listen-port=6800
dir=/media/foo/aria2/
input-file=/var/cache/aria2/aria2.session
save-session=/var/cache/aria2/aria2.session

sudo systemctl edit --force aria2.service

[Unit]
Description=aria2 service
After=network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2.conf
Restart=on-failure
User=foo

[Install]
WantedBy=multi-user.target

sudo systemctl enable aria2
sudo systemctl start aria2

BaiduPCS-Go

参照https://github.com/iikira/BaiduPCS-Go

wget https://github.com/iikira/BaiduPCS-Go/releases/download/v3.5.3/BaiduPCS-Go-v3.5.3-linux-armv5.zip
x BaiduPCS-Go-v3.5.3-linux-armv5.zip
cd BaiduPCS-Go-v3.5.3-linux-armv5
sudo mv BaiduPCS-Go /usr/bin/

重启牌万金油

https://www.bilibili.com/video/av27965783

sudo vim /etc/crontab

* 3 * * * root reboot

sudo service cron restart

以下没用


网卡坏了自动重启

如果我有时间hymmn的话我会倒回去去买zero w

sudo vim foo.sh

-

#!/bin/bash
if ! ping -c 5 192.168.1.1 > /dev/null 2>&1
then
    reboot
fi

-

sudo vim /etc/crontab

* * * * * root foo.sh

sudo service cron restart

数据恢复

tree -L 2 #看看受灾情况
sudo service smbd stop
sudo lsof | grep -i foo 
sudo kill -9 foo
sudo umount /dev/sda1
sudo apt install extundelete
sudo extundelete /dev/sda1 --inode 2sudo extundelete --after  1532934964 --restore-all /dev/sda1

fuckdebian

想编译
sudo mount -o offset=4194304 1.img 1

不要用树莓派0(没w)做NAS!!!

Snipaste_2018-08-16_19-05-46.png

foo

sudo apt install dnsmasq dnscrypt-proxy

如果您看到这篇文章,表示您的 blog 已经安装成功.


很迷茫,放了暑假总是知不道干啥懒
这个博客用于我学习过程中记笔记和瞎写点东西.
wass,ye chs hynns