加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

rh6.7 : 升级yum

发布时间:2020-12-15 16:19:52 所属栏目:安全 来源:网络整理
导读:序 想更新rh6.7企业版上的gcc,才能编译手头的工程. 先要使yum可以更新非本地的软件,再从外网升级yum. 实验还没做完,先记录这些. 实验 rh企业版要升级,正常是要有企业账号. 个人账号不好使. 网上的方法是找centos版的yum配置文件进行修改和替换. 网上有个原版

想更新rh6.7企业版上的gcc,才能编译手头的工程.
先要使yum可以更新非本地的软件,再从外网升级yum.
实验还没做完,先记录这些.

实验

rh企业版要升级,正常是要有企业账号. 个人账号不好使.
网上的方法是找centos版的yum配置文件进行修改和替换.
网上有个原版centos的rhel-source.repo,下载后,将文件中的$releasever文本都换成6,然后替换到/etc/yum.repos.d/rhel-source.repo.

#
# @file rhel-souce.repo
# please replace all $releasever to 6,means the file's configure is for centos6
# after modify,please replace to /etc/yum.repos.d/rhel-source.repo
#

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-source-beta]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.163.com/centos/6/os/x86_64/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.163.com/centos/6/updates/x86_64/repodata/repomd.xml
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

#packages used/produced in the build but not released
#[addons]
#name=CentOS-$releasever - Addons
#baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/
#gpgcheck=1
#gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.163.com/centos/6.0/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages

