设为首页 收藏本站
查看: 542|回复: 0

[经验分享] 五天学redhat之

[复制链接]

尚未签到

发表于 2018-5-12 09:17:39 | 显示全部楼层 |阅读模式
     其实这个要放在系统安装完之后的第一篇!明明是刚做完系统,RHEL本身是付费的,我们没有现在更新的权利,要好多$呀!!那么我们为了解决这个问题,可以做一个本地YUM源,就是安装rpm的库.。
      redhat跟centos用的是rpm的包管理工具,而debian,ubuntu系列的是用deb作为包管理工具。我们这里重点的是rpm,yum.
      rpm(rpm package manager)rpm包管理工具。那RPM仅适用用RPM格式来打包的软件。RPM可以集成来linux发行版(redhat),也可以独立以应用软件发行(gentoo).
      rpm历史:rpm最早是redhat公司搞出来的东西,那redhat上应用。发展到现在已经应用到了很多GNU/linux的发行版中。
      RPM原名其实是(redhat package manager)后来才更名至   (rpm package manager)
      rpm的内容其实很多,我仅提供一些资源方便大家深入学习。
          redhat doc:developent part2
          rpm repo : http://rpm.pbone.net/ //下载rpm包
          rpm site: rpm 文档区
     我们只先记住几个最常用的命令:
[root@sjx ~]# rpm -qa | grep vsftpd
vsftpd-2.2.2-11.el6.x86_64   //查找包是否被安装


[root@sjx ~]# rpm -ql vsftpd-2.2.2-11.el6.x86_64 //然后根据上一步的输出,来查看这个包里面到底有神东西。这个输出的东西太多了我找一个少的。


     我要查看某个文件是属于那个rpm包的。
[root@sjx ~]# rpm -qf /etc/passwd
setup-2.8.14-16.el6.noarch
//再看这个包里面是什么东西。里面装的都是系统很重要的配置文件!!!
[root@sjx ~]# rpm -ql setup-2.8.14-16.el6.noarch
/etc/aliases
/etc/bashrc
/etc/csh.cshrc
/etc/csh.login
/etc/environment
/etc/exports
/etc/filesystems
/etc/fstab
/etc/group
/etc/gshadow
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/inputrc
/etc/motd
/etc/mtab
/etc/passwd
/etc/printcap
/etc/profile
/etc/profile.d
/etc/protocols
/etc/securetty
/etc/services
/etc/shadow
/etc/shells
/usr/share/doc/setup-2.8.14
/usr/share/doc/setup-2.8.14/COPYING
/usr/share/doc/setup-2.8.14/uidgid
/var/log/lastlog


      安装RPM包
apm -ivh xxx.rpm

      我提供一个思路,要整体学习RPM最后的建议是先用好基本命令,然后学会使用YUM工具,最后学会自己打包RPM。完成RPM包的制作。那样就有最直观的应用,不会过于在命令上纠结了。


      Yum:yellow dog update .该系统基于rpm和一个reopdata的数据列表的库。yum可以调用多个库来解决依赖关系,获取rpm数据和需要安装的软件包。这个是学习RPM的很好的工具。
         1. rpm 的前端程序
         2. 用来解决软件包的依赖关系
         3. 可以再多个库之间定位软件包
         4. up2date的替代工具
      但是你要明白,yum只是代替rpm工具来做事,装的还是rpm包,只是他的功能给我们用的人带了很多的方便。安装,删除软件。包括制作本地的yum源,网络更新的yum,而且他的命令风格跟RPM很相似。
      那么我们从装完机器开始!
第一步:因为redhat是付费版的没办法RHN在线更新,那我们就用yum做一个本地更新的yum源。
前提是要把光盘挂在到/mnt下面:[root@kikupotter ~]# mount Documents/rhel-server-6.2-x86_64-dvd.iso /mnt -o loop


然后运行:
cat >/etc/yum.repos.d/base.repo<<EOF
[base]
name=rhel
baseurl=file:///mnt/Server
gpgcheck=0
EOF

     更新repo
[root@kikupotter ~]# yum list  //会读取repo文件的内容,将数据库记入到yum中。


      然后我更新一下 看看有没有包要更新
[root@kikupotter ~]# yum check-update
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
base                                                                                                        | 4.0 kB         00:00         


     我安装一个小程序
[root@kikupotter ~]# yum    install tightvnc
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tigervnc.x86_64 0:1.0.90-0.17.20110314svn4359.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package             Arch                Version                                                            Repository
                                                                                                                                                    Size
================================================================================
Installing:
tigervnc            x86_64            1.0.90-0.17.20110314svn4359.el6            base            260 k

Transaction Summary
================================================================================
Install             1 Package(s)

Total download size: 260 k
Installed size: 651 k
Is this ok [y/N]: y
Downloading Packages:
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm            | 260 kB         00:00         
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
    Installing : tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64                            1/1
Installed products updated.

Installed:
    tigervnc.x86_64 0:1.0.90-0.17.20110314svn4359.el6                                                         

Complete!
[root@kikupotter ~]#


      整个的安装过程是 加载插件,启动验证,启动安装,解决依赖,下载安装包,确定安装,安装测试,安装成功。整个过程看上面的输出大体就知道什么样的情况了,再说明一下:包的信息大家要注意哦,arch,repo,version等。
      安装完之后,如果要检查此包是否有更新,那么:
[root@kikupotter ~]#    yum check-update


      如果有tightvnc
yum update tightvnc   // package_name


       那更新所有就是
