apt-get 使用詳解

[舉例]

目前常用的

==========

*更新本機中的數據庫緩存:

sudo apt-get update


*查找包含部分關鍵字的軟件包:

sudo apt-cache search <你要查找的name>


*安裝指定的軟件:

sudo apt-get install <你要安裝的軟件包>


*下載軟件包源代碼(如果有的話):

apt-get source <你要下載的源代碼包名>



詳細的資料

=========

http://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html

apt-get:


安裝和卸載------

*更新本機中的數據庫緩存:

sudo apt-get update

最好定期更新一下使你自己機器上面的數據和服務器(/etc/apt/sources.list列出)上面的信息保持一致,在安裝軟件之前可以運行一下這個命令保證成功性。


*安裝軟件:

#apt-get install packagename

這里將安裝你需要的在sources.lists中的最新的軟件包,如果有其他依賴則自動安裝相應的依賴軟件包。packagename可以是多個軟件包。

一些有用的選項:

-h? This help text.

-d? Download only - do NOT install or unpack archives

-f? Attempt to continue if the integrity check fails

-s? No-act. Perform ordering simulation

-y? Assume Yes to all queries and do not prompt

-u? Show a list of upgraded packages as well


*卸載軟件(install)

#apt-get install packagename-

在需要卸載的包后面加上一個'-'(我沒有實驗過),當然可以apt-get install p1 p2-這樣多個命令合并了,p1p2


*卸載軟件2

#apt-get remove packagename

這會卸載相應的軟件,同時也會卸載依賴的部分,沒辦法指定不卸載依賴的。但是軟件的配置文件還是會留在系統中。


*完全卸載軟件包括刪除配置:

#apt-get --purge remove packagename

這樣配置文件也會被刪除。


