在线源下载和安装

如果服务器是处于在线状态,在使用默认下载源是外国的情况下,安装更新软件包往往会比较痛苦的存在,下载了许久来一个超时就gg了。国内有许多镜像源,完美的解决了这个问题。

对于rpm系列的Linux,源就是存放在/etc/yum.repos.d/的文件,一个文件为一个源。

# 备份一下
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 下载阿里的源替换
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 清除旧缓存,生成新缓存
yum clean all
yum makecache

deb系列下的源为保存在/etc/apt/sources.list文件。

# 先备份
mv /etc/apt/sources.list /etc/apt/sources.list.bak # debian 11
echo -e 'deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib\ndeb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib\ndeb https://mirrors.aliyun.com/debian-security/ bullseye-security main\ndeb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main\ndeb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib\ndeb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib\ndeb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib\ndeb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib'

具体可以看阿里云主页debian镜像

其他的发行版本的其他源配置方法也有可供参考。

离线下载和安装

不是所有的服务器都是对外服务,也有的服务器为局域网内提供一些运算、文件共享等服务,为了安全起见,所以会切断与外网的通信。

  • 如果需要安装软件包,一般情况有两种方法。

    • 下载可执行的二进制比如.rpm和.deb文件来安装,或者是下载源代码编译安装。
    • 配置局域网内的本地yum、apt源。

软件包下载安装

需要使用一台可以联网的设备,不安装只下载安装包,再将下载好的安装包通过scp等之类的方式上传到其系统中。

rpm系列有专门的工具yumdownlode,使用起来还是很方便的。

# 下载相关包以及依赖
yumdownloader --resolve --destdir=/local/yum <包名> # 这里使用-i也同理,-U为upgrade
rpm -Uvh --force --nodeps <包路径>

deb的可能有点麻烦,需要依赖需要手动下载,而且要先安装才可以看到依赖。

# 查看依赖
apt depends <包名> # 查看包信息
apt-cache show <包名> # 查看包下载路径url
apt policy <包名> # 只下载并且下载到当前位置
apt-get download <包名>

结合起来的命令

#下载
apt-get download <包名>
apt depends <包名> | awk '{print $2}' | xargs apt-
get download # 安装
dpkg --force-all -i <包路径>

码源安装

还是需要一台已经联网可以下载源代码的压缩包的设备,可以从官网、github等下载自己对应发行版本和处理器架构的源码包,再使用scp之类的方式上传到离线的服务器。

一般情况都要经过解压、配置(configure)、编译(make)、安装(make install)。下面以我之前的安装openlava为例子。

# 解压到当前文件夹,会生成个同名openlava文件夹
tar -zxvf openlava-4.0.tar.gz

# 进入源码文件夹中
cd openlava-4.0 # 配置configgure,加上prefix参数,配置安装路径,方便以后维护
. /configure --prefix=/data/openlava # 编译make,这里的-j参数定义了使用线程数,这里是2线程
# 可以用下面的命令查看线程数
# grep 'processor' /proc/cpuinfo | sort -u | wc -l
make -j 2 # 安装
make install

不过源代码也不是这么好找的啦。

本地源

本地yum源

通过系统iso镜像制作本地源,先挂载系统镜像。

mount /dev/cdrom /挂载路径

yum的下载源的相关配置文件在/etc/yum.repos.d/目录中,修改名称全部为bak。

cd /etc/yum.repo.d/
ls -l | awk '{print $9}' | xargs -I{} mv {} {}.bak

新建个文件<名字>.repo,这里新建Local.repo。

# local yum
[Local] #取名
name=Local #取名
baseurl=file://挂载镜像绝对路径 #比如file:///media/cdrom
enabled=1 #是否使用源,1开0关
gpgcheck=0 #检查,1开0关

完成后生成缓存

yum clean all
yum makecache

本地yum源挂载共享

也许你的服务器有若干台,每一台都使用单独iso挂载可能有点麻烦,可以尝试使用NFS、SMB等方式实现网络挂载,将本机设置为Server,共享iso镜像的挂载路径,其他Linux创建同名的路径挂载,scp将之前编辑的/etc/yum.repos.d/Local.repo配置文件,即可实现共享。

本地yum源http共享

在编辑repo文件时候,baseurl是可以直接写http/s的url的,只要我们将挂载iso镜像通过http共享出来。

需要安装Nginx

# 会在/etc/yum.repos.d/生成nginx.repo
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # 再安装 nginx,没有第一步安装nginx会提示找不到
yum -y install nginx # 编辑一下/etc/nginx/nginx.conf配置文件在http{}里面加
# 或者看到include /etc/nginx/conf.d/*.conf;在conf.d里面的*.conf里加
# 比如default.conf
server {
listen 8080; # 端口看自己需求
server_name localhost;
root /mnt; # 这里的路径对应你挂载iso的路径
index index.html;
}

修改/etc/yum.repos.d/Local.repo,中的baseurl为http://192.168.2.149:8080/挂载目录。

基于此,可以拓展出基于docker制作http共享源哈哈。

