Tag Archive: yum

11月 29th, 2017

说明:之前在CentOS7下配置过bridge,现在讲bridge模式改为普通模式后,查看网卡的时候还是可以看到很多垃圾信息,想彻底删除自己不想要的网卡配置信息,操作如下:

前言

由于服务器centos6.8安装MySQL一直出现不能连接问题,然后看到一个方法,一不小心就把yum给删除了,都还原不了,很是绝望,很难受。然后没有yum这个centos就感觉废了,然后找方法装上去。

python –version查看python 版本
whereis python 查看python文件
python: /usr/bin/python2.6 /usr/bin/python /usr/lib /python2.7 /usr/lib/python2.6 /usr/lib64/python2.7 /usr/lib64/python2.6 /usr/include/python2.7 /usr/share/man/man1/python.1.gz

centos6.8基本底层Python是python2.6, centos7是2.7,我的是centos6.8
解决办法

方法一:

这个网友解决的方法,记录一下

$ rpm -qa | grep python- | grep 2.6
$ sudo rpm -ivh –force –nodeps ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.5/x86_64/updates/fastbugs/python-2.6.6-52.el6.x86_64.rpm

解决问题,yum可以使用,原理估计是python回滚到默认的2.6

方法二 :

这个我的解决方法

http://mirrors.163.com/centos/6/os/x86_64/Packages/

1、 到上面这个网站去下载如下RPM包

python-iniparse-0.3.1-2.1.el6.noarch.rpm
yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
yum-3.2.29-69.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm

2、 下载完成之后,用rpm命令进行安装,如下:

rpm -ivh –force –nodeps python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh –force –nodeps yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
rpm -ivh –force –nodeps  yum-3.2.29-69.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm

3、到 http://yum.baseurl.org/wiki

下载yum-3.4.3.tar.gz ,放到你指定的目录下解压,解压命令如下:
tar -zxvf yum-3.4.3.tar.gz     #解压后进到yum-3.4.3目录

4、输入./yummain.py update

完成之后,输入yum 解决问题
注意

在下载上面的安装包的时候注意自己的centos的版本和这个安装包的对应性,不然也是没用的。
参考

http://blog.sina.com.cn/s/blog_4cbf97060100u2zb.html

http://blog.csdn.NET/u011531010/article/details/53528054

http://blog.sina.com.cn/s/blog_643754960102w82m.html

http://stackoverflow.com/questions/17490921/no-module-named-rpm-when-i-call-yum-on-shell  http://blog.csdn.net/u011832895/article/details/53735198

TAGS: ,
7月 26th, 2017

[root@localhost ~]# vi /etc/yum

 

[root@localhost yum]# yum install yum-cron -y

 

[root@localhost yum]# ls

fssnap.d  pluginconf.d  protected.d  vars  version-groups.conf  yum-cron.conf  yum-cron-hourly.conf

[root@localhost yum]# vi yum-cron.conf

 

 

开启自动更新

[root@localhost ~]# systemctl start crond

 

[root@localhost ~]# yum -y install cronie

[root@localhost ~]# yum -y install yum-cron

[root@localhost ~]# systemctl start yum-cron

 

关闭自动更新

[root@localhost ~]# gedit /etc/yum/yum-cron.conf

update_messages = no

download_updates = no

TAGS: ,
2月 28th, 2017

Yum是一个在CentOS上安装,删除和更新软件包的强大工具。众所周知的是,YUM 在您的专用服务器或桌面计算机上采用最快镜像下载并安装软件包。

有时你和缓存在YUM 之间的镜像的连接速度慢,软件包的下载速度非常慢。

为加快YUM,你可以在你的专用服务器重置YUM的最快镜像,并让它选择一个新快速镜像下载软件包。

要在YUM上执行此速度加快,你应该运行如下命令到你的SSH控制台。此命令将删除你目前最快镜像的缓存文件,当你运行YUM时,它将自动为自己选择一个新的镜像。

rm-f /var/cache/yum/timedhosts.txt

你现在可以很快地安装软件包…

yum -y update all(更新所有)
yum -y install PACKAGE_NAME(软件包-名称)

TAGS: ,
2月 25th, 2017

Yum 是 RHEL/CentOS 的一个基于 rpm 的交互式高级包管理器,用户可以用它来安装新的软件包、卸载或清除旧的/不需要的软件包。它可以自动运行系统更新,并执行依赖分析,对已安装的或可用的软件包进行查询等等。

在本文中,我们将解释如何查看 Yum 事务的历史记录,以便于了解有关安装的软件包以及从系统中所卸载/清除软件包的信息。

 

