Ubuntu - 软件安装过程及问题汇总

Ubuntu - 软件安装过程及问题汇总

  • Ubuntu中的安装包类型
    • app.tar.gz
    • app.deb
    • app.rpm
    • app.sh
    • app.run
  • Anaconda
    • Anaconda 权限所属问题
    • 创建 Anaconda-Navigator 图标
    • 安装 Anaconda 后的 Python 指向问题
  • PyCharm
    • 设置 PyCharm 终端启动
    • PyCharm 使用 conda 环境
  • References

本文收集一些笔者在使用 Ubuntu 时的软件安装过程及遇到的问题。



Ubuntu中的安装包类型

Ubuntu 中的软件安装包一般分为以下几种类型:app.tar.gzapp.debapp.shapp.run等。


app.tar.gz

  • 安装
    app.tar.gz 压缩包直接解压出安装的应用,使用这种方法解压安装的应用可以直接在解压出的文件中找到启动图标直接使用,就相当于 Windows 中的 绿色软件 。但是使用这种方法安装的应用不会在启动器和 Dock(程序坞)中自动生成图标,需要手动设置。
    图标的具体设置教程见文章:Ubuntu - 如何为应用添加桌面快捷方式?

  • 卸载


app.deb

  • 安装
    app.deb 文件为Debian软件包格式,是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统,成为了当前在 Linux 下非常流行的一种安装包。该文件可以使用 Ubuntu Software 直接安装,双击 app.deb 文件即可进入 Ubuntu Software ,点击 Install 即可安装。
    此外, app.deb 文件还可以使用命令行通过 Debian 的包管理命令 dpkg (Debian Packager) 进行安装,安装命令如下:

    sudo dpkg -i ./app.deb
    

Ubuntu - 软件安装过程及问题汇总_第1张图片

  • 卸载
    进入 Ubuntu Software ,在 Installed 里面找到已安装的软件,进行卸载。

app.rpm

Linux rpm 命令用于管理套件。rpm(redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

  • 安装

app.sh

  • 安装
    app.sh 类型安装包是可以直接运行的 bash 脚本,可以在 shell 中进行安装,使用如下命令:
    # 以下命令二选一即可
    bash app.sh
    ./app.sh  # .sh文件可以直接在 shell 中运行,所以可以省略掉 bash 。
    
  • 卸载

app.run

  • 安装
    app.run 文件为可执行的脚本文件,可执行文件通常用于Linux的程序的安装程序,其中包含程序数据和用于使安装指示,经常用于分发的设备驱动程序和软件应用程序。同样可以在 shell 中进行安装,使用如下命令:

    # 以下命令二选一即可
    ./app.sh
    sudo sh cuda_10.2.89_440.33.01_linux.run
    

    如果在安装过程,提示 “Permission denied” 文件不具有可执行的权限。使用如下命令来为文件添加可执行权限:

    chmod +x app.run
    

    继续使用上面的安装命令进行安装即可。

  • 卸载
    一般在安装目录下有个 uninstall 文件,切换到安装目录,然后输入 ./uninstall 即可卸载。



Anaconda

Anaconda 安装,需要在 Anaconda官网 下载最新的安装包 “Anaconda3-2020.07-Linux-x86_64.sh” ,下载好后转至对应的下载文件夹,启动终端,然后使用如下命令执行安装:

bash Anaconda3-2020.07-Linux-x86_64.sh

在安装过程中根据提示选择你的选项即可,类似于 Windows 软件安装过程。


Anaconda 权限所属问题

注意:在使用上述命令安装 Anaconda 时,不能通过 sudo 管理指令使用 root 权限进行安装,否则可能导致在使用时非root用户没有对 anaconda3 文件夹的读写权限而无法正常使用,在普通用户创建环境时会出现如下错误:

NotWritableError: The current user does not have write permissions to a required path.

如果安装时还是不小心使用了 root 权限,也不必卸载重装,只需要 cd 到 anaconda3 安装文件夹位置,运行以下命令来修改当前目录的拥有者:

sudo chown -R Username Path  # Username为当前登录账户的用户名,Path为需要修改权限的文件或文件夹。

执行上述命令后即可正常使用 Anaconda 。如果在后续的使用中再遇到 Path not writable. 问题或类似的问题,仍可使用 chown 来指定文件或文件夹的chown的权限拥有者。


创建 Anaconda-Navigator 图标

想要启动 Anaconda-Navigator ,可以直接在 Terminal 中输入 anaconda-navigator ,还可以使用 Desktop Entry 文件创建 Anaconda-Navigator 图标,执行路径为 ./anaconda/bin/anaconda-navigator,图标路径为 ./anaconda/lib/python3.8/site-packages/anaconda_navigator/static/images/anaconda-icon-256x256.png。(详细图标创建教程见: Ubuntu - 如何为应用添加桌面快捷方式?)


安装 Anaconda 后的 Python 指向问题

安装 Anaconda ,有一个问题需要注意,在 Ubuntu 中,安装 Anaconda 前,使用如下命令查看 Python 软链接指向:

which python

得到 Python 指向 Ubuntu 自带的 Python 路径:/usr/bin/python,而在安装 Anaconda 后,会将 Python 软链接直接映射至 Anaconda 自带的 Python 路径:./anaconda/bin/python



PyCharm

在 PyCharm官网 下载 PyCharm 的安装包,下载的安装包为 app.tar.gz 压缩包格式,按照上述的 app.tar.gz 介绍中的步骤进行安装即可。


设置 PyCharm 终端启动

在解压出 PyCharm 后,第一次运行的过程中,会有一些设置选项,其中有一步为:Create Launcher Script,询问是否 Create a script for opening files and projects from the command line. 并指定启动路径:Please specify the path where the script should be created. 如果在这一步设置过了,则可以直接在终端运行 PyCharm 。

如果忘记在第一次运行时进行初始设置,或者没有 Create Launcher Script 步骤,也不要慌,小问题,使用如下步骤设置即可:

vim ~/.bashrc
# 输入如下内容(相当于为操作设置别名):
alias charm="./software/pycharm-2020.2/bin/pycharm.sh"
# 设置好以后别忘了更新 .bashrc 文件:
source ~/.bashrc

经过上述设置,则可以在终端中直接使用 charm 命令打开 PyCharm 。

charm ./pycharm_project

PyCharm 使用 conda 环境

conda 用于环境管理非常方便,所以一般使用 conda 创建环境后,在 PyCharm 中使用 conda 环境。设置过程如下:

  • PyCharm => File => Settings => Python Interpreter => 点击向下的箭头 => Show all => “+” => Existing environment => “…” => 选择Anaconda中对应环境的 Python 解释器即可,例如:/home/lee/software/anaconda/envs/pytorch/bin/python3


References

conda创建环境报错:NotWritableError: The current user does not have write permissions to a required path.

你可能感兴趣的:(Linux,-,Ubuntu,anaconda,ubuntu,linux,python)