ubuntu内网安装软件

在生产环境中很少有连接外网的服务器,这里以ansible内网安装为例来介绍。

1、安装ansible(有外网)

1、ansible的安装包存在于ansible的PPA中,如果要下载PPA(个人软件包存档),就必须要使用apt-add-repository这个命令,而software-properties-common软件中包含这个命令,所以下载顺序如下:

root@ubuntu:~# sudo apt install software-properties-common
root@ubuntu:~# sudo apt-add-repository ppa:ansible/ansible
root@ubuntu:~# sudo apt update
root@ubuntu:~# sudo apt install ansible

2、免密设置:我个人做个多次实验,不免密就报错,所以尽量做免密吧。

root@ubuntu:~/ansible2# ssh-keygen
或者
root@ubuntu:~/ansible2# ssh-keygen  -t  rsa
# 然后一路回车就好
ssh-copy-id root@192.168.91.159

注:ssh-copy-id root@192.168.91.159可能会报错,因为Ubuntu默认root做免密,可以换成普通用户,也可以把ansible主机的~/.ssh/id_rsa.pub的内容添加到另一台的~/.ssh/authorized_keys内容后面做成手动免密。还可以对ssh的配置文件进行如下修改/etc/ssh/sshd_config,之后执行ssh-copy-id root@192.168.91.159

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

改成

# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin yes
StrictModes yes

到此,测试ansible可以使用测试命令如下:ansible netflow -m shell -a’date’

2、用deb包安装ansible(内网环境)

离线模式安装ansible,重点在于攻克root@ubuntu:~# sudo apt-add-repository ppa:ansible/ansible这个命令,了解他是干嘛的就可以成功了。好吧我在文章最后在对他就行解释吧,这个难关我没有攻克,于是我决定用ansible的deb包进行安装。
1、在离线机器上的操作

root@ubuntu:~# sudo apt-get --allow-unauthenticated -y install --print-uris ansible | cut -d\' -f2 | grep http:// > /var/tmp/download-list

2、把/var/tmp/download-list传到有网的机器上,然后执行如下操作把所需要的依赖包下载到当前目录,最好在下载一个sshpass的包

sudo wget -i download-list

3、使用dpkg命令进行离线安装

sudo  dpkg  -i   *.deb

注:如果wget下载后提示404等,那么可能是离线服务器的源的问题。把离线服务器换成阿里云源就可以了。
4、依照上面有网的操作做免密。

到此,离线安装结束。

5、不过我还查到一个下载依赖包的好办法(对ansible安装没有成功)

  1. 查看依赖:
apt-cache depends XXX
  1. 递归的方式下载 deb 依赖包
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends XXX | grep -v i386 | grep "^\w")
  1. 使用dpkg命令进行离线安装:
dpkg -i *.deb

3、总结一下apt-add-repository命令

最近Ubuntu安装ansible遇到了这四个命令

root@ubuntu:~# sudo apt install software-properties-common
root@ubuntu:~# sudo apt-add-repository ppa:ansible/ansible
root@ubuntu:~# sudo apt update
root@ubuntu:~# sudo apt install ansible

1、什么是 PPA?
当你执行sudo apt-add-repository ppa:ansible/ansible的时候, /etc/apt/sources.list 文件中会多出一些URL。/etc/apt/sources.list这便是存储库,我感觉类似于centos的yum源。
在这里插入图片描述
当您执行 sudo apt update 命令时,Ubuntu 系统就会使用 APT 工具检查在线存储库,并将有关软件及其版本的信息存储到缓存中。 当您使用 sudo apt install package_name 安装软件时,系统就会使用该信息从存储实际软件的 URL 获取该软件包。

在存储库中添加地址,然后去下载,如果存储库中没有关于某个软件包的信息,终端中将返回以下错误:(感觉非常像yum源)

E: Unable to locate package

2、为什么要使用 PPA?

Ubuntu 的存储库控制着用户可以在系统上获得的软件版本。但如果 ISV 或开发人员发布了软件新版本,Ubuntu 的官方存储库不可能立即提供。为了确保系统稳定性,官方源会检查新版本是否与系统兼容,所以在软件发布新版本后,短时间内用户是无法通过 Ubuntu 的官方存储库来获得最新软件版本的。

3、为什么 PPA 不适用于所有 Ubuntu 发行版?

PPA 意味着个人包存档,请注意个人这个词,它暗示了这是开发人员所独有的东西,并没有得到分发的正式认可。

Ubuntu 提供了一个名为 Launchpad 的平台,让软件开发人员能够创建自己的存储库,方便最终用户将 PPA 存储库添加到 sources.list。当用户更新系统时,Ubuntu 系统就能够知道这个新软件的可用性,而且可以使用标准的 sudo apt install package_name 命令来安装它,就比如:

sudo add-apt-repository ppa:dr-akulavich/lighttable

sudo apt-get update

sudo apt-get install lighttable-installer

将上述命令总结一下就是:

1]、sudo add-apt-repository <PPA_info> 命令可以将 PPA 存储库添加到 sources.list 列表中

2]、sudo apt-get update 此命令更新软件包列表

3]、sudo apt-get install <package_in_PPA> 命令用于安装软件包

现在让我们详细拆解一下:

sudo add-apt-repository ppa:dr-akulavich/lighttable

上述命令中并没有列出存储库的 URL,这是因为该工具旨在对有关 URL 的信息进行抽象化。如果你添加 ppa:dr-akulavich/lighttable,将会获取到 Light Table;如果添加的是 ppa:dr-akulavich,将能够获取到上层存储库中的所有存储库或软件包。

基本上,当您使用 add-apt-repository 添加 PP A时,相当于手动执行类似如下命令:

deb http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main

deb-src http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main

