7.1-7.9 笔记

知识点

rpm安装,yum工具,源码包安装


rpm

redhat package manager 是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。

rpm 选项

-ivh rpm包文件  安装
-Uvh rpm包文件  升级
-e(erase)包名     卸载
-qa(query all)包名  查询已安装的包
-q 包名  查询指定包是否安装
-qi 包名  查询指定包信息
-ql 包名  列出包安装的文件
-qf 文件绝对路径  查看一个文件是由哪个包安装的
[root@localhost /]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载  //挂载光驱
[root@localhost /]# cd /mnt/Packages/  //rpm包都在这个目录里
[root@localhost Packages]# du -sh
3.8G	.
[root@localhost Packages]# rpm -ivh zenity-3.22.0-1.el7.x86_64.rpm 
错误:依赖检测失败:
	libcairo-gobject.so.2()(64bit) 被 zenity-3.22.0-1.el7.x86_64 需要
	libgdk-3.so.0()(64bit) 被 zenity-3.22.0-1.el7.x86_64 需要
	libgtk-3.so.0()(64bit) 被 zenity-3.22.0-1.el7.x86_64 需要
	libnotify.so.4()(64bit) 被 zenity-3.22.0-1.el7.x86_64 需要
    //随便找个安装都有依赖性冲突!
[root@localhost Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm 
准备中...                          ################################# [100%]
正在升级/安装...
   1:zsh-5.0.2-28.el7                 ################################# [100%]
[root@localhost Packages]# rpm -qa |grep zsh //换一个就成功了!
zsh-5.0.2-28.el7.x86_64
[root@localhost Packages]# rpm -ql zsh  //查询安装包的文件
/bin/zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
....
[root@localhost Packages]# rpm -qf /usr/share/zsh/5.0.2/functions/_finger //可以通过rpm -qf 查询该文件是由哪个包安装的
zsh-5.0.2-28.el7.x86_64   
[root@localhost Packages]# rpm -qf `which cd`  //配合which使用!
bash-4.2.46-28.el7.x86_64
[root@localhost Packages]# rpm -e zsh   //卸载该包
[root@localhost Packages]# rpm -qa |grep zsh  
[root@localhost Packages]# rpm -q zsh
未安装软件包 zsh 

yum

1.rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系。很多时候安装一个软件安装一个软件需要安装1个或者多个其他软件,手动解决时,很复杂,yum解决这些问题。Yum是rpm的前端程序,主要目的是设计用来自动解决rpm的依赖关系,其特点:

  • 自动解决依赖关系;
  • 可以对rpm进行分组,基于组进行安装操作;
  • 引入仓库概念,支持多个仓库;4)配置简单

2.yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库。

3.仓库的配置文件/etc/yum.repos.d目录下

yum 选项

yum list  //列出可用yum包
yum search 包名  //搜索包
yum install {-y} 包名  //安装该包 加-y 不询问直接安装
yum grouplist  //列出可用的组
yum groupinstall {-y}  //安装该组
yum remove {-y}   //卸载
yum update {-y}   //升级
yum provide "/*/vim"  //搜索一个命令由哪个包安装支持的
yum install 包名 --downloadonly --downloaddir=/test    //下载包到/test目录下!
[root@localhost ~]# yum install httpd --downloadonly --downloaddir=/test
[root@localhost ~]# ls /test
apr-1.4.8-3.el7_4.1.x86_64.rpm          httpd-tools-2.4.6-80.el7.centos.1.x86_64.rpm  test.zip  xxoo
apr-util-1.5.2-6.el7.x86_64.rpm         mailcap-2.1.41-2.el7.noarch.rpm               tt.txt
httpd-2.4.6-80.el7.centos.1.x86_64.rpm  semanage.conf                                 www


yum默认下过来的文件,安装完毕后都会被删除,可以通过修改/etc/yum.conf里的参数。 将值改为1.

[root@localhost ~]# yum groupinstall GNOME Desktop
Transaction Summary
==================================================================================================================
Install  91 Packages (+562 Dependent packages)
Upgrade   2 Packages (+ 32 Dependent packages)

Total download size: 411 M
Is this ok [y/d/N]:   //不加-y选项 到最后会提示是否安装!
[root@localhost ~]# yum install -y expect   //安装一个已经被安装了的程序
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
base                                                                                       | 3.6 kB  00:00:00     
extras                                                                                     | 3.4 kB  00:00:00     
updates                                                                                    | 3.4 kB  00:00:00     
(1/4): base/7/x86_64/group_gz                                                              | 166 kB  00:00:00     
(2/4): extras/7/x86_64/primary_db                                                          | 204 kB  00:00:00     
(3/4): updates/7/x86_64/primary_db                                                         | 6.0 MB  00:00:01     
(4/4): base/7/x86_64/primary_db                                                            | 5.9 MB  00:00:01     
Determining fastest mirrors
 * base: mirrors.cn99.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.cn99.com
