怎么安装aptdaemon模块_apt install 到底做了什么

本文探讨了在Linux系统中使用`apt install`安装软件的原因和潜在问题,包括权限、文件分布混乱以及难以精确控制软件版本。文章通过以Ubuntu 18.04安装redis为例,详细解释了`apt install`执行的一系列操作,如创建用户、服务脚本、配置文件等。作者指出,这种方式可能导致混乱的文件结构,更倾向于使用二进制文件解压安装,以保持目录结构清晰。文章以部署mongodb为例,展示了手动部署的过程,包括创建目录、编写配置文件、注册系统服务等步骤,以此实现对软件安装的更好掌控。
摘要由CSDN通过智能技术生成

痛点说明

当我们在使用 debian/ubuntu 的时候,如果需要安装一些应用,通常会执行 sudo apt install ...,如果源中有的话,这是最傻瓜式,也最方便的方式了。

但是笔者其实一直不是很喜欢这种方式,原因如下:

这种方式由于给到了 root 权限,无形中,背后做了很多事,对于笔者来说,总感觉缺乏一些掌控

这种方式安装的软件,相关的文件会分散到各种目录,很乱。

没法精确的去控制到底使用哪个版本,因为源中可能没有。

为什么乱呢? 这和 Linux 的设计有关。这块笔者不是很清晰,之前看过一片 文章,这篇文章很长,它后面简要介绍了 Linux 上安装软件的特点,强烈建议玩 Linux 的同学看下。这里,我简单描述下,希望我理解的没有问题。

我们先说下 Windows。 在 Windows 下,安装一个软件,通常会是一个安装包,点击安装,会指定一个安装目录,安装完成后,这个软件连同这个软件的相关依赖,都会同时放进我们指定的安装目录。

当然,如果是那种解压直接用的,直接找个目录放解压就好。这个时候,是不是很清晰,某个软件就是安装在某个目录。当然,除此外,然后也有可能在 比如 User 目录下,放一些配置文件,缓存什么的。但是笔者以为,相比较 Linux,可以说相当清爽。

反观 Linux 呢? 当我们执行 sudo apt install ... 时,最终文件会散落到 /usr、/var、/run 、/etc等等这些目录,如果你是个小白,可能对此完全蒙圈,即便对于一些开发人员,其实对这些也知之不多。只有对于有经验的运维人员,才能快速熟练的找到相关文件的位置。

我们从 Linux 上面软件的安装方式出发,其实就能窥见这其中的混乱了。 比如说 Ubuntu,当我们要安装一个软件时,通常会有几种安装方式:

sudo apt install ...

sudo dpkg -i ***.deb

snap install ...

如果是桌面版的话,可以直接从应用商店下载

下载二进制文件压缩包,解压直接使用

下载源码,自行编译,再 make install

所以,在使用 Linux 的时候,我们总会去搜索诸如 “Ubuntu18.04 如何安装 mongodb ” 这样的问题,而且经常是一个软件有几种不同的安装方式,对于初学者,当从其中一个点出发的时候,基本是蒙圈的。与此同时,我们在使用 Windows 完全不会有这样的困扰,管你是 QQ,PS 还是 mysql,基本上通过一个安装包解决问题。

下面我们来梳理下混乱之下到底是些什么?

以下描述基于 Ubuntu18.04 安装 redis 为例, 当我们执行 sudo apt install redis 的时候,系统做了如下事件:

创建了 redis user 和 redis group, 同时指定其 home 为 /var/lib/redis,我们 执行 cat /etc/passwd | grep redis, 看到以下结果,注意该用户无法登录系统

redis:x:124:129::/var/lib/redis:/usr/sbin/nologin

添加了 /etc/init.d/redis-server 的可执行脚本

添加了 /etc/rcx.d/S01redis-server 的软链

添加了 /lib/systemd/system//redis-server.service 文件,供 systemd 调度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值