本來是不想寫這個東西的。
但因為實在是沒什麼文章發表,只好拿我的怪咖小白來做文章。
這次的訓練重點有
1、建立tmpfs來減少對ssd的使用次數
2、將apt-get(synaptic)抓下來及sources list丟進tmpfs裡
3、把小狐的快取也丟進tmpfs裡
4、讓我的怪咖小白能使用Smplayer及安裝相關影音解碼器
5、.......沒了,我能想到的只有這些
不過先聲明!
我的怪咖小白是2G的Ram,要使用tmpfs的話Ram是越大越好。
我是大而化之派的,對於一些於我沒有太大的影響的功能通常我是當做沒看到(像是快捷鍵,跟視訊之類的)。有成功訓練過小白的熱血勇者,期待你們的分享。
先介紹我的怪咖小白
來歷:黃色鬼屋辦台灣大哥大門號401月租費(0元)來的 701SD(4G SSD)
這東西好像有人在討論跟原本的shuffle版有很大的差異(多了視訊,只有白色,SSD不是SLD等等)。不過呢,讓我們無視它吧。
內裝:
1、原本的RAM 512mb拆掉了,換成2G 的來用用。
2、這台小白被我叫怪咖的原因:無線網卡不是用 RaLink 或者 Atheros 晶片,而是使用 Realtek 的晶片
3、這台小白是使用INTEL Celeron CPU
4、除了換ram外,完全沒做改裝動作(什麼藍芽、觸控螢幕之類,通通沒有)
5、SSD 只有 4G, 再多沒有
作業系統:eeebuntu 2.0 NBR 這裡可以找到
這東西是基於 ubuntu 8.10 做的。共有三個版本,重灌狂人裡面有介紹。
廢話來一篇:
先說說為什麼我要搞tmpfs。
我們要知道一件很重要的事,SSD是有其寫入壽命的!
寫入多少次會掛掉?老實說我不知道,但應該比硬碟還少。
所以要儘量減少系統對SSD的強姦寫入把一些常常會做寫入動作的資料夾設成tmpfs。
有那些會常常做寫入動作咧?
/tmp 、 /var/log 、 /var/tmp 目前知道的是這三個
還有ubuntu開機後會似乎自動執行apt-get來更新軟體list。不管是不是,這東西確實也會對SSD做寫入的動作,尤其如果有更新時的軟體包也會丟進SSD裡。
所以這個也把它丟進tmpfs。
至於什麼是tmpfs,簡單說就是RAMDISK,詳情goolge一下就有很多了。
這樣就能避免SSD的寫入嗎? 不能,只是讓SSD慢一點死掉而己。
可能有人會問為什麼不裝在sdhc的卡裡,或是隨身碟裡? 我是沒這麼做啦,就算這麼做也是要想法子讓隨身碟或sdhc卡慢一點死啊。
所以這個問題讓我們無視它吧。
我現在是把4g的ssd拔掉,用 8g的 sdhc卡當硬碟來用。反正便宜又是終身保,但記得資料一定要備份在其他地方,不然一但陣亡了就糗了。
基本上,使用ssd及使用sdhc卡都是一樣的。
訓練開始:
1、安裝時只有1個要點,就是不要把硬碟格式設成日誌型的,我們選用較舊的 ext2就行,乖乖的先裝好。
2、將幾個目錄建立成tmpfs
用各位能想到的編輯器來編輯/etc/fstab吧。
ex. sudo gedit /etc/fstab
在最底下加入這幾行鬼東西
#tmpfs
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/cache/apt/archives tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/lib/apt/lists tmpfs defaults,noatime,mode=1777 0 0
#字號後面只是用來做註解用的,可以不用理它。但是有它來做註解可以很明確的知道自己做了什麼事。
接下來的三個 /tmp /var/log /var/tmp 這三個目錄是寫入算很頻繁的,就把他建立成tmpfs
之後的 /var/cache/apt/archives /var/lib/apt/lists 這二個目錄,就是apt-get 及synaptic 在放他們抓下來的list及軟體包的地方
/var/lib/apt/lists <--- 這是放list的
/var/cache/apt/archives <--- 這是放軟體包的
但是問題來了,這二個目錄底下又各自有一個 partial的目錄。因為上層目錄被設成了tmpfs,這二個目錄只要每次重開機後就會消失不見,而apt-get(synaptic)在執行時又不會自動建立這二個目錄。
怎麼辦?
只好寫成init script 讓它們開機時自動建立。(我的寫法很粗糙,一點技術性也沒有,期待熱血勇者補完)
3、建立一個每次開機時會自動建立/var/lib/apt/lists/partial 及 /var/cache/apt/archives/partial 這二個目錄的script,並掛入rcS.d裡
一樣開自己愛用的編輯器來新建一個檔案(我命名為mkdir-apt-partial)
ex. gedit mkdir-apt-partial
貼入以下內容
#!/bin/sh
#這支script是用來建立/var/lib/apt/lists/partial 及 /var/cache/apt/archives/partial這二個目錄的
PATH=/lib/init:/bin:/sbin
mkdir /var/lib/apt/lists/partial
chmod 777 /var/lib/apt/lists/partial
mkdir /var/cache/apt/archives/partial
chmod 777 /var/cache/apt/archives/partial
因為我是自己用的,所以chmod的權限我沒有很在意,有這方面需求的人請找man
以上存檔,設成可執行後丟進 /etc/init.d 裡。
sudo cp mkdir-apt-partial /etc/init.d
然後執行update-rc.d 把這支script掛入rcS.d
sudo update-rc.d mkdir-apt-partial start 60 S .
注意最後面有一個小點 .
至於 60 是這支script的執行順序是第 60 個。
為什麼是60 而不是其他數字?我只是找一個空的數字來用而已,太前面怕人家還沒mount好,我要建立人家不鳥我。(這裡也期待熱血勇者提供好的執行順序)
到這裡應該就完成了,可以試著重新開機,看看剛剛建立的東西有沒有正常。
基本上只要開完機後,在var/lib/apt/lists/及 /var/cache/apt/archives裡都有看到partial這個目錄,應該就沒問題了。
但是咧,我並不知道apt-get在何時會自動做apt-get update,所以在沒找到順序之前只能先手動做apt-get了。
4、把小狐的cache丟進/tmp裡
這個動作其實也是google一下就有了。
打開 Firefox 網址列輸入 about :config
在空白的地方按右鍵->新增->字串。
字串名稱:browser.cache.disk.parent_directory
值就是 /tmp
之後重開小狐後,在/tmp裡有看到一個Cache的目錄就是成功了。
5、至於smplayer及影音解碼器嘛
就來 smplayer 及 medibuntu 這二個地方看看吧
打完收工