参考文献

  • 趣谈Linux系统
  • <<鸟哥的Linux私房菜>>

软件安装

  • Linux 现在常用的有两大体系,一个是 CentOS 体系,一个是 Ubuntu 体系,前者使用 rpm,后者使用 deb。

    • CentOS 下面使用rpm -i jdk-XXX_linux-x64_bin.rpm进行安装
    • Ubuntu 下面使用dpkg -i jdk-XXX_linux-x64_bin.deb。其中 -i 就是 install 的意思
  • rpm -qadpkg -l就可以查看安装的软件列表,-q 就是 query,a 就是 all,-l 的意思就是 list。

  • 要删除,可以用rpm -edpkg -r。-e 就是 erase,-r 就是 remove

RPM(RedHat Package Manager)

  • 由于RPM有数据库来记录软件的相关信息,所以RPM类型的套件所拥有的档案都放置在系统预设的目录底下

    路径 说明
    /etc 一些设定文件放置的目录,例如/etc/crontab
    /usr/bin 一些可执行档案
    /usr/lib 一些程序使用的动态函式库
    /usr/share/doc 一些基本的软件使用手册与说明文件
    /usr/share/man 一些man page档案

命令

安装

1
2
3
4
5
# rpm -ivh package_name 
参数:
-i :install 的意思
-v :察看更细部的安装信息画面
-h :以安装信息列显示安装进度

升级与更新

1
2
3
4
5
# 后面接的套件即使没有安装过,则系统将予以直接安装; 若后面接的套件有安装过旧版,则系统自动更新至新版
# rpm -Uvh package_name

# 如果后面接的套件并未安装到您的 Linux 系统上,则该套件不会被安装;亦即只有安装至Linux 系统内的套件会被『升级』!
# rpm -Fvh package_name

查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@linux ~]# rpm -qa
[root@linux ~]# rpm -q[licdR] 已安装的套件名称
[root@linux ~]# rpm -qf 存在于系统上面的某个档案
[root@linux ~]# rpm -qp[licdR] 未安装的某个文件名称
参数:
在查询的部分,所有的参数之前都需要加上 -q 才是所谓的查询!
查询主要分为两部分,一个是查已安装,另一个则是查某个 rpm 档案内容。
查询已安装套件的信息:
-q :仅查询,后面接的套件名称是否有安装;
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有套件名称;
-qi :列出该套件的详细信息 (information),包含开发商、版本与说明等;
-ql :列出该套件所有的档案与目录所在完整文件名 (list);
-qc :列出该套件的所有设定档 (找出在 /etc/ 底下的檔名而已)
-qd :列出该套件的所有说明档 (找出与 man 有关的档案而已)
-qR :列出与该套件有关的相依套件所含的档案 (Required 的意思)
-qf :由后面接的文件名称,找出该档案属于哪一个已安装的套件;
查询某个 RPM 档案内含有的信息:
-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在于找出
某个 RPM 档案内的信息,而非已安装的套件信息!注意!

验证

1
2
3
4
5
6
7
8
9
[root@linux ~]# rpm -Va
[root@linux ~]# rpm -V 已安装的套件名称
[root@linux ~]# rpm -Vp 某个 RPM 档案的档名
[root@linux ~]# rpm -Vf 在系统上面的某个档案
参数:
-V :后面加的是套件名称,若该套件所含的档案被更动过,才会列出来;
-Va :列出目前系统上面所有可能被更动过的档案;
-Vp :后面加的是文件名称,列出该套件内可能被更动过的档案;
-Vf :列出某个档案是否被更动过

apt

  • 查看已经安装的软件

    1
    apt list --installed

apt-get

  • 更新本地软件包

    1
    apt-get update
  • 升级已存在的包

    1
    apt-get upgrade
  • 升级到最新版本

    1
    apt-get dist-upgrade
  • 下载软件包到本地

    1
    apt-get download <package-name>