模組
掛上/卸下模組
在 .../modules/ 子目錄下 (完整的路徑可能是
/mnt/sdx5/slax-6.1.2/slax/modules/ 之類的) 有許多 .lzm
檔。 每一個檔案, 其實是一個 檔案系統 file system
的映象檔 -- 就像是一片光碟的映象檔 xxx.iso 一樣。 詳見 Linux 下的特殊檔案系統。 Slax 開機時,
會自動將這個目錄下的每個 .lzm 檔掛載加入它的 aufs 幻象當中; 每個
.lzm 都會貢獻一些應用軟體或資料給整個 「聯集」。 請在 konsole
下開兩個分頁, 我們將以 gnuplot
為例, 看看如何掛上/卸下模組。 進入 gnuplot 之後, 隨便下一個指令,
例如 splot x*x-y*y
然後隨即按 ctrl-d 離開, 跳回
bash。
A 分頁 | B 分頁 |
cd .../modules/ | |
ls -l gnuplot全名 | |
grep gnuplot /proc/mounts | |
du /mnt/live/memory/images/gnuplot全名/ | |
gnuplot | |
ls -l /usr/bin/gnuplot /usr/share/gnuplot/ | |
find /mnt/live/memory/images/gnuplot全名/ -type f | less | |
su | |
deactivate gnuplot全名 | |
grep gnuplot /proc/mounts | |
du /mnt/live/memory/images/gnuplot全名/ | |
gnuplot | |
ls -l /usr/bin/gnuplot /usr/share/gnuplot/ | |
find /mnt/live/memory/images/gnuplot全名/ -type f | less | |
activate gnuplot全名 | |
grep gnuplot /proc/mounts | |
du /mnt/live/memory/images/gnuplot全名/ | |
gnuplot | |
ls -l /usr/bin/gnuplot /usr/share/gnuplot/ |
要掛載模組, 用 activate
指令。 掛載之後, 在
/proc/mounts 裡面會出現一列關於這個模組的記錄。 從那裡,
可以查出這個模組解壓縮後的長像 (應該是在
/mnt/live/memory/images/模組全名 底下)。 壓縮檔 .lzm 的大小,
大約只佔壓縮前的 30%-50%。 這就是為什麼 slax 可以用這麼少的資源,
做那麼多事。 這個新增模組所提供的所有檔案 (指令/文件/函式庫/...),
馬上就透過 aufs 反映在系統裡面。 要卸下模組, 用
deactivate
指令。 卸下後, /proc/mounts 裡面的那一列,
/mnt/live/memory/images/ 底下關於此模組的子目錄,
還有系統裡面先前它所提供的指令/文件/函式庫/...
就通通一起消失了。
新增模組
Slax 官方網站提供 很多現成的模組 可下載。 例如搜尋 openoffice, 並且選擇 "sort modules by name" 就很容易找到 OpenOffice 3.2.0 (太大, 所以沒收錄到 slax-cyut-100228.iso 裡面)。 高雄 Linux 使用者協會的 Kevin 也 製作了一些模組; 也可下載我所製作的 cyut 版 slax 光碟, 裡面的 modules/ 與 optional/ 子目錄內有一些我從各處搜集或轉檔而來的套件。 不論從何處取得, 只要把模組放到你的隨身碟的 .../modules/ 目錄下, 下次開機時, 就會自動掛載; 或者現在就下 activate 指令, 也可立即掛載。 有些模組有 相依性 dependency -- 必須同時安裝其他模組, 這個模組才能使用。
新增模組之後, 選單裡面可能還是看不見新的套件。 這時可 (用一般使用者的身份) 執行 kbuildsycoca 重建系統選單。 詳見 kbuildsycoca --help。
因為 slax 由 slackware 改裝而來, 從相容性的角度考量, 除了 slax
官網之外, slackware 官網是取得套件的第一優先選擇。 到 slackware
找到對應版本的目錄, 找到 FILELIST.TXT (套件列表) 及 MANIFEST.bz2
(套件內所有檔案列表, 極大), 從裡面找到想要安裝的套件, 例如叫做
xyz.tgz, 然後用 tgz2lzm xyz.tgz xyz.lzm
轉檔,
並將轉出來的 xyz.lzm 放到 slax/modules/ 目錄底下即可。
除了 slackware 官方網站之外, 還有一些支援 slackware 的倉庫有些額外套件可下載: "Alien", "slacky", "tuxfamily"
如果是相依性並不複雜的套件, 還可從其他格式 (.deb 或 .rpm)
的套件轉檔。 例如 deb2lzm xyz.deb
會產生 xyz.lzm 或
rpm2lzm xyz.rpm
會產生 xyz.lzm 。 不知為何, rpm2lzm
並未內建, 上網也找不到。 所以只好先: alien --to-tgz
xyz.rpm
產生 xyz.tgz, 再: tgz2lzm xyz.tgz
xyz.lzm
產生 xyz.lzm。
- 本頁最新版網址: https://frdm.cyut.edu.tw/~ckhung/b/slax/module.php; 您所看到的版本: February 14 2012 10:32:25.
- 作者: 朝陽科技大學 資訊管理系 洪朝貴
- 寶貝你我的地球, 請 減少列印, 多用背面, 丟棄時做垃圾分類。
- 本文件以 Creative Commons Attribution-ShareAlike License 或以 Free Document License 方式公開授權大眾自由複製/修改/散佈。