當前位置:首頁 » 操作系統 » linux查看庫依賴

linux查看庫依賴

發布時間: 2023-01-29 15:18:08

『壹』 linuxqt程序依賴庫位置

操作如下:
1、從可運行程序的文件中拿出可執行文件。
2、終端下使用ldd命令查看需要的連接庫。
3、把ldd查詢到的所有需要的庫導出。
4、編寫.sh文檔。
5、把所用到的庫,可執行文件,.sh文件放到同一目錄下。
6、終端中進入這一目錄,輸入:chmod+xtest.sh。
7、執行程序點擊.sh文件或終端輸入:./test.sh。

『貳』 linux下的靜態庫創建與查看,及如何查看某個可執行依賴於哪些動態庫

創建靜態庫:
ar -rcs test.a *.o
查看靜態庫:
ar -tv test.a
解壓靜態庫:
ar -x test.a

查看程序依賴的動態庫:
readelf -a xxx|grep library
如:可以看到,下面的交叉程序hello執行依賴於如下兩個動態庫。
rebi@ubuntu:~/test$ arm-none-linux-gnueabi-readelf -a hello|grep "library"
0x00000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x00000001 (NEEDED) Shared library: [libc.so.6]
rebi@ubuntu:~/test$

或者:readelf -l hello 即可。

nm xxx 查看符號
其中,T表示代碼段,U表示在其它地方定義,所以需要確保必須在某個.o或庫里被定義過。

『叄』 Linux可執二進制行文件和庫依賴查看方法

1、查看依賴庫
1.1、查看可執行文件依賴的庫有哪些

舉例,查看常用的ls工具,依賴哪些庫:

1.2、查看動態庫,依賴的庫有哪些

舉例,查看libcap依賴的庫有哪些:

『肆』 怎麼查看linux上安裝mysql資料庫

怎麼查看linux上安裝mysql資料庫
方法/步驟
1
查找以前是否安裝有mysql,使用下面命令:
rpm
-qa|grep
-i
mysql
如果顯示有如下包則說明已安裝mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
2
如果已安裝,則需要刪除已安裝的資料庫,使用以下命令來刪除資料庫
刪除命令:rpm
-e
--nodeps
包名
(
rpm
-ev
mysql-4.1.12-3.RHEL4.1
)
刪除老版本mysql的開發頭文件和庫
命令:rm
-fr
/usr/lib/mysql
rm
-fr
/usr/include/mysql
注意:卸載後/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用後就手工刪除
rm
-f
/etc/my.cnf
rm
-fr
/var/lib/mysql
下載mysql的rpm包
可以通過wget下載具體的地址因為不能用鏈接請大家去官網去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL伺服器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客戶端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql開發依賴包。
下載後放到Liunx伺服器中,如圖所示
安裝MySQL
Server的rpm包
rpm
-ivh
MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安裝過程如圖所示
安裝完成後會生成root用戶的隨機密碼,請使用「cat
/root/.mysql_secret」或類似命令進行查看。
安裝MySQL客戶端
rpm
-ivh
MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
安裝MySQL開發依賴包
rpm
-ivh
MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
啟動msyql
安裝完成後mysql是沒有啟動的,運行mysql命令會提示如下錯誤:
ERROR
2002
(HY000):
Can't
connect
to
local
MySQL
server
through
socket
'/var/lib/mysql/mysql.sock'
(2)
可使用如下命令啟動MySQL:
service
mysql
start
或者使用如下命令:
/etc/init.d/mysql
start
可使用SET
PASSWORD命令修改root用戶的密碼,參考如下:SET
PASSWORD
=
PASSWORD('root123456');
登錄MySQL
使用mysql命令登錄MySQL伺服器,運行MySQL的命令時,會提示需要設置root用戶密碼
設置開機自啟動
/etc/init.d/mysql
start
設置完成後重啟系統,使用natstat
–nat命令可看到MySQL的3306埠
至此我們已經安裝好了mysql資料庫,當然現在我們的資料庫還不支持遠程連接,遠程連接會出現以下代碼:1130,ERROR
1130:
Host
192.168.0.10
is
not
allowed
to
connect
to
this
MySQL
server,可以通過以下以下來解決
改表法:在本機登入mysql後,更改「mysql」資料庫里的「user」表裡的「host」項,從」localhost」改為'%'。
mysql>
mysql>use
mysql;
mysql>select
'host'
from
user
where
user='root';

『伍』 Linux下程序運行依賴庫如何指定

so文件內部有一個自己的名字,可以和文件名不同,這個名字由鏈接器在link期間寫入so庫文件中。
你可以使用 readelf -a b.so | grep SONAME,來查看
這個內部名字不因為文件名變化而改變。