以下是一些如何使用 Yum 历史命令的示例。

查看完整的 Yum 历史

要查看 Yum 事务完整的历史记录,我们可以运行以下命令,然后将显示:事务 ID、执行特定操作的用户、操作发生的日期和时间、实际操作以及任何错误的附加信息与操作:

  1. # yum history

查看 Yum 历史

查看 Yum 历史

使用 Yum 查找软件包信息

history 的子命令:info/list/summary 可以将事务 ID 或包名作为参数。此外,list 子命令可以加上特殊的参数,all 表示所有的事务。

运行以下命令查看先前的历史:

  1. # yum history list all

并且,你可以使用下面的 info 命令查看涉及指定软件包的事务详情,例如 httpd

  1. # yum history info httpd

Yum - 查找软件包信息

Yum – 查找软件包信息

发出以下命令可以获得包含 httpd 软件包的事务的摘要:

  1. # yum history summary httpd

Yum - 查找软件包的摘要

Yum – 查找软件包的摘要

还可以使用事务的 ID 来查找,以下命令会显示 ID 为 15 的事务的详情。

  1. # yum history info 15

Yum - 使用 ID 查找软件包信息

Yum – 使用 ID 查找软件包信息

使用 yum history 查找软件包事务信息

有一些用于打印某个或多个软件包事务详情的子命令。我们可以使用 package-listpackage_info 查看关于 httpd 的更多信息,例如:

  1. # yum history package-list httpd
  2. # yum history package-info httpd

Yum - 查找软件包事务信息

Yum – 查找软件包事务信息

要得到多个软件包的记录,我们可以运行:

  1. # yum history package-list httpd epel-release
  2. # yum history packages-list httpd epel-release

Yum - 查找多个软件包的信息

Yum – 查找多个软件包的信息

使用 Yum 回滚软件包

此外,还有一些 history 的子命令可以让我们撤销/重做/回滚事务。

  1. undo – 会撤销一个指定的事务。
  2. redo – 重复一次指定的事务。
  3. rollback – 撤销指定事务之后的所有事务。

它们采用单个事务 id 或关键字 last 和从最后一个事务开始的偏移量。

例如,假设我们已经做了 60 个事务,last 是指事务 60,last-4 指向事务 56。

以上子命令是如下工作的:如果我们有 5 个事务——V,W,X,Y 和 Z,其中分别是安装各个软件包的。

  1. # yum history undo 2 #将删除软件包 W
  2. # yum history redo 2 #将重新安装软件包 W
  3. # yum history rollback 2 #将删除软件包 X Y Z

在下面的示例中,事务 2 是一个更新操作,如下所示,以下 redo 命令将重复事务 2 直到所有软件包到更新到当前时间的最新版本:

  1. # yum history | grep -w "2"

Yum - 查找软件包事务的 ID

Yum – 查找软件包事务的 ID

  1. # yum history redo 2

用 Yum 重新更新软件包

用 Yum 重新更新软件包

redo 子命令同样可以在我们指定事务之前加上一些可选的参数:

  1. force-reinstall – 重新安装所有在此事务中安装的软件包(通过 yum installupgradedowngrade)。
  2. force-remove – 移除所有已经更新或回滚的软件包。
  1. # yum history redo force-reinstall 16

Yum - 强制安装软件包

Yum – 强制安装软件包

查找 Yum 历史数据库和来源信息

这些子命令为我们提供有关历史记录数据库和其它信息来源的信息:

  1. addon-info – 提供更多的信息来源。
  2. stats – 显示当前历史数据库的统计信息。
  3. sync – 使我们能够更改为所有已安装软件包存储的 rpmdb/yumdb 数据。

看一下以下的命令的子命令实际上是怎样工作的:

  1. # yum history addon-info
  2. # yum history stats
  3. # yum history sync

使用 new 子命令设置新的历史文件:

  1. # yum history new

我们可以在 yum 手册页找到关于 Yum history 命令和其它几个命令的完整信息:

  1. # man yum

 

TAGS: ,
10月 3rd, 2016

yum是基于Red Hat的系统(如CentOS、Fedora、RHEl)上的默认包管理器。使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。但是如果你只想将一个RPM包下载到你的系统上该怎么办呢? 例如,你可能想要获取一些RPM包在以后使用,或者将他们安装在另外的机器上。

这里说明了如何从yum仓库上下载一个RPM包。

方法一:yum

yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的。

  1. $ sudo yum install --downloadonly <package-name>

默认情况下,一个下载的RPM包会保存在下面的目录中:

  1. /var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages

以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)

