讓你少走彎路的搭建樹莓派的Net與NodeJS運行環境

  樹莓派是當前最火的嵌入計算平臺沒有之一,樹莓派能夠給咱們無數的想象,樹莓派的高性能、低功耗、低成本、可擴展性(最新的樹莓派原生支持WIFI和藍牙,這功能太讚了)深受你們的喜好。雖然樹莓派到目前爲止已經很好安裝系統了。可是要想方便的使用和部署開發的軟件仍是比較麻煩的。php

  安裝環境的話,你的有樹莓派硬件(此圖爲:樹莓派3 Model B),你還得須要一個支持HDMI顯示器(電視機也能夠)、HDMI線、MicroSD卡(8G+,Class10+級別)、電源適配器(5V、2A+、MicroUSB接口)、讀卡器(支持MicroSD卡),至於還有鍵盤、鼠標、散熱片、風扇、保護殼等。html

  樹莓派的供電能力有限,大功率IO設備須要外置供電,尤爲是USB口,建議買個供電的擴展塢!!!node

  有了這些東西就能夠開始搭建環境,下面的例子以樹莓派3 Model B爲硬件搭建。linux

  1.安裝系統

  在官網下載NOOBS,NOOBS至關PC的BIOS,手機的Recovery。用於引導和配置系統硬件環境,這裏我下載的是NOOBS帶Raspbian桌面環境的版本(快速下載-移入查看密碼)。git

  準備MicroSD,並用工具格式化SDFormatter,選擇待格式化的盤符,點擊進行格式化(快速下載-移入查看密碼)。github

  解壓NOOBS,拷貝NOOBS_XXX解壓文件夾下面的文件與文件夾到MicroSD的根目錄。web

將MicroSD插入樹莓派,接上顯示器與電源、鼠標、鍵盤。(樹莓派電路自身是裸露的,千萬不要直接與金屬表面接觸,注意釋放手上靜電)。npm

  開機出現彩色封面表示正常啓動,系統即將出現引導界面,點擊「Shift」鍵指導進入安裝界面。ubuntu

  進入一下界面,表示大功告成,選擇Raspbian,點擊Install,進行安裝系統。vim

  如何進行分辨率適配?在NOOBS的管理界面中找到「EditConfig」,進入編輯框,找到hdmi_group和hdmi_mode的值對應想要調整的分辨率,其餘分辨率可自行谷歌、百度。

