在离线情况下,安装Centos软件,有几个方法
1、直接下载离线软件包
如果能直接下载离线软件包,是最省事的方法,可以直接baidu查找试试,或到下面这个网址试试:
Packages for Linux and Unix - pkgs.org
Ubuntu各版本的软件比较齐全,下载后直接安装即可
由于Centos目前逐步停止支持,导致不少安装包不容易找到,可以试试第2种方法
2、使用yum的离线包下载功能
yum将一个包下载到一个指定的目录(如/tmp):
sudo yum install --downloadonly --downloaddir=/tmp <package-name>
注意,yum将会把所有的依赖关系包下载到你指定的目录下,但是都不会被安装
如果软件已经安装,系统不会下载,这时候需要执行 yum remove <package-name> 进行卸载(谨慎操作,务必做好配置备份)
Yumdownloader
另外一个下载RPM包的方法就是通过一个专门的包下载工具--yumdownloader。 这个工具是yum工具包(包含了用来进行yum包管理的帮助工具套件)的子集。
sudo yum install yum-utils
下载一个RPM包:
sudo yumdownloader <package-name>
下载的包会被保存在当前目录中,与yum命令不同的是,任何依赖包不会被下载。
下载bzip2示例:
yumdownloader bzip2
如需下载依赖的话:
yumdownloader bzip2 --resolve --destdir=~/hah/ #--resolve下载依赖,--destdir为指定目录
3、离线安装
安装包复制到离线待安装机器上后,执行本地安装
rpm -ivh <package-name>
rpm -ivh 安装某个rpm包时报错:Warning: user mockbuild does not exist. using root
解决办法,执行:
sudo useradd -s /sbin/nologin mockbuild
4、离线安装时间同步客户端并启用
sudo yum install --downloadonly --downloaddir=/home/user/ntp_downloads ntpdate
本人下载的安装包为ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm
复制离线安装包文件到目标机器,执行本地安装:
rpm -ivh ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm
启用定时校准时间,编写一个 cron 定时任务来周期性运行 ntpdate 命令
crontab -e
0 * * * * /usr/sbin/ntpdate -u pool.ntp.org
0 * * * * 表示每小时的第 0 分钟执行一次任务,/usr/sbin/ntpdate -u pool.ntp.org 是要执行的命令,其中 -u 选项表示以非特权模式运行 ntpdate(这通常不是必需的,但可以避免某些权限问题)
编辑完成后,保存文件并退出编辑器。cron 服务将自动读取新的定时任务配置(保存出现“errors in crontab file, can’t install ”时,请检测正则表达式语法)
查找与 ntpdate 相关的日志条目,你可以使用以下命令
grep ntpdate /var/log/cron*