码迷,mamicode.com
首页 > 系统相关 > 详细

linux基础入门之管理linux软件

时间:2017-08-13 13:26:45      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:程序配置   smbus   进制   sts   search   插件   传递   upgrade   桌面   

Linux软件包

软件包分类

源码包

修改源代码 编译 安装 运行效率更高更 加稳定

二进制包

优点 管理简单

缺点 不能修改源代码依赖性问题

    Redhat  centOS    rpm

    Debain  Ubuntu    deb

RPM包命名

name-version-release.arch.rpm                src.rpm 源码包

名称-版本-发行版.平台.rpm

version

主版本号 软件有了重大改进

次版本号 某个子功能发生重大变化

修订号   修复了软件的一些bug调整了部分功能

 

Release

发行版本号 是源程序配置完成后编译制作rpm包的版本

 

OS

el6  RHEL 6.x(Red Hat Enterprise Linux)/CentOS 6.x

fc20  Fedora

 

硬件平台CPU

硬件平台包括了:i386i486i586i686x86_64ppcsparcalpha

 

主包

   bind-9.7.1-i586.el5.rpm

子包

bind-libs-9.7.1-i586.el5.rpm

bind-utils-9.7.1-i586.el5.rpm

 

查看Linux内核

uname 查看linux操作系统版本和CPU类型

-a, --all                     以如下次序输出所有信息。其中若-p -i 的探测结果不可知则被省略:

  -s, --kernel-name                 输出内核名称

  -n, --nodename                   输出网络节点上的主机名

  -r, --kernel-release            输出内核发行号

  -v, --kernel-version            输出内核版本

  -m, --machine                输出主机的硬件架构名称

  -p, --processor                   输出处理器类型或"unknown"

  -i, --hardware-platform           输出硬件平台或"unknown"

  -o, --operating-system            输出操作系统名称

rpm管理

Redhat Package Manager

rpm 选项

     -i install  安装

     -U update)   升级软件

     -e erase  删除软件

     -q query   查询安装的软件

 

-h   显示安装的进度

-v   显示安装详细信息

-vv   显示更加详细的安装信息

安装软件

安装软件包 需要软件包的位置

[root@WebServer ~]# rpm -ivh /mnt/cdrom/Packages/zsh-4.3.10-5.el6.x86_64.rpm

[root@WebServer ~]# rpm -ivh /mnt/cdrom/Packages/nano-2.0.9-7.el6.x86_64.rpm

在软件包所在目录下可以不指定路径

[root@WebServer ~]# cd /mnt/cdrom/Packages/

[root@WebServer Packages]# rpm -ivh traceroute-2.0.14-2.el6.x86_64.rpm

 

--test     测试是否能够安装成功

--force     如果软件包冲突 也强制安装

--nodeps    不检测是否依赖其他软件

--noscripts  不执行任何安装脚本

--nopre     不执行安装前的脚本

 

查询软件

rpm -q             查看软件包的全名

rpm q pkgname

 

rpm qa             列出所有安装过的包

rpm qi             查看软件详细信息

rpm -ql              查看软件生成的文件

rpm –qc             查看配置文件位置

rpm qf /bin/sh            可以查看文件是由哪个程序生成的

rpm -q --scripts bash          查询软件包相关的脚本

 

查询未安装的软件包会产生哪些文件

rpm -qlp /mnt/cdrom/Packages/samba-3.6.9-151.el6.x86_64.rpm

查看软件包详细信息

rpm -qip /mnt/cdrom/Packages/samba-3.6.9-151.el6.x86_64.rpm

 

粗略查询软件包名称包含ftp的软件

[root@WebServer ~]# rpm -qa | grep "ftp"

 升级

-U  upgrade 如果不存在老版本 就是全新安装

-f  freshen 老版本必须存在

[root@WebServer ~]# umount /dev/cdrom

[root@WebServer ~]# mount /dev/cdrom /mnt/cdrom/

[root@WebServer ~]# rpm -Uvh /mnt/cdrom/Packages/zsh-4.3.10-7.el6.x86_64.rpm

 

[root@WebServer ~]# rpm -q zsh

zsh-4.3.10-5.el6.x86_64

zsh-4.3.10-7.el6.x86_64.rpm

zsh-5.0.2-7.el7.x86_64.rpm

软件升级不要跨操作系统主版本号

删除软件

-e  erase 删除

rpm -e zsh

校验

安装软件会按功能放到不同的文件中

/usr/bin        一些可运行文件

/usr/lib       一些程序使用的动态函式库

/etc          一些配置档放置的目录,例如 /etc/crontab

/usr/share/doc   一些基本的软件使用手册与说明档

/usr/share/man   一些 man page 文件

 

软件相关的数据库

[root@WebServer ~]# /var/lib/rpm

 

