導航:首頁 > 操作系統 > linux下庫文件

linux下庫文件

發布時間:2023-02-16 15:51:25

linux 里有/lib和/usr/lib,這兩個目錄下的庫文件有什麼區別嗎

/lib這個目錄下的函數庫是在開機時會用到的函數庫,還有/bin、/sbin裡面的那些命令調用的函數庫,/lib/moles下面還會放置內核模塊(驅動程序);而/usr/lib目錄放置的是應用軟體用到的函數庫文件。

❷ Linux 里有/lib和/usr/lib,這兩個目錄下的庫文件有什麼區別嗎如果沒區別為什麼又要分開放呢

/lib/ — 包含許多被 /bin/ 和 /sbin/ 中的程序使用的庫文件。目錄 /usr/lib/ 中含有更多用於用戶程序的庫文件。 /lib目錄下放置的是/bin和/lib目錄下的文件的名稱遵循下面的格式: libc.so.* ld* 僅僅被/usr目錄下的程序所使用的共享庫不必放到/sbin所需要的,也可以放到/usr/lib下。 /bin/ — 用來貯存用戶命令。目錄 /usr/bin 也被用來貯存用戶命令。 /sbin/ — 許多系統命令(例如 shutdown)的貯存位置。目錄 /usr/sbin 中也包括了許多系統命令。 /root/ — 根用戶(超級用戶)的主目錄。 /mnt/ — 該目錄中通常包括系統引導後被掛載的文件系統的掛載點。譬如,默認的光碟掛載點是 /mnt/cdrom/. 另外/lib 可以說是內核級的。。 /usr/lib 系統級的。。 /usr/local/lib 用戶級的。。/boot/ — 包括內核和其它系統啟動期間使用的文件。 /lost+found/ — 被 fsck 用來放置零散文件(沒有名稱的文件)。 /lib/ — 包含許多被 /bin/ 和 /sbin/ 中的程序使用的庫文件。目錄 /usr/lib/ 中含有更多用於用戶程序的庫文件。 /dev/ — 貯存設備文件。 /etc/ — 包含許多配置文件和目錄。 /var/ — 用於貯存variable(或不斷改變的)文件,/usr/ — 包括與系統用戶直接有關的文件和目錄,/proc/ — 一個虛擬的文件系統(不是實際貯存在磁碟上的),/initrd/ — 用來在計算機啟動時掛載 initrd.img 映像文件的目錄以及載入所需設備模塊的目錄。 這就是你想得到的答案。《Linux就該這么學》里有相關介紹,建議看看。

❸ Linux裡面哪一個目錄包含已安裝的軟體程序和庫

Linux目錄包含已經安裝的軟體,程序和庫是在一個程序裡面,它的一個總目錄裡面是含有的。

❹ linux mysql資料庫文件在哪

FreeBSD主機上的mysql安裝的時候資料庫文件放在/var/db/mysql下,在Linux主機上的默認存儲位置是/var/lib/mysql/下。如果想更換mysql的數據文件的存儲位置,則:FreeBSD下:#
/usr/local/etc/rc.d/mysql-server
stop(停止mysql)#
mkdir
/other..

❺ Linux下的靜態庫和動態庫

靜態庫

可以把它想像成是一些代碼的集合,在可執行程序運行前就已經加到了代碼中,成為了執行程序的一部分,一般是以.a為後綴的文件名,Windows下後綴為.lib。靜態庫的命名也分為三部分,1、前綴:lib,2、庫的名稱:隨意,如lisi,3、後綴:.a。

靜態庫優缺點

上面簡單介紹了靜態庫,那它自然也會有優缺點,這里來介紹下它的優缺點。

優點:1、在最後,函數庫是被打包到應用程序中的,實現函數本地化、定址方便、高效。2、程序在運行的時候,與函數庫沒有關系,移植性更強。

缺點:1、消耗資源較大,每個進程在使用靜態庫的時候,都要復制一份才可以,這也就造成了內存的消耗。2、在程序更新、部署、發布的時候,使用靜態庫相對麻煩,如果一個靜態庫更新了,那它的應用程序都需要重新編譯,再發送給用戶,有的時候可能只是一個小的改動,但對於用戶來說,會導致整個程序重新下載。

