Re: [問題] 如何看已安裝套件?

看板FreeBSD作者時間11年前 (2013/08/28 12:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/9 (看更多)
※ 引述《Kuster (克斯特)》之銘言: : ※ 引述《pig (歡迎加入豬頭黨)》之銘言: : : ports 跟 pkg_* 安裝資訊都是丟到 /var/db/pkg 下面, : : 直接 ls 就可以看到裝過了什麼,你用 pkg_info 一樣可以看到, : : 基本上 pkg 的那些套件也是用 ports 做出來的 : : 補充說明一下,如果是新的 pkgng (指令是 pkg *), : : 那 /var/db/pkg 可能只會看到 local.sqlite : : 要看裝過哪些就只能用 pkg info 了 : 我試著比較了一下FreeBSD 9.1與FreeNAS 9.1 : 都是剛安裝完的狀態 : FreeBSD使用了約3G的硬碟空間 : FreeNAS使用了約576MB : 可是/var/db/pkg底下都是空的,沒有任何檔案 : 試著手工安裝vim(下載tbz檔並使用pkg_add安裝)之後,/var/db/pkg裡面才有東西 : 我不知道該怎麼得知兩個OS到底各別裝了什麼 如果系統還是用原本的 pkg_ 的話,用 pkg_info 會列出已安裝的 package 如果是用新的 pkgng 的話,用 pkg info 會列出已安裝的 package 你可以兩個都試試看,總有一個會是對的 : 所以我想問的是,我要怎麼樣去確認我拿一個iso安裝完BSD系統後 : 系統裡面有了什麼或者沒有什麼呢? FreeBSD 本身是完整的作業系統,包含了 kernel 和其它必要的軟體 這些稱之為 base,從 iso 裝好就會有了。 其它額外的軟體稱為 ports,本來是要重新 compile 的,不過有些環境不允許 或因為方便,所以也提供直接裝 binary 的方式,稱為 package 目前 package 系統有兩套,一套是原有的 pkg_,例如 pkg_add, pkg_info 等等 另一套是新的 pkgng (pkg next generation),只有 pkg 一個指令,其它都是 pkg 的子指令,如 pkg add, pkg info 等等。 從 iso 安裝的話,base 的部份預設是全裝的 少數有些元件可以不裝 (例如 FreeBSD source tree, ports tree 等) 基本上整個系統除了 /usr/local 之外,其它都是 base 的東西 要看 base 裝了哪些軟體,可以翻一下 /bin /sbin /usr/bin /usr/sbin 下有哪些東西 或是看 FreeBSD 的 source tree 裡帶了哪些軟體 要看裝了哪些 ports 的話,就如上面說的,用 pkg_info 或 pkg info : 甚至是版本號與對應的source? base 的軟體的 source 都會在 FreeBSD source tree 裡 (預設是 /usr/src) 你的 FreeBSD 用了 3G,所以應該有裝 你可以進 /usr/src 裡看有哪些軟體 你的 FreeNAS 只用了不到 1G,應該沒有 source tree 如果需要 source 的話就要去 FreeNAS 官網抓了 已安裝的 ports 的版號用 pkg_info/pkg info 就可以看到 source 的話如果有裝 ports tree 的話會在 /usr/ports 下 你的 FreeBSD 應該有裝,可以找找看 FreeNAS 應該是沒有,這應該也要去官網找 : 順帶問一下,就過去在Linux環境下的經驗,我可以透過lsmod看到現在跑了那些driver : 因為通常driver會編成獨立的module : 例如有intel的網卡,我就會看到一個igb的module : 可是在BSD底下,我看到網卡都被驅動可以用了 : 透過kldstat卻只看到一個kernel的module : 這意思是BSD習慣把所有的module全部build in到kernel嗎? 預設的 GENERIC kernel 的確是把重要的 driver 都編進 kernel 裡 網路卡 driver 算是重要的 driver,所以也都編進去了 你可以自己重編 kernel,把所有用不到的 driver 拿掉不要編,或者編成 module -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.49
文章代碼(AID): #1I7NOApy (FreeBSD)
討論串 (同標題文章)
文章代碼(AID): #1I7NOApy (FreeBSD)