Equipments in Debian Linux(KALI)

介绍

作为一个日常开发的程序员,三大平台都在日常使用的软件(生产力工具及娱乐工具)如下:

  • utools
  • typora
  • visual studio code
  • picgo
  • sogou pinyin
  • snipaste(win) / flameshot(linux) / ishot(mac)
  • cosbrowser
  • nodejs 及 npm
  • hexo
  • qqmusic

win和mac安装软件都相对简单,linux安装需要使用者自身具有一定的耐心和排除困难的经验,为了更好地体验linux的方便,这里对linux装机后的生产力工具安装做个简单记录,以下安装均在 KALI (Kali也属于Debian系Linux)上进行。

使用Linux系统的最大好处是 “一个终端即可解决即可开启大部分软件和解决日常事务,最多再开启一个utools”。

Linux上的软件安装方式通常分为四种方式:

  • 通过 dpkg 命令安装 .deb 文件
  • 通过 apt 或其他软件的软件安装命令(如,npmpip)来安装
  • 通过 ln 链接将程序绑定至全局变量来 “安装” 和使用
  • 通过直接调用 AppImage 的方式直接使用软件,此类方式需要一般需要手动双击执行

其中前三种方式的困难因系统而异,所说的困难是可能出现所安装的软件依赖不存在,需要使用者自行去定位(包括下载和添加源)和安装,或者链接方式错误等。而Linux源众多,每个节点的速度及其更新情况都不太一样,需要使用者判断。

uTools & Flameshot

uTools 使用的是 .deb 安装包安装,flameshot 使用 apt 命令进行安装。

依赖文件

  1. libspdlog1-fmt7 是 flameshot所需文件
  2. libappindicator3-1 是 utools所需文件

libspdlog1

尝试安装utools和flameshot后,apt会提示缺少文件。使用 sudo apt-get install libspdlog1-fmt7 来安装 libspdlog1-fmt7

如果触发安装破损修复,使用apt --fix-broken install 可以让apt自动修复安装错误,自动补全依赖文件。

libappindicator3

libappindicator3-1 文件需要使用者往 /etc/apt/source.list 中添加debian源,需要使用者掌握基本的 vim 软件使用方法(包括插入、保存和退出)。

  • 使用 sudo vim /etc/apt/sources.list 命令打开 source.list

  • i 进入 插入模式,复制粘贴 deb http://ftp.de.debian.org/debian sid main 至空白处,按 ESC 键,再依次输入 :wq 进行保存和退出。

  • 在终端输入 sudo apt-get update 进行源库软件列表更新,再次尝试 sudo apt-get install libappindicator3 来安装

    libappindicator3-1 and libappindicator3-7

最后再次尝试以下两条语句即可成功安装 utools 和 flameshot 。

1
2
sudo dpkg -i utools_1.3.5_amd64.deb
sudo apt-get install flameshot

Typora

TYPORA.IO 官方提供的安装代码如下:

1
2
3
4
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
sudo apt-get install typora

其中,向apt中添加源的第二条语句 add-apt-repository 会因缺乏 PPA 而无法执行,可以参考 sudo: add-apt-repository:找不到命令的解决方法 进行安装。

也可以参考 libappindicator3 的源添加方法,往 source.list 文件中添加 deb https://typora.io/linux ./ 来添加源。

添加成功后即可成功安装tyopra。

Sogou Pinyin