Linux软件包常见的几种下载、安装方法的更多相关文章

  1. 官网安装Python包太慢?教你三种下载安装方式-PiP、conda、轮子,教你三种Pytorch的下载安装方式,保证你再也不用出现Error

    上一期我们介绍了CUDA下载安装以及其总结,这一期教大家如何在Anaconda中使用CUDA来进行加速.神经网络依赖cuDNN的下载安装,以及下载和安装Pytorch-GPU安装包的三种方式(cond ...

  2. selenium IDE的3种下载安装方式

    第一种方式: 打开firefox浏览器-----点击右上角-----附加组件----插件----搜索框输入“selenium”-----搜索的结果中下拉到页面尾部,点击“查看全部的37项结果”---进 ...

  3. Chrome谷歌浏览器拓展组件的2种快速安装方法(.crx)

    谷歌浏览器拓展有至少2种安装方法,现在简单的介绍下. 第一种.当然是进入谷歌官方的应用商店直接安装 这种方法简单快捷,而且官方支持度够高,唯一的缺点是大陆用户需要“FQ”. 谷歌拓展组件应用商店地址: ...

  4. elasticsearch安装与使用(1)-- centos7 elasticsearch的两种简单安装方法

    转自:http://www.cnblogs.com/miao-zp/p/6003160.html 简单修改 前言 elasticsearch(下面称为ES)是一个基于Lucene的搜索服务器(By 百 ...

  5. selenium自动化测试——常见的八种元素定位方法

    selenium常用的八种元素定位方法 1.通过 id 定位:find_element_by_id() 2.通过 name 定位:find_element_by_name() 3.通过 tag 定位: ...

  6. Linux下常用的3种软件安装方式

    一:Linux源码安装    1.解压源码包文件    源码包通常会使用tar工具归档然后使用gunzip或bzip2进行压缩,后缀格式会分别为.tar.gz与.tar.bz2,分别的解压方式:   ...

  7. Linux下常用的3种软件安装方式—rpm、yum、tar

    一:Linux源码安装    1.解压源码包文件    源码包通常会使用tar工具归档然后使用gunzip或bzip2进行压缩,后缀格式会分别为.tar.gz与.tar.bz2,分别的解压方式:   ...

  8. Linux(CentOS)下,下载安装Nginx并配置

    1.准备工作选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL.Nginx是C写的,需要用GCC编译:Nginx的 ...

  9. PHP-各种下载安装

    Windows下常用PHP扩展下载: http://dev.freshsite.pl/php-accelerators.html http://windows.php.net/downloads/pe ...

随机推荐

  1. 关于使用koa 跨域问题你可能会遇到

    var cors = require('koa2-cors');// 跨域const allowOrigins = ["http://localhost:8080" // 需要跨域 ...

  2. RPA纳税申报机器人

    1.机器人开始工作 2.机器人打开企业内部税务平台,自动下载报税底表 3.机器人自动登录地方税务局,填写报税数据 手工报税10分钟/3个表 VS 机器人报税时间2分钟/3个表 处理时间缩短80% 报税 ...

  3. 如何用python做出老师看了都给满分的GUI学生管理系统毕设

    序 言 哈喽大家好鸭!我是小熊猫 最近有什么有趣的事情发生吗?快来说给我听听( •̀ ω •́ )✧表弟大学快毕业了,学了一个学期Python居然还不会写学生管理系统,真的给我丢脸啊,教他又不肯学,还 ...

  4. TCP和UDP协议的区别以及原理

    参考文章https://blog.csdn.net/weixin_38483133/article/details/123864253

  5. 【问题解决】Alpine镜像中执行jstack、arthas等命令提示Unable to get pid of LinuxThreads manager thread

    问题现象 最近在处理项目上问题发现之前同事构建的AlpineLinux的镜像不能执行jstack等JDK命令,报错如下. Unable to get pid of LinuxThreads manag ...

  6. 普通 Docker 与 Kubernetes 对比

    Docker提供基本容器管理 API 和容器镜像文件格式Kubernetes 管理运行容器的(物理或虚拟)主机群集,如果 Docker 是 OCP 的"内核",Kubernetes ...

  7. Throwable类中3个异常处理的方法和finally代码块

    /* Throwable类中定义了3个异常处理的方法 String getMessage() 返回此 throwable 的简短描述. String toString() 返回此 throwable ...

  8. poste.io自建邮件服务器

    随便说些什么 腾讯企业邮新增账号不方便,这里的主要是指不经过手机验证或微信扫码的,虽然提供了最多3个"业务邮箱",很明显不够用. EwoMail,装没装起来我不记得了,反正是不好用 ...

  9. RESTAPI 版本控制策略【eolink 翻译】

    微服务,是现阶段开发建设云原生应用程序的流行趋向.API 版本控制有益于在辨别出所需要的调节时加速迭代更新的速度. 根据微服务架构的关键构件其一,是 API 的设计和规范.针对 API,版本控制是不可 ...

  10. APISpace 让你快速获取名言警句

    名言警句,是指一些名人说的.写的.历史纪录的.经过实践所得出的结论或建议.警示的比较有名的言语.名言警句易于留传.   名言警句API,涵盖人生.励志等多个方面.   APISpace 有很多免费通用 ...