如下是計算機顯示器使用的分辨率。這些分辨率的hdmi_group=2
hdmi_mode=1    640x350   85Hz
hdmi_mode=2    640x400   85Hz
hdmi_mode=3    720x400   85Hz
hdmi_mode=4    640x480   60Hz
hdmi_mode=5    640x480   72Hz
hdmi_mode=6    640x480   75Hz
hdmi_mode=7    640x480   85Hz
hdmi_mode=8    800x600   56Hz
hdmi_mode=9    800x600   60Hz
hdmi_mode=10   800x600   72Hz
hdmi_mode=11   800x600   75Hz
hdmi_mode=12   800x600   85Hz
hdmi_mode=13   800x600   120Hz
hdmi_mode=14   848x480   60Hz
hdmi_mode=15   1024x768  43Hz  DO NOT USE
hdmi_mode=16   1024x768  60Hz
hdmi_mode=17   1024x768  70Hz
hdmi_mode=18   1024x768  75Hz
hdmi_mode=19   1024x768  85Hz
hdmi_mode=20   1024x768  120Hz
hdmi_mode=21   1152x864  75Hz
hdmi_mode=22   1280x768        reduced blanking
hdmi_mode=23   1280x768  60Hz
hdmi_mode=24   1280x768  75Hz
hdmi_mode=25   1280x768  85Hz
hdmi_mode=26   1280x768  120Hz reduced blanking
hdmi_mode=27   1280x800        reduced blanking
hdmi_mode=28   1280x800  60Hz
hdmi_mode=29   1280x800  75Hz
hdmi_mode=30   1280x800  85Hz
hdmi_mode=31   1280x800  120Hz reduced blanking
hdmi_mode=32   1280x960  60Hz
hdmi_mode=33   1280x960  85Hz
hdmi_mode=34   1280x960  120Hz reduced blanking
hdmi_mode=35   1280x1024 60Hz
hdmi_mode=36   1280x1024 75Hz
hdmi_mode=37   1280x1024 85Hz
hdmi_mode=38   1280x1024 120Hz reduced blanking
hdmi_mode=39   1360x768  60Hz
hdmi_mode=40   1360x768  120Hz reduced blanking
hdmi_mode=41   1400x1050       reduced blanking
hdmi_mode=42   1400x1050 60Hz
hdmi_mode=43   1400x1050 75Hz
hdmi_mode=44   1400x1050 85Hz
hdmi_mode=45   1400x1050 120Hz reduced blanking
hdmi_mode=46   1440x900        reduced blanking
hdmi_mode=47   1440x900  60Hz
hdmi_mode=48   1440x900  75Hz
hdmi_mode=49   1440x900  85Hz
hdmi_mode=50   1440x900  120Hz reduced blanking
hdmi_mode=51   1600x1200 60Hz
hdmi_mode=52   1600x1200 65Hz
hdmi_mode=53   1600x1200 70Hz
hdmi_mode=54   1600x1200 75Hz
hdmi_mode=55   1600x1200 85Hz
hdmi_mode=56   1600x1200 120Hz reduced blanking
hdmi_mode=57   1680x1050       reduced blanking
hdmi_mode=58   1680x1050 60Hz
hdmi_mode=59   1680x1050 75Hz
hdmi_mode=60   1680x1050 85Hz
hdmi_mode=61   1680x1050 120Hz reduced blanking
hdmi_mode=62   1792x1344 60Hz
hdmi_mode=63   1792x1344 75Hz
hdmi_mode=64   1792x1344 120Hz reduced blanking
hdmi_mode=65   1856x1392 60Hz
hdmi_mode=66   1856x1392 75Hz
hdmi_mode=67   1856x1392 120Hz reduced blanking
hdmi_mode=68   1920x1200       reduced blanking
hdmi_mode=69   1920x1200 60Hz
hdmi_mode=70   1920x1200 75Hz
hdmi_mode=71   1920x1200 85Hz
hdmi_mode=72   1920x1200 120Hz reduced blanking
hdmi_mode=73   1920x1440 60Hz
hdmi_mode=74   1920x1440 75Hz
hdmi_mode=75   1920x1440 120Hz reduced blanking
hdmi_mode=76   2560x1600       reduced blanking
hdmi_mode=77   2560x1600 60Hz
hdmi_mode=78   2560x1600 75Hz
hdmi_mode=79   2560x1600 85Hz
hdmi_mode=80   2560x1600 120Hz reduced blanking
hdmi_mode=81   1366x768  60Hz
hdmi_mode=82   1080p     60Hz
hdmi_mode=83   1600x900        reduced blanking
hdmi_mode=84   2048x1152       reduced blanking
hdmi_mode=85   720p      60Hz
hdmi_mode=86   1366x768        reduced blanking

  修改系統默認密碼、位置、時區、鍵盤、WiFi地區。

  開啓VNC,SSH方面遠程無屏管理。

  修改系統用戶密碼。

  獲取ROOT權限打開命令終端(Ctrl + Alt + T),輸入如下內容(「sudo」 是臨時使用最高權限執行命令的意思)。

sudo passwd root
執行此命令後系統會提示輸入兩遍的root密碼,輸入你想設的密碼便可,而後在執行
sudo passwd --unlock root

   修改軟件中心鏡像地址提升下載速度,鏡像地址能夠自行谷歌、百度。

su #(若是已是root帳戶登陸,便可跳過此步驟)
cd /etc/apt/&&mv sources.list sources.list.bak #(備份現有的源文件)
sudo nano /etc/apt/sources.list #(添加新配置文件)
=================
deb http://mirrors.cqu.edu.cn/Raspbian/raspbian/ wheezy main contrib non-free rpi #(添加劇慶大學的鏡像)
#Ctrl + O、Enter、Ctrl + X #保存退出
=================
sudo apt-get update && apt-get upgrade #(測試更新)

  文件受權,注意不要濫用。