如果软件的文件发生变化,会列出变化的文件

[root@WebServer ~]# rpm -V vsftpd

missing   c /etc/vsftpd/ftpusers  

S.5....T.  c /etc/vsftpd/user_list

SM5..UGT.  c /etc/vsftpd/vsftpd.conf

 

提示代码的含义:

S (file Size differs) 文件的容量大小是否被改变

M (Mode differs) 文件的类型或文件的属性 (rwx) 是否被改变?如是否可运行等参数已被改变

5 (MD5 sum differs) MD5 这一种指纹码的内容已经不同

D (Device major/minor number mis-match) 装置的主/次代码已经改变

L (readLink(2) path mis-match) Link 路径已被改变

U (User ownership differs) 文件的所属人已被改变

G (Group ownership differs) 文件的所属群组已被改变

T (mTime differs) 文件的创建时间已被改变

missing: 文件丢失

 

软件数字签名

对称加密  加密秘钥和解密秘钥是同一个秘钥  优点效率高 缺点 不适用在网络中传输秘钥 秘钥维护复杂

 

非对称加密  加密秘钥和解密秘钥不是同一个秘钥  公钥和私钥

            公钥加密 必须使用私钥解密

            私钥加密 必须使用公钥解密

            缺点 加密效率低

            优点 公钥适合在网络中传递 秘钥维护简单

数字签名    不能抵赖 确认来源 签名之后没更改过

 

--nosignature 不检查签名

--nodigest  不检查完整性

 

只检测软件包完整性

[root@WebServer ~]# rpm -K --nosignature

/mnt/cdrom/Packages/traceroute-2.0.14-2.el6.x86_64.rpm

/mnt/cdrom/Packages/traceroute-2.0.14-2.el6.x86_64.rpm: sha1 md5 OK

 

查看Linux系统上红帽公司的公钥

[root@WebServer ~]# ls /etc/pki/rpm-gpg/

RPM-GPG-KEY-redhat-beta           RPM-GPG-KEY-redhat-legacy-release  RPM-GPG-KEY-redhat-release

RPM-GPG-KEY-redhat-legacy-former  RPM-GPG-KEY-redhat-legacy-rhx

 

导入redhat公钥到rpm数据库

