前言:
其实,咱也不知道为啥写了这篇博客,咱就是想学一学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. Maven+ajax+SSM实现新增

    转载自:https://www.cnblogs.com/kebibuluan/p/9014986.html 20.尚硅谷_SSM高级整合_新增_创建员工新增的模态框.avi 1.接下来当我们点击增加按 ...

  2. 离线环境安装使用 Ansible

    之前写了一篇介绍 Ansible 的文章 ,今天回顾看来写的有些匆忙,一些具体的操作步骤都没有讲明白,不利于读者复现学习.最近又申请了一个几百台机器的环境,正好借此机会把如何在离线环境中使用 Ansi ...

  3. Kubernetes最佳实践之腾讯云TKE 集群组建

    作者陈鹏,腾讯工程师,负责腾讯云 TKE 的售中.售后的技术支持,根据客户需求输出合理技术方案与最佳实践,为客户业务保驾护航.使用 TKE 来组建 Kubernetes 集群时,会面对各种配置选项,本 ...

  4. JMM模型基础知识笔记

    概述 内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象,不同架构下的物理机拥有不一样的内存模型,Java虚拟机也有自己的内存模型,即Java内存模型(JavaMem ...

  5. 【C】C语言大作业——学生学籍管理系统

    文章目录 学生管理系统 界面 主界面 登陆界面 注册界面 管理界面 学生界面 退出界面 链接 注意 学生管理系统 学C语言时写的一个大作业,弄了一个带图形界面的,使用的是VS配合EasyX图形库进行实 ...

  6. 【解决了一个小问题】golang build中因为缓存文件损坏导致的编译错误

    编译的过程中出现了一个吓人的错误: GOROOT=C:\Go #gosetup GOPATH=C:\Users\ahfuzhang\go #gosetup C:\Go\bin\go.exe mod t ...

  7. 处理json中的空格

    很多json中带有空格 而json解析类很多自带去空行 导致解析json如下 只能在解析之前用"111111"之类的替换 之后再替换回来 result = result.Repla ...

  8. PC端实用正版软件推荐

    首先介绍一下背景,我本人是一个软件工程师,所以对电脑上很多软件使用都有要求,这里将个人觉得好用的一些软件分享给大家: 1. Typora 对于长写本地笔记.网络博客的人,对 MarkDown 格式应该 ...

  9. Java 继承01

    继承 ●示例 class Person { public String name; Person(){ System.out.println("Person Constrctor...&qu ...

  10. sqlserver查出来的数据丢失

    问题描述 今天利用sqlserver查数据,使用了一个ROUND(308.16000, 2)函数,发现在sqlserver工具中显示正常,但是在服务端查出来就会发生精度丢失问题. ROUND和CAST ...