sudo chmod 777 /xxx  #目錄爲Everyone
sudo chmod -R 777 /xxx  #目錄以及子文件所有爲Everyone

  輸入法管理器與輸入法安裝,我這裏選擇iBus(由於符合國人的操做習慣,設置也比較人性化點點,同時內置拼音。可是不能和PC的國產輸入法比較。其實還有fcitx輸入法管理器)

sudo apt-get install ibus ibus-pinyin

配置開機自動啓動方面使用,默認下每次開機須要手動啓動。

#添加自啓動腳本
cd /home/pi
cd .config
mkdir autostart
cd autostart
#添加腳本文件(能夠寫入多個腳本文件,用於配置不一樣分辨率鏈接)
nano input.desktop
#添加腳本
[Desktop Entry]
Type=Application
Name=InputManger
Exec=ibus-daemon --xim
StartupNotify=false
#Ctrl + O、Enter、Ctrl + X #保存退出

  設置桌面樣式

  永久掛載新分區

  

df -h #查看未使用的分區
sudo umount /dev/xxxx #對應分區卸載,記住你的這個分區路徑
sudo mkdir /xxx #建立自定義的掛載位置,將卸載的分區掛載到本身的目錄

#臨時掛載
sudo mount /dev/xxx /xxx #將分區掛載到本身建立的目錄