从搜狗官方下载的 Sogou 安装包,需要用 sudo dpkg -i sogoupinyin_2.4.0.3469_amd64.deb 命令进行安装,会遇到以下缺乏库的提示,主要是因为缺少 fcitx 的提示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
dpkg: 依赖关系问题使得 sogoupinyin 的配置工作不能继续:
sogoupinyin 依赖于 fcitx (>= 1:4.2.8);然而:
未安装软件包 fcitx
sogoupinyin 依赖于 fcitx-frontend-gtk2;然而:
未安装软件包 fcitx-frontend-gtk2。
sogoupinyin 依赖于 fcitx-frontend-gtk3;然而:
未安装软件包 fcitx-frontend-gtk3。
sogoupinyin 依赖于 fcitx-frontend-qt5;然而:
未安装软件包 fcitx-frontend-qt5。
sogoupinyin 依赖于 fcitx-module-kimpanel;然而:
未安装软件包 fcitx-module-kimpanel。
sogoupinyin 依赖于 fcitx-module-x11;然而:
未安装软件包 fcitx-module-x11。
sogoupinyin 依赖于 im-config;然而:
未安装软件包 im-config。
sogoupinyin 依赖于 fcitx-libs | libfcitx-config4;然而:
未安装软件包 fcitx-libs。
未安装软件包 libfcitx-config4。
sogoupinyin 依赖于 fcitx-libs | libfcitx-qt0;然而:
未安装软件包 fcitx-libs。
未安装软件包 libfcitx-qt0。
sogoupinyin 依赖于 fcitx-libs | libfcitx-utils0;然而:
未安装软件包 fcitx-libs。
未安装软件包 libfcitx-utils0。
sogoupinyin 依赖于 fcitx-ui-classic;然而:
未安装软件包 fcitx-ui-classic。
sogoupinyin 依赖于 libqt5quickwidgets5;然而:
未安装软件包 libqt5quickwidgets5。
sogoupinyin 依赖于 qml-module-qtquick2;然而:
未安装软件包 qml-module-qtquick2。

Fcitx[ˈfaɪtɪks]是 (Free Chinese Input Toy for X) 的英文缩写,中文名为小企鹅输入法,是一个以 GPL 方式发布的输入法框架, 编写它的目是为桌面环境提供一个灵活的输入方案,彻底解决在GNU/Linux下没有一个好的中文输入法的问题。

FCITX

通过输入 sudo apt-get install fcitx 来尝试安装,会触发 apt fix broken install, 此时只要再次输入 sudo apt --fix-broken install 来修复。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
下列软件包有未满足的依赖关系:
fcitx : 依赖: fcitx-bin 但是它将不会被安装
依赖: fcitx-data 但是它将不会被安装
依赖: fcitx-modules 但是它将不会被安装
推荐: fcitx-config-gtk 但是它将不会被安装 或
kde-config-fcitx 但是它将不会被安装
推荐: fcitx-frontend-all 但是它将不会被安装 或
fcitx-frontend-fbterm 但是它将不会被安装
推荐: fcitx-ui-classic 但是它将不会被安装 或
fcitx-ui-light 但是它将不会被安装
推荐: im-config (>= 0.5) 但是它将不会被安装
sogoupinyin : 依赖: fcitx-frontend-gtk2 但是它将不会被安装
依赖: fcitx-frontend-gtk3 但是它将不会被安装
依赖: fcitx-frontend-qt5 但是它将不会被安装
依赖: fcitx-module-kimpanel 但是它将不会被安装
依赖: fcitx-module-x11 但是它将不会被安装
依赖: im-config 但是它将不会被安装
依赖: fcitx-libs 但是它将不会被安装 或
libfcitx-config4 但是它将不会被安装
依赖: fcitx-libs 但是它将不会被安装 或
libfcitx-qt0 但无法安装它
依赖: fcitx-libs 但是它将不会被安装 或
libfcitx-utils0 但是它将不会被安装
依赖: fcitx-ui-classic 但是它将不会被安装
依赖: libqt5quickwidgets5 但是它将不会被安装
依赖: qml-module-qtquick2 但是它将不会被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。

安装成功

FIX-BROKEN 成功后,再次尝试安装 FCITX 就可以提示成功;接着安装sogou即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ sudo apt-get install fcitx                   
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
fcitx 已经是最新版 (1:4.2.9.8-3)。
fcitx 已设置为手动安装。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 136 个软件包未被升级。

