Ubuntu系统安装和卸载软件

204 阅读4分钟

一:ubuntu的安装包文件和压缩包文件分别是?

1.安装包文件(软件包)

格式:

.deb(Ubuntu/Debian)

2.解压命令

.tar.gz	tar -xzvf file.tar.gz
.tar.xz	tar -xJvf file.tar.xz
.zip	unzip file.zip(需安装 unzip)

3.使用 .deb 安装包:

方便、安全,适合通过官方仓库或可信 PPA 安装的软件(如 sudo apt install vim)。

4.使用压缩包的情况:

软件未提供 .deb 包(如某些开源项目源码)。

需要自定义安装路径或版本(如最新版 Node.js)。

便携式软件(解压即用,无需系统安装)。

二. 那么ubuntu使用apt安装的软件的位置在哪里,是否可以像windows那样的安装过程来理解?

Ubuntu 使用 apt 安装的软件与 Windows 的安装过程有显著不同,主要体现在文件分布、依赖管理和系统结构上。以下是详细对比和说明。

  1. Linux 系统没有类似 Windows 的 C:\Program Files 集中目录,而是将文件分散到多个系统目录,遵循 Filesystem Hierarchy Standard (FHS)。主要目录如下:

    /usr/bin 用户可执行文件(如 vim, git)。 C:\Program Files<软件>*.exe

    /usr/lib 软件依赖的库文件(.so 文件)。 C:\Program Files<软件>*.dll

    /usr/share 文档、图标、字体等共享资源。 C:\Program Files\Common Files

    /etc 软件的全局配置文件(如 nginx.conf)。 C:\ProgramData 或注册表

    /var 可变数据(如日志 /var/log,数据库文件)。 C:\Users\AppData\Local

    /opt 第三方大型软件(如手动安装的 IDEA、Steam)。 C:\Program Files 独立软件

    /home/<用户>/.local 用户级安装的软件(如 pip install --user 的 Python 包)。

  2. 与 Windows 安装过程的对比:

    安装方式 文件分散到系统目录,由包管理器统一管理。

    依赖管理 自动处理依赖(APT 下载所有依赖包并安装)。

    卸载清理 apt remove 删除大部分文件;apt purge 额外清理配置。

三. 为什么 Linux 不采用 Windows 的安装方式?

  1. 依赖共享:

    Linux 鼓励库文件(如 libssl.so)被多个软件共享,减少冗余

    Windows 倾向于每个软件自带依赖(如 DLL 文件),易导致“DLL Hell”。

  2. 权限与隔离:

    Linux 严格区分系统文件(/usr)和用户文件(/home),避免普通用户污染系统。

    Windows 允许软件更自由地修改系统目录。

  3. 包管理器优势

    apt 提供原子化操作(安装/卸载/升级一体化),而 Windows 依赖独立的安装程序。 如何像 Windows 一样“集中安装”软件?

总结: 也就是说,liunx系统的安装和windows有本质的不同,linux的文件是分散的,看似不好管理,其实这样的特性使得linux要比windows更加简洁,通过包管理,统一控制着软件的安装和卸载

四. 用户自定义的安装和卸载(dpkp)

1. 首先肯定是下载安装包。

wget az764295.vo.msecnd.net/stable/xxxx… -O vscode.deb

安装:sudo dpkg -i vscode.deb

sudo apt --fix-broken install 修复因依赖缺失导致的安装中断问题。相当于告诉系统:“刚才 dpkg 安装失败了,请帮我补全依赖再继续”。

2. dpkp是不是安装到当前目录?

不是的。dpkg -i 不会 将软件安装到当前目录,而是按照 .deb 包的设计,将文件安装到 Linux 系统的标准目录(如 /usr/bin、/usr/lib、/etc 等)。也就是说,本质上apt也是调用的dpkg。 在 Ubuntu/Debian 系统中,使用 dpkg 安装的软件可以通过以下方式卸载:

查看已安装的包名:dpkg -l | grep <关键词> # 例如查找 VS Code:dpkg -l | grep code

3. 卸载软件包:

3.1 保留配置文件(仅删除程序文件):sudo dpkg -r <包名> # 例如:sudo dpkg -r code

3.2 彻底卸载(删除程序文件 + 配置文件):sudo dpkg -P <包名> # 例如:sudo dpkg -P code

如果 dpkg 卸载失败(依赖问题):

3.3 如果直接使用 dpkg -r 或 dpkg -P 报错(如依赖问题),可以用 apt 辅助卸载:

sudo apt remove <包名> # 卸载并保留配置

sudo apt purge <包名> # 完全卸载(推荐)

3.4 为什么推荐 apt?

apt 会自动处理依赖关系,而 dpkg 不会。例如:如果其他软件依赖当前包,dpkg 会拒绝卸载,但 apt 会提示是否连带删除依赖项。

常见问题:

	卸载时提示“依赖问题”怎么办?
	sudo apt --fix-broken install  # 修复依赖
	sudo apt purge <包名>          # 重新卸载
            

清理残留文件:

	即使卸载后,某些用户配置或缓存可能残留,需手动删除:
	# 删除用户配置(如 VS Code 的配置和缓存)
	rm -rf ~/.config/Code/ ~/.vscode/ ~/.cache/vscode/
	# 删除全局残留(谨慎操作!)
	sudo rm -rf /etc/<软件名> /opt/<软件名>

五:压缩包的安装

推荐解压到/opt目录,因为/opt就是linux系统中表示“可选app”的目录

例如:在~/Download下有一个.tar.gz的压缩包

使用命令:

     sudo tar -xzvf XXX -C XXX
-x:解压。
-z:处理 gzip 压缩(.gz 文件)
-v:显示解压过程
-f:指定压缩包文件
-C /opt/devtools:指定解压目标目录(注意大写 C)
    

验证解压结果:

ls /opt/devtools  # 应看到解压后的目录(如 `go` 或 `go1.21.0`)