可以通过file_mode 和dir_mode 来设置权限,覆盖默认的755权限。
通过linux的 man mount.cifs 简单的了解下。
file_mode=arg If the server does not support the CIFS Unix extensions this overrides the default file mode. dir_mode=arg If the server does not support the CIFS Unix extensions this overrides the default mode for directories.
示例:
mount -t cifs -o username=ftp,password=3dmedcom,rw,dir_mode=0777,file_mode=0777 //10.10.172.91/GENEbackup /GENEbackup #文件目录权限都为777 mount -t cifs -o username=ftp,password=3dmedcom //10.10.172.91/GENEbackup /GENEbackup #经测试,可以读写。文件目录权限都为755
卸载:
当不需要使用这个分区的时候,需要将这个磁盘分区卸载。使用 umonut DEVICE 或者 umont DEVICE_POINT 来卸载。 但是,在卸载的时候我们刚好在访问这个目录,那么会提示设备忙,拒绝退出。 此时,有2种解决方案:1、退出此目录。2、使用fuser命令强制退出。 # fuser -v /GENEbackup //fuser -v参数查看使用这个分区的用户和进程 # fuser -km /GENEbackup //杀死访问挂载点的进程 # umount /GENEbackup //可以正常卸载]]>
本人系统:MacOS
SublimeREPL:用于程序的交互,实现输入输出功能,报错后修改代码重新运行前先保存再运行
左上角Sublime Text -> Preferences -> Browse Packages
找到Packages目录,在目录下找到SublimeREPL插件目录并进入在里面找 SublimeREPL.sublime-settings 这个文件并打开,找到 "default_extend_env"这项,并修改成自己的Python解释器目录
再找到"getenv_command"项,并将值改为false,如下图
打开Sublime Text /Packages/SublimeREPL/config/Python/Main.sublime-menu
找到Python的cmd,把osx的改成
还有就是将下图的地方也改一下
设置好后就可以选择SublimeREPL下的Python -> python-RUN current file就可以实现有用户输入的Python交互程序了。
安装SublimeREPL插件后,打开Preferences->Key Bindings,添加快捷键:安装SublimeREPL插件后,打开Preferences->Key Bindings,添加快捷键:
{"keys": ["f5"], "caption": "SublimeREPL: Python - RUN current file", "command": "run_existing_window_command", "args": { "id": "repl_python_run", "file": "config/Python/Main.sublime-menu"} }
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/ferrarifomaul/article/details/135331422
]]>清华大学 : https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云: http://mirrors.aliyun.com/pypi/simple/
中国科学技术大学 : http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学: http://pypi.hustunique.com/
豆瓣源: http://pypi.douban.com/simple/
腾讯源: http://mirrors.cloud.tencent.com/pypi/simple
华为镜像源: https://repo.huaweicloud.com/repository/pypi/simple/
————————————————
1、临时使用
pip install [包名] -i [pip源URL]
# 示例
pip install pytest -i https://pypi.tuna.tsinghua.edu.cn/simple
# 或
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pytest
# 或
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2、永久使用
前提pip版本 (>=10.0.0) 方可使用此命令进行配置:
升级 pip 到最新的版本
pip install pip -U
# 或
python -m pip install --upgrade pip
修改pip源为清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple]]>
conda info --envs
conda env list
创建新的虚拟环境:
conda create -n name python=x.x
删除某个虚拟环境:
conda env remove -n name --all(低版本的conda不存在--all)
对conda升级:
conda update conda
进入虚拟环境:
conda activate name
退出虚拟环境:
conda deactivate
查看虚拟环境中存在的包:
conda list
下载软件包(conda会自动配置符合环境的软件包版本):
conda install packageName==x.x.x
卸载软件包:
conda uninstall packageName
查看软件包信息(包括版本和下载通道信息):
conda list packageName
批量安装包:
conda install -r requirements.txt
]]>
Preference-->Package Control-->install package--> Conda(单击)
Tools-->build system-->Conda
把默认的Python环境改成已创建的虚拟环境的python
Preferences-->Package Settings-->Conda-->Settings
会出现两个窗口,在右侧的窗口写下下面的代码:
/Default settings for sublime-text-conda:{// executable is the path to anaconda's python// this python executable is used in order to find conda//"executable": "~/anaconda3/bin/python3","executable":"/home/**/anaconda3/envs/***/bin/python",// conda虚拟环境中的python路径 //自行更新一下 **: username, ***: conda environment name // Directory in which the conda envs are stored// Default location is the user's home directory//"environment_directory": "~/anaconda3/envs/","environment_directory":"/home/freya/anaconda3/envs/***/",// conda虚拟环境中的路径// configuration is the path to conda's configuration file"configuration":"~/.condarc"}
调出command palette: Ctrl+Shift + P
输入Conda,选择下拉列表中Activate Environment,再选中自己之前创建的环境就好啦
目前来看已经成为默认设置,不用每次打开进行激活
缺点就是结果显示在下方命令行中,运行需要用Ctrl+B,停止需要Tools-->Cancel build,不过是可以接受的。
conda config --set auto_activate_base false
conda config --set auto_activate_base true
通过相应设置,该接口也可以工作在PCIe Gen 3.0 ×1模式下,树莓派5未经过 Gen 3.0 速度认证,以Gen3速率连接到 PCIe 设备可能不稳定,官方对此速率下的稳定性不做保证。
用于 PCIe 的 Raspberry Pi 连接器
需要准备的材料
树莓派5
带有raspberryPi OS镜像tf卡(16GB以上)
PCIe扩展套件(除PCB外还包含FPC、螺丝、铜柱)
对应规格的M.2固态硬盘(例如你的PCIe套件只支持2280硬盘的话,就用2280尺寸固态) 需要注意的是西数SN系列硬盘目前无法完全兼容
type-c电源(推荐用官方电源)
如使用SSH或VNC则需要电脑、局域网络连接,否则需使用树莓派HDMI以及USB
M.2固态硬盘盒(非必需,用于写入镜像,可用扩展套件解决)
截至2024年1月23日,树莓派官方的扩展( NVMe M.2 HAT) 仍处于原型阶段,尚未发布。
树莓派官方发布了PCIe连接器的文档以及HAT+规范,地址如下适用于 PCIe 标准的 Raspberry Pi 连接器文档
Raspberry Pi HAT+规范
Pineberry Pi以及一些国内配件商也发布了相应的PCIe扩展板
实际演示操作
固态硬盘使用方式分为
1、用作启动盘
此工作方式需要修改树莓派板载的EEPROM
2、仅作为外接存储盘
仅作为外接存储盘只需要修改TF卡的配置文件
这里我们使用的是Mcuzone的扩展板MPS2280以及三星PM991A 2230固态硬盘
野芯科技Mcuzon的MPS2280套件使用2230硬盘,需要额外购买固定柱并焊接/粘贴至相应尺寸,例如图中已经在2230位置粘接好了额外的固定柱,2280硬盘则不需要
官方文档相关部分见如下网址:
用于 PCIe 的 Raspberry Pi 连接器
用作启动盘方式
用作启动盘方式的总体思路为
1、先使用TF卡镜像启动(可选是否修改TF卡的config.txt)
2、将系统写入固态硬盘
3、修改固态硬盘boot分区中的config.txt,使能PCIe接口
4、修改EEPROM,使能PCIe启动模式
5、连接PCIe扩展板以及固态硬盘,上电即从固态硬盘启动
通过TF卡启动
需要有一张烧写好树莓派官方系统镜像的TF卡,且镜像至少是2023年10月或12月之后的版本,本次演示使用的是2023年10月的Raspberry Pi OS(Bookworm)64位桌面版本
如果你手上没有M.2硬盘盒,则需要修改TF卡boot分区中的config.txt,将PCIe接口使能,从而通过树莓派imager软件使用PCIe扩展板将系统镜像写入固态硬盘
如果有可用的M.2硬盘盒,则可以忽略 修改TF卡的config.txt(可选) 这一部分
修改TF卡的config.txt(可选)
这一部分的目的是为了能使用树莓派PCIe扩展版烧写镜像至固态硬盘
将TF卡插入Windows电脑中,TF卡中的boot分区将会被识别,进入该分区
找到config.txt并打开,在文件的末尾加入如下代码:
dtparam=pciex1
如果你愿意使用PCIe 3.0则改为输入:
dtparam=pciex1
dtparam=pciex1_gen=3
修改完毕后保存内容,将TF卡插入树莓派5并启动
将系统写入固态硬盘
此时可以开始组装PCIe扩展套件,如果你没有硬盘盒能够将固态硬盘连接电脑,那么则需要一并将固态硬盘安装到PCIe扩展套件上,并且必须执行修改TF卡的config.txt(可选)部分中的操作。使用硬盘盒的话就将固态硬盘连接到电脑,烧写后再将固态硬盘安装到PCIe扩展板上。
通过FPC将扩展版的接口与树莓派5的PCIe接口相连(注意FPC接口需要区分正反)
此时需确保彻底断电,即拔掉电源,不要让电源与树莓派连接,否则PCIe接口仍处于上电状态
使用PCIe扩展板的写入方式
连接好扩展板后开机,打开Imager,如果你的系统中没有官方Imager,用如下命令安装
sudo apt install rpi-imager
打开Imager,选择好要写入的系统(除官方系统外也可以选择Ubuntu或者其他系统)并选择要写入到的位置,即需要选择固态硬盘,开始后可能提示要输入一个密码,这个密码就是你登录树莓派的密码,输入即开始烧录,烧录好后不要卸载硬盘,如果自动帮你弹出了就重启一下
使用硬盘盒的写入方式
将固态硬盘连接到电脑,同样使用官方Imager烧写镜像。一定记得选好盘符,不要选到其他存储
修改固态硬盘的config.txt
系统烧录好后在文件管理器中找到固态硬盘的boot分区,可能要输入一下密码,与烧录时相同
这步操作在Window电脑上进行也是一样,在Windows中会只能识别访问到FAT32格式的boot分区,如果你的Windows系统的文件资源管理器不能识别到boot分区,可以尝试重新插拔硬盘盒或者尝试连接一下Linux电脑(用树莓派尝试启动一下也可以)
找到config.txt并打开,在文件的末尾加入如下代码:
dtparam=pciex1
如果你愿意使用PCIe 3.0则输入:
dtparam=pciex1
dtparam=pciex1_gen=3
修改完毕后保存内容
修改EEPROM
在终端中输入
sudo rpi-eeprom-config --edit
即打开EEPROM的配置文件,修改以下两项:
BOOT_ORDER=0xf416
PCIE_PROBE=1
其中 PCIE_PROBE=1 的意思是使用的是非官方HAT扩展板
修改后的内容
ctrl+x 后按Y保存回车退出 出现此输出则正常
此时重启一次,使修改生效
sudo reboot
为确保写入生效可以再打开EEPROM配置文件检查,即重复 sudo rpi-eeprom-config --edit
确保无误后将树莓派关机
sudo shutdown -h now
将固态硬盘安装到PCIe扩展板上
取下TF卡,只安装固态硬盘,给树莓派5上电,开机
成功启动!
可以看到已经成功通过固态硬盘启动,hdparm测试读取速度可以达到800MB/s,dd测试中写入速度可以达到480MB/s
树莓派5已经能支持高速TF卡,开机时使用固态硬盘与使用高速TF卡耗时其实也几乎没有区别
用作存储盘方式
用作存储盘方式的总体思路为
1、修改tf卡boot分区中的config.txt,使能PCIe接口
2、连接已经分区好的固态硬盘
3、上电启动后即可识别到固态硬盘
修改TF卡的config.txt
将TF卡插入Windows电脑中,TF卡中的boot分区将会被识别到,进入该分区
找到config.txt并打开,在文件的末尾加入如下代码:
dtparam=pciex1
如果你愿意使用PCIe 3.0则改为输入:
dtparam=pciex1
dtparam=pciex1_gen=3
修改完毕后保存修改内容
组装PCIe扩展套件
组装好后上电开机即可,已经可以成功识别并使用M.2固态硬盘了(需要输入下密码)
附录以及注意事项
硬盘兼容性问题
主流固态硬盘通常可以使用,西数SN系列硬盘目前普遍只能作为存储盘,实测SN550和SN570作为系统盘未能成功启动。
在Pineberry Pi Documentaton的兼容列表中给出了部分硬盘的兼容情况及运行速度:兼容性列表
其中也提到 WD SN530 SN740 SN350 SN770 无法启动
关于SN850X运行于CM4的GitHub Issue页面:WD_BLACK SN850X (Gen 4) NVMe not detected (via PCIe, CM4)
关于硬盘的选择
三星PM991a实测发热量很大,很容易降速,使用2280规格硬盘可能会好一些
树莓派5并不支持PCIe 4.0 ,即使是使用PCIe 3.0硬盘,读取/写入速度的瓶颈也在于树莓派本身,故使用价格合适的PCIe 3.0硬盘即可
西数SN系列硬盘目前无法用作启动盘
config.txt文件
在PCIe扩展板的供应商给出的教程中,有的部分可能会被省略
Mcuzone的示例中缺少将系统写入SSD后还需要修改SSD的boot分区中的config.txt这一步
无论何种PCIe的使用方式,在树莓派实际使用的启动存储介质的boot分区中,必须确保其boot分区中的config.txt文件中使能了PCIe接口。
树莓派官方系统是默认关闭PCIe的,如果忽略了这一步修改,那么启动时PCIe接口的配置即是默认配置,也就是关闭状态。
修改的部分也有两种写法,其实都可以用
#第一种
dtparam=nvme
#第二种
dtparam=pciex1
如果已经配置了PCIe,仍要从TF卡启动
如果TF卡与固态硬盘同时存在,在EEPROM中已经修改了 BOOT_ORDER=0xf416 的情况下,系统会优先从固态硬盘启动,其实就类似于电脑主板bios的启动顺序选择。
此时只需要在关机状态下将固态硬盘取下,插入TF卡,即使PCIe扩展板仍然连接,系统也将自动切换从TF卡启动。如果开机之前已经插上固态硬盘,那么还是会从固态硬盘启动。
需注意:目前的系统中,PCIe接口似乎并不支持热插拔,在TF卡启动后,再插入固态硬盘并不会被识别
关于固态硬盘分区问题
烧写好镜像后,硬盘会被分为boot和root分区,实测使用Windows的Imager搭配硬盘盒烧写镜像时有的时候会只给root分区分配4GB左右的空间,导致多余空间被浪费,这时候可以在Windows中用DiskGenius扩容一下root分区或者尝试重新烧写(Windows的磁盘管理中不能修改EXT4格式的root分区,扩容需使用分区软件)
一些官方论坛中关于PCIe连接SSD的讨论:
Pi 5 NVMe Boot Issue - Raspberry Pi Forums
Raspberry Pi 5 PCIe issues using geekworm X1001 - Raspberry Pi Forums
Expected SSD nvme boot speed - Raspberry Pi Forums
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/timelockerCSDN/article/details/135793432
]]>首先,进入 /etc/init.d
目录中:
cd /etc/init.d/
然后,我们使用 ls 命令,会发现里面有一些文件。这些文件就是在开机启动时自动运行的程序。我们现在来开始添加一个自定义的开机启动项 MyTest :
vim MyTest
文件名严格区分大小写,请注意!
你可以使用你自己喜欢的文本编辑工具进行编辑工作。此文以 vim 为例。
然后,在继续之前,先看一下开机启动项文件的一个模板:
#!/bin/sh ### BEGIN INIT INFO # Provides: [程序名称,唯一] # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: [启动项的简短说明] # Description: [启动项的完整说明] ### END INIT INFO [需要执行的命令] exit 0
在这个模板中,Provides 是唯一的,也就是在所有的开机启动项中,Provides不能有任何同名冲突。
Short-Description 和 Description 随心情写。
需要执行的命令,按照正常的Bash Shell书写方式书写即可。
友情提示:需要后台静默运行的程序,请使用 nohup [需要执行的命令] >/dev/null 2>&1 & 方式来启动!
最后的 exit 0 请不要删除!这个是返回正常退出信号的一个传值!
那么,我们设想我们需要创建一个名为 MyTest 的开机启动项,并要求其在开机时在 /root/mytest.txt 文件中写入一句话:“Hello Linux World !”,根据上面的模板,我们需要修改成这个样子:
#!/bin/sh ### BEGIN INIT INFO # Provides: MyTest # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: MyTest # Description: MyTest Test Program ### END INIT INFO echo "Hello Linux World !" >> /root/mytest.txt exit 0
之后将文件保存,关闭编辑器。
接下来,我们将刚才编辑好的 MyTest
文件加上可执行的属性(如果不加属性,启动脚本将无法运行):
chmod +x MyTest
然后,将这个启动脚本加入开机启动项中:
sudo update-rc.d MyTest defaults
然后重新启动系统,或者命令行执行 /etc/init.d/MyTest
,执行启动脚本,然后使用 cat /root/mytest.txt
,验证文件是否正确创建。
那么,还有一个问题:那就是如何删除我们刚才创建的开机启动项呢?
答案很简单,只需要一条命令:
sudo update-rc.d -f MyTest remove
我已经在debain12正常测试,能完美运行
]]>UUID=<UUID number here> /data xfs defaults,nofail 0 0]]>
复制sudoaptinstall hdparm
测试硬盘读写速度
复制 sudo hdparm -Tt /dev/sdb1
可以看到读取 10948.93 MB/sec ,写入 131.46 MB/sec ,这是由于本文是在虚拟机上实现的,读写有误,请根据实际查看。
]]>sudo apt install fcitx5 fcitx5-chinese-addons
https://blog.csdn.net/u013541325/article/details/135351566
警告
操作前请做好相应备份
一般情况下,将 /etc/apt/sources.list 文件中 Debian 默认的源地址 http://deb.debian.org/ 替换为 http://mirrors.ustc.edu.cn 即可。
这里是中国科技大学的源替换官方源
sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
下面是用阿里云的源替换官方源
sudo sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
当然也可以直接编辑 /etc/apt/sources.list 文件(需要使用 sudo)。以下是 Debian Stable 参考配置内容:
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free # deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free # deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free # deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free # deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free
同时你也可能需要更改 Debian Security 源,请参考 Debian Security 源使用帮助
更改完 sources.list 文件后请运行 sudo apt-get update
更新索引以生效。