*安裝軟件2(用remove:

#apt-get remove packagename+

這個和用install來卸載軟件的意義類似,在包名稱后面添加一個+,表示安裝。


*修復或者只安裝最新版本:

#apt-get --reinstall install packagename

這里,如果你的軟件包被破壞了,或者你想要安裝一個最新的軟件,運行這個。


升級軟件包------

*升級軟件包1

#apt-get -u upgrade

這里加上-u選項列出將要升級的軟件,可能會提示有些軟件不會升級,因為可能會破壞依賴關系,更好的方法是利用apt-get dist-upgrade

你可以通過cd或者添加源地址來更新,如果你想從cd來升級,首先運行apt-cdromcd中的軟件添加到/etc/apt/sources源中,然后運行apt-get dist-upgrade來升級,但是因為apt-get總是使用最新版本,如果cd中的不是最新的版本,那么也不會用到cd


*升級軟件包2

#apt-get -u dist-upgrade

這樣安裝的軟件前面apt-get -u upgrade安不了的也會安裝了,但個別的仍然不能安裝,例如:升級會導致需要卸載一些包,卸載這些包會導致另外的軟件不能用,所以就不升級了。


*升級軟件包3

#apt-get -u install packagename

假設前面升級的時候packagename無法升級,那么這個命令會升級packagename如果需要卸載默寫模塊而卸載這些模塊導致一些軟件無法使用,那么干脆把這些軟件都卸載了,然后升級,這個命令會導致packagename最終升級了。


清理沒用的包文件------

apt-get 安裝軟件包的時候,apt會從/etc/apt/sources.list里面將相應的軟件包恢復出來,把它們存放在一個本地的文檔庫中(/var/cache/apt/archives/)然后才開始安裝,隨著時間的增長,這將不斷地消耗硬盤的空間。


*清理所有的緩存文件:

#apt-get clean

這會清理所/var/cache/apt/archives/ /var/cache/apt/archives/partial/中沒有被鎖定的文件。當然你再次安裝軟件的時候,這個軟件又被恢復到本地文檔庫中了。


*僅僅清理舊的緩存文件:

#apt-get autoclean

這會清理舊版本的/var/cache/apt/archives/ /var/cache/apt/archives/partial/中的文件。舊版本是指已經有更新的版本的軟件了,再下載的話應下載最新的而不是這個舊版本的了。根據apt-show-versions -p可以知道哪些是舊的。


*安裝指定版本的軟件包:

# apt-get install package=version


查找信息--------


*查找一個含有packagename字符串的包:

#apt-cache search packagename

這樣將輸出所包含packagename字符串的包。


*顯示軟件包的詳細信息:

# apt-cache show stella

這包含了軟件包許多的信息,例如如果你已經安裝了這個軟件包,信息里面也會顯示。


*顯示軟件包的大致信息:

apt-cache showpkg packagename

這會顯示大致的信息。


*查看那些包可以升級的信息:

$ apt-show-versions -u

這個apt-show-versions工具需要安裝一下的。


*查看當前特定軟件版本:

apt-show-versions -p packagename


*檢查packagename依賴的包:

#apt-cache depends packagename


工作相關--------


*安裝編譯源代碼需要的庫()

# apt-get build-dep packagename

所的源代碼包一個'Build-Depends'域,指明了從源代碼編譯這個包需要安裝的軟件。上面的命令可以下載這些包,其中'packagename'是包名。



*查看編譯一個包需要哪些其他的庫(包):

#apt-cache show packagename

如果你只是想要檢查編譯一個包需要哪些其他的包,那么可以利用上面的命令,其中'packagename'是包名。



*下載包packagename的源代碼:

$ apt-get source packagename

這將在當前目錄下載個文件:*.orig.tar.gz,*.dsc,*.diff.gz。如果這個包是debian的,那么最后一個文件沒有,并且第一個文件名里面不包括"orig"字符串。

.dsc文件被dpkg-source使用,把源代碼包解壓到目錄 packagename-version.每一個下載的源代碼包里面都有一個debian/目錄,這個目錄包含了用于創建.deb包的文件。



*下載的時候自動把源代碼包編譯:

$ apt-get -b source packagename

可能是編譯成.deb包,我沒有試過。


*根據下載的源代碼創建deb:

$ dpkg-buildpackage -rfakeroot -uc -b

如果你決定在下載的時候不創建deb包,你可以以后通過在下載的包之后創建的目錄里面運行這個命令來創建。


*直接利用包管理器安裝包:

# dpkg -i file.deb

需要直接使用包管理器,運行這個命令來安裝包。


-------dpkg查找


*已知軟件包中有一個文件,根據文件查找軟件包:

# dpkg -S stdio.h

輸入之后,輸出如下:

libc6-dev: /usr/include/stdio.h

libc6-dev: /usr/include/bits/stdio.h

perl: /usr/lib/perl/5.6.0/CORE/nostdio.h

這在知道包中某些文件的時候,來根據文件查找軟件包這種情況下非常用。


*查找安裝在你的機器上面的軟件包:

dpkg -l


*自動安裝缺失的軟件:

# auto-apt run command

這里,command是你要運行的命令。例如 auto-apt run ./configure .當缺失依賴軟件的時候,它會詢問你安裝,方便了編譯。安裝之后會繼續運行。auto-apt需要保持一個最新的數據庫,利用這個命令進行更新:auto-apt update, auto-apt updatedb and auto-apt update-local


--------apt-get查找


*利用apt-file根據文件名查找相應的軟件包:

$ apt-file search filename

如果你只知道程序名字filename,那么你可以運行這個命令,它的工作方式和 dpkg -S差不多,就是根據某個軟件包里可能包含的文件來查找這個軟件包的名字。另外,它也會顯示包含這個文件的沒有安裝的軟件包。當你編譯的時候,提示缺了什么頭文件的時候,利用這個很方便地確定需要裝哪些軟件包(當然利用audo-apt更方便).


*列出一個軟件包中包含的文件:

$apt-file list packagename

這里,apt-file是根據一個數據庫來讀取信息的,所以需要保持數據庫是最新的。


*更新apt-file的數據庫:

# apt-file update

默認情況下,apt-file的數據庫和auto-apt是一樣的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/383484.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/383484.shtml
英文地址,請注明出處:http://en.pswp.cn/news/383484.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Buildroot用戶指南

第一章 關于Buildroot Buildroot是一個包含Makefile和修補程序【patch】的集合&#xff0c;這個集合可以使你很容易的為你的目標構建交叉工具鏈【cross-compilationtoolchain】&#xff0c;根文件系統【root filesystem】以及Linux內核映像【kernelimage】。Buildroot可…

【jenkins】jenkins按分支build和email

jenkins按分支build git上傳分支到遠程jenkins打開參數設置更改SCM pipeline代碼&#xff0c;加入branch讀取項 build完發送email 1.安裝插件email extension templates 2.開通發件郵箱smtp服務&#xff0c;配置發件郵箱jenkins&#xff0c;發送測試郵件 3. 項目根目錄添加em…

【c】‘聲明’和malloc不要重復開辟空間

聲明&#xff1a;在內存里開辟一塊連續空間&#xff0c;屬于棧。 malloc&#xff1a;在內存里開辟一塊不連續空間&#xff0c;屬于堆。 //linkedlist.h文件 typedef struct Linkedlist {int data;struct Linkedlist* next&#xff1b; }lnode;//linkedlist.c 比如里邊已經定義…

Buildroot文章翻譯

OpenWRT文章翻譯之&#xff08;一&#xff09;----OpenWRT Buildroot簡介 原文地址&#xff1a;http://wiki.openwrt.org/about/toolchain Buildroot簡介 話說OpenWRT Buildroot 之前&#xff0c;先說一下Buildroot是什么東西吧。Buildroot實際上是一個編譯的腳本&#xff0c…

Buildroot簡介

Buildroot的用法和文檔由Thomas Petazzoni提供&#xff0c;文稿由Karsten Kruse、Ned Ludd、Martin Herren等整理。 最后修改時間&#xff1a;2007-09-19 02:08:10 -0700 (Wed, 19 Sep 2007) l 關于Buildroot l 獲取Buildroot l 使用Buildroot l 定制目標文…

【kali】文件尺寸不符,您使用的鏡像正在同步中

換源時候報錯&#xff1a; vim /etc/apt/sources.list 進去后剛開始添加的阿里源 deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib執行后報錯 文件尺寸不符&#xff0c…

【kali】kali環境下安裝dvwa

STEP1&#xff1a;從github下載dvwa git clone https://github.com/ethicalhack3r/DVWA Q&#xff1a;我要自己安裝git嗎&#xff1f; A&#xff1a;kali不用啦&#xff0c;一般都自帶有&#xff0c;但是普通的ubuntu和debian上是沒有的哦。 Q&#xff1a;可以換個github網址…

Linux下的C編程實戰之文件系統編程

在Linux平臺下對文件編程可以使用兩類函數&#xff1a;&#xff08;1&#xff09;Linux操作系統文件API&#xff1b;&#xff08;2&#xff09;C語言I/O庫函數。前者依賴于Linux系統調用&#xff0c;后者實際上與操作系統是獨立的&#xff0c;因為在任何操作系統下&#xff0c;…

【kali】kali設置burpsuite抓包dvwa

kali自帶burpsuite 配置代理 burpsuite是通過代理來抓包dvwa的 burpsuite&#xff1a;proxy—> options 里邊監聽的應該是127.0.0.1:8080 &#xff08;端口ip如果撞車了都可以自己改&#xff09; 火狐&#xff1a; preferences–>最下邊的network settings點擊settings —…

fopen函數簡介

函數簡介 函數功能&#xff1a;打開一個文件 函數原型&#xff1a;FILE * fopen(const char * path,const char * mode); 相關函數&#xff1a;open&#xff0c;fclose&#xff0c;fopen_s[1]&#xff0c;_wfopen 所需庫&#xff1a;<stdio.h> 返回值&#xff1a;文件順利…

【kali】kali換了root權限后無法打開firefox瀏覽器

從普通權限換成root權限后發現火狐進不去鳥&#xff01;&#xff01; 終端報錯&#xff1a; Running firefox as root in a regular user’s sessin is not supported.($HOME is /home/miehahaha which is owned by uid 1000) 分析&#xff1a; 是的&#xff0c;原來普通權限m…

【win10】局域網內兩臺win10共享文件夾

https://jingyan.baidu.com/article/93f9803f3e9788e0e46f55c8.html

CentOS 7關閉firewalld啟用iptables

在CentOS7中&#xff0c;有很多CentOS 6中的常用服務發生了變化。 其中iptables是其中比較大的一個。防火墻iptables被firewalld取代。 本文將介紹&#xff0c;如果采用systemctl關閉firewalld&#xff0c;開啟iptables。 1.關閉firewalld [roothwcentos70-01 system]# systemc…

wpa_supplicant wifi密碼錯誤檢測

system("/usr/sbin/wpa_supplicant -Dnl80211 -iwlan0 -f /tmp/wpa_log -c/tmp/wpa_supplicant.conf -d -t -B &"); 在/tmp/wpa_log中查看是否有如下的字符串&#xff1a; 1. 針對WPA&#xff0f;WPA2加密方式 //1473218403.305655: wlan0: WPA: 4-Way Handsh…

CentOS 7 安裝nginx

1.安裝pcre pcre-devel yum install pcre pcre-devel -y rpm -qa pcre pcre-devel 2.安裝openssl-devel yum install -y openssl-devel rpm -qa openssl-devel openssl 3.下載nginx cd /home/testuser/mkdir toolscd tools/wget -q http://nginx.org/download/nginx-1.9.9.…

MPEG4與.mp4

流媒體應用中TS和MP4格式分析應該是封包格式。不能簡單理解成MPEG4的簡稱。要詳細解釋這個問題&#xff0c;需要提一下MPEG4和.mp4在概念上的區別。 一般來說&#xff0c;僅提“MPEG4”&#xff0c;是指一種視頻壓縮算法。可以把原始畫面通過數學運算變換成一組二進制數據&…

MP4文件格式的解析,以及MP4文件的分割算法

mp4應該算是一種比較復雜的媒體格式了&#xff0c;起源于QuickTime。以前研究的時候就花了一番的功夫&#xff0c;尤其是如何把它完美的融入到視頻點播應用中&#xff0c;更是費盡了心思&#xff0c;主要問題是處理mp4文件龐大的“媒體頭”。當然&#xff0c;流媒體點播也可以采…

MP4文件格式詳解

一、基本概念 1.mp4概述 MP4文件中的所有數據都裝在box&#xff08;QuickTime中為atom&#xff09;中&#xff0c;也就是說MP4文件由若干個box組成&#xff0c;每個box有類型和長度&#xff0c;可以將box理解為一個數據對象塊。box中可以包含另一個box&#xff0c;這種box稱為c…

H264—MP4格式及在MP4文件中提取H264的SPS、PPS及碼流

SkySeraph Apr 1st 2012 Email&#xff1a;skyseraph00163.com 一、MP4格式基本概念 MP4格式對應標準MPEG-4標準(ISO/IEC14496) 二、MP4封裝格式核心概念 1 MP4封裝格式對應標準為 ISO/IEC 14496-12&#xff08;信息技術 視聽對象編碼的第12部分: ISO 基本媒體文件格式/Info…

AAC音頻格式分析

關于AAC音頻格式基本情況&#xff0c;可參考維基百科http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC音頻格式分析 AAC音頻格式有ADIF和ADTS&#xff1a; ADIF&#xff1a;Audio Data Interchange Format 音頻數據交換格式。這種格式的特征是可以確定的找到這個音頻數…