yum 搭建私有仓库

今日内容

  • Linux 中安装软件的三种方法
  • yum 私有仓库
  • selinux 和 firewalld (iprables)
  • 解决系统乱码

内容详细

一、Linux 安装软件的三种方法

rpm安装、yum 安装、源代码编译安装

区别

1、rpm 安装类似于window的安装包,下载后直接安装。

​ 缺点: 无法解决依赖,比如下载python 也需要下载 C 语言

2、yum 安装基于 rpm 安装,就是载 rpm 上增加了自动解决依赖问题

3、源代码安装:通过编译源代码得到软件包。优点是可以自定制软件包,缺点是比较复杂。

rpm 安装

	安装:rpm -ivh [软件包名称]
	卸载:rpm -e [软件包名称]
	升级:rpm -Uvh [软件包名称]

1、下载安装包

1、去华为云下载 centos 7 文件 : https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/

2、把下载好的文件上传到 Linux 中,
# 
3、如果把 window 中的文件上传到 Linux ?
	先下载 lrzsz : yum install lrzsz -y
	# 值得注意:如果 yum 无法安装,有可能是 /etc/yum.repo.d/ 目录下的 .repo 文件被更改了,请检查

2、开始安装软件

	rpm -ivh <安装包名>

[root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm

3、卸载软件

	rpm -e <安装名(无需版本号)>

[root@localhost]~# rpm -e zsh

4、更新安装包

	rpm -Uvh <安装包全名>

[root@localhost]~# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm

安装包名称

		zsh-5.0.2-34.el7_8.2.x86_64.rpm 
            软件包名称:zsh
            版本号:5.0.2
            第多少次编译:34
            适用的平台:el7_8(CentOS 7)
            适用的系统位数:x86_64
            扩展名:rpm

rpm 其他命令操作

查看软件包的配置文件

	 rpm -qc <安装包名>
***
[root@localhost]~# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc

查看是否安装某软件

	 rpm -q <软件名>
# 表示安装
[root@localhost]~# rpm -q zsh
zsh-5.0.2-34.el7_8.2.x86_64
# 没安装
[root@localhost]~# rpm -q zsh
package zsh is not installed

查看当前系统安装了哪些软件

	rpm -qa 

[root@localhost]~# rpm -qa
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
setup-2.8.71-11.el7.noarch
libndp-1.2-9.el7.x86_64	# 太多了

查看软件的安装路径,查看安装了哪些东西

	rpm -ql <软件名>

[root@localhost]~# rpm -ql python3
/usr/bin/pydoc3
/usr/bin/pydoc3.6
/usr/bin/python3
/usr/bin/python3.6
/usr/bin/python3.6m

yum 安装

1、安装

基于rpm安装,自动解决依赖。
可以自己从网络中下载安装包,无需拖拽上传

	命令 : yum install <软件名>
	参数 :
		-y : 免交互,直接同意安装
		--nogpgcheck : 忽略公钥认证(为了安全)

2、卸载

	命令 : yum remove <软件名>

[root@localhost]~# yum remove zsh

3、更新

	命令 : yum update [软件包名称]
	参数:
		-y : 免交互

	注意:如果跟具体的软件包名称,就会更新指定软件包;如果没有指定,则更新系统所有的需要更新的软件包。

4、yum安装的生命周期

1、执行 yum install <软件名> 命令
2、去到 /etc/yum.repo.d/ 路径下查找 .repo 结尾的文件
3、通过 .repo 文件中中的链接,找到软件对应的仓库
4、从对应的软件仓库中下载软件安装包 
5、缓存到 /var/cache/yum/ 目录下
5、根据缓存安装软件
6、删除软件包(keepcache 是否保存缓存,0 代表不保存,1 代表保存)

注:/etc/yum.conf 是yum的配置文件。
[root@localhost etc]# cat yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever	< -- 缓存的目录
keepcache=0						< -- 是否保存缓存,0 代表不保存,1 代表保存
debuglevel=2

二、搭建 yum 私有仓库

​ 我们使用 yum 去下载软件,实际上是通过链接去到别人的仓库里(华为云,阿里云)找到安装包下载至本地然后安装的,有一定的风险,在公司一般会搭建自己的私有仓库,供内部人员下载软件使用

1、本地版

1、下载必须的软件包

	下载用于初始化仓库的软件包
	yum install yum-utils createrepo -y

2、创建软件仓库

	仓库建立在 /opt 目录下
	mkdir /opt/repos

3、下载对应的软件

	在windows中把需要的软件包下载下来并上传至Linux
	在仓库 /opt/repos 中创建一个 package 文件夹,用于存放仓库的软件包,并且把软件包都存放到 package 文件夹下
	
	mkdir /opt/repos/packages
	cp zsh-5.0.2-34.el7_8.2.x86_64.rpm /opt/repos/packages

4、初始化仓库

	createrepo /opt/repos
	这样仓库就具备了两个文件夹 packages、repodata

[root@localhost repos]# ll
total 4
drwxr-xr-x 2 root root   45 Dec 16 16:48 packages
drwxr-xr-x 2 root root 4096 Dec 16 16:49 repodata

5、添加 yum 源

	根据 yum 安装的生命周期,用户用 yum 安装软件时,会首先去到 /etc/yum.repos.d 中查找仓库链接,为了不让原来的 repo 文件影响测试本地仓库,先把原来的 .repo 文件移动到别的路径下,再创建私有仓库的 repo 文件,用于存放私有仓库的链接

	1、cd /etc/yum.repos.d/
	2、mkdir back
	3、mv ./*.repo back		< -- 存档(原 repo 文件)完成
	
	4、yum-config-manager --add-repo=file///opt/repos
		此命令用于创建一个新的 repo 文件,里面存放指向本地仓库的路径:file///opt/repos

cat /etc/yum.repos.d/opt_repos.repo
[opt_repos]		# 源的名称
name=added from: file:///opt/repos	# 源的简介
baseurl=file:///opt/repos			# 源的下载地址
enabled=1						# 是否启用:1启用 ,  0不启用


6、生成缓存

	yum clean all
	yum makecache

7、测试

[root@localhost ~]# yum install zsh

image

2、远程版

前六步与本地版搭建一模一样

7、安装远程访问软件(Nginx)

		安装远程访问软件(Nginx)
		1、在 yum 的 repo 文件中添加华为云的路径源
		[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
		2、这是epel的源,添加完之后就可以通过 yum 去网址下载 Nginx 了
		[root@localhost ~]# yum-config-manager --add-repo=https://repo.huaweicloud.com/epel/7/x86_64/

adding repo from: https://repo.huaweicloud.com/epel/7/x86_64/
[repo.huaweicloud.com_epel_7_x86_64_]
name=added from: https://repo.huaweicloud.com/epel/7/x86_64/
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
enabled=1

		3、通过 yum 下载 Nginx
		[root@localhost ~]# yum install nginx --nogpgcheck

8、修改nginx的配置文件

1、查询一下 nginx 中有哪些配置文件
	[root@localhost ~]# rpm -qc nginx
2、修改 nginx.conf 文件即可
	vim /etc/nginx/nginx.conf

# include /etc/nginx/conf.d/*.conf;		< -- 注释掉

server {
    listen       80;
    listen       [::]:80;
    server_name  _;
    root         /opt/repos;		< -- 改为本地的软件仓库地址

    autoindex on;				< -- 表示启动nginx

3、 测试更改是否成功
[root@localhost ~]# nginx -t

4、 启动nginx
[root@localhost ~]# systemctl start nginx

5、 关闭selinux和firewalld
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# setenforce 0

6、浏览器访问虚拟机ip地址,如果出现以下的页面说明nginx启动成功

image

9、在另一个虚拟机中测试

	再另开一个虚拟机,把它的 /etc/yum.repos.d 中的 repo 文件链接源改成远程仓库的地址

1、下载 yum-utils,以便添加 repo 文件的源
[root@localhost yum.repos.d]# yum install yum-utils -y

2、备份源,把原有的 repo 文件备份好
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv *.repo backup/

3、 添加源,添加远程仓库虚拟机的ip地址
[root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.101/
[root@localhost ~]# yum-config-manager --add-repo=http://192.168.15.101/

Loaded plugins: fastestmirror
adding repo from: http://192.168.15.101/
[192.168.15.101_]
name=added from: http://192.168.15.101/
baseurl=http://192.168.15.101/
enabled=1

4、刷新缓存
[root@localhost yum.repos.d]# yum clean all 
[root@localhost yum.repos.d]# yum makecache

5、测试
[root@localhost ~]# yum install zsh -y

image

三、系统安全优化

1、selinux
	编辑文件 --> /etc/selinux/config
	永久关闭 selinux  -- > SELINUX=disabled

[root@localhost ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

2、firewalld
	systemctl disable --now firewalld
	--now : 立即执行
firewalld   --->  iptables  ---> 系统安全框架
安全组
vpn iptables

四、防止系统乱码优化

en_US.UTF-8		: 美式英文,utf-8
zh_CN.UTF-8		: 中文
zh_HK.UTF-8		:中文繁体

临时优化
export LANG=zh_CN.UTF-8  : 设置编码

永久优化 : 编辑编码文件 /etc/locale.conf
vim /etc/locale.conf

LANG=zh_CN.UTF-8
posted @ 2021-12-16 19:57  elijah_li  阅读(420)  评论(0编辑  收藏  举报
//一下两个链接最好自己保存下来,再上传到自己的博客园的“文件”选项中