小小的問題 dbus 與 kernel [論壇 - Ubuntu 哈啦]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



訪客
小小的問題 dbus 與 kernel
Anon:訪客
想請教一下 有關dbus-glib 在ubuntu的疑問
10.10:
kernel: 2.6.35.28
dbus-daemon: 1.4.0
dbus-launch: 1.4.0
10.04:
kernel: 2.6.32-24
dbus-daemon: 1.2.16
dbus-launch: 1.2.16

將kernel升級至2.6.35的同時 將dbus升級
是否因為dbus depend kernel版本為2.6.35呢?

因為目前遇到有個問題是
kernel: 2.6.35
dbus-daemon: 1.2.16
在系統中所使用的session bus
(自行撰寫的bus 在kernel:2.6.31 並無此問題)
將系統放置三四小時後
所有session bus 的API都會停住 無法reply
我是使用dbus-send確認 以及dbus-monitor來觀看
都沒有任何的回應 導致所有AP都停住

不曉得可否有人可以幫忙解答以及解決~
感謝!!!!!!!

2011/6/7 15:42 | 9e069 ffb26 6d493 28136
應用擴展 工具箱
回覆: 小小的問題 dbus 與 kernel

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 70921
EXP: 24
離線
是否因為dbus depend kernel版本為2.6.35呢?

這個問題 不容易回答 得很清楚
因爲 dbus depend kernel 是什麼含義 不是很清楚 能否說得明白一點

從 synaptic 輸入 dbus 選屬性
可以看到 dbus 的相依套件 但是沒看到 dbus 的遞迴相依套件
(如果 遞迴相依套件 需要進一步說明 請再貼文)
所以無法 確定 dbus 的相依套件是不是 kernel

要進一步 查詢 dbus 的遞迴相依套件
要額外安裝一個套件指令
sudo apt-get install apt-rdepends

apt-rdepends dbus
可以查出 dbus 的 全部 遞迴相依套件 (指現在已安裝 作業系統上)

apt-rdepends dbus-x11
可以查出 dbus-x11 的 全部 遞迴相依套件 (指現在已安裝 作業系統上)

至於不是 現在 已安裝 作業系統上
要查 全部 dbus 套件版本 請看這裏
dbus packages

你列出的這五個
dbus-glib
dbus-daemon
dbus-launch
dbus-monitor
dbus-send

從 synaptic 選 dbus 按右鍵 選屬性 已安裝檔案
/bin/dbus-daemon
可見上面這五個 除了 看到 dbus-daemon 是 dbus 的 指令外
其它 四個 與 synaptic 裏的 指令 好像不同
和 synaptic 套件庫 裏的 套件名稱 好像 也不太一樣
(我現在是 11.04 與你希望的 10.10 或 10.04 可能有差異)
你再確認一下
把你的問題 說得更清楚一點

2011/6/7 17:11
應用擴展 工具箱
訪客
回覆: 小小的問題 dbus 與 kernel
Anon:訪客
首先感謝poloshiao的回覆

