精选文章

Android下使用TCPDUMP抓包Wireshark分析数据 如果想分析Android下某个APP的网络数据交互,需要在Android手机上抓包,最常用的抓包工具非tcpdump莫属,用tcpdump生成Wireshark识别的pcap文件,然后将pcap文件下载到电脑上,用电脑上的Wireshark加载pcap文件,通过Wireshark分析tcpdump抓取的数据。...

继续阅读

Mac下部署Android开发环境附加NDK 作为开发者,我们深有体会,不管是进行什么开发,为了部署开发环境,我们往往需要折腾很长时间、查阅很多资料才能完成,而且这次折腾完了,下次到了另一台新电脑上又得重新来过,整个部署过程记得还好,要是不记得又得重新开始,而且遇到Android这种GFW阻隔了开发资源下载链接的环境部署,又尤其浪费时间。所以这也是我写下这篇教程的初衷跟动力源泉,希望大家参考了这篇教程以后可以轻轻松松在Mac系统下将Android环境部署好。...

继续阅读

稍顯嚴肅的台中 坦白說,留在腦海中的台中影像並不多,來台灣之前在Booking上只訂到了台中的一家青旅,第一次住青旅有些不習慣,幹什麼都放不開。 同屋的一個男生是台灣人,不過一年中四分之三的時間在上海跟北京,這麼說來跟我還是比較有共同話題的。得之我準備花15天的時間環島,覺得太倉促了,他們大學時期花一個半月的時間也不見得能將台灣島給逛完。我只能無奈地表示,兩岸允許的簽證時間有限,自己的空閒時間更有限,只能用打卡式的旅行了,我深知正真地旅行應該慢下來,融入當地的環境,感受他們的風土人情,但第一次只能這樣作罷,以後換成民進黨上台,形勢會變成怎樣還不得而知,能否再過來還是個未知數。而我一向信奉的人生格言是秉燭夜遊,活在當下,所以,理解自己吧。...

继续阅读

為之留戀的新竹 來新竹之前本沒有對她有過高的期待,慢慢對她加分要從桃園火車站出發前往新竹開始。 在桃園火車站的候車月台上,有醒目的旅遊資料發放處,這上面的擺放的全是新竹的旅遊宣傳資料,關鍵的是資料做得非常簡潔易懂,而接下來一天的新竹之行就全部是依據這份寶典的指引來完成的。...

继续阅读

從桃園開始台灣之行 初到台灣恰逢華夏銀行系統升級,特意準備的華夏銀聯卡在桃園機場沒能派上用場,只好用建行在機場5000塊,算下來是很不划算的,但是沒辦法,誰叫我出機場就得花錢呢。 從機場打車到桃園的酒店,花了將近六百塊新台幣,到酒店時五點多,天已經漸亮了,洗漱完等到七點吃過早餐就開始補覺囉,一覺醒來已是中午,帶著換下來的衣服外出找自助洗衣店,順便覓食。...

继续阅读

  • Prev
  • Next

Linux下的软件管理命令

文章分类 : Linux, Ubuntu, 应用与编程, 教程

很多桌面版本的Linux系统在安装好了以后,其预置的软件已经能够满足我们的日常需求,但是我们也可能遇到一些需要自己额外安装的软件,这时候就需要用到Linux软件管理命令了。Linux系统中,软件通常以源代码或者预编译包的形式提供。由于Linux系统版本的多样性,软件安装的方式也不尽相同,常见的软件管理命令或方法分为软件源代码编译安装跟预编译安装,其中预编译安装又分为dpkg、rpm跟apt命令安装。    

软件源代码需要编译为二进制的机器代码才能够使用,安装比较耗时,不过您可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化。预编译的软件包,通常是由软件的发布者进行编译,您只要将软件拷贝到系统中就可以了。考虑到预编译软件包的适用性,预编译软件包通常不会针对某种硬件平台优化。它所包含的功能和组件也是通用的组合。

一、dpkg命令

Ubuntu 跟 Debian 系统中,软件通常以 deb 格式的包文件发布,它是一种预编译软件包。deb包中除了包含已编译的软件,通常还包括软件的拷贝路径、对其它软件包的依赖关系纪录、比较通用的配置文件以及软件的描述、版本、作者、类别、占用空间等信息。

deb软件包命令遵行如下约定:soft_ver-rev_arch.deb。其中 soft 代表“软件包名称”, ver 代表“软件版本号”,rev 代表 “Ubuntu修订版本号”, arch 代表“目标架构名称”。例如:tomboy_1.8.0-1ubuntu1_i386.deb。

您需要使用 dpkg 命令来管理 deb 软件包:

#dpkg -i xxx.deb 安装deb软件包
#dpkg -r xxx.deb 删除软件包
#dpkg -rP xxx.deb 连同配置文件一起删除
#dpkg -I xxx.deb 查看软件包信息
#dpkg -L xxx.deb 查看包内文件
#dpkg -l 查看系统中已安装软件包信息
#dpkg-reconfigure xxx 重新配置软件包