上述 2 条命令是将存储库添加到 sources.list 的传统方法,而在添加 PPA 时会自动完成对 sources.list 文件的配置,而无需用户知道确切的存储库 URL 和操作系统版本,相当于是自动化的。

而相当重要的一点就是,使用 PPA 时它不会更改 Ubuntu 系统中的原始 sources.list 配置文件,而是根据最佳实践在 /etc/apt/sources.list.d/ 目录中创建列表文件和对应(save 扩展名)的备份文件。
在这里插入图片描述
4、如何下载 PPA
需要在互联网上搜索 PPA 名称,如 ppa:dr-akulavich/lighttable,就可以获得 Launchpad 这一官方 PPA 托管平台中的结果。当然,你也可以直接到 Launchpad 网站中进行搜索。
在这里插入图片描述
在这里插入图片描述
由于 Gdebi 在处理依赖项方面要好得多,建议使用 Gdebi 而非软件中心来安装这些 DEB 文件。

5、如何删除PPA安装的软件
建议在删除 PPA 之前事先删除通过 PPA 安装的软件,如果你只删除 PPA,则已经安装的软件仍然会保留在系统当中,而且还无法获得任何更新。

那么问题来了,如何判断哪些应用程序是通过 PPA 安装的呢?

1、找出通过PPA安装的软件

Ubuntu软件中心是不包括这个功能的,我们可以通过新立得包管理器来找出通过 PPA 安装的软件:

sudo apt install synaptic

在新立得包管理器中选择源自:如下是启动命令

root@ubuntu:~# synaptic

在这里插入图片描述
找到包后,您可以直接用新立得包管理器来删除它们,或者执行终端命令来删除:

sudo apt remove package_name

删除用 PPA 安装的软件包后,您可以继续从 sources.list 中删除 PPA。

2、以图形方式删除PPA

转到软件和更新——然后转到其它软件选项卡——查找要删除的 PPA:

在这里插入图片描述
你有两个选择:您取消选择 PPA 或直接用删除选项。

其区别在于:当您取消选择 PPA 条目时,系统会将 /etc/apt/sources.list.d 中的 ppa_name.list 文件注释掉;如果选择删除选项,就会直接删除 /etc/apt/sources.list.d 目录中的 ppa_name.list文件。

Zabbix是一款开源的监控工具,可以用于实时监控各种IT资源的状态和性能,并提供报警功能以及自动化的处理机制。Zabbix支持多种数据收集方法,包括主动式监控、被动式监控及事件触发式监控。 ### Zabbix内网安装部署步骤: #### 1. 准备工作 - **操作系统选择**:通常推荐Ubuntu作为服务器操作系统的安装基础,因为其稳定性较高且有丰富的软件包源。 - **服务器硬件需求**:根据需要监控的对象规模和复杂度,确定服务器的CPU、内存和磁盘空间大小。 - **网络配置**:确保服务器能够访问Internet以便下载安装包和其他依赖项。 #### 2. 安装基础环境 通过SSH登录到服务器并运行以下命令以更新系统并安装必要的基础软件: ```bash sudo apt-get update sudo apt-get install -y curl openssh-server python3-software-properties ``` #### 3. 添加Zabbix Repository Key 为了从Zabbix官方仓库获取最新版本的安装脚本,运行以下命令添加Repository Key: ```bash curl https://www.zabbix.com/zabbix/download.php?item=zabbix-repo.key | sudo apt-key add - echo "deb http://repo.zabbix.com/zabbix/5.0/ubuntu bionic main" | sudo tee /etc/apt/sources.list.d/zabbix.list ``` #### 4. 更新并安装Zabbix Server 和 Proxy ```bash sudo apt-get update && sudo apt-get install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-proxy ``` #### 5. 初始化MySQL数据库 首次启动Zabbix Server前,需要初始化MySQL数据库。执行以下命令创建数据库和用户: ```bash sudo systemctl start mysql sudo mysql_secure_installation ``` 然后安装Zabbix数据库: ```sql zcat zabbix_server.sql.gz | mysql -uzabbix -p$ZABBIX_PASSWORD zabbix ``` 替换 `$ZABBIX_PASSWORD` 为你自选的密码。 #### 6. 配置Zabbix组件 对于每个组件(Server、Web、Agent、Proxy),都需要相应的配置文件来指定服务端口、监听地址等信息。通常在 `/etc/zabbix` 目录下。 例如,编辑 `zabbix_agentd.conf` 文件设置监听端口和守护进程名: ```ini # Configuration file for the Zabbix Agent daemon (zabbix_agentd) Include = $ZABBIX_AGENTD_INCLUDE_DIR/*.conf PidFile = /var/run/zabbix/zabbix_agentd.pid LogFile = /var/log/zabbix/zabbix_agentd.log LogFileMaxSize = 10MB LogFileCount = 5 DebugLevel = 0 Server = <your-server-ip-or-hostname> RrdPollerPath = $ZABBIX_ROOT/libexec/rrdpoller ``` 修改 `<your-server-ip-or-hostname>` 为Zabbix Server的IP或主机名。 #### 7. 启动和验证服务 启动所有Zabbix服务: ```bash sudo systemctl enable zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-proxy sudo systemctl start zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-proxy ``` 验证安装是否成功: - 访问 Web 界面:`http://<server-ip>:8090` - 使用命令行检查代理状态:`service zabbix-agent status` #### 8. 设置报警通知 在Zabbix管理界面中设置报警规则、接收人、通知策略等,以确保在监测到异常时能够及时收到警报。 #### 相关问题: 1. **如何调整Zabbix的性能优化建议?** 2. **Zabbix与其它监控工具有哪些区别?** 3. **初次接触Zabbix应该注意哪些细节?**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值