腳本貼上來發現有部分代碼變掉了,如果直接複製下來不能運行下邊有下載地址
#!/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"