如果你想要将一个包下载到一个指定的目录(如/tmp):

  1. $ sudo yum install --downloadonly --downloaddir=/tmp <package-name>

注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。

另外一个重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项:

  1. $ sudo yum install yum-plugin-downloadonly

如果没有该插件,你会在使用yum时得到以下错误:

  1. Command line error: no such option: --downloadonly

方法二: Yumdownloader

另外一个下载RPM包的方法就是通过一个专门的包下载工具–yumdownloader。 这个工具是yum工具包(包含了用来进行yum包管理的帮助工具套件)的子集。

  1. $ sudo yum install yum-utils

下载一个RPM包:

  1. $ sudo yumdownloader <package-name>

下载的包会被保存在当前目录中。你需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。

TAGS: ,
6月 25th, 2016

yum 安装更新提示 rpmdb: Thread/process failed: Thread died in Berkeley DB library

在服务器(centos系统)上使用yum/rpm时的一个报错,如下:

#yum install -y wget
rpmdb: Thread/process 5542/139697184122624 failed:Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 – (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

 

对于cpanel用户,相应遇到相关的错误,如WHM>>Restart Services重启任何服务,均会报以下错误:

图片1

还有cpanel切换PHP版本(select PHP version):

图片2

以上情况,均因为RPM数据库出现损坏导致.它导致所有的软件的升级、安装甚至删除都会出现问题.

网上查看,一共有以下几种方法:

<1>备份>>重建RPM库

su  – root

cd /var/lib/rpm/

for i in ‘ls | grep ‘db.”;do mv $i $i.bak;done #做一下备份

rpm –rebuilddb #重建该数据库(rebuild the database indices from the installed package headers)

yum clean all

注意区别:–rebuilddb:重建已经安装的RPM资料库 ,–initdb:创建一个新的RPM资料库

 

<2>暴力删除,然后update(常见)

rm -rf /var/lib/rpm/_db.*

yum update

 

<3>备份服务器恢复备份(个人)

因为本人管理的服务器存在备份,所以做了以下操作:

cd /var/lib/

mv rpm rpmold

通过备份服务器恢复了rpm目录数据(恢复数据时间依个人而定),再次执行yum命令时,正常.

TAGS: , ,
8月 19th, 2015

1.  通过yum安装 ppp:

$ yum install ppp perl -y

2. 下载安装pptpd,你可以在这个网站获得 http://poptop.sourceforge.net/yum/stable/packages/ :

(根据操作系统位数而定,这里是64位的x86_64版本)


$ wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.x86_64.rpm
$ rpm -Uhv pptpd-1.3.4-2.el6.x86_64.rpm

(这里是32位的版本)

$ wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.i686.rpm
$ rpm -ivh pptpd-1.4.0-1.el6.i686.rpm

3. 安装好之后打开 /etc/pptpd.conf 增加或者修改下面的配置:

localip 172.16.0.1
remoteip 172.16.0.2-254

4. 打开 /etc/ppp/options.pptpd 添加vpn的dns(使用google的dns):

ms-dns 8.8.8.8
ms-dns 8.8.4.4

5. 给vpn添加账户,打开 /etc/ppp/chap-secrets 按照下面的格式添加用户名密码:

pcvpn pptpd 123456 *

格式是这样的: [username] [space] [server] [space] [password] [space][IP addresses]

6. 我们需要开启服务的的IP转发. 打开 /etc/sysctl.conf 更改下面的配置:

net.ipv4.ip_forward = 1
#net.ipv4.tcp_syncookies = 1 注释掉这一行

7. 运行下面的命令,使配置生效:

$ sysctl -p

8. 在防火墙中添加规则允许NAT转换 设置清空防火墙使VPN用户可以连接

$ service iptables start
$ iptables -F
$ iptables -X
$ iptables -Z
$ service iptables save
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
$ sed -i "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g" /etc/sysctl.conf
$ service iptables save 
$ service iptables restart

注意:当你做完第八步的时候检查一下  /etc/sysconfig/iptables.确保 POSTROUTING 规则在任何 REJECT 规则前

面根据VPS实现的不同,主要有openVZ和XEN,hyper-v规则分别为:

OpenVZ: iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source **.**.**.**(这里为VPS公网
IP)
XEN:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

9.  开启pptpd服务的自启动,并重新服务器

$ chkconfig pptpd on 
$ chkconfig pptpd on

到这一步,VPN服务器就配置成功了,可以使用帐号pcvpn 密码123456 登陆使用了,你就可以通过VPN客户端连接打服

务器了. 你可以查看 /var/log/message for ppp and pptpd 相关日志.

TAGS: ,