$ sudo dpkg -i sogoupinyin_2.4.0.3469_amd64.deb
(正在读取数据库 ... 系统当前共安装有 270000 个文件和目录。)
准备解压 sogoupinyin_2.4.0.3469_amd64.deb ...
正在解压 sogoupinyin (2.4.0.3469) 并覆盖 (2.4.0.3469) ...
正在设置 sogoupinyin (2.4.0.3469) ...
正在处理用于 mailcap (3.69) 的触发器 ...
正在处理用于 desktop-file-utils (0.26-1) 的触发器 ...
正在处理用于 hicolor-icon-theme (0.17-2) 的触发器 ...

依赖库

sogou输入法依赖库具体如下:

1
2
3
4
5
6
7
8
9
10
下列【新】软件包将被安装:
dbus-x11 fcitx fcitx-bin fcitx-config-common fcitx-config-gtk fcitx-data
fcitx-frontend-all fcitx-frontend-gtk2 fcitx-frontend-gtk3
fcitx-frontend-qt5 fcitx-libs fcitx-module-dbus fcitx-module-kimpanel
fcitx-module-lua fcitx-module-x11 fcitx-modules fcitx-ui-classic
fcitx5-module-quickphrase-editor im-config libfcitx-config4
libfcitx-core0 libfcitx-gclient1 libfcitx-qt5-1 libfcitx-qt5-data
libfcitx-utils0 libgettextpo0 libpresage-data libpresage1v5
libqt5qmlworkerscript5 libqt5quickwidgets5 libtinyxml2.6.2v5 presage
qml-module-qtquick2

NodeJS & Hexo

使用 sudo apt-get install nodejssudo apt-get install node.js 均可以实现node.js 的安装,但是只能安装V12版。

可以在官方下载 node-v16.2.0-linux-x64.tar.xz ,并使用以下命令进行解压:

1
2
xz -d node-v16.2.0-linux-x64.tar.xz
tar -xvf node-v16.2.0-linux-x64.tar

解压完毕之后,以管理员身份将该文件移动至 /usr/local/node ,以下命令将 node-v16.2.0-linux-x64 拷贝的同时进行了 重命名 操作。

1
sudo mv /home/XXX/downloads/node-v16.2.0-linux-x64 /usr/local/node

注:XXX是用户名

然后进行软连接:

1
2
sudo ln -s /usr/local/node/bin/node /usr/local/bin
sudo ln -s /usr/local/node/bin/npm /usr/local/bin

Linux ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

以上是 ln 链接命令的解释,实际最重要的作用是将某个已下载的软件及其命令定义至全局,在终端的任意一个目录位置都可以使用该软件。

“安装” 成功

实际上新版的nodejs并不涉及 前述 dpkgapt 命令的安装,但软连接该文件目录至 /usr/local/bin 后,能实现安装效果,使用 node -vnpm -v 命令即可进行测试。

1
2
3
4
5
$ node -v
v16.2.0

$ npm -v
7.14.0

其他

对于使用此类安装方式进行安装的 依赖于nodejs的应用如果需要在全局进行使用可能也需要进行软连接,如 hexo。

使用 npm install hexo-cli -g 成功安装hexo后提示如下:

1
2
$ whereis hexo
hexo:

此时需要将 /usr/local/node/bin 文件夹下安装的程序也拉到全局变量中 /usr/local/bin 中。再次使用 whereis 命令检测时即可成功。

1
2
3
4
$ sudo ln -s /usr/local/node/bin/hexo /usr/local/bin/hexo

$ whereis hexo
hexo: /usr/local/bin/hexo

Visual Studio Code

VS code安装使用 dpkg 命令,最大的问题是微软的源下载太慢,以下提供个人下载点,安装过程不再记录。

个人下载点: Visual Studio Code Linux (deb)

PicGo

Typora_Picgo 有 command-line 版 和 app 版,参考 PicGo官方文档 (GFW封锁了github.io域名后缀,需要梯子)进行安装吧。

QQmusic & cosbrowser

这两个软件都是腾讯家产品,下载、安装和使用都很方便。

其中,QQMusic使用 dpkg 命令进行安装即可, cosbrowserAppImage 格式文件,直接打开即可使用,无需安装。

彩蛋sudo apt-get install cmatrix

---EOF---