樹莓派首次使用自動配置

腳本貼上來發現有部分代碼變掉了,如果直接複製下來不能運行下邊有下載地址

腳本下載地址:https://download.csdn.net/download/u010177891/10426415

#!/bin/sh

#腳本運行前請保證可以通過ssh連接到樹莓派
#提供以下一種方案:
#1,將系統燒寫sd卡
#2,在sd卡根分區新建ssh空文件,以啓用ssh功能
#3,在win電腦“打開網絡和控制中心->更改適配器設置->右鍵單擊無線網絡連接->屬性->共享->勾選允許其他網絡用戶...->選中本地連接”
#   將win7的無線網絡共享給以太口,然後將樹莓派通過網線直接與電腦以太口相連
#4,修改sd卡根分區cmdline.txt,添加ip=xxx.xxx.xxx.xxx 如:ip=192.168.137.88設置樹莓派ip地址,請確保和電腦以太口的ip在同一網段
#5,若有其他方式連接樹莓派可跳過3,4步
#6,樹莓派開機,電腦以pi用戶ssh連接樹莓派IP,pi用戶默認密碼:raspberrypi
#7,待本腳本執行完成後請將第3步設cmdline.txt中設置的ip地址刪除。因爲開機時如果ip獲取不成功會導致樹莓派一直等待

#本腳本主要功能:
#1,root用戶解鎖
#2,ssh配置。啓用root用戶ssh連接,關閉ssh超時斷開
#3,配置wifi的ssid和密碼,需重啓生效
#4,配置軟件源並更新軟件源
#5,安裝ntfs-3g用以支持NTFS文件系統
#6,安裝vim,並設置常用配置
#7,安裝samba,並設置/media/pi/HD,/home/sheare作爲共享目錄。
#   /media/pi/HD爲移動硬盤掛載目錄,可根據自己需要增刪
#8,安裝chkconfig用以設置開機自啓項
#9,修改/root/.bashrc,修改常用環境變量
#10,設置時區,需在彈出界面人工設置
#該腳本執行完成,請sudo reboot重啓樹莓派,以便wifi和環境變量生效

#說明:1,使用sudo sh start.sh 執行
#      2,腳本運行前請保證之前沒有對樹莓派系統做其他設置,避免和設置衝突
#      3,適用於2018-04-18-raspbian-stretch.img,其他版本系統未做驗證
#      4,本腳本在自動安裝軟件時可能會因爲軟件源或網絡原因安裝失敗,安裝失敗請重新執行該腳本或者自行安裝


#######################################################################################
#配置參數

#root用戶密碼
ROOT_PASSWD="sunkai"
#wifi名稱
WIFI_SSID="SKYK"
#wifi密碼
WIFI_PSK="skykk658902"

#######################################################################################


#設置並解鎖root
echo "\033[34m========================   unlock root   =========================\033[0m"
sudo echo "root:${ROOT_PASSWD}" | chpasswd
sudo passwd --unlock root
echo ""


echo "\033[34m=========================   ssh config   =========================\033[0m"
#修改ssh配置,允許root登錄
if [ ! -e "/etc/ssh/sshd_config.bak" ];then
	sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 
	echo "Create /etc/ssh/sshd_config.bak"
fi

sudo sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config
echo "PermitRootLogin yes"
sudo sed -i "s/#ClientAliveInterval.*/ClientAliveInterval 0/g" /etc/ssh/sshd_config
echo "ClientAliveInterval 0"

sudo /etc/init.d/ssh restart 
echo ""


#配置wifi
echo "\033[34m=======================   wifi config     ========================\033[0m"
if [ ! -e "/etc/wpa_supplicant/wpa_supplicant.conf.bak" ];then
	sudo cp  /etc/wpa_supplicant/wpa_supplicant.conf  /etc/wpa_supplicant/wpa_supplicant.conf.bak 
	echo "Create /etc/wpa_supplicant/wpa_supplicant.conf.bak"
fi

if [ `grep -c "ssid="  /etc/wpa_supplicant/wpa_supplicant.conf` -eq "0" ];then

	sudo echo "network={  
		ssid=\"${WIFI_SSID}\"  
		psk=\"${WIFI_PSK}\"  
		priority=1  
	}" | tee -a /etc/wpa_supplicant/wpa_supplicant.conf
	fi
echo ""

echo "\033[34m=======================  sources config   ========================\033[0m"
#更改軟件源
if [ ! -e "/etc/apt/sources.list.bak" ];then
	sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
	echo "Create /etc/apt/sources.list.bak"
fi

#sudo echo "deb http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib" | tee  /etc/apt/sources.list 
#sudo echo "deb-src http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib" | tee -a /etc/apt/sources.list 

#sudo echo -e "deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main non-free contrib \n deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main non-free contrib" tee /etc/apt/sources.list
#sudo echo -e "deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/ jessie main" tee /etc/apt/sources.list.d/raspi.list
echo ""

echo "\033[34m=======================     update        ========================\033[0m"
sudo apt-get update
echo ""