『陸』 Linux 查看依賴庫

1.查看依賴的庫:
objmp -x xxx.so | grep NEEDED

2.查看可執行程序依賴的庫:
objmp -x 可執行程序名 | grep NEEDED

3.查看缺少的庫:
ldd xxx.so
4.查看庫版本編譯等信息:
strings xxx.so
-L -rpath -rpath-link 添加動態庫路徑

『柒』 ldd查看動態依賴庫

ldd命令用於輸出程序或者庫文件所依賴的共享庫列表。

語法

選項

參數
文件:指定可執行程序或者文庫。

ldd原理
首先,ldd不是一個可執行程序,而只是一個shell腳本
ldd能夠顯示可執行模塊的dependency,其原理是通過設置一系列的環境變數,如下: LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIN_NOW、LD_LIBRARY_VERSION、LD_VERBOSE 等。當 LD_TRACE_LOADED_OBJECTS 環境變數不為空時,任何可執行程序在運行時,它都只會顯示模塊的dependency,而程序並不真正執行。測試結果如下:

ldd 顯示可執行模塊的dependency的工作原理,其實質是通過ld-linux.so(elf動態庫的裝載器)來實現的。ld-linux.so模塊會先於executable模塊程序工作,並獲得控制權。因此當上述的那些變數設置時,ld-linux.so選擇了顯示可執行模塊的dependency。
ld-linux.so讀取可執行程序的頭信息,這些信息採用 Executable and Linking Format 或者(ELF)格式。 它們通過這些消息,來確定哪些庫是必須的,以及哪些庫需要載入。 然後執行動態鏈接,把可執行程序當中所有的地址指針與需要載入的庫聯系起來, 這樣程序就可以運行了。
實際上可以直接執行ld-linux.so模塊,如: /lib64/ld-linux-x86-64.so.2 --list ./a.out (這相當於 ldd a.out )。

示例

通過上面的信息,我們可以得到以下幾個信息:

『捌』 linux環境下,靜態庫的依賴關系怎麼查

創建靜態庫: ar -rcs test.a *.o 查看靜態庫: ar -tv test.a 解壓靜態庫: ar -x test.a 查看程序依賴態庫: readelf -a xxx|grep library :看面交叉程序hello執行依賴於兩態庫 rebi@ubuntu:~/test$ arm-none-linux-gnueabi-readelf -a hello|grep "library" 0x0000000依 (NEEDED) Shared library: [libgcc_s.so.依] 0x0000000依 (NEEDED) Shared library: [libc.so.陸] rebi@ubuntu:~/test$ 或者:readelf -l hello 即 nm xxx 查看符號 其T表示代碼段U表示其定義所需要確保必須某.o或庫定

『玖』 linux源碼包怎麼查看依賴關系

一、可執行文件/二進制文件依賴共享庫
ldd命令用來查看可執行文件依賴的共享庫文件。
$ ldd --help
Usage: ldd [OPTION]... FILE...
--help print this help and exit
--version print version information and exit
-d, --data-relocs process data relocations
-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information
示例:
$ ldd helloworld
二、共享庫依賴共享庫關系
上面的ldd命令無法查看共享庫的依賴關系,因為共享庫本身並不是可執行文件,我們可以使用

objmp -x libhelloworld.so | grep NEEDED
其中,libhelloworld.so是你的庫名稱。
附:
readelf命令用於讀取ELF Header信息

『拾』 linux 怎樣查找應用依賴的動態庫,以及嵌套依賴的動態庫

rpm -ivh --test 包名 //用來檢查依賴關系;並不是真正的安裝;

熱點內容
加密166 發布:2024-04-25 03:11:44 瀏覽:645
公司宣傳片腳本文案 發布:2024-04-25 03:11:33 瀏覽:876
安卓手機怎麼開鎖密碼 發布:2024-04-25 03:00:01 瀏覽:19
android播放mp3 發布:2024-04-25 02:36:17 瀏覽:960
qq群里上傳的文件怎麼刪除 發布:2024-04-24 22:13:21 瀏覽:357
途岳配置升級了什麼 發布:2024-04-24 21:55:55 瀏覽:886
刷機安卓10狀態欄圓角如何修復 發布:2024-04-24 21:24:00 瀏覽:135
創建sql資料庫的命令是什麼 發布:2024-04-24 21:23:58 瀏覽:43
不是安卓該如何下載畫質怪獸 發布:2024-04-24 21:18:51 瀏覽:701
php載入網頁 發布:2024-04-24 21:15:20 瀏覽:161