现在一般是使用 RPM,YUM和APT来管理软件包。
软件包常用的也就是,查找软件包,安装,卸载,升级。这几个功能。
RPM 比较经典,但是也比较麻烦,尤其是在软件依赖关系上面,有的时候你会纠结死的。
你是新手的话就先使用图形化的管理器来安装,卸载看看。
现在不少Linux都具有图形化的软件管理器界面 比如新立得软件包管理器。
首先是RPM
RPM安装软件包:
-a查询所有已安装的信息
-f查询文件所属软件包
-p查询软件包
-i显示软件包信息
-l显示软件包中的文件列表
-d显示被标注为文档的文件列表
-c显示被标注为配置文件的文件列表
-q查询软件是否安装
rpm -ql、rpm -qlp软件包安装了哪些文件
-qi -qip查询软件包的信息
rpm -qf查询文件隶属的软件包
rpm -qd查询软件包帮助文档
rpm -qc查询软件包配置文件
rpm -i sudo
挂载光盘:
习惯把移动设备放在/mnt目录下
mkdir /mnt/cdrom mkdir 创建目录
mount /dev/cdrom/ mnt/cdrom 挂载光盘
按Tab键自动补全命令
cd 进入目录CentOS
ls | grep sudo
查看关于sudo的软件包
rpm -q sudo 查看软件是否安装完成
rpm -qa | grep samba 查看跟samba相关的软件包
rpm -ivh sudo-1.7.2p1-5.e15.i386.rpm
安装软件
rpm -ivh --excludedocs +软件包名 不安装软件包中的文档文件 一般不适用
rpm -ivh --prefix PATH +软件包名 将软件包安装到PATH指定目录下 一般不是用
rpm -ivh --test +软件包名 只对安装进行测试,并不是件安装(一般用于测试软件包的依赖性)
rpm -ivh --replacepkgs +软件包名 覆盖安装
rpm -ivh --replacefiles +软件名 覆盖安装且无视错误信息
软件包之间的依赖关系:
安装中出现错误提示:
例如:
# rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
failed dependencies:
sudo is needed by bark-3.2-l1;
强制安装使用 --nodeps选项。
升级
# rpm -Uvh +软件包名
Debian系列的linux安装软件包就方便得多
呃 我主要熟悉的是Ubuntu
1.apt系统使用一个数据库列表来记录系统已经安装了哪些软件,哪些没有安装,哪些软件可以通过apt系统自动安装
apt-get通过分析这个数据库来决定如何安装软件
应该经常运行#apt-get update来更新此数据库
2.安装软件包
# apt-get install packagename
apt-get的参数
-h 帮助信息
-d 仅仅下载该软件包,并不安装
-f 强制安装
-s 无行为。执行命令仿真
-y 对安装过程中询问yes和no都保持yes
-u 显示一个列表,以及升级包
软件包会被下载到/var/cache/apt/archives稍后进行安装
如果一个软件包坏了,或者你只是想重新安装一个软件的最新版本 ,可以使用--reinstall参数,如
# apt-get --reinstall install tomcat6
在安装软件时,可以用apt-get install package/distribution或apt-get install
package=version来指定软件的安装版本,如
# apt-get install nautilus/tomcat6
3.移除软件包
apt-get remove package
# apt-get remove ruby
这样就会移除rubyl以及对ruby有依赖性的软件包,无法使用apt系统仅仅移除此软件,而保留对它有依赖性的软件包。
apt-get remove package并不能移除这些软件的配置文件
# apt-get purge ruby(这个很常用)
就可以一块把他的配置文件移除
4.升级软件包
apt-get update 更新软件包的数据库列表
apt-get upgrade 执行升级
5.升级到一个新的版本
# apt-get -u dist-upgrade
6.移除无用的软件包
当安装软件时,软件包会被先下载到/var/cache/apt/archives/目录下,然后安装。这样这个目录所占空间会越来越大,幸运的是apt提供了相应的管理工具
apt-get clean删除/var/cache/apt/archives/和/var/cache/apt/archives/partial/目录下所有包(锁定的除外)。
apt-get autoclean仅删除不再能被下载的包
1.使用YUM查找软件包
命令:yum search
2.列出所有可安装的软件包
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在Yum Repository内的软件包
命令:yum list extras
6.列出所指定的软件包
命令:yum list
7.使用YUM获取软件包信息
命令:yum info
8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
10.列出所有已安装的软件包信息
命令:yum info installed
11.列出所有已安装但不在Yum Repository内的软件包信息
命令:yum info extras
12.列出软件包提供哪些文件
命令:yum provides
5.清除YUM缓存
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum
clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean
packages清除下载的rpm包,yum clean all清除所有
1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages
2.清除缓存目录(/var/cache/yum)下的headers
命令:yum clean headers
3.清除缓存目录(/var/cache/yum)下旧的headers
命令:yum clean oldheaders
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)