動態庫

在程序編譯時不會被連接到目標代碼中,在後期運行時才會載入,不同的應用程序如果調用相同的庫,內存中只有一份共享庫的拷貝,也就避免了空間的浪費問題。一般以.so作為文件後綴名,也分為三部分:1、前綴:lib,2、庫名稱:自定義,3、後綴:.so

動態庫優缺點

優點:1、節省內存2、部署、升級相對方便,只需要更換動態庫,再重新啟動服務即可。

缺點:1、載入速度比靜態庫慢2、移植性較差,需要把所有用到的動態庫進行移植。

❻ linux下的oracle庫文件能否導入windows2000中

分類: 電腦/網路 >> 操作系統/系統故障
解析:

當然可以,使用oracle自己的導入exp導出工具imp就可以做。作為一個oracle的管理員,exp和imp也是最常用的備份手段之一。

另附oracle的導入導出文檔一個。

oracle Export and Import 簡介

1、Export/Import的用處

Oracle Export/Import工具用於在資料庫之間傳遞數據。

Export從資料庫中導出數據到mp文件中

Import從mp文件中到入數據導資料庫中

下面是一般使用他們的情況

(1)、兩個資料庫之間傳送數據

同一個版本的oracle Server之間

不同版本的oracle Server之間

同種OS之間

不同種OS之間

(2)、用於資料庫的備份和恢復

(3)、從一個SCHEMA傳送到另一個SCHEMA

(4)、從一個TABLESPACE傳送到另一個TABLESPACE

2、DUMP文件

EXPORT到出的是二進制格式的文件,不可以手工編輯,否則會損壞數據。

該文件在ORACLE支持的任何平台上都是一樣的格式,可以在各平台上通用。

DUMP文件在IMPORT時採用向上兼容方式,就是說ORALCE7的DUMP文件可以導入到ORACLE8中,但是版本相差很大的版本之間可能有問題。

3、EXPORT/IMPORT過程

EXPORT導出的DUMP文件包含兩種基本類型的數據

- DDL

- Data

DUMP文件包含所有重新創建Data Dictionary的DDL語句,基本上是可以讀的格式。

但是應該注意的是,千萬不要用文本編輯器編輯之,oracle說不支持這樣做的。

下面列出的是DUMP文件中包括的ORACLE對象,分為TABLE/USER/FULL方式,有些對象

只是在FULL方式下才有(比如public synonyms, users, roles, rollback segments等)

Table mode User Mode Full Database Mode

---------------------- ---------------------- -------------------------

Table definitions Table definitions Table definitions

Table data Table data Table data

Owner's table grants Owner's grants Grants

Owner's table indexes Owner's indexes Indexes

Table constraints Table constraints Table constraints

Table triggers Table triggers All triggers

Clusters Clusters

Database links Database links

Job queues Job queues

Refresh groups Refresh groups

Sequences Sequences

Snapshots Snapshots

Snapshot logs Snapshot logs

Stored proceres Stored proceres

Private synonyms All synonyms

Views Views

Profiles

Replication catalog

Resource cost

Roles

Rollback segments

System audit options

System privileges

Tablespace definitions

Tablespace quotas

User definitions

4、IMPORT時的對象倒入順序

在倒入數據時,ORACLE有一個特定的順序,可能隨資料庫版本不同而有所變化,

但是

現在是這樣的。

1. Tablespaces 14. Snapshot Logs

2. Profiles 15. Job Queues

3. Users 16. Refresh Groups

4. Roles 17. Cluster Definitions

5. System Privilege Grants 18. Tables (also grants,ments, indexes, constraints, auditing)

6. Role Grants

7. Default Roles 19. Referential Integrity

8. Tablespace Quotas 20. POSTTABLES actions

9. Resource Costs 21. Synonyms

10. Rollback Segments 22. Views

11. Database Links 23. Stored Proceres

12. Sequences 24. Triggers, Defaults and Auditing

13. Snapshots

