【树莓派】服务配置相关
由于工作实际需要,得给前线生产大量的盒子,涉及到里面的 用户、组、ssh-key、date、application、config.....等。
只好将其写成脚本,作为参考:
1.自动获取并配置网络IP地址:
#!/bin/sh sIP=`sudo ifconfig eth1 | grep inet | awk 'NR==1{print $2}'| awk -F ':' '{print $2}'` sBcast=`sudo ifconfig eth1 | grep inet | awk 'NR==1{print $3}'| awk -F ':' '{print $2}'` sMask=`sudo ifconfig eth1 | grep inet | awk 'NR==1{print $4}'| awk -F ':' '{print $2}'` sGWP=`sudo ifconfig eth1 | grep inet | awk 'NR==1{print $2}'| awk -F ':' '{print $2}' | cut -d . -f 1-3` sDomain1="223.5.5.5" sDomain2="223.6.6.6" sDomain3="218.30.19.40" sDomain4="61.134.1.4" # sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.default.bak echo "IP="$sIP"\n" echo "sBcast="$sBcast"\n" echo "sMask="$sMask"\n" echo "sMask="$sMask"\n" echo "sMask="$sMask"\n" echo "sDomain1="$sDomain1"\n" echo "sDomain2="$sDomain2"\n" echo "sDomain3="$sDomain3"\n" echo "sDomain4="$sDomain4"\n" sudo sed -i '$a interface eth1\n static ip_address='$sIP'/24\n static routers='$sGWP'.1\n #static domain_name_servers='$sDomain1' '$sDomain2'\n static domain_name_servers='$sDomain3' '$sDomain4'' /etc/dhcpcd.conf # sudo sed -i '$a # static domain_name_servers='$sDomain3'' /etc/dhcpcd.conf sudo sed -i '/interface eth1/i\\' /etc/dhcpcd.conf # get info sudo cat /proc/cpuinfo | grep Serial | awk '{print $3}' > a.txt sudo ifconfig | grep HWaddr >> a.txt sudo ifconfig | grep HWaddr | awk '{print $5}' >> a.txt
2.用户组相关配置:
#!/bin/sh # 添加用户与组 sudo groupadd wingspan sudo useradd -g wingspan -d /home/lifeccp -m lifeccp -p lifeccp sudo cp /etc/sudoers /etc/sudoers.default.bak sudo sed -i '21a lifeccp ALL=(ALL:ALL) ALL' /etc/sudoers sudo passwd lifeccp #sudo visudo # 退出,使用lifeccp账户登录 ssh-keygen -t rsa tar -cvf ssh.tar.gz .ssh cat .ssh/id_rsa.pub cat .ssh/id_rsa # get info sudo cat /proc/cpuinfo | grep Serial | awk '{print $3}' > a.txt sudo ifconfig | grep HWaddr >> a.txt sudo ifconfig | grep HWaddr | awk '{print $5}' >> a.txt
3.服务应用相关配置:
#!/bin/sh mv webapp/ webapp.bak cd /home/lifeccp mkdir -p /home/lifeccp/dicom sudo apt-get install chkconfig kill -9 `ps aux | grep java | awk '{print $2}'` #sudo cp /home/lifeccp/webapp/scripts/osprey /etc/init.d/osprey #sudo cp /home/lifeccp/webapp/scripts/pandion /etc/init.d/pandion
sudo cp /home/lifeccp/webapp/pandion/serve /etc/init.d/pandion
sudo cp /home/lifeccp/webapp/osprey/serve /etc/init.d/osprey
sudo chmod +x /etc/init.d/osprey sudo chmod +x /etc/init.d/pandion sudo chmod +x /home/lifeccp/webapp/osprey/osprey* sudo chmod +x /home/lifeccp/webapp/pandion/pandion* sudo chkconfig --add osprey sudo chkconfig --add pandion sudo chkconfig --add nginx sudo chkconfig --level 2345 nginx on chmod +x /home/lifeccp/webapp/osprey/startup chmod +x /home/lifeccp/webapp/osprey/serve chmod +x /home/lifeccp/webapp/osprey/osprey-*.jar chmod +x /home/lifeccp/webapp/pandion/pandion chmod +x /home/lifeccp/webapp/pandion/pandion_serve chmod +x /home/lifeccp/webapp/pandion/pandion-*.jar chmod +x /home/lifeccp/webapp/scripts/osprey chmod +x /home/lifeccp/webapp/scripts/pandion #sudo sed -i '$a deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi' /etc/apt/sources.list #sudo apt-get update sudo apt-get install nginx -y sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak sudo cp /home/lifeccp/webapp/nginx-conf/osprey.conf /etc/nginx/conf.d/osprey.conf sudo cp /home/lifeccp/webapp/nginx-conf/nginx.conf /etc/nginx/nginx.conf sudo sed -i '$d' /etc/rc.local sudo cp /etc/rc.local /etc/rc.local.default sudo sed -i '19a ntpd -s -d \n/etc/init.d/ntp restart' /etc/rc.local # sudo sed -i '19a ntpd -s -d \n/etc/init.d/ntp restart\n/etc/init.d/nginx restart' /etc/rc.local sudo sed -i '$a exit 0' /etc/rc.local sudo sed -i '$a Welcome!You can send Email to nianhuaiju@qq.com,If the computer malfunctions.' /etc/motd
# ubuntu env
# sudo sed -i '$a Welcome!You can send Email to nianhuaiju@qq.com,If the computer malfunctions.' /etc/issue
# 删除pi sudo userdel -rf pi sudo groupdel pi # 改密码 sudo passwd lifeccp sudo reboot sudo shutdown -h now
其他补充
The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Welcome!You can send Email to nianhuaiju@qq.com,If the computer malfunctions. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
4.修复与增补
(1)版本号修改采用软链接方式,如下:
#ln -s osprey-1.0.15.release.jar osprey.release.jar
ln -s /home/lifeccp/webapp/osprey/osprey-*.release.jar /home/lifeccp/webapp/osprey/osprey.release.jar
sed -i 8d /home/lifeccp/webapp/osprey/startup
sed -i '8i MAIN_JAR=osprey.release.jar' /home/lifeccp/webapp/osprey/startup
(2)nginx增加stream,如下:
testenv:
# 修改hosts文件,末尾添加解析信息 sudo cp /etc/hosts /etc/hosts.bak sudo sed -i '$a 101.201.197.212 test.lifeccp.com' /etc/hosts
# 首行增加stream sudo sed -i '1i upstream ef.lifeccp.com { \n server 101.201.197.212:80 max_fails=2 fail_timeout=30s ; \n } ' /etc/nginx/conf.d/osprey.conf
prodenv:
# 修改hosts文件,末尾添加解析信息 sudo cp /etc/hosts /etc/hosts.bak sudo sed -i '$a 59.110.47.149 ef.lifeccp.com' /etc/hosts # 首行增加stream
sudo cp /etc/nginx/conf.d/osprey.conf /etc/nginx/conf.d/osprey.conf.bak
sudo sed -i '1i upstream ef.lifeccp.com { \n server 59.110.47.149:80 max_fails=2 fail_timeout=30s ; \n } ' /etc/nginx/conf.d/osprey.conf
5.增加远程访问
sudo apt-get install xrdp -y
6.其他配置:
网络配置
sudo vi /etc/dhcpcd.conf
interface eth1 static ip_address=192.168.21.214/24 static routers=192.168.21.1 static domain_name_servers=223.5.5.5 223.6.6.6 static domain_name_servers=218.30.19.40 61.134.1.4
7.升级更新服务:
scp boxagent@smith.lifeccp.com:/home/boxagent/boxrelease/osprey/gateway-v1.0.19.release.zip . scp boxagent@smith.lifeccp.com:/home/boxagent/boxrelease/pandion/pandion.zip .
UPDATE @ 2017-06-28
补充部分路由相关配置:
# 查看当前路由 >route #删除默认网关 >sudo route del default #添加默认网关为外网网关。这里外网网关是外网IP对应的网关,例如外网IP为192.168.2.123, 则对应网关是192.168.2.1 >sudo route add default gw 外网网关
待续...
清除默认配置的IP信息
sudo sed -i '43,47d' /etc/dhcpcd.conf
其他:http://www.cnblogs.com/haochuang/p/7071075.html
待补充,暂略

赠人玫瑰
手留余香
我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!-杨绛先生
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?