关于openwrt的一些问题总结

问题一:虚拟磁盘生成和挂载

前天突然发现路由器不能科学上网了。看了一下log发现是因为路由器自代的SD储存卡空间不够了,造成openwrt自动更新的时候出现opt压缩包解压失败。然后一系列软件都会无法使用。

这里先说一下linux下怎么创建一个虚拟磁盘,格式化成指定格式后挂载到系统下,以及将新挂载的虚拟磁盘静相到openwrt的只读系统目录opt下。

1.linux系统下创建虚拟磁盘

linux下的dd命令是用来操作虚拟磁盘的

dd if=/dev/zero of=/media/upanPath/opt/o_p_t.img bs=1M seek=1024 count=0

上边的这条命令就是在/media/upanPath/opt目录下创建了一个1G大小的空的虚拟磁盘空间.
这里的if应该是输入的文件,这里的of是虚拟镜相磁盘文件输出保存路径
bs应该是基础空间大小
seek应该是生成的基础空间数量
count这个我也不知道

2.linxu系统下挂载虚拟磁盘的命令losetup

losetup -a
#这个命令是查看系统的所有已挂载磁盘
losetup -f
#这个是查看系统下的下一个可以挂载的磁盘名
losetup /dev/loop0 /media/upanPath/opt/o_p_t.img
#losetup 可以挂载的磁盘名 可以挂载的静相文件路径,
#上边的就是把/media/upanPath/opt/o_p_t.img镜相文件挂载到/dev/loop0虚拟设备

3.格式化虚拟磁盘

mkfs.ext4 -i 16384 /dev/loop0
#把/dev/loop0这个刚刚挂载的虚拟磁盘格式休为ext4格式

4.绑定虚拟磁盘到一个系统目录上

mount -o /media/upanPath/opt/o_p_t.img /opt
#使用上边格式化后的虚拟磁盘空间为系统的/opt目录,这样只读的openwrt系统目录就成为可读写的/opt目录了

问题二:ssh免输入密码登陆openwrt路由器

当路由器经过解决了上边的问题一设置之后,就可以正常使用了,但有的时候为了方便登陆路由器,给里边手动安装一些服务,或者把自已写的一些小的服务器程序上传上去就需要用到ssh登陆了,但每次都要输入密码就很烦人。

生成ssh登陆的公私钥的方法这里就不介绍了,这里只说一下因为openwrt服务器端authorized_keys文件和.ssh目录权限问题无法登陆openwrt的情况。

#首选在路由器的登陆用户目录下创建一个.ssh目录
mkdir /home/rountuser/.ssh
#再给路由登陆用户这个目录的-R权限,即rountuser访问这个目录的权限
chown -R rountuser /home/rountuser
#给rountuser目录,.ssh目录操作权限
chmod 700 /home/rountuser
chomd 700 /home/rountuser/.ssh
给公钥文件登陆用户和系统所有权限
chmod 644 /home/rountuser/.ssh/authorized_keys

有了上边的权限操作后,再把公钥复制到authorized_keys里就可以了。之后登陆服务器的时候只要在客户端的终端输入

ssh [email protected]

就可以等陆路由器了,也可以写一个shell脚本,把这个登陆命令做成一个shell,再把脚本放到环境变量下,以后只要输出shell的文件名就可以直接登陆路由器了。

你可能感兴趣的:(关于openwrt的一些问题总结)