ubuntu 进阶学习

什么是 Snap

Snap 包是 Ubuntu 16.04 LTS 发布时引入的新应用格式包。

当你在安装完 snap 后,你会发现在在根目录下会出现如 /dev/loop0、/dev/loop1 等挂载点,这些挂载点正是 snap 软件包的目录。Snap 使用了 squashFS 文件系统,一种开源的压缩,只读文件系统,基于 GPL 协议发行。一旦 snap 被安装后,其就有一个只读的文件系统和一个可写入的区域。应用自身的执行文件、库、依赖包都被放在这个只读目录,意味着该目录不能被随意篡改和写入。

较传统 Linux 的 rpm,deb 软件包,snap 引入 squashFS 文件系统,使得 snap 的安全性要优于传统的 Linux 软件包。同时,每个 snap 默认都被严格限制(confined),即限制系统权限和资源访问。但是,可通过授予权限策略来获得对系统资源的访问。

使用 snap 包的另一好处就是它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立;解决了应用程序之间的依赖问题,使应用程序之间更容易管理,但是由此带来的问题就是它占用更多的磁盘空间。

Install Shutter Screenshot Tool

Installing Shutter on Ubuntu 20.04 & 18.04

https://itsfoss.com/install-shutter-ubuntu/ Installing Shutter on Ubuntu 20.04 & 18.04
1
2
3
4
// Shutter is not available in Ubuntu 20.04.
sudo add-apt-repository ppa:linuxuprising/shutter
sudo apt update
sudo apt install shutter

切换 Python 环境

https://www.cnblogs.com/liuzhenbo/p/13176869.html ubuntu 切换 python 版本
1
2
3
4
5
6
7
8
// 查看你系统中有哪些Python的二进制文件可供使用
ls /usr/bin/python*
// 查看python替换版本信息
update-alternatives --list python
// 使用以下命令随时在列出的python替换版本中任意切换
sudo update-alternatives --config python
// 再查一下默认Python版本
python --version

用 aptitude 代替 apt-get 处理依赖性问题

  • aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。
  • 注意事项
  • 为什么可以这么做