#永久掛載
sudo nano /etc/fstab #進入系統的磁盤分區的配置表,系統開機會進行分區映射
#添加一行,將分區掛載到自定義的位置
======================================================
/dev/xxx  /xxx    auto    defaults          0       0
======================================================
#Ctrl + O、Enter、Ctrl + X #保存退出

  製做系統鏡像

  鏡像是個很是方便的東西,能夠將系統打包。若是運行的系統損壞或不想要了,能夠用備份的鏡像文件將其恢復。經過Win32DiskImager進行備份和還原,平時備份能夠將鏡像壓縮,能夠節約空間。(快速下載-移入查看密碼

  第一次如何恢復根分區容量

#運行命令終端
sudo raspi-config #進入系統配置

  2.遠程桌面的安裝

  最新的Raspbian內置VNCServer工具,因此就不須要在單獨安裝VNCServer工具了,上一步已經啓動的VNC功能,同時須要注意的是用戶名,密碼。VNC能夠添加多個不一樣名稱的端口。

 

#添加自啓動腳本
cd /home/pi
cd .config
mkdir autostart
cd autostart
#添加腳本文件(能夠寫入多個腳本文件,用於配置不一樣分辨率鏈接)
nano vnc.desktop #腳本名稱
#添加腳本
[Desktop Entry]
Type=Application
Name=VNC #名稱
Exec=vncserver -geometry 1920x1080 :1 #設置分辨率1920x1080,以及VNC端口爲1
StartupNotify=false
#Ctrl + O、Enter、Ctrl + X #保存退出

使用VNCViewer進行遠程鏈接,VNCViewer支持多平臺版本能夠到官網下載。(快速下載-移入查看密碼

3.安裝NodeJS

  在NodeJS官網下載安裝包或在線安裝,注意安裝ARM版本。(快速下載-移入查看密碼

#方法1、
#做者地址:https://github.com/nodesource/distributions
#命令終端
curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

#方法2、
#命令終端
cd /home/pi

#離線安裝
#拷入node-v6.9.1-linux-armv7l.tar.gz 到 /home/pi

#在線安裝(其餘版本同理,只須要修改版本名稱便可)
wget https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-armv7l.tar.gz

#命令終端
tar zxvf node-v6.9.1-linux-armv7l.tar.gz   
sudo mv node-v6.9.1-linux-armv7l  /usr/local/bin
sudo ln /usr/local/bin/node-v6.9.1-linux-armv7l/bin/node /usr/local/bin/node
sudo ln -s /usr/local/bin/node-v6.9.1-linux-armv7l/lib/node_modules/npm/bin/npm /usr/local/bin/npm

  NodeJSARM版NPM存在路徑問題,須要如下方式解決。

#嘗試npm -v發現出錯了,緣由是路徑問題,修改相對路徑(注意查看腳本中的相對路徑),跳轉到/usr/local/bin目錄。
#打開文本npm
#貼上修改後的文件內容:
#!/bin/sh
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix

basedir=$(dirname `readlink -f $0`)
cd $basedir

case `uname` in
    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac

NODE_EXE="$basedir/node.exe"
if ! [ -x "$NODE_EXE" ]; then
  NODE_EXE=node
fi

NPM_CLI_JS="$basedir/node-v6.9.1-linux-armv7l/lib/node_modules/npm/bin/npm-cli.js"
if ! [ -x "$NPM_CLI_JS" ]; then
  NPM_CLI_JS=npm-cli.js
fi

case `uname` in
  *CYGWIN*)
    NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
    NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/node-v6.9.1-linux-armv7l/lib/node_modules/npm/bin/npm-cli.js"
    if [ -f "$NPM_PREFIX_NPM_CLI_JS" ]; then
      NPM_CLI_JS="$NPM_PREFIX_NPM_CLI_JS"
    fi
    ;;
esac

"$NODE_EXE" "$NPM_CLI_JS" "$@"

  NodeJS升級命令。

sudo npm install -g n
#更新到最新穩定版
sudo n stable
#更新到最新版本
sudo n latest
#更新到具體版本
sudo n v6.9.1

4.安裝Net環境

  這裏使用的是Mono,而非Net Core,由於Net Core坑太多了,不適合跨平臺移植軟件。還有作跨平臺軟件須要注意外部文件路徑問題,經過 Path.DirectorySeparatorChar 獲取平臺路徑特徵與經過 AppDomain.CurrentDomain.BaseDirectory 獲取運行程序的絕對根目錄,同時,win32的類庫目前是不能被Mono運行的。Net的類庫是徹底可運行,須要注意的是Windows下有些原生類庫在Mono裏面沒有集成,須要設置生成時複製到輸出目錄。(快速下載-移入查看密碼

  首先下載Mono官方的源代碼,而後在樹莓派上進行編譯,編譯時間過長,清耐心等待數小時。安裝過程當中會出現依賴的軟件未安裝,致使安裝中止,須要一步一步的進行安裝依賴經過「sudo apt-get xxx」或「sudo apt-get xxx=xxx.xxx.xxx」來解決。

方法1、
#這裏是案例,能夠下載最新版進行編譯(須要耐心等待6~8小時),安裝
#下載官方源碼包,能夠離線下載提升速度
wget http://download.mono-project.com/sources/mono/mono-4.0.1.44.tar.bz2
#解壓
tar -xvf mono-4.0.1.44.tar.bz2
#切換路徑
cd mono-4.0.1
#配置編譯安裝路徑
./configure --prefix=/usr/local
#編譯
make
#安裝
make install

#注意經過sudo apt-get安裝libgdiplus類庫,方便圖像程序的運行,如:WinForm等圖像庫相關的軟件的使用

方法2、
#經過Mono官網:https://www.mono-project.com/download/stable/#download-lin-raspbian,樹莓派專欄命令安裝完整Net環境
安裝命令:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb http://download.mono-project.com/repo/debian raspbianjessie main" | sudo tee /etc/apt/sources.list.d/mono-official.list sudo apt-get update
sudo apt-get install mono-develsudo 
sudo apt-get install mono-completesudo 
sudo apt-get install mono-dbgsudo 
sudo apt-get install referenceassemblies-pclsudo 
sudo apt-get install ca-certificates-monosudo 
sudo apt-get install mono-xsp4

耐心等待數小時後,安裝完成,能夠用C#寫個HelloWorld試試還有WinForm等,看看驚喜。

若是還須要AspNet程序的運行,則須要安裝 Jexus Web服務器,用於支持AspNet程序的運行。如下是Jexus安裝。(快速下載-移入查看密碼

#安裝
cd /tmp
wget linuxdot.net/down/jexus-5.6.5.tar.gz
tar -zxvf jexus-5.6.5.tar.gz 
cd jexus-5.6.5
sudo ./install 

#更新
cd /tmp
sudo /usr/jexus/jws stop
wget http://linuxdot.net/down/jws-v5.6.4-arm.zip
tar -zxvf jws-v5.6.4-arm.zip
cd jws-v5.6.4-arm
sudo ./upgrade
sudo /usr/jexus/jws regsvr
sudo /usr/jexus/jws restart

===測試/var/www/default/index.aspx=======
<%@Page Language="C#"%>
<%=DateTime.Now.ToString()%> 
==============================
#添加自啓動腳本
cd /home/pi
cd .config
mkdir autostart
cd autostart
#添加腳本文件(能夠寫入多個腳本文件,用於配置不一樣分辨率鏈接)
nano webserver.desktop
#添加腳本
[Desktop Entry]
Type=Application
Name=WebServer
Exec=lxterminal --command="sudo /usr/jexus/jws start"
StartupNotify=false
#Ctrl + O、Enter、Ctrl + X #保存退出

Jexus的全局配置在/usr/jexus/jws.conf,能夠經過「sudo nano /usr/jexus/jws.conf」配置。

SiteLogDir=log #指定日誌目錄
SiteConfigDir=siteconf #指定每一個站點的配置信息位置

httpd.processes=1          #: 1-8. (0 is auto) 這是Jexus服務器使用的進程數量,建議每1核CPU用一個進程,最多可設8個進程,若是設置大於1,須要啓動獨立的會話服務。不然出現Session丟失問題
httpd.MaxTotalMemory=0     #: In megabytes. Set to 0 for auto. 容許使用的最大內存,0是自動分配
httpd.MaxCpuTime=2400      #: In seconds. Set to 0 for unlimited. 容許CPU執行的最長時間,若是超時系統會終端當前運行的線程,0是不限制。
httpd.MaxConnPerIp=0       #: 0 is unlimited 單個IP的最大併發鏈接數
# httpd.User=www-data #工做進程以什麼用戶身份和對應權限工做,默認爲root
# php-fcgi.set=/usr/bin/php-cgi,6 #若是須要Jexus同時充當PHP FastCGI服務器,這一句就是fast-cgi設置,分兩個部分,逗號前爲php-cgi這個文件的路徑,逗號後是php進程數

# CertificateFile=/xxxx/xx.crt #SS證書
# CertificateKeyFile=/xxxx/xx.key #SSL證書祕鑰文件
# SSL_Ciphers=RC4-MD5 #使用的加密套件類型



# Runtime=v2.0.50727

Jexus的每一個站點的配置/usr/jexus/siteconf/xxx,例如配置default:「sudo nano /usr/jexus/siteconf/default」配置,能夠配置多個,經過「sudo nano /usr/jexus/siteconf/xxx」進行添加其餘網站配置。

######################
# Web Site: Default 
########################################

port=80 #網站的端口號
root=/ /home/pi/Project/www/default #網站的根目錄
hosts=*    #OR your.com,*.your.com #容許訪問域名


# addr=0.0.0.0 #網站容許訪問本地IP
# CheckQuery=false #查詢檢查
NoLog=true #不開啓日誌
# NoFile=/index.aspx  #默認的主頁
Keep_Alive=false #是否保持長鏈接
UseGZIP=true #是否啓動GZIP壓縮
# UseHttps=true #網站是否使用SSL安全訪問
# DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24 #禁止訪問的IP限制
# AllowFrom=192.168.*.* #容許訪問的IP限制
# DenyDirs=~/cgi, ~/upfiles #禁止訪問的目錄
# indexes=myindex.aspx #首頁文件名,能夠寫多個,用英文逗號分開(能夠不填。由於JWS系統含有經常使用首頁名)
# rewrite=^/.+?\.(asp|php|cgi|pl|sh)$ /index.aspx #URL重寫是指WEB服務器將訪問者的請求URL路徑資源按指定的匹配規則解釋和匹配爲另外的一個真實RUL路徑資源。
# reproxy=/bbs/ http://192.168.1.112/bbs/ #反向代理功能,當用戶訪問/abc/時,jexus就會隨機選擇一臺服務器進行訪問,達到負載均衡或服務器集羣的效果。

# Jexus php fastcgi address is '/var/run/jexus/phpsvr'
#######################################################
# fastcgi.add=php|socket:/var/run/jexus/phpsvr

# php-fpm listen address is '127.0.0.1:9000'
############################################
# fastcgi.add=php|tcp:127.0.0.1:9000

5.如何建立內存虛擬磁盤

在樹莓派上建立內存盤,將頻繁讀寫的緩存等小文件放到內存,減小對SD卡的壽命消耗。

mkdir /ram
mount -t tmpfs -o size=10m,mode=0777 tmpfs /ram

6.時間不許校訂方法

手動方式:

sudo date  --s="2018-03-18 00:00:00"

自動方式:

sudo ntpd -s -d

若是沒有配置NTP服務器,那麼須要從新配置,以下: 

# 打開ntp服務的配置文件
sudo nano /etc/ntp.conf
# 找到這兩行
# You do need to talk to an NTP server or two (or three).
# server ntp.your-provider.example
# 添加
server ntp.fudan.edu.cn iburst perfer
server time.asia.apple.com iburst
server asia.pool.ntp.org iburst
server ntp.nict.jp iburst
server time.nist.gov iburst
# Ctrl+X保存退出
# 重啓ntp服務
sudo /etc/init.d/ntp restart 

7.如何開機自動運行命令行工具

下面運行Git服務器爲例:

#添加自啓動腳本
cd /home/pi
cd .config
mkdir autostart
cd autostart
#添加腳本文件(能夠寫入多個腳本文件,用於配置不一樣分辨率鏈接)
nano gogsserver.desktop
#添加腳本
[Desktop Entry]
Type=Application
Name=GogsServer
Exec=lxterminal --working-directory=/home/pi/Software/GogsServer/gogs --command="./gogs web"
StartupNotify=false
#Ctrl + O、Enter、Ctrl + X #保存退出

8.Linux分區以及SSD優化

fdisk -l #查看分區信息
df -T #查看掛載點新
cfdisk /dev/sda #分區工具
mkfs -t ext4 /dev/sdaXXX #格式化分區
mount /dev/sdaXXX /mnt/XXX #掛載分區
mount /dev/sdaXXX  /media/XXX #手動掛載分區
umount /media/XXX 卸載分區
e2label /dev/sdaXXX /XXX #修改分區別名
/etc/fstab #添加自動掛載分區
tune2fs -m 1 /dev/sda #減小Ext4分區預留空間到1%

#SSD優化
#https://www.jianshu.com/p/nQpqsN
#方法1-修改/etc/rc.local文件
在最後一條命令exit 0 前增長以下內容:
fstrim -v /
/爲root分區(SSD硬盤分區)
不建議使用fstrim-all命令,在非三星和Intel SSD上會有性能瓶頸,

#方法2-cron
echo -e "#\x21/bin/sh\nfstrim -v /" | sudo tee /etc/cron.daily/trim
sudo chmod +x /etc/cron.daily/trim

#方法3-修改/etc/fstab文件
修改SSD相關分區條目,增長discard 和 noatime參數
/dev/sda1 / ext4 discard,noatime,commit=600,errors=remount-ro 0 1
discard參數啓動SSD的TRIM功能,能夠提高性能和使用持久性。
notime參數告訴文件系統不要記錄文件的最後訪問(讀取)時間,只記錄最後修改時間。能夠有效減小對磁盤的讀寫次數,由於訪問頻率相對修改來講很是多

#SSD優化後記
新買得一塊SSD,據說開啓TRIM才能更好的發揮SSD的性能,Linux並無默認開啓TRIM,但開啓仍是比較簡單。
首先要檢測SSD是否支持TRIM:
sudo hdparm -I /dev/sda | grep "TRIM supported"
若是支持則會出現:」Data Set Management TRIM supported」
若是SSD支持TRIM, 則能夠開啓TRIM了, 這裏介紹經常使用的兩種方法。

#方法1:修改fstab, 添加discard屬性
sudo vim /etc/fstab

#下面是我機器上fstab的配置
UUID=27dd31b4-8aa4-4043-b921-540a312c056c / ext4 rw,relatime,data=ordered,discard 0 1
UUID=42f79958-0776-4b2f-8aa3-db827bf257b6 /home ext4 rw,relatime,data=ordered,discard 0 2

#方法2:使用fstrim按期執行trim任務
#以我用的archlinux爲例,首先安裝並運行cron服務:
sudo pacman -S cronie
sudo systemctl start cronie
sudo systemctl enable cronie

#而後建立一個任務配置:
sudo gedit /etc/cron.daily/trim

#並將下面的內容拷貝到裏面:
#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG 

  以上是基本安裝方式,隨着版本更新,可能存在出入。同時命令中的註釋須要去掉。

相關文章
相關標籤/搜索