A. 树莓派4b-卸载python2.7,设置python3.7为默认
在树莓派目录(/usr/local/lib)可见3个目录(pypy2.7、python2.7、python3.7),
卸载python2.7和pypy后橘雀旦,目录(pypy2.7、python2.7)会同时被删除
1、树莓派4b-卸载python2.7,设置python3.7为默认
https://www.sibida.vip/article/98119
https://blog.csdn.net/weixin_43897032/article/details/115982781
2、卸载pypy及其依赖
pypy是一种python的解释器,比标准的cPython要快很多。圆扰但是并不支持所有的cPython库,有一些特殊的包用不了
我的项目岁伍对性能要求不高,所以使用python自带的cPython解析器即可。
B. 使用树莓派打造一个私人NAS+博客(2)——硬件篇
title: 树莓派NAS_硬件篇
date: 2021-01-27 8:36:00
tags:
- 树莓派
- NAS
- 硬件
blog_home: http://www.smcbaq.top:8081/
我的计划是使用树莓派搭建一个 个人颂拿野博客+NAS 的组合,一开始使用的是 树莓派3b+ ,已经做到了搭建基于 hexo 的个人博客,但是之前因为条件原因在电源,接线等问题上做出了各种妥协,最后导致有一定的问题,这次我重新使用 树莓派4b 部署一次,并且记录下这次的搭建过程留个记录,如果有人发现了这个系列文章,有兴趣可以试试,毕竟我也不知道这野喊个可能能有多少人看。
这篇文章承接 上文 的网络篇,主要描述硬件的选取和理由,方便阅读者摸清自己的需求,并且排除一些硬件上的坑点。
首先列举一些我的需求:
可以看到基本上还是很简单的,但是这就牵扯到两个细节:
由于我家内网里埋的是1000M的超五类线(虽然不是万兆但还是感谢爸妈当时装修有相当的前瞻性),所以对于这个 NAS 我列出了如下清单:
之前由于造树莓派3b+被坑过一次这次我选择格外小心,但是还是列举出坑点:
其实组装就是按照想要的组装就好了,要求不高只接线都行,但是我还是买了微积木(最近很火的用来diy便携显示器的那种敏态)来装一个我觉得还行的外壳:
这个积木是8mm的,可以支持卡一半的位置,也就是精度4mm,挺灵活的,充分利用这个性质
先做硬盘架的壳:
然后做树莓派的壳:
然后做整体的壳,先底座,再前盖,最后支撑,由于3000个有点少就支撑少做点,记得留出树莓派的接口位置:
最后把树莓派和路由器接好就完事了。
之后还可以在前面加个开关讲究点,但是由于这个要长期在线就暂时这样吧。
最后提一嘴本文 灵感来源 ,重点感谢!!!
C. 树莓派wireshark(tshark)抓包实验
本文在树莓派4b上测试wireshark网络抓包。安装图形界面wireshark,sudo apt-get install wireshark 。安装完成后后,在图形界面没有显示接口,比如笔者的waln0就没有显示,在命令行输入mpcap -h 查看具体的命令格式,mp -i wlan0实时捕捉时显示没有权限,这个需要sudo chmod +x /usr/bin/mpcap 添加权限即可。当然,图形界面和windows一样的,抓包以及查看数据包没啥好说的,重点说说wireshark命令行工具tshark。因为wireshark软件不能在命令行从文件分析数据包,只能抓包。生成的记录文件在shell命令行more命令打开后乱码状态。
笔者在删除wireshark软件时遇到一个问题,卸载并清除配置apt-get remove --purge wireshark后显示正在删除,可是发现wireshark软件依然存在,也可以正常拉起进程,后来发现是wireshark依赖的很多软件包没有删除,apt-get autoremove wireshark:卸载软件及其依赖的安装,解决问题。
查找tshark的源是有的,console version。sudo apt-get install tshark。安装后一样的,需要配置权限。
tshark -h可查看命令帮助信息。 那就来测试一下,tshark -i wlan0直接在终端上显示捕捉到的网络包列表
。 tshark -i wlan0 -w capture.pcap 用网卡wlan0捕捉数据包写入capture.pcap文件。
tshark -i wlan0 -r capture.pcap,读取capture.pcap文件内容。
D. 树莓派设置开机启动脚本
由于北邮校内网需要Drcom拨号,每次用curl命令很麻烦,所以开始了这次写开机启动脚本的过程。
init 进程读取 /etc/inittab文件中的信息,并进入预设的运行级别。
Debian中的运行级别
查看系统当前运行级别使用 runlevel 命令,通常情况下 /etc/rcS.d/目录下的启动脚本首先被执行,然后是/etc/rcN.d/目录,N为 /etc/inittab 中的initdefault。
/etc/rc2.d 中的部分文件如下:
有K开头的文件,有S开头的文件,K的意思是Kill,S为Start。K和S后面紧跟着的数字就是关闭和启动的顺序,数字越大关闭或启动顺序越靠后。
将自定义脚本放在 /etc/init.d 目录下面,就可以使用 service yourshellname start|stop 当然需要脚本中写好start,stop功能。但是不能开机自启动。
使用update-rc.d函数将脚本设置为开机自启动。
1)设置脚本启动和关闭依赖$remote_fs,$syslog,并且启动运行级别为2-5,关闭运行级别为0,1,6。
update-rc.d foobar defaults
上面一条命令就会在/etc/rc2.d rc3.d rc4.d rc5.d中创建软链接 S03drcom -> ../init.d/drcom ,在rc0.d rc1.d rc6.d中创建软链接 K01drcom -> ../init.d/drcom 。
2)设置脚本启动关闭都为顺序20,并且启动运行级别为2-5,关闭运行级别为0,1,6。
update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
同理。
3)移除连接。
update-rc.d yourshellname remove
参考文献:
[1] 开机自动执行脚本 与 update-rc.d
[2] 树莓派开机自启动脚本制作
[3] Debian init 开机启动管理
[4] 树莓派开机启动程序及启动脚本的制作
E. 树莓派配置文件 config.txt - HDMI 热插拔
关键词:树莓派、找不到config.txt、显示器、HDMI热插拔、hdmi_force_hotplug
如果移动端访问不佳,请访问–> GithubPage 版
快速预览:
新到的树莓派4B,安装了带桌面的 Ubuntu 系统,前期为了方便,通过 HDMI 线外接了显示器,方便配置系统。但是配置完毕并拔掉显示器之后发现一个问题:重启树莓派后,如果没有外接显示器,则无法正常进入系统,定位到是 HDMI 检测机制的问题,它默认需要插上显示器才能正常启动。
查到资料需要开启树莓派的 HDMI 热插拔才能不依赖外接显示器。
于是需要我们:
修改 config.txt 有2大类方法
下面说下方法2:
通常 config.txt 的路径是 /boot/config.txt ,但是 如果找不到 ,需要查看下磁盘分区,找到 启动分区 所在的目录。
添加如下2行到 config.txt 然后重启树莓派即可
参考资料:
如果有什么建议或者问题可以随时联系我,共同探讨学习:
F. 树莓派Linux启动过程简介
昨天在写关于linux设置脚本开机启动的文章时,有个疑问就是开机时怎么确认运行级别,然后遍历执行/etc/rcN.d/目录下的所有服务程序。带着疑问, 在前人的基础上 学习总结一下linux系统初始化的工作的内容,现在树莓派4B上展示出来。
1、加载内核
当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。旅山操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。树莓派4B的内核是Raspbian GNU/Linux 10 (buster),基于Debian。
2、初始化进程init
内核文件加载以后,运行第一个程序init,它的作用是初始化系统环境。init位于目录/sbin,进程号PID为1,即1号进程,其他所有进程都由init衍生,是init的子进程。
同时还有个0号进程,idle进程,在系统初始化时由内核kernel自身从无到有创建,通过调用kernel_thread创建一个内核线程去执行init函数,0号进程创建1号进程。
3、运行级别
具体介绍请参考笔者的文章-Linux运行级别简介 ,但是开机时是怎么确定运行级别的呢?
init进程首先读取文件 /etc/inittab,它是运行级别的设置文件。但是各个发行版不太一样,init的仔稿配置文件也不一样,有可能使用/etc/event.d里面的配置文件,最新版的改用为/etc/init目录。
4、开机启动程序
具体详情请参考文章-linux中/etc/init.d设置开机启动 ,确定运行级别后,执行rcN.d目录下的文件,这些链接文件是连接到init.d目录下的程序。init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。
比如运行级别为5(图形化多用户)时启动的程序:
5、用户登录
开机启动程序加载完毕以后用户登录。用户的登录方式有三种:
命令行登录:init进程调用getty程序。
ssh登录:init进程调用sshd程序。
图形界面登录:init进程调用显示管理器,Gnome图形界面对应的显示管理器为gdm。
6 、login shell
默认shell时bash,命令行界面,让念镇孝用户可以直接与操作系统对话。读取环境变量,具体请参考笔者文章-Linux环境变量的设置。