有些时候,您使用 dpkg 安装一个软件包,系统会提示您该软件包依赖其它软件包。这时,您先安装其它软件包,直到满足依赖关系为止。或者同时安装多个软件包:

#dpkg -i aaa.deb bbb.deb ccc.deb

二、rpm命令

Fedora 跟 OpenSUSE 系统中,软件通常以 rpm 格式的包文件发布,跟deb 格式的包文件一样,它是也是一种预编译软件包,除了包含已编译的软件,通常还包括软件的拷贝路径、对其它软件包的依赖关系纪录、比较通用的配置文件以及软件的描述、版本、作者、类别、占用空间等信息。

rpm 软件包命令遵行如下约定:软件名-版本号-释出号.体系号.rpm。体系号指的是执行程序适用的处理器体系,如 i386 体系。如果体系号为src时,表明为源代码包,否则为执行程序包。如xyz-5.6-7.i386.rpm为执行程序包,软件名为xyz,版本号为 5.6,释出号为7,适用体系为i386。
安装源代码包RPM软件包,必须使用命令:

//这个命令会把源代码解包、编译、安装
#rpmbuild --recompile xyz-5.6-7.src.rpm
//安装完成后,把编译生成的可执行文件重新包装成i386.rpm的RPM软件包
#rpmbuild --rebuild xyz-5.6-7.src.rpm

三、apt命令

Ubuntu 跟 Debian 系统中,前面介绍了如何使用 dpkg 命令来管理 deb 软件包。但是如果一个软件依赖关系过于复杂,使用 dpkg 命令来安装它,并不是一个明智的选择,这个时候您就需要用到 APT 软件包管理系统。APT 可以自动的检查依赖关系,通过您预设的方式来获得相关软件包,并自动安装配置它。事实上,在多数情况下,我们推荐您使用 APT 软件包管理系统。

APT系统需要一个软件信息数据库和至少一个存放着大量deb包的软件仓库,我们称之为源 。 源可以是网络服务器、安装CD或者本地软件仓库。您需要配置 /etc/apt/sources.list 文件,使APT系统能够连接到指定的源。国内推荐使用网易公司的源,配置 /etc/apt/sources.list 文件如下:

deb http://mirrors.163.com/ubuntu/ maverick main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ maverick main universe restricted multiverse

APT 系统主要包括 apt-get 和 apt-cache 等命令。通常是复合命令,包含若干个子命令。

#apt-get install xxx //安装 xxx
#apt-get -d install xxx //仅下载 xxx 预编译软件包,不安装
#apt-get -f install xxx //强制安装 xxx
#apt-get remove xxx //卸载 xxx
#apt-get update //更新软件信息数据库
#apt-get upgrade //进行系统升级
#apt-cache search xxx //搜索 xxx 软件包在源中是否存在

建议您经常使用 “sudo apt-get update” 命令来更新您的软件信息数据库。由于各种意外,APT系统可能会出现问题,建议您使用 “apt-get -f install” 命令来尝试修复。

四、源码包

对于绝大多数软件,我们建议您使用APT系统来安装它。在少数情况下,例如某软件没有以deb包的格式发布,或者需要定制适合自己的软件,您可以通过编译源代码的方式安装它。

首先需要下载软件的源码包,并且将它解包为一些源代码文件。为了便于管理,建议将下载的源码包移动到 /usr/local/src/ 目录下,并在这里解包。

#sudo mv xxx.tar.gz /usr/local/src //移动源码包
#cd /usr/local/src // 进入“/usr/local/src/”目录
#sudo tar -zxvf xxx.tar.gz //解压源码包
#cd xxx_ver/ //进行解包后的源码目录

源码目录中通常有一个 configure 脚本,用来配置即将开始的编译过程。您可以执行它:

#sudo ./configure [--prefix=/usr/loca/xxx ......]

它会自动检测软件的编译环境和依赖关系,并且生成 Makefile 文件。使用带参数的命令 “./configure –help” ,或者阅读 INSTALL 文件,查看该脚本允许的参数。使用 “–prefix=/usr/local/xxx” 参数,将软件的安装目录设定为 /usr/local/xxx/ (如果一定要将软件安装在单独目录下,建议您安装在这里) 。

接下来执行 make 命令,系统会根据 Makefile 文件中的设定,通过 make 工具调用编译器和所需资源文件,将源代码编译成目标文件。

#sudo make

再接着执行 make install 命令, make 工具会自动连接目标文件和库文件,将最终生成的文件拷贝到 Makefile 文件设定的路径中,并且完成更改文件的属性,删除残留文件等活动。

#sudo make install

最后,编译安装已经完成,为了更方便的使用它,需要给程序的可执行文件作一个符号链接。

#sudo ln -sf /usr/local/xxx/可执行文件/usr/local/bin/可执行文件

除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。

本文地址:https://www.cpplive.com/html/1650.html

这里因为你的留言而存在!!!

You must be logged in to post a comment.