📝 Writing docs.

This commit is contained in:
Zhang Peng 2018-10-11 13:37:08 +08:00
parent 0b72894dcd
commit 7a239ac360
8 changed files with 235 additions and 312 deletions

View File

@ -10,9 +10,9 @@
- [Linux 文件压缩和解压](docs/linux/04.Linux文件压缩和解压.md) - 关键词:`tar`, `gzip`, `zip`, `unzip` - [Linux 文件压缩和解压](docs/linux/04.Linux文件压缩和解压.md) - 关键词:`tar`, `gzip`, `zip`, `unzip`
- [Linux 用户管理](docs/linux/05.Linux用户管理.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo` - [Linux 用户管理](docs/linux/05.Linux用户管理.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
- [Linux 系统管理](docs/linux/06.Linux系统管理.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`, `ps`, `kill`, `systemctl`, `service`, `crontab` - [Linux 系统管理](docs/linux/06.Linux系统管理.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`, `ps`, `kill`, `systemctl`, `service`, `crontab`
- [Linux 性能管理](docs/linux/07.Linux性能管理.md) - 关键词:`df`, `du`, `top`, `free`, `iotop` - [Linux 网络管理](docs/linux/07.Linux网络管理.md) - 关键词:关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `firewalld`, `iptables`, `host`, `nslookup`, `nc`/`netcat`, `ping`, `traceroute`, `netstat`
- [Linux 网络管理](docs/linux/08.Linux网络管理.md) - 关键词:关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `firewalld`, `iptables`, `host`, `nslookup`, `nc`/`netcat`, `ping`, `traceroute`, `netstat` - [Linux 硬件管理](docs/linux/08.Linux硬件管理.md) - 关键词:`df`, `du`, `top`, `free`, `iotop`
- [yum 命令](docs/linux/yum.md) - [Linux 软件管理](docs/linux/09.Linux软件管理.md) - 关键词:`rpm`, `yum`, `apt-get`
- [samba 使用详解](docs/linux/samba使用详解.md) - [samba 使用详解](docs/linux/samba使用详解.md)
- [命令行的艺术(转载)](docs/linux/命令行的艺术.md) - [命令行的艺术(转载)](docs/linux/命令行的艺术.md)

View File

@ -10,12 +10,13 @@ tags:
# Linux 系统管理 # Linux 系统管理
> 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`, `ps`, `kill`, `systemctl`, `service`, `crontab` > 关键词:`lsb_release`, `reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`, `ps`, `kill`, `systemctl`, `service`, `crontab`
<!-- TOC depthFrom:2 depthTo:3 --> <!-- TOC depthFrom:2 depthTo:3 -->
- [Linux 系统管理要点](#linux-系统管理要点) - [Linux 系统管理要点](#linux-系统管理要点)
- [命令常见用法](#命令常见用法) - [命令常见用法](#命令常见用法)
- [lsb_release](#lsb_release)
- [reboot](#reboot) - [reboot](#reboot)
- [exit](#exit) - [exit](#exit)
- [shutdown](#shutdown) - [shutdown](#shutdown)
@ -32,6 +33,10 @@ tags:
## Linux 系统管理要点 ## Linux 系统管理要点
- 查看 Linux 系统发行版本
- 使用 [lsb_release](#lsb_release)(此命令适用于所有的 Linux 发行版本)
- 使用 `cat /etc/redhat-release`(此方法只适合 Redhat 系的 Linux
- 查看 CPU 信息 - 使用 `cat /proc/cpuinfo`
- 重新启动 Linux 操作系统 - 使用 [reboot](#reboot) - 重新启动 Linux 操作系统 - 使用 [reboot](#reboot)
- 退出 shell并返回给定值 - 使用 [exit](#exit) - 退出 shell并返回给定值 - 使用 [exit](#exit)
- 关闭系统 - 使用 [shutdown](#shutdown) - 关闭系统 - 使用 [shutdown](#shutdown)
@ -46,6 +51,15 @@ tags:
## 命令常见用法 ## 命令常见用法
### lsb_release
lsb_release 不是 bash 默认命令,如果要使用,需要先安装。
安装方法:
1. 执行 `yum provides lsb_release`,查看支持 lsb_release 命令的包。
2. 选择合适版本,执行类似这样的安装命令:`yum install -y redhat-lsb-core-4.1-27.el7.centos.1.x86_64`
### reboot ### reboot
> reboot 命令用来重新启动正在运行的 Linux 操作系统。 > reboot 命令用来重新启动正在运行的 Linux 操作系统。

View File

@ -1,5 +1,5 @@
--- ---
title: Linux 性能管理 title: Linux 硬件管理
date: 2018/02/27 date: 2018/02/27
categories: categories:
- linux - linux
@ -8,13 +8,13 @@ tags:
- command - command
--- ---
# Linux 性能管理 # Linux 硬件管理
> 关键词:`df`, `du`, `top`, `free`, `iotop` > 关键词:`df`, `du`, `top`, `free`, `iotop`
<!-- TOC depthFrom:2 depthTo:3 --> <!-- TOC depthFrom:2 depthTo:3 -->
- [Linux 性能管理要点](#linux-性能管理要点) - [Linux 硬件管理要点](#linux-硬件管理要点)
- [命令常见用法](#命令常见用法) - [命令常见用法](#命令常见用法)
- [df](#df) - [df](#df)
- [du](#du) - [du](#du)
@ -24,7 +24,7 @@ tags:
<!-- /TOC --> <!-- /TOC -->
## Linux 性能管理要点 ## Linux 硬件管理要点
- 查看磁盘空间 - 使用 [df](#df) - 查看磁盘空间 - 使用 [df](#df)
- 查看文件或目录的磁盘空间 - 使用 [du](#du) - 查看文件或目录的磁盘空间 - 使用 [du](#du)

View File

@ -0,0 +1,210 @@
---
title: Linux 软件管理
date: 2018/02/26
categories:
- linux
tags:
- linux
---
# Linux 软件管理
> 关键词:`rpm`, `yum`, `apt-get`
<!-- TOC depthFrom:2 depthTo:3 -->
- [rpm](#rpm)
- [yum](#yum)
- [yum 源](#yum-源)
- [apt-get](#apt-get)
- [参考资料](#参考资料)
<!-- /TOC -->
## rpm
> rpm 命令是 RPM 软件包的管理工具。rpm 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
>
> 参考http://man.linuxde.net/rpm
示例:
1安装 rpm 包
```
rpm -ivh xxx.rpm
```
2安装.src.rpm 软件包
这类软件包是包含了源代码的 rpm 包,在安装时需要进行编译
```sh
rpm -i xxx.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -bp xxx.specs #一个和你的软件包同名的specs文件
cd /usr/src/redhat/BUILD/xxx/ #一个和你的软件包同名的目录
./configure #这一步和编译普通的源码软件一样,可以加上参数
make
make install
```
3卸载 rpm 软件包
使用命令 `rpm -e 包名`,包名可以包含版本号等信息,但是不可以有后缀.rpm比如卸载软件包 proftpd-1.2.8-1可以使用下列格式
```sh
rpm -e proftpd-1.2.8-1
rpm -e proftpd-1.2.8
rpm -e proftpd-
rpm -e proftpd
```
不可以是下列格式:
```sh
rpm -e proftpd-1.2.8-1.i386.rpm
rpm -e proftpd-1.2.8-1.i386
rpm -e proftpd-1.2
rpm -e proftpd-1
```
有时会出现一些错误或者警告:
```
... is needed by ...
```
这说明这个软件被其他软件需要,不能随便卸载,可以用 rpm -e --nodeps 强制卸载
4查看与 rpm 包相关的文件和其他信息
```sh
rpm -qa # 列出所有安装过的包
```
## yum
> yum 命令是在 Fedora 和 RedHat 以及 SUSE 中基于 rpm 的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理 RPM 软件包,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
>
> 参考http://man.linuxde.net/yum
示例:
部分常用的命令包括:
- 自动搜索最快镜像插件:`yum install yum-fastestmirror`
- 安装 yum 图形窗口插件:`yum install yumex`
- 查看可能批量安装的列表:`yum grouplist`
**安装**
```
yum install #全部安装
yum install package1 #安装指定的安装包package1
yum groupinsall group1 #安装程序组group1
```
**更新和升级**
```
yum update #全部更新
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1
```
**查找和显示**
```
yum info package1 #显示安装包信息package1
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息yum search string 根据关键字string查找安装包
yum search <keyword> #查找软件包
```
**删除程序**
```
yum remove <package_name> #删除程序包package_name
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况
```
**清除缓存**
```
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
```
### yum 源
yum 的默认源是国外的,下载速度比较慢,所以最好替换为一个国内的 yum 源。
| 推荐 yum 国内源 | 源地址 |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| <http://mirrors.163.com/> | Centos6http://mirrors.aliyun.com/repo/Centos-6.repo<br>Centos7http://mirrors.aliyun.com/repo/Centos-7.repo |
| <http://mirrors.aliyun.com/> | Centos6http://mirrors.163.com/.help/CentOS6-Base-163.repo<br>Centos7http://mirrors.163.com/.help/CentOS7-Base-163.repo |
> 注意Cento5 已废弃,只能使用 http://vault.centos.org/ 替换,但由于是国外镜像,速度较慢。
替换方法,以 aliyun CentOS7 为例:
```
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
```
## apt-get
> apt-get 命令是 Debian Linux 发行版中的 APT 软件包管理工具。所有基于 Debian 的发行都使用这个包管理系统。deb 包可以把一个应用的文件包在一起,大体就如同 Windows 上的安装文件。
>
> 参考http://man.linuxde.net/apt-get
示例:
使用 apt-get 命令的第一步就是引入必需的软件库Debian 的软件库也就是所有 Debian 软件包的集合它们存在互联网上的一些公共站点上。把它们的地址加入apt-get 就能搜索到我们想要的软件。/etc/apt/sources.list 是存放这些地址列表的配置文件,其格式如下:
deb [web 或 ftp 地址][发行版名字] [main/contrib/non-free]
我们常用的 Ubuntu 就是一个基于 Debian 的发行,我们使用 apt-get 命令获取这个列表,以下是我整理的常用命令:
在修改 /etc/apt/sources.list 或者 /etc/apt/preferences 之后运行该命令。
```sh
# 更新 apt-get
apt-get update
# 安装一个软件包
apt-get install packagename
# 卸载一个已安装的软件包(保留配置文件)
apt-get remove packagename
# 卸载一个已安装的软件包(删除配置文件)
apt-get purge remove packagename
# 如果需要空间的话,可以让这个命令来删除你已经删掉的软件
apt-get autoclean apt
# 把安装的软件的备份也删除,不过这样不会影响软件的使用的
apt-get clean
# 更新所有已安装的软件包
apt-get upgrade
# 将系统升级到新版本
apt-get dist-upgrade
```
## 参考资料
- http://man.linuxde.net/rpm
- http://man.linuxde.net/yum
- http://man.linuxde.net/apt-get
- http://www.runoob.com/linux/linux-yum.html

View File

@ -8,10 +8,9 @@
- [Linux 文件压缩和解压](04.Linux文件压缩和解压.md) - 关键词:`tar`, `gzip`, `zip`, `unzip` - [Linux 文件压缩和解压](04.Linux文件压缩和解压.md) - 关键词:`tar`, `gzip`, `zip`, `unzip`
- [Linux 用户管理](05.Linux用户管理.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo` - [Linux 用户管理](05.Linux用户管理.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
- [Linux 系统管理](06.Linux系统管理.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`, `ps`, `kill`, `systemctl`, `service`, `crontab` - [Linux 系统管理](06.Linux系统管理.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`, `ps`, `kill`, `systemctl`, `service`, `crontab`
- [Linux 性能管理](07.Linux性能管理.md) - 关键词:`df`, `du`, `top`, `free`, `iotop` - [Linux 网络管理](07.Linux网络管理.md) - 关键词:关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `firewalld`, `iptables`, `host`, `nslookup`, `nc`/`netcat`, `ping`, `traceroute`, `netstat`
- [Linux 网络应用](08.Linux网络应用.md) - 关键词:关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `firewalld`, `iptables`, `host`, `nslookup`, `nc`/`netcat`, `ping`, `traceroute`, `netstat` - [Linux 硬件管理](08.Linux硬件管理.md) - 关键词:`df`, `du`, `top`, `free`, `iotop`
- [yum 命令](yum.md) - [Linux 软件管理](09.Linux软件管理.md) - 关键词:`rpm`, `yum`, `apt-get`
- [linux 监控](linux监控.md)
- [samba 使用详解](samba使用详解.md) - [samba 使用详解](samba使用详解.md)
- [命令行的艺术(转载)](命令行的艺术.md) - [命令行的艺术(转载)](命令行的艺术.md)

View File

@ -1,167 +0,0 @@
---
title: linux 监控
date: 2018/02/27
categories:
- linux
tags:
- linux
---
<!-- TOC -->
- [linux 监控](#linux-%E7%9B%91%E6%8E%A7)
- [查看发行版本](#%E6%9F%A5%E7%9C%8B%E5%8F%91%E8%A1%8C%E7%89%88%E6%9C%AC)
- [查看 CPU](#%E6%9F%A5%E7%9C%8B-cpu)
- [CPU 监控](#cpu-%E7%9B%91%E6%8E%A7)
- [查看内存](#%E6%9F%A5%E7%9C%8B%E5%86%85%E5%AD%98)
- [查看硬盘](#%E6%9F%A5%E7%9C%8B%E7%A1%AC%E7%9B%98)
- [查看硬盘 IO](#%E6%9F%A5%E7%9C%8B%E7%A1%AC%E7%9B%98-io)
- [查看网络](#%E6%9F%A5%E7%9C%8B%E7%BD%91%E7%BB%9C)
<!-- /TOC -->
# linux 监控
## 查看发行版本
1查看 CentOS 版本号第一种方法
```
➜ bin cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
```
2查看 CentOS 版本号第二种方法
```
➜ bin lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.3.1611 (Core)
Release: 7.3.1611
Codename: Core
```
## 查看 CPU
* 查看 CPU 总体信息:`cat /proc/cpuinfo`
* 查看物理 CPU 个数:`cat /proc/cpuinfo | grep 'physical id' /proc/cpuinfo | sort -u | wc -l`
* 结果4
* 物理 CPU物理 CPU 也就是机器外面就能看到的一个个 CPU每个物理 CPU 还带有单独的风扇
* 查看每个物理 CPU 的核心数量:`cat /proc/cpuinfo | grep 'core id' /proc/cpuinfo | sort -u | wc -l`
* 结果6因为每个物理 CPU 是 6所有 4 个物理 CPU 的总核心数量应该是24
* 核心数:一个核心就是一个物理线程,英特尔有个超线程技术可以把一个物理线程模拟出两个线程来用,充分发挥 CPU 性能,意思是一个核心可以有多个线程。
* 查看 CPU 总的线程数(一般也叫做:逻辑 CPU 数量):`cat /proc/cpuinfo | grep 'processor' /proc/cpuinfo | sort -u | wc -l`
* 结果24正常情况下CPU 的总核心数量 == CPU 线程数,但是如果该 CPU 支持超线程那结果是CPU 的总核心数量 X 2 == CPU 线程数
* 线程数:线程数是一种逻辑的概念,简单地说,就是模拟出的 CPU 核心数。比如,可以通过一个 CPU 核心数模拟出 2 线程的 CPU也就是说这个单核心的 CPU 被模拟成了一个类似双核心 CPU 的功能。
### CPU 监控
- Linux 的 CPU 简单监控一般简单
- 常用命令就是 `top`
- 命令:`top -bn1`,可以完全显示所有进程出来,但是不能实时展示数据,只能暂时命令当时的数据。
- `top` 可以动态显示进程所占的系统资源,每隔 3 秒变一次,占用系统资源最高的进程放最前面。
- 在 `top` 命令状态下还可以按数字键 `1` 显示各个 CPU 线程使用状态
- 在 `top` 命令状态下按 `shfit` + `m` 可以按照 **内存使用** 大小排序
- 在 `top` 命令状态下按 `shfit` + `p` 可以按照 **CPU 使用** 大小排序
- 展示数据上,%CPU 表示进程占用的 CPU 百分比,%MEM 表示进程占用的内存百分比
## 查看内存
- Linux 的内存本质是虚拟内存,这样说是因为它的内存是:物理内存 + 交换分区。有一个内存模块来管理应用的内存使用。
- 如果所以你内存大,可以考虑把 swap 分区改得小点或者直接关掉。
- 但是,如果是用的云主机,一般是没交换分区的,`free -g` 中的 Swap 都是 0。
- 查看内存使用命令:
- 以 M 为容量单位展示数据:`free -m`
- 以 G 为容量单位展示数据:`free -g`
- CentOS 6 和 CentOS 7 展示出来的数据有差别CentOS 7 比较容易看,比如下面的数据格式是 CentOS 7 的 `free -g`
```
total used free shared buff/cache available
Mem: 11 0 10 0 0 10
Swap: 5 0 5
```
- 在以上结果中,其中可以用的内存是看 `available` 列。
- 对于 CentOS 6 的系统可以使用下面命令:
```
[root@bogon ~]# free -mlt
total used free shared buffers cached
Mem: 16080 15919 160 0 278 11934
Low: 16080 15919 160
High: 0 0 0
-/+ buffers/cache: 3706 12373
Swap: 0 0 0
Total: 16080 15919 160
```
- 以上的结果重点关注是:`-/+ buffers/cache`,这一行代表实际使用情况。
## 查看硬盘
- `df -h`:自动以合适的磁盘容量单位查看磁盘大小和使用空间
- `df -m`:以磁盘容量单位 M 为数值结果查看磁盘使用情况
- `du -sh /opt/tomcat6`查看tomcat6这个文件夹大小 (h的意思human-readable用人类可读性较好方式显示系统会自动调节单位显示合适大小的单位)
- `du /opt --max-depth=1 -h`:查看指定录入下包括子目录的各个文件大小情况
## 查看硬盘 IO
- 安装 iotop`yum install -y iotop`
- 查看命令:`iotop`
- 使用 dd 命令测量服务器延迟:`dd if=/dev/zero of=/opt/ioTest2.txt bs=512 count=1000 oflag=dsync`
- 使用 dd 命令来测量服务器的吞吐率(写速度)`dd if=/dev/zero of=/opt/ioTest1.txt bs=1G count=1 oflag=dsync`
- 该命令创建了一个 10M 大小的文件 ioTest1.txt其中参数解释
- if 代表输入文件。如果不指定 if默认就会从 stdin 中读取输入。
- of 代表输出文件。如果不指定 of默认就会将 stdout 作为默认输出。
- bs 代表字节为单位的块大小。
- count 代表被复制的块数。
- /dev/zero 是一个字符设备会不断返回0值字节\0
- oflag=dsync使用同步I/O。不要省略这个选项。这个选项能够帮助你去除 caching 的影响,以便呈现给你精准的结果。
- conv=fdatasyn: 这个选项和 oflag=dsync 含义一样。
- 该命令执行完成后展示的数据:
```
[root@youmeek ~]# dd if=/dev/zero of=/opt/ioTest1.txt bs=1G count=1 oflag=dsync
记录了1+0 的读入
记录了1+0 的写出
1073741824字节(1.1 GB)已复制5.43328 秒198 MB/秒
```
- 利用 hdparm 测试硬盘速度:`yum install -y hdparm`
- 查看硬盘分区情况:`df -h`,然后根据分区测试:
- 测试硬盘分区的读取速度:`hdparm -T /dev/sda`
- 测试硬盘分区缓存的读取速度:`hdparm -t /dev/sda`
- 也可以以上两个参数一起测试:`hdparm -Tt /dev/sda`,结果数据如下:
```
/dev/sda:
Timing cached reads: 3462 MB in 2.00 seconds = 1731.24 MB/sec
Timing buffered disk reads: 806 MB in 3.00 seconds = 268.52 MB/sec
```
## 查看网络
- 安装 iftop需要有 EPEL 源):
```
yum install -y iftop
```
- 如果没有 EPEL 源:`yum install -y epel-release`
- 常用命令:
- `iftop`:默认是监控第一块网卡的流量
- `iftop -i eth1`监控eth1
- `iftop -n`直接显示IP, 不进行DNS反解析
- `iftop -N`:直接显示连接埠编号, 不显示服务名称
- `iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0`:显示某个网段进出封包流量

View File

@ -1,133 +0,0 @@
---
title: yum 命令
date: 2018/02/26
categories:
- linux
tags:
- linux
- yum
---
# yum 命令
yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器它可以使系统管理人员交互和自动化地更细与管理RPM软件包能够从指定的服务器自动下载RPM包并且安装可以自动处理依赖性关系并且一次安装所有依赖的软体包无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令而且命令简洁而又好记。
## yum 用法
### 语法
```
yum(选项)(参数)
```
### 选项
```
-h显示帮助信息
-y对所有的提问都回答“yes”
-c指定配置文件
-q安静模式
-v详细模式
-d设置调试等级0-10
-e设置错误等级0-10
-R设置yum处理一个命令的最大等待时间
-C完全从缓存中运行而不去下载或者更新任何头文件。
```
### 参数
```
install安装rpm软件包
update更新rpm软件包
check-update检查是否有可用的更新rpm软件包
remove删除指定的rpm软件包
list显示软件包的信息
search检查软件包的信息
info显示指定的rpm软件包的描述信息和概要信息
clean清理yum过期的缓存
shell进入yum的shell提示符
resolvedep显示rpm软件包的依赖关系
localinstall安装本地的rpm软件包
localupdate显示本地rpm软件包进行更新
deplist显示rpm软件包的所有依赖关系。
```
### 实例
部分常用的命令包括:
- 自动搜索最快镜像插件:`yum install yum-fastestmirror`
- 安装yum图形窗口插件`yum install yumex`
- 查看可能批量安装的列表:`yum grouplist`
**安装**
```
yum install #全部安装
yum install package1 #安装指定的安装包package1
yum groupinsall group1 #安装程序组group1
```
**更新和升级**
```
yum update #全部更新
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1
```
**查找和显示**
```
yum info package1 #显示安装包信息package1
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息yum search string 根据关键字string查找安装包
yum search <keyword> #查找软件包
```
**删除程序**
```
yum remove <package_name> #删除程序包package_name
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况
```
**清除缓存**
```
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
```
## yum 源
yum 的默认源是国外的,下载速度比较慢,所以最好替换为一个国内的 yum 源。
| 推荐 yum 国内源 | 源地址 |
| ---------------------------- | ---------------------------------------- |
| <http://mirrors.163.com/> | Centos6http://mirrors.aliyun.com/repo/Centos-6.repo<br>Centos7http://mirrors.aliyun.com/repo/Centos-7.repo |
| <http://mirrors.aliyun.com/> | Centos6http://mirrors.163.com/.help/CentOS6-Base-163.repo<br>Centos7http://mirrors.163.com/.help/CentOS7-Base-163.repo |
> 注意Cento5 已废弃,只能使用 http://vault.centos.org/ 替换,但由于是国外镜像,速度较慢。
>
替换方法,以 aliyun CentOS7 为例:
```
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
```
## 资料
* http://man.linuxde.net/yum
* http://www.runoob.com/linux/linux-yum.html