前言:
其实,咱也不知道为啥写了这篇博客,咱就是想学一学suse,咱也不会,咱也只能学,只能查
[# 上个月部署公司新版本产品,使用的是ansible部署的,由于suse的一些特殊性(暂时还没有去研究ansible的zypper部署方式,最终是用python的方式部署的ansible),想起之前用过yum的缓存方式去创建本地源,就想着给suse也整一个,最近整完之后,在思考几个问题,如下:
1、'虽然机器是客户的,无法添加光驱,但是我可以把iso镜像里面的文件压缩一下,上传到服务器就可以了(iso里面的源已经压缩了,但是文件比较大,要3.7G,上传到客户环境不是狠方便,暂且搁置,毕竟需要啥上传啥挺好的,各有优缺点)'
2、'虽然解决了本地源的情况,目前还有一些问题,比如一些开源软件在centos上,可以利用repo源进行yum安装,不知道suse上是否可以利用zypper实现,还需要自己实践,毕竟这样配合本地源,才有本地源的意义,否则不如直接编译安装(如果有大佬知道,希望可以赐教)'
3、'虽然可以使用编译的方式去部署一些服务,但是从脚本编写的角度考虑,还是觉得rpm包安装的方式,写脚本更舒服一点把(来自菜鸡的错觉~~~)']
zypper-cache:~ # cat /etc/issue

Welcome to SUSE Linux Enterprise Server 12 SP3  (x86_64) - Kernel \r (\l).

服务端获取

添加源

1、# 添加网络源,之所以写repo文件,是因为zypper ar添加的repo源,没有gpgcheck=0这一项配置,安装软件的时候会报错,在加上还要写keeppackages=1,所以还是觉得写repo文件更舒服把,后期自己需要复制使用也狠方便
cat > /etc/zypp/repos.d/opensuse.repo << EOF
[opensuse-non-oss] # 以下都是suse12的国内源(中国科技大学镜像站)(国内源速度快)
name=opensuse-non-oss
enabled=1
autorefresh=0
baseurl=http://mirrors.ustc.edu.cn/opensuse/distribution/openSUSE-current/repo/non-oss
gpgcheck=0
keeppackages=1
[opensuse-oss]
name=opensuse-oss
enabled=1
autorefresh=0
baseurl=http://mirrors.ustc.edu.cn/opensuse/distribution/openSUSE-current/repo/oss
gpgcheck=0
keeppackages=1
[opensuse-update-non-oss]
name=opensuse-update-non-oss
enabled=1
autorefresh=0
baseurl=http://mirrors.ustc.edu.cn/opensuse/update/openSUSE-non-oss-current/
gpgcheck=0
keeppackages=1
[opensuse-update]
name=opensuse-update
enabled=1
autorefresh=0
baseurl=http://mirrors.ustc.edu.cn/opensuse/update/openSUSE-current/
gpgcheck=0
keeppackages=1
EOF
zypper-cache:~ # zypper refresh
2、# 添加本地源
zypper-cache:~ # zypper ar /root/suse12-dvd suse12-dvd # 本地源需要自己准备rpm目录
zypper-cache:~ # echo "gpgcheck=0" >> /etc/zypp/repos.d/suse12-dvd.repo
zypper-cache:~ # echo "keeppackages=1" >> /etc/zypp/repos.d/suse12-dvd.repo

刷新源

zypper-cache:~ # vim /etc/zypp/zypp.conf
packagesdir = /var/cache/zypp/packages
zypper-cache:~ # zypper refresh # 刷新一下源
zypper-cache:~ # zypper lr
Repository priorities are without effect. All enabled repositories share the same priority. # | Alias | Name | Enabled | GPG Check | Refresh
--+-------------------------+-------------------------+---------+-----------+--------
1 | SLES12-SP3-12.3-0 | SLES12-SP3-12.3-0 | No | ---- | ---- # 虚拟机安装的suse12,会自带镜像里面的源(需要光驱开机自启,生产环境不一定有,所以为了测试,吧这个源禁用了,可以不操作)
2 | opensuse-non-oss | opensuse-non-oss | Yes | ( ) No | No # repo文件没有问题的情况下,这些源是可以被 zypper lr 查看的
3 | opensuse-oss | opensuse-oss | Yes | ( ) No | No
4 | opensuse-update | opensuse-update | Yes | ( ) No | No
5 | opensuse-update-non-oss | opensuse-update-non-oss | Yes | ( ) No | No
6 | suse12-dvd | suse12-dvd | Yes | ( ) No | No

清除缓存

zypper-cache:~ # zypper clean
All repositories have been cleaned up.

安装软件

zypper-cache:~ # zypper in sl

获取rpm包

zypper-cache:~ # mkdir rpmcache/sl
zypper-cache:~ # find /var/cache/zypp/ -name "*.rpm" -exec mv {} /root/rpmcache/sl/ \;
zypper-cache:~ # scp -r rpmcache/sl/ 192.168.10.158:/root

客户端测试

linux-oz6w:~ # zypper ar /root/sl/ sl     # 创建本地源
linux-oz6w:~ # echo "gpgcheck=0" >> /etc/zypp/repos.d/sl.repo
linux-oz6w:~ # zypper in sl # 成功安装即可

zypper --help