[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.163.com/centos/6.0/centosplus/$basearch/
gpgcheck=1
enabled=0

升级yum

替换完配置文件后,可以从外网进行yum了.
现在升级yum,写了一个很挫的脚本来进行yum升级.
用wget时,发现centos镜像站点上的目录结构和文件名已经变了,如果以后还要用这个脚本,要去镜像站点先确认下,文件名称和位置,如果变了,替换脚本中的对应文件名称和下载点url.
如果将博客中的脚本贴到.sh后,需要在vi或si中处理一下回车符号为unix回车符号.

# @file wget_yum.sh
# @brief when copy wget_yum.sh to linux,chmod 777 wget_yum.sh,then run wget_yum.sh
# chmod 777 wget_yum.sh
# wget_yum.sh

function sh_main {
    clear
    printf "================================================================================n"
    printf "================================================================================n"
    printf "================================================================================n"
    printf "================================================================================n"
    printf "================================================================================n"
    printf "================================================================================n"
    printf "wget yum begin...n"
    printf "================================================================================n"
# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum*.rpm,have 31 rpm
# and need install some depend rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
# yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
    fn_wget 0 yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
# fn_install yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
    fn_wget 0.1 yum-3.2.29-81.el6.centos.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
# fn_install yum-3.2.29-81.el6.centos.noarch.rpm

# have depend each other,must install together 
    rpm --install yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm yum-3.2.29-81.el6.centos.noarch.rpm

    fn_wget 0.30 deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

    fn_wget 0.30 python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

    fn_wget 0.3 python-decoratortools-1.7-4.1.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install  python-decoratortools-1.7-4.1.el6.noarch.rpm

    fn_wget 0.2 createrepo-0.9.9-26.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install createrepo-0.9.9-26.el6.noarch.rpm

# python-urlgrabber-3.9.1-11.el6.noarch.rpm 
    rpm -aq|grep python-urlgrabber|xargs rpm -e --nodeps
    fn_wget 1 python-urlgrabber-3.9.1-11.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install python-urlgrabber-3.9.1-11.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-NetworkManager-dispatcher-1.1.30-40.el6.noarch.rpm
    fn_wget 2 yum-NetworkManager-dispatcher-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-NetworkManager-dispatcher-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-cron-3.2.29-81.el6.centos.noarch.rpm
    fn_wget 3 yum-cron-3.2.29-81.el6.centos.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-cron-3.2.29-81.el6.centos.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
    fn_wget 4 yum-metadata-parser-1.1.2-16.el6.x86_64.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-aliases-1.1.30-40.el6.noarch.rpm
    fn_wget 5 yum-plugin-aliases-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-aliases-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-auto-update-debug-info-1.1.30-40.el6.noarch.rpm
    fn_wget 6 yum-plugin-auto-update-debug-info-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-auto-update-debug-info-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-changelog-1.1.30-40.el6.noarch.rpm
    fn_wget 7 yum-plugin-changelog-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-changelog-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-filter-data-1.1.30-40.el6.noarch.rpm
    fn_wget 9 yum-plugin-filter-data-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-filter-data-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fs-snapshot-1.1.30-40.el6.noarch.rpm
    fn_wget 10 yum-plugin-fs-snapshot-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-fs-snapshot-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-keys-1.1.30-40.el6.noarch.rpm
    fn_wget 11 yum-plugin-keys-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-keys-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-list-data-1.1.30-40.el6.noarch.rpm
    fn_wget 12 yum-plugin-list-data-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-list-data-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-local-1.1.30-40.el6.noarch.rpm
    fn_wget 13 yum-plugin-local-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-local-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-merge-conf-1.1.30-40.el6.noarch.rpm
    fn_wget 14 yum-plugin-merge-conf-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-merge-conf-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-ovl-1.1.30-40.el6.noarch.rpm
    fn_wget 15 yum-plugin-ovl-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-ovl-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-post-transaction-actions-1.1.30-40.el6.noarch.rpm
    fn_wget 16 yum-plugin-post-transaction-actions-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-post-transaction-actions-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-priorities-1.1.30-40.el6.noarch.rpm
    fn_wget 17 yum-plugin-priorities-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-priorities-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-protectbase-1.1.30-40.el6.noarch.rpm
    fn_wget 18 yum-plugin-protectbase-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-protectbase-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-ps-1.1.30-40.el6.noarch.rpm
    fn_wget 19 yum-plugin-ps-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-ps-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-remove-with-leaves-1.1.30-40.el6.noarch.rpm
    fn_wget 20 yum-plugin-remove-with-leaves-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-remove-with-leaves-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-rpm-warm-cache-1.1.30-40.el6.noarch.rpm
    fn_wget 21 yum-plugin-rpm-warm-cache-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-rpm-warm-cache-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-security-1.1.30-40.el6.noarch.rpm
    fn_wget 22 yum-plugin-security-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-security-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-show-leaves-1.1.30-40.el6.noarch.rpm
    fn_wget 23 yum-plugin-show-leaves-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-show-leaves-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-tmprepo-1.1.30-40.el6.noarch.rpm
    fn_wget 24 yum-plugin-tmprepo-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-tmprepo-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-tsflags-1.1.30-40.el6.noarch.rpm
    fn_wget 25 yum-plugin-tsflags-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-tsflags-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-upgrade-helper-1.1.30-40.el6.noarch.rpm
    fn_wget 26 yum-plugin-upgrade-helper-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-upgrade-helper-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-verify-1.1.30-40.el6.noarch.rpm
    fn_wget 27 yum-plugin-verify-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-verify-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-versionlock-1.1.30-40.el6.noarch.rpm
    fn_wget 28 yum-plugin-versionlock-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-plugin-versionlock-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-presto-0.6.2-1.el6.noarch.rpm
    fn_wget 29 yum-presto-0.6.2-1.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-presto-0.6.2-1.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-updateonboot-1.1.30-40.el6.noarch.rpm
    fn_wget 30 yum-updateonboot-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-updateonboot-1.1.30-40.el6.noarch.rpm

# wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-utils-1.1.30-40.el6.noarch.rpm
# fn_wget 31 yum-utils-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6/os/x86_64/Packages/
    fn_install yum-utils-1.1.30-40.el6.noarch.rpm

    printf "================================================================================n"
    printf "ENDn"
    printf "================================================================================n"
}

# @fn : fn_wget
# @param file number. e.g. file 1
# @param rpm name have not url,e.g. yum-utils-1.1.30-40.el6.noarch.rpm
# @param rpm's url,e.g. http://mirrors.163.com/centos/6/os/x86_64/Packages/
function fn_wget {
# echo ">> fn_wget --------------------------------------------------------------------------------"
    echo "process $1 ..."
    if [ -f ./$2 ]; then 
# echo "file $1 exists : $2,ok"; 
        printf ""
    else 
    echo "<< fn_wget --------------------------------------------------------------------------------"
        echo "file $1 not exists : download $2 ..."; 
    echo "<< fn_wget --------------------------------------------------------------------------------"
        wget $3$2; 
    fi;
# echo "<< fn_wget --------------------------------------------------------------------------------"
}

# @fn : fn_install
# @param rpm name have not url,e.g. yum-utils-1.1.30-40.el6.noarch.rpm
function fn_install {
    echo ">> fn_install --------------------------------------------------------------------------------"
    echo "install file ./$1 ..."
    if [ -f ./$1 ]; then 
        echo "file $1 exists : ./$1"; 
        rpm --install "./$1"; 
    else 
        echo "install failed : file not exists : ./$1 ..."; 
    fi;
    echo "<< fn_install --------------------------------------------------------------------------------"
}

sh_main "$@"

总结

升级完yum,就可以去升级gcc到新版本了. 实验还没做. 不升级linux版本,只升级部分组件(e.g. yum,gcc),还是有潜在问题的. 如果用户那的计算机本来运行的溜溜的,谁也不能保证他用的现有软件是否会依赖升级后的组件. 最好的方法,还是不升级用户计算机上的任何组件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读