按這個順序主要是解決對象之間依賴關系可能產生的問題。TRIGGER最後導入,所以在INSERT數據到資料庫時不會激發TRIGGER。在導入後可能會有一些狀態是INVALID的PROCEDURE,主要是IMPORT時會影響一些資料庫對象,而IMPORT並不重新編譯PROCEDURE,從而造成這種情況,可以重新編譯之,就能解決這個問題。

5、兼容性問題

IMPORT工具可以處理EXPORT 5.1.22之後的版本導出的DUMP文件,所以你用ORACLE7的IMPORT處理ORACLE6的DUMP文件,依次類推,但是ORACLE如果版本相差很大有可能不能處理。具體的問題可以參照相應的文檔,比如有關參數設置等(COMPATIBLE參數)

6、EXPORT需要的VIEW

EXPORT需要的VIEW是由CATEXP.SQL創建,這些內部VIEW用於EXPORT組織DUMP文件中數據格式。

大部分VIEW用於收集創建DDL語句的,其他的主要供ORACLE開發人員用。

這些VIEW在不同ORACLE版本之間有可能不同,每個版本可能都有新的特性加入。

所以在新的版本裡面執行舊的mp文件會有錯誤,一般可以執行CATEXP.SQL解決這些問題,

解決向後兼容問題的一般步驟如下:

導出資料庫的版本比目標資料庫老的情況:

- 在需要導入的目標資料庫中執行舊的CATEXP.SQL

- 使用舊的EXPORT導出DUMP文件

- 使用舊的IMPORT導入到資料庫中

- 在資料庫中執行新的CATEXP.SQL,以恢復該版本的EXPORT VIEW

導出資料庫的版本比目標資料庫新的情況:

- 在需要導入的目標資料庫中執行新的CATEXP.SQL

- 使用新的EXPORT導出DUMP文件

- 使用新的IMPORT導入到資料庫中

- 在資料庫中執行舊的CATEXP.SQL,以恢復該版本的EXPORT VIEW

7、碎片整理

EXPORT/IMPORT一個很重要的應用方面就是整理碎片。因為如果時初次IMPPORT,就會重新CREATE TABLE 再導入數據,所以整張表都是連續存放的。另外預設情況下EXPORT會在生成DUMP文件是「壓縮(COMPRESS)」TABLE,但是這種壓縮在很多情況下被誤解。事實上,COMPRESS是改變STORAGE參數INITIAL的值。比如:

CREATE TABLE .... STORAGE( INITIAL 10K NEXT 10K..)

現在數據已經擴展到100個EXTENT,如果採用COMPRESS=Y來EXPORT數據,則產生的語句時 STORAGE( INITIAL 1000K NEXT 10K)

我們可以看到NEXT值並沒有改變,而INITIAL是所有EXTENT的總和。所以會出現如下情況,表A有4個100M的EXTENT,執行DELETE FROM A,然後再用COMPRESS=Y 導出數據,產生的CREATE TABLE語句將有400M的INITIAL EXTENT。即使這是TABLE中已經沒有數據!!這是的DUMP文件即使很小,但是在IMPORT時就會產生一個巨大的TABLE.

另外,也可能會超過DATAFILE的大小。比如,有4個50M的數據文件,其中表A有15個10M的EXTENT,如果採用COMPRESS=Y的方式導出數據,將會有INITIAL=150M,那麼在重新導入時,不能分配一個150M的EXTENT,因為單個EXTENT不能跨多個文件。

8、在USER和TABLESPACE之間傳送數據

一般情況下EXPORT的數據要恢復到它原來的地方去。如果SCOTT用戶的表以TABLE或USER方式EXPORT數據,在IMPORT時,如果SCOTT用戶不存在,則會報錯!

以FULL方式導出的數據帶有CREATE USER的信息,所以會自己創建USER來存放數據。

當然可以在IMPORT時使用FROMUSER和TOUSER參數來確定要導入的USER,但是要保證TOUSER一定已經存在啦。

9、EXPORT/IMPORT對SQUENCE的影響

在兩種情況下,EXPORT/IMPORT會對SEQUENCE。

(1)如果在EXPORT時,用戶正在取SEQUENCE的值,可能造成SEQUENCE的不一致。

(2)另外如果SEQUENCE使用CACHE,在EXPORT時,那些在CACHE中的值就會被忽略的,只是從數據字典裡面取當前值EXPORT。

