一般通过命令nmtui设置
Category: linux
linux 硬盘管理常用命令
dd
硬盘复制用命令 镜像复制命令
例子
sudo dd if=openwrt-image.img of=/dev/mmcblk0 bs=4M status=progress
复制当前目录下 openwrt-image.img 镜像 到/dev/mmcblk0 的硬盘
sudo dd if=/dev/mmcblk1 of=/dev/mmcblk0 bs=4M status=progress
将/dev/mmcblk1整个硬盘复制到/dev/mmcblk0 /dev/mmcblk0容量大于/dev/mmcblk1
sudo dd if=/dev/zero of=/dev/mmcblk0 bs=4M status=progress
清空控盘内容(全写0)
fdisk
管理查看硬盘分区信息
例子
sudo fdisk /dev/mmcblk0
然后会进入硬盘命令行子命令交互空间
df
查看硬盘占用情况
df ./
展示当前目录所在硬盘分区占用情况
df -h
展示系统硬盘分区占用情况 包括挂载点信息
mount
挂载分区到某个挂载点
sudo mount /dev/mmcblk0p2 /mnt
其实一般当自动插入sd卡 或者USB就会自动挂载到这里
但是要改变挂载方式(可读可写) 就要先卸载在挂载
sudo mount -o rw /dev/mmcblk0p2 /mnt
增加-o rw 即为可读可写
umount
卸载分区
sudo umount /dev/mmcblk0p2
ln
这个命令可以为文件夹和文件设置硬链接和软连接
个人更加推崇软连接(硬链接是硬盘级别内部的连接 不能跨硬盘,软连接可以)
ln -s /path/to/source /path/to/destination
/etc/fstab
这个文件用来设置文件系统自动挂载
sudo blkid
列出系统所有分区的uuid
/etc/fstab 添加一行
UUID=1234-5678 /mnt ntfs rw 0 0
UUID=1234-5678:替换为你在步骤 1 中获取的 UUID。
/mnt:替换为你创建的挂载点。
ntfs:替换为你的文件系统类型(例如 ext4、ntfs 等)。
rw:默认挂载选项,包括 rw(读写)、suid、dev、exec、auto、nouser 和 async。
0 0:表示不进行备份和不进行文件系统检查。
香橙派 OPI.GPIO
一般GPIO初始化是执行
GPIO.setmode(mode) #来进行引脚定义初始化
GPIO.BOARD = 10
GPIO.BCM = 11
GPIO.SUNXI = 12
GPIO.CUSTOM = 13
其实只是一你骄傲的映射关系 没有真正执行任何代码
但是OPI.GPIO 对不同的香橙派版本 引脚定义不充分
CM4为例子
GPIO.setmode(GPIO.BOARD) #会少了很多引脚的映射
C:\Users\15699\AppData\Local\Programs\Python\Python312\Lib\site-packages\OPi\pin_mappings.py
BOARD: {
3: 12,
5: 11,
7: 6,
8: 198,
10: 199,
11: 1,
12: 7,
13: 0,
15: 3,
16: 19,
18: 18,
19: 15,
21: 16,
22: 2,
23: 14,
24: 13,
26: 10
},
这时候要不更改这个库文件 按照GPIO.readall 补充所有引脚映射
要不执行 自定义引脚映射初始化
GPIO.setmode({
3: 140,
5: 141,
7: 147,
8: 25,
10: 24,
11: 118,
12: 119,
13: 128,
15: 130,
16: 131,
18: 129,
19: 138,
21: 136,
22: 132,
23: 139,
24: 134,
26: 135,
27: 32,
28: 33,
29: 133,
31: 124,
32: 144,
33: 127,
35: 120,
36: 125,
37: 123,
38: 122,
40: 121
})
GPIO.getmode
# 返回CUSTOM 自定义引脚映射
树莓派 电源固件升级问题
树莓派论坛提到
https://forums.raspberrypi.com/viewtopic.php?t=361383
升级方法
Tue Dec 12, 2023 5:44 pm
3B+ v1.4 has a new PMIC and needs Sept 2021 or newer firmware.
Follow https://pip.raspberrypi.com/categories/ ... 6-WP-1.pdf to update the firmware in your image.
树莓派更换了新的PMIC(电源管理芯片)
https://pip.raspberrypi.com/categories/685/documents/RP-003476-WP/RP-003476-WP-1.pdf
该PDF有说明最新固件情况
Updating only the firmware
Sometimes, going through the standard upgrade procedure may not be possible. For example, you may have acustomised distribution with no update facilities, or that cannot be upgraded without causing further issues. In thesecircumstances, and possibly others, you will need to update the firmware files in the distribution manually.You can download the firmware files from the following location:
https://github.com/raspberrypi/firmware/archive/refs/heads/stable.zip
This zip file contains a number of items, but the ones we are interested in at this stage are in the boot folder.
The firmwarefiles have names of the form
start*.elf, and their associated support files are fixup*.dat.
The basic principle is to copy the required start and fixup files from this zip file to replace the same named files in thedestination OS image.
The exact process will depend on how the OS has been set up, but this is an example of how itwould be done for a Raspberry Pi OS image:
1. Extract or open the zip file so you can access the required files.
2. Open up the boot folder in the destination OS image (this could be on an SD card, or a disk-based copy).
3. Determine which start.elf and fixup.dat files are present in the destination OS image.
4. Copy those files from the zip archive to the destination image.The image should now be ready for use on the latest Raspberry Pi Ltd hardware.
其实就是下载最新固件包 在压缩包里打开boot目录
替换start*.elf 和 fixup*.dat.
当然命令行系统 用的是start.elf fixup.dat
桌面系统用的是 start_x.elf fixup_x.dat
Raspbian OS
全量搜索地址 清华开源镜像网站
https://mirrors.tuna.tsinghua.edu.cn/raspberry-pi-os-images/
树莓派 配置自启动桌面程序
利用aotostart 目录进行配置
创建设置文件/home/pi/.config/autostart/map2output.desktop,如果autostart目录不存在就自己创建。
文件内容如下:
[Desktop Entry]
Type=Application
Name=map2output
Exec=/home/rock/map.sh #执行脚本
树莓派 book worm 安装记录
3B插上网线
sudo raspian-config //开启ssh
sudo apt install python3-pip
sudo apt install python3-opencv
sudo apt install python3-dbus
sudo apt install python3-bluetooth
sudo apt install python3-serial
sudo apt install vim
sudo apt install lrzsz
pip install wiringpi --break-system-wide
开启orthocone 自启动
sudo chmod 777 /etc/init.d/orthocone
sudo update-rc.d orthocone defaults
sudo systemctl enable orthocone.service
sudo chmod 777 recon.out
还需要重新安装opencv_core opencv_imgproc opencv_highgui
用opencv4 重新编译 recon
超级辛苦
多余service 取消自启动
sudo update-rc.d xxx remove
或者
sudo systemctl disable xxx.service
移除windows 字符
vim
:set ff=unix
修改i2c 波特率
config.txt
dtparam=i2c_arm=on,i2c_arm_baudrate=100000
python3.9 后 timer.isAlive() 改为 timer.is_live()
虚拟键盘
https://blog.csdn.net/weixin_37613240/article/details/131095728
https://blog.csdn.net/weixin_46235937/article/details/128966933
https://blog.csdn.net/qq_27865227/article/details/127394944
https://blog.csdn.net/m0_46324847/article/details/128962898
新版树莓派摄像头驱动
第一禁用Wayland 用回x11设置
raspi-config
里设置后 重启
xinput查看当前当前触摸屏与设备 xrandr也可查看当前屏幕
xinput map-to-output 7 HDMI-1
xinput map-to-output 8 HDMI-2
pacman 实在msys2 下的包管理器
常用命令
pacman -Ss xxx 包搜索
pacman -S xxx 包安装
用法
pacman [...]
操作
pacman {-h --help} //帮助
pacman {-V --version} //查看版本
pacman {-D --database} //pacman管理数据库选项
pacman {-Q --query} [选项] [软件包] //查询安装包
pacman {-R --remove} [选项] //删除安装包
pacman {-S --sync} [选项] [软件包] //安装安装包
pacman {-U --upgrade} [选项] //更新安装包
使用 'pacman {-h --help}' 及某个操作以查看可得的选项
[zhangy@BlackGhost ~]$ pacman -D --help
用法
pacman {-D --database}
选项
--asdeps 标记为非单独指定安装的软件包
--asexplicit 标记为单独指定安装的软件包
--config 指定另外的配置文件
--logfile 指定另外的日志文件
--noconfirm 不询问确认
--noprogressbar 下载文件时不显示进度条
--noscriptlet 不执行安装小脚本
-v, --verbose 循环执行
-- debug 显示除错信息
-r, --root 指定另外的安装根目录
-b, --dbpath 指定另外的数据库位置
--cachedir 指定另外的软件包缓存位置
--arch 设定另外的架构
[zhangy@BlackGhost ~]$ pacman -Q --help
用法
pacman {-Q --query} [选项] [软件包]
选项
-c, --changelog 查看某软件包的更新日志
-d, --deps 列出所有作为依赖关系安装的软件包 [过滤器]
-e, --explicit 列出所有单独指定安装的软件包 [过滤器]
-g, --groups 查看某软件包组所属的所有软件包
-i, --info 查看软件包信息 (-ii 查看备份文件)
-k, --check 检查该软件包拥有的文件是否存在
-l, --list 列出被查询软件包的内容
-m, --foreign 列出没有在同步数据库时找到的已安装软件包 [过滤器]
-o, --owns 查询哪个软件包拥有
-p, --file 从某个软件包而不是数据库查询
-s, --search 搜寻符合指定字符串的已安装本地的软件包
-t, --unrequired 列出所有不被其他软件包要求的软件包 [过滤器]
-u, --upgrades 列出所有可升级的软件包 [过滤器]
-q, --quiet 在查询或搜索时显示较少的信息
--config 指定另外的配置文件
--logfile 指定另外的日志文件
--noconfirm 不询问确认
--noprogressbar 下载文件时不显示进度条
--noscriptlet 不执行安装小脚本
-v, --verbose 循环执行
-- debug 显示除错信息
-r, --root 指定另外的安装根目录
-b, --dbpath 指定另外的数据库位置
--cachedir 指定另外的软件包缓存位置
--arch 设定另外的架
[zhangy@BlackGhost ~]$ pacman -R --help
用法
pacman {-R --remove} [选项]
选项
-c, --cascade 删除软件包及所有的依赖于此的软件包
-d, --nodeps 略过依赖关系检查
-k, --dbonly 只删除数据库记录,不删除文件
-n, --nosave 同时删除配置文件
-s, --recursive 同时删除 (不会破坏其他软件包的) 依赖关系(-ss·也包括单独指定安装的依赖关系)
-u, --unneeded 同时删除不需要的 (且不会破坏其他软件包的) 依赖关系
--print 仅打印目标而不执行操作
--print-format 指定如何打印目标
--config 指定另外的配置文件
--logfile 指定另外的日志文件
--noconfirm 不询问确认
--noprogressbar 下载文件时不显示进度条
--noscriptlet 不执行安装小脚本
-v, --verbose 循环执行
-- debug 显示除错信息
-r, --root 指定另外的安装根目录
-b, --dbpath 指定另外的数据库位置
--cachedir 指定另外的软件包缓存位置
--arch 设定另外的架构
[zhangy@BlackGhost ~]$ pacman -S --help
用法
pacman {-S --sync} [选项] [软件包]
选项
--asdeps 作为非单独指定安装的软件包安装
--asexplicit 作为单独指定安装的软件包安装
-c, --clean 从缓存目录中删除旧软件包 (-cc 清除所有)
-d, --nodeps 略过依赖关系检查
-f, -force 强制安装,覆盖存在冲突的文件
-g, --groups 查看某软件包组所属的所有软件包
-i, --info 查看软件包信息
-l, --list 查看在该软件库中的软件包清单
-s, --search 按照指定字符串查询远端软件库
-u, --sysupgrade 升级所有已安装的软件包 (-uu 可启用降级)
-w, --downloadonly 下载但不安装/升级软件包
-y, --refresh 从服务器下载新的软件包数据库
--needed 不重新安装已经为最新的软件包
--ignore 升级时忽略某个软件包 (可多次使用)
--ignoregroup 升级时忽略某个软件包组 (可多次使用)
--print 仅打印目标而不执行操作
--print-format 指定如何打印目标
-q, --quiet 在查询或搜索时显示较少的信息
--config 指定另外的配置文件
--logfile 指定另外的日志文件
--noconfirm 不询问确认
--noprogressbar 下载文件时不显示进度条
--noscriptlet 不执行安装小脚本
-v, --verbose 循环执行
-- debug 显示除错信息
-r, --root 指定另外的安装根目录
-b, --dbpath 指定另外的数据库位置
--cachedir 指定另外的软件包缓存位置
--arch 设定另外的架构
[zhangy@BlackGhost ~]$ pacman -U --help
用法
pacman {-U --upgrade} [选项]
选项
--asdeps 作为非单独指定安装的软件包安装
--asexplicit 作为单独指定安装的软件包安装
-d, --nodeps 略过依赖关系检查
-f, -force 强制安装,覆盖存在冲突的文件
-k, --dbonly 添加数据库记录,不安装或保持现存文件
--print 仅打印目标而不执行操作
--print-format 指定如何打印目标
--config 指定另外的配置文件
--logfile 指定另外的日志文件
--noconfirm 不询问确认
--noprogressbar 下载文件时不显示进度条
--noscriptlet 不执行安装小脚本
-v, --verbose 循环执行
-- debug 显示除错信息
-r, --root 指定另外的安装根目录
-b, --dbpath 指定另外的数据库位置
--cachedir 指定另外的软件包缓存位置
--arch 设定另外的架构
实例1
安装包
1,安装或者升级单个软件包
pacman -S mysql
2,有时候在不同的软件仓库中,一个软件包有多个版本(比如extra和community)。你可以选择一个来安装
pacman -S extra/mysql
3,步包数据库并且安装一个软件包
pacman -Sy mysql
实例2
删除包
1,删除单个软件包,保留其全部已经安装的依赖关系
pacman -R mysql
2,删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:
pacman -Rs mysql
实例3
升级系统
pacman -Syu
实例4
查询包
1,查询可用安装包
pacman -Ss mysql
2,要查询已安装的软件包:
pacman -Qs mysql
实例5
其他用法
1,清理当前未被安装软件包的缓存
pacman -Sc
2,下载包而不安装
pacman -Sw mysql
实例6
# pacman -Rsc package_name #要删除软件包和所有依赖这个软件包的程序
# pacman -Rdd package_name #要删除软件包,但是不删除依赖这个软件包的其他程序:
# pacman 删除某些程序时会备份重要配置文件,在其后面加上*.pacsave扩展名。-n 选项可 以删除这些文件
# pacman -Rn package_name
# pacman -Rsn package_name
# pacman -Si package_name #显示软件包的详尽的信息
# pacman -Qi package_name #查询本地安装包的详细信息
# pacman -Qii package_name #使用两个 -i 将同时显示备份文件和修改状态
# pacman -Ql package_name #要获取已安装软件包所包含文件的列表
# pacman -Qk package_name #检查软件包安装的文件是否都存在
# pacman -Qo /path/to/file_name #查询数据库获取某个文件属于哪个软件包
# pacman -Qdt #要罗列所有不再作为依赖的软件包(孤立orphans)
# pacman -Qet #要罗列所有明确安装而且不被其它包依赖的软件包
# pactree package_name #要显示软件包的依赖树
# pactree -r package_name #检查一个安装的软件包被那些包依赖
msys2 是在windows上的一个 linux兼容层 执行msys2 相当于打开了一个linux环境
msys2 预装了 pacman 作为包管理器 可以执行pacman 快速安装各种软件