2019-04-10-day29 rpm与yum命令

第1章 命令补充

1.1 diff命令

  diff是文本比较的命令,还有一个类似的命令:vimdiff是图形化文本比较。
注意:比较前先将原文件备份,然后在备份的软件里面做些修改,这样方便两个文件比较、检查,后期方便对文件进行恢复。
示例:下边显示的内容就是两文件的差别

[root@oldboyedu ~]$ cp /etc/passwd{,.ori}    <===文件备份

[root@oldboyedu ~]$ diff /etc/passwd{,.ori}   <===比较文件内容
32c32
< $ oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash
---
> oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash

1.2 rpm命令

  rpm命令全称是Red Hat Package Manager(Red Hat包管理器),几乎所有的Linux发行版本都使用这种形式的命令管理、安装、更新和卸载软件。概括地说,rpm命令有五种基本功能(不包括创建rpm包):安装、卸载、升级、查询和验证。
  但是rpm安装需要很多包组之间的依赖,安装比较麻烦,工作中一般不用此命令。

1.2.1 参数

参数 解释
-i 安装
-v 显示安装过程
-h 用“#”显示安装进度条
-U 升级软件包
-e 卸载软件包
--nodeps 忽略依赖
-q 查询
-a 查所有
-l 显示软件包中的所有软件列表
-f 查询文件或命令属于哪个软件包

1.2.2 示例

例1:安装包组

[root@oldboyedu ~]# rpm -ivh dos2unix-6.0.3-7.el7.x86_64.rpm 
Preparing...                        ################################# [100%]
    package dos2unix-6.0.3-7.el7.x86_64 is already installed

例2:查询tree命令所在的包组

[root@oldboyedu ~]# rpm -qa tree
tree-1.6.0-10.el7.x86_64

例3:显示软件包中的所有软件列表

[root@oldboyedu ~]$ rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz

例4:查询命令属于哪个软件包

[root@oldboyedu ~]$ rpm -qf /sbin/ifconfig 
net-tools-2.0-0.24.20131004git.el7.x86_64

1.3 yum命令

  yum在安装命令或包组是还是使用的rpm安装,但是帮我们解决了软件包依赖安装麻烦的问题,让安装软件更智能了。
  yum主要用于自动安装、升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系。

1.3.1 参数

参数 说明
install 安装软件包
list 获取软件包名
search 模糊查找软件包名
groupinstall 安装组包
grouplist 获取组包名称列表
list installed 查看已安装的软件
provides 根据命令或者配置等的路径查属于哪个包
remove 移除软件包(禁止使用)
repolist 列出启用的YUM源
repolist all 列出所有的yum,包括禁用的yum源

1.3.2 示例

例1:获取组包名称列表

[root@oldboyedu ~]$ yum grouplist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base                                                  | 3.6 kB  00:00:00     
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
……

例2:获取tree命令软件包名

[root@oldboyedu ~]$ yum list tree     <===获取包组名
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
tree.x86_64                   1.6.0-10.el7                        @base
[root@oldboyedu ~]$ yum install tree -y    <===安装包组

例3:根据命令或者配置等的路径查属于哪个包

[root@oldboyedu ~]$ yum provides /etc/my.cnf    <===根据配置路径查询
[root@oldboyedu ~]$ yum provides /sbin/ifconfig   <===根据命令路径查询

1.4 chattr:设置文件属性 和lsattr:查看文件属性

1.4.1 chattr参数

参数 说明
+i 锁定文件
-i 解锁文件
+a 只能追加内容,不能删除文件和内容
-a 解锁

1.4.2 示例

例1:加i权限锁定文件

[root@oldboyedu ~]$ lsattr /etc/ passwd      <== 查询原权限
---------------- /etc/ passwd
 [root@oldboyedu ~]$ chattr +i /etc/passwd <==添加i权限锁定文件,不能删除,不能修改
[root@oldboyedu ~]$ lsattr /etc/passwd     <==查询新权限
----i----------- /etc/passwd
 [root@oldboyedu ~]$cp /etc/passwd{,.ori}   <==拷贝文件
[root@oldboyedu ~]$ rm -f /etc/passwd       
rm: cannot remove ‘/etc/passwd’: Operation not permitted <==删除文件,不能成功
[root@oldboyedu ~]$ echo ddd > /etc/passwd
-bash: /etc/passwd: Permission denied   <==添加文件内容,不能成功

第2章 CentOS6和ContOS7的对比

说明 CentOS6.X ContOS7.X
最新版 6.9 7.6
架构 32/64位 64位
启动原理 串行(sysvinit 技术) 并行(systemd 技术)
安装过程 按顺序一步步安装模式 平台化安装模式
网卡名称 eth0 类似ens33可修改内核 net.idnames=0
biosdevname=0 参数调整为传统模式
默认文件系统 ext4 xfs
网卡管理服务 network NetworkManager network
网络配置 setup nmtui
开启关闭服务 /etc/init.d/sshd start | stop restart
srrvice cron start | stop restart
systemtcl stop | start sshd
查看服务状态 /etc/init.d/crond status systemctl status crond
开机自启动 chkconfig sshd off | on systemctl disable|enable sshd
查看开机自启动 /chkconfig --list crond /systemctl status crond
systemctl is-enabled crond.service
服务操作 单一管理/etc/init.d/crond.status 批量systemctl status crond crond.service network
额外基础工具 tree nmap dos2unix lrzsz nc lsof wget
tcpdump htop liotop sysstat nethogs
额外psmisc net-tools bash-completion vim-enhanced
tab补全 命令 路径 命令 路径 参数
默认防火墙 iptables firewalld
主机名修改 hostname oldboy hostnamectl set-hostname ildboy
主机名文件 /etc/sysconfig/network /etc/hostname
字符集文件 /etc/sysconfig/i28n /etc/locale.conf
字符集命令配置 export LANG= export LANG="en_US.UTP-8"
localectl set-locale LANG=en_US.UTP-8
运行级别 0-6 runlevel | init /usr/lib/systemd/system/runlevel*.target
默认数据库 MySQL MariaDB
IO调度 cfq dead line
/etc/rc.local 放置开机启动的命令 放置开机启动命令(必须授权执行权限)
查看IP和路由 ifconfig 和route
netstat -rn或route -n
IP(默认没有 ifconfig或route)
netstat -rn或route -n
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容