一:应用程序基础
1.应用程序与系统命令的关系:
文件位置
系统命令:一般在/bin和/sbin目录中,或为Shell内部指令。
应用程序:通常在/usr/bin和/usr/sbin目录中。
主要用途
系统命令:完成对系统的基本管理工作,例如IP配置工具。
应用程序:完成相对独立的其他辅助任务,例如网页浏览器。
适用环境
系统命令:一般只在字符操作界面中运行。
应用程序:根据实际需要,有些程序可在图形界面中运行。
运行格式
系统命令:一般包括命令字、命令选项和命令参数。
应用程序:通常没有固定的执行格式。
2.典型应用程序的目录结构:(Linux系统中,把安装的软件打散了以后放在不同的目录中,方便管理)
普通执行程序文件 /usr/bin
服务器执行程序文件和管理程序文件 /usr/sbin
应用程序配置文件 /etc
日志文件 /var/log
应用程序文档文件 /usr/share/doc
应用程序手册页文件 /usr/share/man
3.常见的软件包类型:(主要rpm,源码包)
rpm软件包 扩展名为“.rpm”
deb软件包 扩展名为“.deb”
源代码软件包 一般为“.tar.gz”、“.tar.bz2”等格式的压缩包包含程序的原始代码
附带安装程序的软件包 在压缩包内提供install.sh、setup等安装程序或以“.bin”格式的单个执行文件提供
绿色免安装的软件包
二:RPM 包管理工具
1.RPM软件包一般命名格式:
bash-4.1.2-15.el6_4.x86_64.rpm
bash 软件名称
4.1.2 版本号
15.el6_4 发布次数
x86 硬件平台
64 表示适用于64位系统
2.查询已安装的 RPM 软件信息:
格式: rpm -q[子选项] 软件名
子选项:(结合不同的子选项 完成不同查询)
· -qa:查看系统中已安装的所有RPM软件包列表
· -qi:查看指定软件的详细信息
· -ql:查询指定软件包所安装的目录、文件列表
-qc:仅显示指定软件包安装的配置文件
-qd:仅显示指定软件包安装的文档文件
举例:
# rpm -qi sssd
查看sssd软件包的详细信息
# rpm -ql mcpp
查看mcpp软件包所安装的 目录/文件列表
# rpm -qa | grep ss
添加grep命令按需要筛选
3.查询文件或目录属于哪个 RPM 软件:
格式: rpm - qf 文件或目录名
举例:
[root@wkn ~]# rpm -qf /usr/libexec/sssd/krb5_child
sssd-krb5-common-1.13.3-56.el6.x86_64
4.查询未安装的 RPM 包文件:
格式:rpm - qp[子选项] .rpm结尾的RPM包文件
子选项:(结合不同的子选项 完成不同查询)
-qpi:通过.rpm包文件查看该软件的详细信息
-qpl:查看.rpm安装包内所包含的目录、文件列表
-qpc:查看.rpm安装包内包含的配置文件列表
-qpd:查看.rpm安装包内包含的文档文件列表
举例:
[root@node1 ~]# cd /mnt/Packages/
[root@ns1 Packages]# rpm -qpi ethtool-3.5-6.el6.x86_64.rpm
查看未安装的ethtool包文件的详细信息
[root@node1 ~]# cd /mnt/Packages/
[root@ns1 Packages]# rpm -qpl ethtool-3.5-6.el6.x86_64.rpm
查看未安装的ethtool包文件会安装到哪些目录
5. 安装、升级、卸载 RPM 软件包 :
安装/升级:
格式:rpm [选项] .rpm结尾的RPM包文件
选项:
-i:安装(install)一个新的 rpm 软件包
-U:升级(update)某个 rpm 软件,若原本未装,则进行安装
-F:更新某个 rpm 软件,若原本未装,则放弃安装
--force:强制安装所指定的rpm软件包
--nodeps:安装、升级或卸载软件时,忽略依赖关系
-h:以“#”号显示安装的进度
-v:显示安装过程中的详细信息
举例:
[root@node1 ~]# cd /mnt/Packages/
[root@ns1 Packages]# rpm -ivh ethtool-3.5-6.el6.x86_64.rpm
卸载:
格式:rpm -e 软件名
举例: [root@localhost ~]# rpm –e elinks //卸载
[root@localhost ~]# rpm -q elinks //查看
package elinks is not installed
6.重建RPM数据库:
[root@localhost ~]# rpm --rebuilddb
或
[root@localhost ~]# rpm --initdb
三:解决依赖关系,yun仓库安装方法:
1.mount
Linux系统中,自动把硬件映射成文件,但文件不能直接使用,必须挂载到目录上才能看到,/mnt , /media , 或自己指定。
挂载思路:放光盘(保证最上面2个勾是被选中的)-->在命令行下挂载
挂在命令:mount /dev/cdrom /mnt
/dev/hda1
/dev/sda1
卸载挂载:umount /mnt
2. [root@node1 ~]# cd /mnt/Packages/
[root@node1 Packages]# rpm -ivh lynx-2.8.6-27.el6.x86_64.rpm
备注:lynx是文本模式下的网页浏览器,格式:lynx 网址
举例:[root@node1 Packages]# lynx www.baidu.com
[root@node1 Packages]# rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm
备注:lrzsz是终端向服务器传输文件数据的软件
举例: [root@node1 Packages]# cd /tmp
[root@node1 tmp]# rz -y
备注:命令输入后会弹出对话框,之后选中要上传的文件,点击打开即可!
3.YUM仓库的搭建:
a.本地YUM源:
一,挂载
二,yum仓库设置 /etc/yum.repos.d/
三,安装
CentOS-Media.repo 本地yum (默认优先)
CentOS-Base.repo 网络yum
[root@node1 ~]# mount /dev/sr0 /mnt/
[root@node1 ~]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# ls
显示结果:CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo
[root@node1 yum.repos.d]# vim CentOS-Media.repo
显示部分内容: [c6-media] //中括号中的内容不能有空格
name=CentOS-$releasever - Media
baseurl=file:///mnt/ //YUM仓库的软件从什么地方提供
#file:///media/cdrom/
#file:///media/cdrecorder/
gpgcheck=0 //是否验证软件包。0不验证,1验证
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1 //开启YUM,安装软件包时会自动解决依赖关系
验证实例:
1.[root@ns1 ~]# rpm -ivh /mnt/Packages/time-1.7-38.el6.x86_64.rpm
备注:会报错,有依赖关系
2.[root@ns1 ~]# yum -y install /mnt/Packages/time-1.7-38.el6.x86_64.rpm
备注:没有报错,自行解决依赖关系
或
[root@ns1 ~]# cd /mnt/Packages/
[root@ns1 Packages]# yum -y install time-1.7-38.el6.x86_64.rpm
验证YUM源:
yum repolist
删除:
yum remove ethtool
b.网络YUM源
只要保证Linux能上互联网就行(CentOS-Media.repo保持安装系统后时候默认)
一,把本地yum改名
二,清空缓存
三,重新获取
yum clean all 清空缓存
yum makecache 重新生成缓存
yum update 系统更新
4.软件包组:
查询:
yum grouplist //查看软件包组
yum groupinfo <包组名>... //查看软件包组的详细信息
举例:
[root@localhost ~]# yum grouplist
[root@localhost ~]# yum grouplist "Desktop"
安装:
yum groupinstall <包组名>
举例:
[root@ns1 ~]#yum -y groupinstall "X 窗口系统" "中文支持" "桌面"
-y:表示自动确认
升级:
yum groupupdate
卸载:
yum groupremove <包组名>...
举例:
[root@localhost ~]# yum -y groupremove "Desktop"
1.应用程序与系统命令的关系:
文件位置
系统命令:一般在/bin和/sbin目录中,或为Shell内部指令。
应用程序:通常在/usr/bin和/usr/sbin目录中。
主要用途
系统命令:完成对系统的基本管理工作,例如IP配置工具。
应用程序:完成相对独立的其他辅助任务,例如网页浏览器。
适用环境
系统命令:一般只在字符操作界面中运行。
应用程序:根据实际需要,有些程序可在图形界面中运行。
运行格式
系统命令:一般包括命令字、命令选项和命令参数。
应用程序:通常没有固定的执行格式。
2.典型应用程序的目录结构:(Linux系统中,把安装的软件打散了以后放在不同的目录中,方便管理)
普通执行程序文件 /usr/bin
服务器执行程序文件和管理程序文件 /usr/sbin
应用程序配置文件 /etc
日志文件 /var/log
应用程序文档文件 /usr/share/doc
应用程序手册页文件 /usr/share/man
3.常见的软件包类型:(主要rpm,源码包)
rpm软件包 扩展名为“.rpm”
deb软件包 扩展名为“.deb”
源代码软件包 一般为“.tar.gz”、“.tar.bz2”等格式的压缩包包含程序的原始代码
附带安装程序的软件包 在压缩包内提供install.sh、setup等安装程序或以“.bin”格式的单个执行文件提供
绿色免安装的软件包
二:RPM 包管理工具
1.RPM软件包一般命名格式:
bash-4.1.2-15.el6_4.x86_64.rpm
bash 软件名称
4.1.2 版本号
15.el6_4 发布次数
x86 硬件平台
64 表示适用于64位系统
2.查询已安装的 RPM 软件信息:
格式: rpm -q[子选项] 软件名
子选项:(结合不同的子选项 完成不同查询)
· -qa:查看系统中已安装的所有RPM软件包列表
· -qi:查看指定软件的详细信息
· -ql:查询指定软件包所安装的目录、文件列表
-qc:仅显示指定软件包安装的配置文件
-qd:仅显示指定软件包安装的文档文件
举例:
# rpm -qi sssd
查看sssd软件包的详细信息
# rpm -ql mcpp
查看mcpp软件包所安装的 目录/文件列表
# rpm -qa | grep ss
添加grep命令按需要筛选
3.查询文件或目录属于哪个 RPM 软件:
格式: rpm - qf 文件或目录名
举例:
[root@wkn ~]# rpm -qf /usr/libexec/sssd/krb5_child
sssd-krb5-common-1.13.3-56.el6.x86_64
4.查询未安装的 RPM 包文件:
格式:rpm - qp[子选项] .rpm结尾的RPM包文件
子选项:(结合不同的子选项 完成不同查询)
-qpi:通过.rpm包文件查看该软件的详细信息
-qpl:查看.rpm安装包内所包含的目录、文件列表
-qpc:查看.rpm安装包内包含的配置文件列表
-qpd:查看.rpm安装包内包含的文档文件列表
举例:
[root@node1 ~]# cd /mnt/Packages/
[root@ns1 Packages]# rpm -qpi ethtool-3.5-6.el6.x86_64.rpm
查看未安装的ethtool包文件的详细信息
[root@node1 ~]# cd /mnt/Packages/
[root@ns1 Packages]# rpm -qpl ethtool-3.5-6.el6.x86_64.rpm
查看未安装的ethtool包文件会安装到哪些目录
5. 安装、升级、卸载 RPM 软件包 :
安装/升级:
格式:rpm [选项] .rpm结尾的RPM包文件
选项:
-i:安装(install)一个新的 rpm 软件包
-U:升级(update)某个 rpm 软件,若原本未装,则进行安装
-F:更新某个 rpm 软件,若原本未装,则放弃安装
--force:强制安装所指定的rpm软件包
--nodeps:安装、升级或卸载软件时,忽略依赖关系
-h:以“#”号显示安装的进度
-v:显示安装过程中的详细信息
举例:
[root@node1 ~]# cd /mnt/Packages/
[root@ns1 Packages]# rpm -ivh ethtool-3.5-6.el6.x86_64.rpm
卸载:
格式:rpm -e 软件名
举例: [root@localhost ~]# rpm –e elinks //卸载
[root@localhost ~]# rpm -q elinks //查看
package elinks is not installed
6.重建RPM数据库:
[root@localhost ~]# rpm --rebuilddb
或
[root@localhost ~]# rpm --initdb
三:解决依赖关系,yun仓库安装方法:
1.mount
Linux系统中,自动把硬件映射成文件,但文件不能直接使用,必须挂载到目录上才能看到,/mnt , /media , 或自己指定。
挂载思路:放光盘(保证最上面2个勾是被选中的)-->在命令行下挂载
挂在命令:mount /dev/cdrom /mnt
/dev/hda1
/dev/sda1
卸载挂载:umount /mnt
2. [root@node1 ~]# cd /mnt/Packages/
[root@node1 Packages]# rpm -ivh lynx-2.8.6-27.el6.x86_64.rpm
备注:lynx是文本模式下的网页浏览器,格式:lynx 网址
举例:[root@node1 Packages]# lynx www.baidu.com
[root@node1 Packages]# rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm
备注:lrzsz是终端向服务器传输文件数据的软件
举例: [root@node1 Packages]# cd /tmp
[root@node1 tmp]# rz -y
备注:命令输入后会弹出对话框,之后选中要上传的文件,点击打开即可!
3.YUM仓库的搭建:
a.本地YUM源:
一,挂载
二,yum仓库设置 /etc/yum.repos.d/
三,安装
CentOS-Media.repo 本地yum (默认优先)
CentOS-Base.repo 网络yum
[root@node1 ~]# mount /dev/sr0 /mnt/
[root@node1 ~]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# ls
显示结果:CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo
[root@node1 yum.repos.d]# vim CentOS-Media.repo
显示部分内容: [c6-media] //中括号中的内容不能有空格
name=CentOS-$releasever - Media
baseurl=file:///mnt/ //YUM仓库的软件从什么地方提供
#file:///media/cdrom/
#file:///media/cdrecorder/
gpgcheck=0 //是否验证软件包。0不验证,1验证
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1 //开启YUM,安装软件包时会自动解决依赖关系
验证实例:
1.[root@ns1 ~]# rpm -ivh /mnt/Packages/time-1.7-38.el6.x86_64.rpm
备注:会报错,有依赖关系
2.[root@ns1 ~]# yum -y install /mnt/Packages/time-1.7-38.el6.x86_64.rpm
备注:没有报错,自行解决依赖关系
或
[root@ns1 ~]# cd /mnt/Packages/
[root@ns1 Packages]# yum -y install time-1.7-38.el6.x86_64.rpm
验证YUM源:
yum repolist
删除:
yum remove ethtool
b.网络YUM源
只要保证Linux能上互联网就行(CentOS-Media.repo保持安装系统后时候默认)
一,把本地yum改名
二,清空缓存
三,重新获取
yum clean all 清空缓存
yum makecache 重新生成缓存
yum update 系统更新
4.软件包组:
查询:
yum grouplist //查看软件包组
yum groupinfo <包组名>... //查看软件包组的详细信息
举例:
[root@localhost ~]# yum grouplist
[root@localhost ~]# yum grouplist "Desktop"
安装:
yum groupinstall <包组名>
举例:
[root@ns1 ~]#yum -y groupinstall "X 窗口系统" "中文支持" "桌面"
-y:表示自动确认
升级:
yum groupupdate
卸载:
yum groupremove <包组名>...
举例:
[root@localhost ~]# yum -y groupremove "Desktop"