echo "\033[34m=======================  install ntfs-3g  ========================\033[0m"
sudo echo 'y' | apt-get install ntfs-3g
if [ $? != 0 ]; then
	echo "\033[31minstall ntfs-3g failed.\033[0m"
fi
echo ""

echo "\033[34m=======================    install vim    ========================\033[0m"
sudo echo 'y' | apt-get install vim
if [ $? != 0 ]; then
	echo "\033[31minstall vim failed.\033[0m"
else

	if [ ! -e "/etc/vim/vimrc.bak" ];then
		sudo cp  /etc/vim/vimrc  /etc/vim/vimrc.bak 
		echo "Create /etc/vim/vimrc.bak "
	fi

	sudo sed -i "s/\"syntax on.*/syntax on/g" /etc/vim/vimrc
	
	if [ `grep -c "set nu"  /etc/vim/vimrc` -eq "0" ];then
		sudo echo "set nu" | tee -a /etc/vim/vimrc
	fi
	
	if [ `grep -c "set tabstop="  /etc/vim/vimrc` -eq "0" ];then
		sudo echo "set tabstop=4" | tee -a /etc/vim/vimrc
	fi
fi

echo ""

echo "\033[34m======================    install samba    =======================\033[0m"
sudo echo 'y' | apt-get install samba
if [ $? != 0 ]; then
	echo "\033[31minstall samba failed.\033[0m"
else
	if [ ! -e "/etc/samba/smb.conf.bak" ];then
		sudo cp  /etc/samba/smb.conf  /etc/samba/smb.conf.bak 
		echo "Create /etc/samba/smb.conf.bak "
	fi
	
    if [ `grep -c "\[HD\]"  /etc/samba/smb.conf` -eq "0" ];then
	
		sudo mkdir -p /media/pi/HD
		sudo chmod 755 /media/pi
		sudo chmod 777 /media/pi/HD

		sudo echo "[HD]
		comment = share files
		path = /media/pi/HD
	#    valid users = pi 
		browseable = yes 
		public = yes 
		writable = yes 
		guest ok = yes
		read only = no 
		" | tee -a /etc/samba/smb.conf
    fi
	
	if [ `grep -c "\[share\]"  /etc/samba/smb.conf` -eq "0" ];then
	
		sudo mkdir -p /home/share
		sudo chmod 777 /home/share
		
		sudo echo "[share]
		comment = share files
		path = /home/share
	#    valid users = pi 
		browseable = yes 
		public = yes 
		writable = yes 
		guest ok = yes
		read only = no 
		" | tee -a /etc/samba/smb.conf
    fi
	
fi

echo ""


echo "\033[34m======================= install chkconfig ========================\033[0m"
sudo echo 'y' | apt-get install chkconfig
if [ $? != 0 ]; then
	echo "\033[31minstall chkconfig failed.\033[0m"
fi
echo ""

echo "\033[34m========================    set env      =========================\033[0m"
#設置環境變量
if [ ! -e "/root/.bashrc.bak" ];then
	sudo cp /root/.bashrc /root/.bashrc.bak 
	echo "Create /root/.bashrc.bak"
fi

sudo sed -i "s/# PS1=.*/export PS1=\"\\\[\\\e\[32m\\\][\\\u@\\\h \\\w\]\$ \\\[\\\e\[m\\\]\"/g" /root/.bashrc
sudo sed -i "s/# umask.*/umask 022/g" /root/.bashrc

sudo sed -i "s/# export LS_OPTIONS=.*/export LS_OPTIONS=\'--color=auto\'/g" /root/.bashrc
sudo sed -i "s/# eval \"\`dircolors\`\".*/eval \"\`dircolors\`\"/g" /root/.bashrc
sudo sed -i "s/# alias ls=.*/alias ls=\'ls \$LS_OPTIONS\'/g" /root/.bashrc
sudo sed -i "s/# alias ll=.*/alias ll=\'ls \$LS_OPTIONS -l\'/g" /root/.bashrc
sudo sed -i "s/# alias l=.*/alias l=\'ls $LS_OPTIONS -lA\'/g" /root/.bashrc

sudo sed -i "s/# alias rm=.*/alias rm=\'rm -i\'/g" /root/.bashrc
sudo sed -i "s/# alias cp=.*/alias cp=\'cp -i\'/g" /root/.bashrc
sudo sed -i "s/# alias mv=.*/alias mv=\'mv -i\'/g" /root/.bashrc

echo ""

echo "\033[34m========================  set time zone  =========================\033[0m"
#設置時區:Asia  Shanghai
echo "\033[33mPlease set time zone, eg: \"Asia/Shanghai\"\033[0m"
read -p "Please input yes continue [Y/N]: " val
if [ "$val" = "Y" ] || [ "$val" = "y" ] || [ "$val" = "yes" ];then 
	sudo dpkg-reconfigure tzdata
else
	echo "skip set time zone"
fi
echo ""


echo "\033[34m=========================   finished    ==========================\033[0m"

echo ""

echo "Now running with cmd: \033[33msudo reboot\033[0m"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章