直接yum update就可以了。
  找你想要的包
       有现成的包名给你当然好装了,但是如果要你找包,找到了再装,或者是已经装了某个包,但不知道名字。
第二个功能强大一点,只要跟tftp有关的包都会被列出来,而第一个的话就列出包名含有tftp的。
[root@kikupotter ~]# yum search tftp  
[root@kikupotter ~]# yum search    all tftp


       这是我经常用的命令,列出所有的包,然后在查找。
[root@kikupotter ~]# yum list | grep tftp
tftp.x86_64                                                    0.49-7.el6                                             @base        
tftp-server.x86_64                                        0.49-7.el6                                             @base     

       这个命令支持正则表达式
[root@kikupotter ~]#    yum list abrt-addon\* abrt-plugin\*
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Installed Packages
abrt-addon-ccpp.x86_64             2.0.4-14.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.2
abrt-addon-kerneloops.x86_64 2.0.4-14.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.2
abrt-addon-python.x86_64         2.0.4-14.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.2
[root@kikupotter ~]#


再来几个常用的命令
[root@kikupotter ~]# yum list installed

[root@kikupotter ~]# yum list all
//列出已经安装的安装包
[root@kikupotter ~]# yum list installed "krb?-*"
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Installed Packages
krb5-libs.x86_64                1.9-22.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.2
krb5-workstation.x86_64 1.9-22.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.2
//列出可用的,的安装包。
[root@kikupotter ~]#    yum list available gstreamer\*plugin\*
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Available Packages
gstreamer-plugins-bad-free.i686                                    0.10.19-2.el6                            base
gstreamer-plugins-base.i686                                            0.10.29-1.el6                            base
gstreamer-plugins-base-devel.i686                                0.10.29-1.el6                            base
gstreamer-plugins-base-devel.x86_64                            0.10.29-1.el6                            base
gstreamer-plugins-good.i686                                            0.10.23-1.el6                            base

      特别说一下,yum还有一个功能就是包组的管理。这个很好用的。比如说,我要装一个apache服务器,那么我要装很多个包,但是我如果用包组进行安装的话,只需要安装一个包组所有的依赖包都会全部安装上去。
安装KDE桌面
[root@kikupotter ~]# yum -v grouplist kde\*
Not loading "rhnplugin" plugin, as it is disabled
Not loading "blacklist" plugin, as it is disabled
Loading "product-id" plugin
Loading "refresh-packagekit" plugin
Loading "security" plugin
Loading "subscription-manager" plugin
Not loading "whiteout" plugin, as it is disabled
Updating certificate-based repositories.
Config time: 0.065
Yum Version: 3.2.29
Setting up Group Process
rpmdb time: 0.001
group time: 0.163
Available Groups:
    KDE 桌面 (kde-desktop)
Done


yum groupinstall group_name
yum groupinstall groupid
yum install @group
~]# yum groupinstall "KDE Desktop"
~]# yum groupinstall kde-desktop
~]# yum install @kde-desktop
用以上任何的一个命令都可以安装哦。
  查看包的信息
      在查找依赖的时候 ,最麻烦的就是版本的问题了,什么库要大于哪个哪个,要去找对应版本的包。
[root@kikupotter ~]#    yum info tftp
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Installed Packages
Name                : tftp
Arch                : x86_64
Version         : 0.49
Release         : 7.el6
Size                : 45 k
Repo                : installed
From repo     : base
Summary         : The client for the Trivial File Transfer Protocol (TFTP)
URL                 : http://www.kernel.org/pub/software/network/tftp/
License         : BSD
Description : The Trivial File Transfer Protocol (TFTP) is normally used only
                        : for booting diskless workstations.    The tftp package provides the
                        : user interface for TFTP, which allows users to transfer files to
                        : and from a remote machine.    This program and TFTP provide very
                        : little security, and should not be enabled unless it is expressly
                        : needed.


      这个命令跟rpm -q --info package_name,的输出的很相似的。
还有一个命令。
[root@kikupotter ~]# yumdb info tftp
Loaded plugins: product-id, refresh-packagekit
tftp-0.49-7.el6.x86_64
         checksum_data = 1d617eb42497772e4663232d84413e1b98270cd2d6ada61549c2d8b14a270f2f
         checksum_type = sha256
         command_line = -y install dhcp xinetd tftp vsftp nfs
         from_repo = base
         from_repo_revision = 1321545989
         from_repo_timestamp = 1321546519
         installed_by = 0
         reason = user
         releasever = 6Server


      列出的是数据库里面的信息。这个没怎么用过。
  删除包及包组。
     
这个很简单,把install 或者groupinstall 改成remove 或者groupremove就可以了。

~]# yum groupremove "KDE Desktop"
~]# yum groupremove kde-desktop
~]# yum remove @kde-desktop
这几个命令都可以完成KDE的删除。
       差不多这些命令,如果都能掌握就能完成常的包的管理,要实现一些高级的功能,文档部分已经给出链接,可以自己做一做RPM包,有公网IP的朋友可以试着搭建一个共享的yum源等等,还有一些命令的高级选项,都是要我们不断的去积累实践才能吸收。更高级的东西,知识储备我也不够只能跟大家分享这么多。我不提倡被命令,那样很痛苦。要体会他们取这个名字的用意,然后你就知道原来是这样子,嘿嘿。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-458962-1-1.html 上篇帖子: 如何在RedHat 5.4上使用免费的YUM源 下篇帖子: Redhat linux及其Oracle JRE、IBM JRE的时间、时区及夏令时
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表