[root@WebServer ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

只检测软件包签名

[root@WebServer ~]# rpm -K --nodigest

/mnt/cdrom/Packages/traceroute-2.0.14-2.el6.x86_64.rpm   

/mnt/cdrom/Packages/traceroute-2.0.14-2.el6.x86_64.rpm: rsa (md5) pgp OK

 

检查rpm软件包完整性和数字签名

[root@WebServer ~]# rpm -K  /mnt/cdrom/Packages/traceroute-2.0.14-2.el6.x86_64.rpm

/mnt/cdrom/Packages/traceroute-2.0.14-2.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

 

重建rpm数据库

数据库文件遭到损害 重建数据库

rpm  --rebuilddb 内容损坏

rpm --initdb  初始化(数据库文件丢失

 

yum命令介绍

yum(全称为 Yellow dog Updater, Modified)是一个在FedoraRedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum源全局设置

定义共性配置信息yum仓库),主配置文件大多数情况不需要修改

[root@WebServer ~]# cat /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever  #缓存目录

keepcache=0       #是否保留本地缓存   0不保留

debuglevel=2       #调试级别  

logfile=/var/log/yum.log    #记录到日志  

exactarch=1    #检查平台是否兼容  1检查

obsoletes=1    #检查包是否废弃  1检查

gpgcheck=1    #检查来源是否合法 需要有制作者的公钥信息  1检查

plugins=1      #是否启用插件   1启用

installonly_limit=3   #指明保留多少个内核包

 

配置多个yum

网络方式

  ftp  http

本地yum方式

  Linux上一个文件夹

查看配置好的yum

[root@WebServer ~]# yum repolist

yum

[root@WebServer ~]# /etc/yum.repos.d/

在该目录中所有的*.repo文件都是一个yum仓库一个文件可以有多个yum仓库

配置本地源

[rhel-source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source   #名称

baseurl=file:///mnt/cdrom/Server    #路径

#baseurl=file:///mnt/cdrom/

enabled=1    #启用

gpgcheck=0   #不检查数字签名

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release   #数字签名路径

配置ftp

[ftp-source]

name=ftp-Server-source

baseurl=ftp://192.168.80.66/Server

enabled=0

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

配置http

[web-source]

name=Web-Server-source

baseurl=http://192.168.80.100/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

需要配置Web站点属性

application/octet-stream

技术分享技术分享

配置redhat使用centOS

下载库配置文件

http://mirrors.163.com/.help/CentOS6-Base-163.repo

配置

[base]

name=CentOS-$releasever - Base - 163.com

baseurl=http://mirrors.163.com/centos/6/os/x86_64/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

 

[updates]

name=CentOS-$releasever - Updates - 163.com

baseurl=http://mirrors.163.com/centos/6/updates/x86_64/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

 

[extras]

name=CentOS-$releasever - Extras - 163.com

baseurl=http://mirrors.163.com/centos/6/extras/x86_64/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

 

yum源的XML文件

XML扩展标记语言 标记包的依赖关系

yum源的xml文件存放在/var/cache/yum/

  Repomd.xml     记录下面三个文件的时间戳和校验和

  Primary.xml.gz   仓库所有rpm包和依赖关系都在这个文件

  Filelists.xml.gz   所有rpm包所包含的文件列表  加入rpm包查询

  Other.xml.gz     rpm包的额外信息 如change.log修改日志等

     Comps*.xml     包组定义 组的名称 那些包时必须安装 那些包可选

 

    Primary.xml.gz,  Filelists.xml.gz,  Other.xml.gz 需要下载到本地

 

 

 

Yum命令管理软件包

repolist

[root@WebServer ~]# yum repolist       列出可用的软件仓库 yum

[root@WebServer ~]# yum repolist all       列出全部yum源 可用和禁用

clean

yum全局配置文件

[root@WebServer ~]# vim/etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=1   启用软件包缓存,默认不启用

...

查看缓存的xml文件

[root@WebServer ~]# ls /var/cache/yum/x86_64/6Server/rhel-ftp-source

查看缓存的软件包

[root@WebServer ~]# ls /var/cache/yum/x86_64/6Server/rhel-ftp-source/packages/

清除缓存的xml文件和软件包

[root@WebServer ~]# yum clean all

只清除缓存的软件包

[root@WebServer ~]# yum clean pack

 

makecache

软件仓库有问题时需要使用makecache下载缓存软件仓库yum)的元数据文件xml文件

[root@learn ~]# yum makecache

Loaded plugins: fastestmirror, security

Loading mirror speeds from cached hostfile

souce                          | 4.0 kB     00:00 ...

souce/group_gz                  | 219 kB     00:00

list

列出软件仓库中可用的软件(优先查看本机软件仓库)

 

[root@WebServer ~]# yum list

进行模糊查找(查找部分)

[root@WebServer ~]# yum list | grep yum

info

显示软件的详细信息

[root@WebServer ~]# yum info php

provides 

用来搜索Linux已经安装的软件 或yum源中哪些软件会产生指定的文件

[root@WebServer ~]# yum provides /etc/samba/smbusers

install

安装软件 只需要给出软件名称

[root@WebServer ~]# yum install traceroute

-y选项,自动确认

安装过程中分析依赖关系后 直接安装

[root@WebServer ~]# yum install -y dhcp

check-update

对比Linux已安装的软件和软件仓库中的软件 有哪些需要升级

[root@WebServer ~]# yum check-update

update

更新软件

[root@WebServer ~]# yum update -y samba

升级软件

[root@WebServer ~]# yum update samba

erase

删除软件

[root@WebServer ~]# yum erase samba

reinstall

卸载现有的重新安装

[root@WebServer ~]# yum reinstall -y php   

localinstall

指向本地的rpm,如果有依赖关系会自动从软件仓库中下载所依赖的软件

yum localinstall /mnt/cdrom/Packages/bind-9.8.2-0.17.rc1.el6.x86_64.rpm

--nogpgcheck 选项,安装软件时不检查签名(临时使用)

[root@WebServer ~]# yum install --nogpgcheck mysql

 

grouplist

列出已安装的和所有可使用的软件组

[root@WebServer ~]# yum grouplist

groupinfo

后面接groupname,则可了解该group内含有的所有组名称

[root@WebServer ~]# yum groupinfo "X 窗口系统"

[root@WebServer ~]# yum groupinfo 桌面

groupinstall

可以用来安装一整组的软件

[root@WebServer ~]# yum groupinstall "X 窗口系统"

[root@WebServer ~]# yum groupinstall 桌面

 

图形界面下安装VMWareTools

装载光盘-->挂载光盘-->创建临时文件夹-->把光盘内容解压到临时文件,--->打开临时文件执行./vmware-install.pl  -->  一路回车安装完成并重启系统,VMware tools生效。

tar -xzvf /mnt/cdrom/VMwareTools-9.6.0-1294478.tar.gz

./vmware-install.pl

groupupdate

升级软件组

[root@WebServer ~]# yum groupupdate php

groupremove

删除某个组

[root@WebServer ~]# yum groupremove php

 

linux基础入门之管理linux软件

标签:程序配置   smbus   进制   sts   search   插件   传递   upgrade   桌面   

原文地址:http://www.cnblogs.com/pathping/p/7352960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!