Repository Management:    # zypper 后面可以带简写,比如lr ar ref 具体可以参考zypper --help
repos, lr List all defined repositories.
addrepo, ar Add a new repository.
removerepo, rr Remove specified repository.
renamerepo, nr Rename specified repository.
modifyrepo, mr Modify specified repository.
refresh, ref Refresh all repositories.
clean Clean local caches.
Software Management:
install, in Install packages.
remove, rm Remove packages.
verify, ve Verify integrity of package dependencies.
source-install, si Install source packages and their build
dependencies.
install-new-recommends, inr
Install newly added packages recommended
by installed packages.
Update Management:
update, up Update installed packages with newer versions.
list-updates, lu List available updates.
patch Install needed patches.
list-patches, lp List needed patches.
dist-upgrade, dup Perform a distribution upgrade.
patch-check, pchk Check for patches.

suse 12 利用缓存创建本地源供内网服务使用的更多相关文章

  1. CentOS7利用yum缓存搭建本地源

    CentOS7利用yum缓存搭建本地源 环境说明 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 ( ...

  2. CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网

    自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源. 而且由于托管服务器的公网 IP 资源是固定的,想上 Keepalived 的话,需要挤出来 3 个 ...

  3. 本地Linux虚拟机内网穿透,服务器文件下载到本地磁盘

    本地Linux虚拟内网穿透 把服务器文件下载到本地磁盘 https://natapp.cn/ 1.注册账户点击免费隧道  

  4. 利用yum创建本地仓库与网络源

    一.创建本地yum仓库 1.cd /etc/yum.repos.d/ 2.创建配置文件:[root@li yum.repos.d]# vim local.repo 3.写入配置信息并保存 [li]na ...

  5. CentOS7创建本地源过程

    1)使用yum安装http服务(主节点) yum -y install httpd 2)将httpd服务加入系统自启动服务并设置开机启动 systemctl start httpd #启动apache ...

  6. 利用iptables的NAT代理实现内网访问外网

    利用NAT代理实现内网访问外网 背景及原理 若局域网中的两台计算机只能有一台能够访问外网,而这两台计算机之间能相互通信,那么可以配置能访问外网的那台服务器实现路由器的功能,即实现其他机器的NAT转换, ...

  7. 利用SSH端口转发实现远程访问内网主机远程桌面(一) 建立SSH转发

    近期家里更换了移动的宽带,拨号后拿到的是10开头的内网IP,就不能像之前一样通过路由器的端口映射实现从外网访问主机的远程桌面.这种情况下可以利用一台具有公网IP的服务器充当中转,利用SSH的隧道转发功 ...

  8. 利用SSH反向隧道,连接内网服务器

    前言 公司有一台文件服务器(内部使用,无外网IP),上面主要安装了SVN服务,用来存储和共享各部门的文档,因为都是内网,直接远程(mstsc)上去就可以方便维护,但最近公司租了新的办公室,部分员工被分 ...

  9. 传输层 lcx实现本地端口映射&&内网代理

    如果目标服务器由于防火墙的限制,部分端口(例如3389)的数据无法通过防火墙,可以将目标服务器相应端口的数据透传到防火墙允许的端口(例如53),在目标主机上执行如下命令,就可以直接从远程桌面连接目标主 ...

随机推荐

  1. 【Java】数组

    文章目录 数组 一.数组的定义 二.数组的声明与创建 三.内存分析 四.三种初始化 五.数组的四个基本特点 六.数组边界 七.数组的使用 八.多维数组 九.Arrays类 十.稀疏数组 数组 一.数组 ...

  2. Electron+Vue开发跨平台桌面应用

    Electron+Vue开发跨平台桌面应用 xiangzhihong发布于 2019-12-23 虽然B/S是目前开发的主流,但是C/S仍然有很大的市场需求.受限于浏览器的沙盒限制,网页应用无法满足某 ...

  3. Mysql group by之 Error 1055

    统计每个班级有多少人 我按照班级名称进行分组,返回  班级id和班级name出现了如下错误 报错的查询语句如下 -- 统计每个班级有多少人select c.id,c.name,count(*) fro ...

  4. [STM32F10x] 从零开始创建一个基于标准库的工程

    硬件:STM32F103C8T6 平台:MDK-AMR V4.70 1.创建一个Keil uVision 的工程 要点:相同类型的源文件放在一起以便于管理       2.添加标准库源文件 3.添加几 ...

  5. [Altium Designer 学习]怎样输出Gerber文件和钻孔文件

    为了资料保密和传输方便,交给PCB厂商打样的资料一般以Gerber和钻孔文件为主,换句话说,只要有前面说的两种文件,就能制作出你想要的PCB了. 一般来说,交给PCB厂商的Gerber有以下几层: G ...

  6. Cesium和Kaarta用高分辨率激光雷达可视化室内和地下环境

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Cesium使急救人员和军事操作人员更容易快速评估和了解密集和不 ...

  7. npm 和 yarn 前端包管理工具

    前言 前端开发逐渐工程化,npm作为我们的依赖管理工具起到十分重要的作用,本文就来总结一下 npm 和 yarn 相关知识点. 正文 1.什么是npm (1)node的包管理器(node packag ...

  8. Python中hash加密

    目录 简介 概念 特点 hash有哪些 算法碰撞 加盐防碰撞 加密 hashlib 主要方法 特有方法 使用方法 加盐 crypt 主要方法 使用说明 应用 密码加密 应用一致性校验 简介 概念 散列 ...

  9. gorm中的更新

    保存所有字段 Save 会保存所有的字段,即使字段是零值. db.First(&user, 5)user.Name = sql.NullString{"王八", true} ...

  10. Github基于Web的编辑器

    在 GitHub 存储库中使用基于 Web 的编辑器来创建和提交代码更改. 关于 GitHub 基于 Web 的编辑器 基于 Web 的编辑器引入了全新的轻量级编辑体验,可完全在您的浏览器中运行.使用 ...