先說明: dbus-send dbus-monitor
在dbus spec(http://dbus.freedesktop.org/doc/dbus-specification.html)中
是用來debug專用 所以並不是在dbus套建中的"必要性"套件

而 dbus-glib dbus-launch
則是dbus另外一種 coding以及執行方式

而dbus-daemon則是執行dbus service
(dbus使用方式 以及相依套件[全部大幅升版本
我舉的dbus-daemon則是其中之一] 則略過...)

疑問則是:
dbus depend kernel
dbus是否會與kernel的版本有著 相依性
好比說 只更新kernel而dbus仍然使用舊版的
是否會造成session bus無法繼續使用的問題

---(因為目前我遇到的 則是此狀況! 是否ㄧ定要將dbus套件一併升級!?)---

還是 是否有其他原因造成此情況發生

否則10.10 10.04對於dbus版本 直接從1.2.16跳至1.4.0
還是當時最新版為1.4.0所以更新為1.4.0 (dbus官方stable版:1.4.10)
讓我疑惑了一下!

謝謝!!

2011/6/7 18:19 | 9e069 ffb26 6d493 28136
應用擴展 工具箱
回覆: 小小的問題 dbus 與 kernel

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 70921
EXP: 24
離線
先說明: dbus-send dbus-monitor
在dbus spec(http://dbus.freedesktop.org/doc/dbus-specification.html)中
是用來debug專用 所以並不是在dbus套建中的"必要性"套件

在你所引述的網頁文章 找不到 這四個 關鍵字
dbus-glib
dbus-launch
dbus-monitor
dbus-send
疑問則是:
dbus depend kernel

這裏 對 depend 一詞 有個 明確的 定義
Package Dependencies

Programs often use some of the same files as each other. Rather than putting these files into each package, a separate package can be installed to provide them for all of the programs that need them. So, to install a program which needs one of these files, the package containing those files must also be installed. When a package depends on another in this way, it is known as a package dependency. By specifying dependencies, packages can be made smaller and simpler, and duplicates of files and programs are mostly removed.

如果 從以上的 定義來理解
dbus depend kernel
是很困難的事情
因爲 kernel 的定義 顯然 超越 上述所說的 a separate package
所以 dbus depend kernel 很容易有 錯誤 的 解讀
更難有 正確的 思考方向 不知如何回應

你可不可以 不用 depend 一詞
嘗試 用 一般語言 平舖直述 你想表達 的問題
以免 我們想錯 方向
dbus-launch

dbus-x11: simple interprocess messaging system (X11 deps)
dbus 則是 dbus-x11 的相依套件
sudo apt-get install dbus-x11
從 synaptic 屬性 可查出 已安裝檔案
/usr/bin/dbus-launch
才有 dbus-launch 這個指令
D-Bus is a message bus, used for sending messages between applications.
Conceptually, it fits somewhere in between raw sockets and CORBA in
terms of complexity.
This package contains the dbus-launch utility which is necessary for
packages using a D-Bus session bus.
See the dbus description for more information about D-Bus in general.
是用來debug專用 所以並不是在dbus套建中的"必要性"套件

請到 系統/管理/synaptic /設定/套件庫/把 dbus 輸入 快速搜尋框 會立刻 出現 與 dbus 關鍵字 有關的 套件明細
從 這些 套件明細 名稱 最後面 有 -dbg 的尾巴 就是 用來 debug 專用
從 這些 套件明細 名稱 最後面 有 -dev 的尾巴 就是 用來 development 專用
從 這些 套件明細 名稱 最後面 有 -doc 的尾巴 就是 用來 documentation 專用
...其它省略

你這三個 指令 可以 找找看 安裝好 上述套件後 是否會出現在 synaptic 屬性 的 已安裝檔案
如果 有
就可以拿來 當指令
dbus-glib
dbus-monitor
dbus-send

最後 要說明
ubuntu 的 kernel 雖然 同樣來自 linux 同樣來自 debian
但是 自己重新 編譯過 所以 與 其它的 distros 的 kernel 可能不同
要以 ubuntu 安裝的 kernel 爲準 (可以從 synaptic 查出)
ubuntu 的 package 雖然 同樣來自 linux 同樣來自 debian
但是 自己重新 打包過 所以 與 其它的 distros 的 kernel 可能不同
要以 synaptic 的 套件庫中的套件爲準

2011/6/8 15:19
應用擴展 工具箱
訪客
回覆: 小小的問題 dbus 與 kernel
Anon:訪客
/*
在你所引述的網頁文章 找不到 這四個 關鍵字
dbus-glib
dbus-launch
dbus-monitor
dbus-send
*/

抱歉 在首頁中 http://www.freedesktop.org/wiki/Software/dbus
沒有再次確認 很抱歉!

/*
你可不可以 不用 depend 一詞
嘗試 用 一般語言 平舖直述 你想表達 的問題
以免 我們想錯 方向
*/
目前是使用openembedded opensource來build屬於
自己的file system
所以kernel 以及所有套件都是自行選取的版本
而遇到的問題點 則是kernel與dbus之間 是否有版本的依賴性
版本不同 則會造成dbus運作不正常

所以在ubuntu10.10中 想嘗試將dbus降到1.2.16版本
但是更動的package過多 而且 板本跳的幅度也大
所以才產生疑問 是否因為kernel更動關係
而讓dbus 也是"必須""必要"升版本
防止dbus出錯?!

用synaptic 套件管理
查看dbus的所有相關套件 沒有與kernel相關的
所以這就表示 與kernel升版本無關了嗎?!

3Q

2011/6/8 16:24 | 9e069 ffb26 6d493 28136
應用擴展 工具箱
回覆: 小小的問題 dbus 與 kernel

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 70921
EXP: 24
離線
用synaptic 套件管理
查看dbus的所有相關套件
沒有與kernel相關的 所以這就表示 與kernel升版本無關了嗎?!

如果 你要查看 dbus 的所有相關套件
下面的指令 可以使用的
apt-cache depends dbus # 只提供 一層相依 的 套件 但是 沒有版本 訊息
apt-cache rdepends dbus # 提供 遞迴相依 的 套件 但是 也沒有版本 訊息
apt-rdepends dbus # 已在 #2 提及 提供 dbus 套件 已安裝的遞迴相依的套件 而且有版本的訊息
顯然 上面三個 都還沒 完全合乎 你的要求
下面這個 試試看
你安裝 dbus 後 ( 其實 應該是 安裝 ubuntu 時 就預裝好的 套件)
ls -l /usr/share/doc/dbus
changelog.Debian.gz
這個 changelog.Debian.gz 就記載者
dbus 最後一次更新(猜測 包含 已安裝後的線上更新)對系統做了哪些修改,你可以用 zless 閱讀這些資訊。
不過當你對整個系統進行升級以後,逐個檢視套裝軟體的更新資訊可不是件容易事。
有一個工具能幫你完成這項工作,它就是 apt-listchanges。首先你要裝上 apt-listchanges 套裝軟體。在安裝的程序中,為了進行配置,Debconf 會問你一些問題,按你的要求回答它們就行了。
第一個問題是問你希望 apt-listchanges 如何來顯示修改日誌。你可以讓它把資訊通過信件的方式發送給你,這對於自動更新是非常有用的。或是你可以讓它在 less 等程序中顯示修改日誌,這樣在繼續升級前你就可以檢視它們了。如果你不希望 apt-listchanges 在升級的時候自動的執行,可以回答 none。
安裝了 apt-listchanges 後,每當 apt 下載套裝軟體之後(不論來來源是Internet、光碟或是硬碟)都會顯示這些套裝軟體的系統更新資訊。

sudo apt-get install apt-listchanges # 詳見 ubuntu synaptic 套件 apt-listchanges

資料來源
第 5 章 - 獲取套裝軟體資訊 / 5.5 如何掌握套裝軟體的變化情況

至於要查 現在 已安裝的 ubuntu 版本 以外
全部 dbus 套件版本 的相依套件訊息 請看這裏
dbus packages # 已在 #2 提及
dbus-glib
dbus-launch
dbus-monitor
dbus-send
dbus-daemon

從 下述的 網頁 你可以 查出 上述指令 從那個 套件安裝來的 以及如何 使用該指令

for 10.10
dbus-monitor - debug probe to print message bus messages
dbus-daemon - Message bus daemon
dbus-launch - Utility to start a message bus from a shell script
dbus-send - Send a message to a message bus

for 10.04
dbus-monitor - debug probe to print message bus messages
dbus-daemon - Message bus daemon
dbus-launch - Utility to start a message bus from a shell script
dbus-send - Send a message to a message bus

但是 沒看到 dbus-glib 猜測 它應該是 函式庫
參考
“dbus-glib” package in Ubuntu

2011/6/8 17:08
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.