Package expect-5.45-14.el7_1.x86_64 already installed and latest version
Nothing to do   //最后提示该包已经被安装,而且是最新版本,nothing to do!

yum安装包很简单,但是需要联网!如果不能联网就不能用了,所以我们搭建yum本地仓库!

[root@localhost /]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak  //将文件备份一下
[root@localhost /]# rm -f /etc/yum.repos.d/*  //然后删掉
[root@localhost /]# vi /etc/yum.repos.d/dvd.repo  //自己创建一个库
[hello]
name=local 
baseurl=file:///mnt
enable=1
gpcheck=0   //输入该文本内容  保存退出
[root@localhost /]# yum clean all
[root@localhost /]# yum list //就可以看到自己库里的rpm包了!

yum安装包的时候默认的地址是在国外的,我们也可以手动更改地址。

[root@localhost ~]# rm -rf /etc/yum.repos.d/CentOS-Base.repo  //删除老源
[root@localhost ~]# curl -o www.163.com.centos.repo  //去正规网站找个源 下载下来!

源码包

一、源代码形式

1.绝大多数开源软件都是直接以原码形式发布的

2.源代码一般会被打成.tar.gz的归档压缩文件

3.源代码需要编译成为二进制形式之后才能够运行使用

4.源代码基本编译流程:

  • .configure 检查编译环境;

  • make对源代码进行编译;

  • make insall 将生成的可执行文件安装到当前计算机中

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.5.tar.gz
[root@localhost src]# ls
apr-1.6.5.tar.gz  //下过来一个打包过的压缩包
[root@localhost src]# tar -zxvf apr-1.6.5.tar.gz   //解压缩
[root@localhost src]# ls
apr-1.6.5  apr-1.6.5.tar.gz
[root@localhost src]# ls ./apr-1.6.5
CHANGES         README         apr.pc.in         config.layout  file_io     locks       random      time
CMakeLists.txt  README.cmake   apr.spec          configure      helpers     memory      shmem       tools
LICENSE         apr-config.in  atomic            configure.in   include     misc        strings     user
Makefile.in     apr.dep        build             docs           libapr.dep  mmap        support
Makefile.win    apr.dsp        build-outputs.mk  dso            libapr.dsp  network_io  tables
NOTICE          apr.dsw        build.conf        emacs-mode     libapr.mak  passwd      test
NWGNUmakefile   apr.mak        buildconf         encoding       libapr.rc   poll        threadproc
///为什么这个里面没有INSTALL....

搭建局域网yum

1.创建一个专门目录
[root[@localhost](https://my.oschina.net/u/570656) /]# mkdir -p /data/yum
2.将光盘里资源复制进去
[root[@localhost](https://my.oschina.net/u/570656) /]# cp /mnt/Packages/a*rpm /data/yum
3.创建仓库
[root[@localhost](https://my.oschina.net/u/570656) /]# yum install -y createrepo
[root[@localhost](https://my.oschina.net/u/570656) /]# createrepo /data/yum
Spawning worker 0 with 138 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
4.安装扩展源,Nginx
[root[@localhost](https://my.oschina.net/u/570656) /]# yum install -y epel-release
[root@localhost /]# yum install -y nginx
5.修改配置文件,开启服务
[root@localhost ~]# vi /etc/nginx/nginx.conf

[root@localhost ~]# nginx -t 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost test]# systemctl start nginx
6.关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
7.测试

rsync同步

本地的资源不够,可以使用rsync同步网上的资源到自己的库中!

[root@localhost ~]# rsync -av rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/  /data/yum
 _______________________________________________________________
|         University of Science and Technology of China         |
|           Open Source Mirror  (mirrors.ustc.edu.cn)           |
|===============================================================|
|                                                               |
|    We Mirror a great many OSS projects & Linux distros.       |
|                                                               |
| Currently we don't limit speed. To prevent overload, Each IP  |
| is only allowed to start upto 2 concurrent rsync connections. |
|                                                               |
| This site also provides http/https/ftp access.                |
|                                                               |
| Supported by USTC Network Information Center                  |
|          and USTC Linux User Group (http://lug.ustc.edu.cn/). |
|                                                               |
|    Sync Status:  https://mirrors.ustc.edu.cn/status/          |
|           News:  https://servers.ustclug.org/                 |
|        Contact:  lug@ustc.edu.cn                              |
|                                                               |
|_______________________________________________________________|


receiving incremental file list
./
389-ds-base-1.3.7.5-18.el7.x86_64.rpm
389-ds-base-devel-1.3.7.5-18.el7.x86_64.rpm
389-ds-base-libs-1.3.7.5-18.el7.x86_64.rpm

更新完之后记得要 createrepo --update /data/yum 和 yum clean all!

转载于:https://my.oschina.net/u/3997678/blog/2413680

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值