如果在進行FULL方式的EXPORT/IMPORT時,恰好在用sequence更新表中某列數據,而且不是上面兩種情況,則導出的是更新前的數據。

如果採用常規路徑方式,每一行數據都是用INSERT語句,一致性檢查和INSERT TRIGGER

如果採用DIRECT方式,某些約束和trigger可能不觸發,如果在trigger中使用sequence.nextval,將會對sequence有影響。

❼ linux環境下編譯so庫和編譯可執行文件

gcc -fPIC -shared caculate.c -o libcaculate.so
-fPIC 壓制警告
-shared 動態庫
-o 生成目標的文件名

caculate.c

gcc -rdynamic -o main main.c
-rdynamic 生成可執行文件
-o 目標文件名

main是linux環境下的一個可執行文件。

main.c

gcc -c main.c -o main.o
gcc -c minus.c -o minus.o
gcc -c mulit.c -o mulit.o
gcc -c plus.c -o plus.o

gcc main.o minus.o mulit.o plus.o -o myapp

❽ Linux是怎麼包含指定的庫文件

linux下C語言編程,指定包含目錄和引用庫文件的gcc參數:

指定包含目錄:-I path

指定庫文件目錄:-L path

path為相應的目錄路徑,如:

gcc-I$HOME/includetest.c-otest-L$HOME/lib-lmylib

❾ linux下sqlite如何製作成動態庫庫

1、下載源碼解壓縮sqlite-autoconf-3300100.tar.gz

2、進入解壓目錄,執行:

#:./configure --host=arm CC=arm-linux-gnueabi-gcc CXX=arm-linux-gnueabi-g++ --prefix=/usr

其中--host=要運行程序的主機

CC/CXX為用到的交叉編譯工具鏈
--prefix=安裝目錄

3、make

將在當前文件目錄下,自動生成可執行文件sqlite3及靜態庫文件sqlite3.a文件;
4、sudo make install

此命令會將可執行文件及靜態庫文件拷貝至安裝目錄中(也可手動拷貝)

5、以上步驟生成的可執行文件包含大量調試信息,文件比較大,可使用strip命令去掉其中的調試信息;

#:arm-linux-gnueabi-strip sqlite3

6、生成動態庫文件:

arm-linux-gnueabi-gcc sqlite3.c -lpthread -ldl -fPIC -shared -o libsqlite3.so

交叉編譯sqlite3,生成動態庫

標簽:ref gcc host pthread strip config 安裝 目錄 工具鏈

❿ Linux系統的庫文件一般放在( )目錄下

Linux的系統文件放在/bin、/sbin和/usr目錄下。/bin是比較重要的系統二進制文件,都可以在單用戶模式下執行,cat和ls命令都在這里。
/usr命令包含所有系統類的命令和函數庫,/sbin命令包含的是只能用root用戶才能執行的命令。這三個目錄都是只有root用戶才有寫入許可權。更多命令介紹可查看「Linux命令大全」。

閱讀全文

與linux下庫文件相關的資料

熱點內容
有pdf卻打不開 瀏覽:460
七星彩軟體app怎麼下載 瀏覽:217
32單片機的重映射哪裡改 瀏覽:816
為什麼前端不用刷演算法題 瀏覽:708
對稱加密系統和公鑰加密系統 瀏覽:428
歷史地理pdf 瀏覽:606
物聯網雲伺服器框架 瀏覽:648
sybaseisql命令 瀏覽:183
android權威編程指南pdf 瀏覽:663
哪些軟體屬於加密軟體 瀏覽:646
文件夾75絲什麼意思 瀏覽:470
最便宜sop8單片機 瀏覽:966
圖解周易預測學pdf 瀏覽:420
c盤莫名奇妙多了幾個文件夾 瀏覽:171
貴州花溪門票優惠app哪個好 瀏覽:803
如何說話不會讓人有被命令的感覺 瀏覽:440
哪裡可下載湘工惠app 瀏覽:265
福特python 瀏覽:312
pdf轉換成word表格 瀏覽:353
無線遠端伺服器無響應是什麼意思 瀏覽:672