Linux 必要软件的安装与配置


主要是记录一下,免得下次重装系统后又到处搜索。。

Windows 建议使用 chocolatey 包管理工具

一、必要软件的安装

  1. JDK
    1. AdoptOpenJDK: 预编译好的,带有长期支持的 JDK 版本。(别再用 Oracle 了)
    2. 解压到 /opt(optional softwares, 可认为是 D盘)或 /usr/local(相当于 C://Program Files)中。对桌面 Linux 用户而言,可以解压到/home/yourname/softwares/里也是可以的。
    3. 添加 PATH 和其他可能需要的环境变量:将下列命令添加到 /etc/profile中,如果只自己用的话,也可加入到 ~/.profile 里。
export JAVA_HOME=/opt/java-xx               # 设定 JAVA_HOME,这是依赖 JDK 的软件可能需要的环境变量。
export PATH=$JAVA_HOME/bin:$PATH    # 添加到 PATH 中,放前面是防止被已存在的java环境覆盖掉。
# export JRE_HOME=/opt/java-xx/jre            # Tomcat 会先检查 JRE_HOME,若它不存在才检查 JAVA_HOME,一般来说设定了 JAVA_HOME 的话就不需要设定这个变量。
# 此外 java 还有个 CLASSPATH 变量,不过一般并不需要设置它。通过 -cp 或 --classpath 设定会更灵活。

P.S. deepin 可能会遇到提示 _JAVA_OPTIONS=-Dawt.useSystemAAFontSettings=gasp的问题,可以在 .profile 里加上 _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on',这是一个字体渲染选项,on 表示完全抗锯齿。详见Java Runtime Environment fonts

  1. Miniconda
    安装基本是傻瓜式的。
    需要注意的一个选项是Do you wish the installer to prepend the Anaconda<2 or 3> install location to PATH in your /home/<user>/.bashrc ? 如果你没注意这个,它默认会选否。此时需要手动将bin目录添加进 PATH。一般添加到用户的~/.bashrc里。
  2. Docker

其实我想我应该整个 Dockerfile,把各种环境全封进去,一劳永逸。。

二、proxychains-ng 代理

有很多命令行软件本身不支持使用代理,或者只支持 http(s) 代理。为了让它们走 socks5 代理。

这时有两个选择:设置镜像源,或者使用 proxychains-ng。

镜像源在后面说,proxychians-ng 因为用途最广,不支持镜像源或者代理的软件,也能通过它强制走代理。所以先介绍它。

首先安装:

# ubuntu
sudo apt-get install proxychains-ng

# arch 系列
yay -S proxychains-ng

proxychians-ng 默认使用 /etc/proxychains.conf 作为它的配置文件,一般安装完成后,该配置文件就会存在了。

现在修改该配置文件末尾的 ProxyList,改成你自己的 socks 代理路径:

[ProxyList]
socks5 127.0.0.1 1080

接下来就可以愉快的玩耍了,要使用任何软件时,在开头加上 proxychains 命令就行:

# 直接在开头加上 proxychains
proxychains npm install xxx
proxychains pipenv install xxx

# 需要 sudo 权限的,sudo 在最开头
sudo proxychains pip install xxx

# 或者也可以手动指定要使用的配置文件
sudo proxychains -f /path/to/proxychains.conf git clone git@github.com:xxx/xxx

三、各种镜像源的设置

由于GFW、或者是仓库大多在国外的原因,各种依赖管理工具都需要配置各种镜像仓库,不然网速会很感人。(如果你是全网VPN,忽略这个就行。。)
国内比较有名而且稳定的镜像,大概就是

  1. 清华 镜像源相当齐全,但是偶尔会停机更新,而且用的人太多,速度有点不稳定。
  2. 中科大 同样是大学学生维护的,速度也有点不稳定,也会停机更新。
  3. 阿里 阿里云的镜像算是最快最稳定的,源也相当齐全。

1. pip 设置清华 Pypi 镜像源

pip install pip -U  # 要求 pip>=10.0.0
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

更麻烦的方法:添加文件 ~/.pip/pip.conf,内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

该配置文件对 pip 和 pip3 都有效。

P.S. 不过可能清华用的人多,感觉中科大 pypi 镜像更快一点。

2. Anaconda 清华镜像源

进上面链接看吧,如果装了 Anaconda 的话。

3. Docker的阿里镜像

具体设置方法见上面的链接。(好像是要登录才可见)

4. maven 镜像

主要有两个:阿里maven镜像 和 163 maven镜像。因为网易有帮助文档,我就只给出网易的了。
参见网易Maven镜像使用帮助

  1. 方法一:修改全局设置文件${maven.home}/conf/settings.xml,找到 标签节点,并在其中添加下面的子节点:
<mirror>
    <id>nexus-163</id>
    <name>Nexus 163</name>
    <mirrorOf>*</mirrorOf>
    <url>http://mirrors.163.com/maven/repository/maven-public/</url>
</mirror>
<mirror>      
  <id>nexus-aliyun</id>    
  <name>nexus-aliyun</name>  
  <mirrorOf>central</mirrorOf>      
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>    
</mirror>
  1. 方法二:用户配置:将上述全局文件 copy 到 ${user.home}/.m2/settings.xml,再在此文件中做上述修改。(这个文件中的设置,会覆盖全局配置。)

setting.xml的详细解释见:https://maven.apache.org/settings.html

  1. 方法三:在项目的 pom.xml 中添加或修改:(一般 pom 中的 repo 只用于特殊镜像比较好,所以不建议这么干)
<repositories>
    <repository>
        <id>nexus-163</id>
        <name>Nexus 163</name>
        <url>http://mirrors.163.com/maven/repository/maven-public/</url>
        <layout>default</layout>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>nexus-163</id>
        <name>Nexus 163</name>
        <url>http://mirrors.163.com/maven/repository/maven-public/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </pluginRepository>
</pluginRepositories>

5. gradle 镜像

一般 gradle 其实用的也是 maven 仓库,在build.gradle中将对应的仓库全改成阿里的就行:(jcenter 和 google 一般只有安卓项目才需要。普通的 java 项目,只要改 mavenCentral 就行)

// 下面两个repositories都要改

buildscript {
    repositories {
//        mavenCentral()
//        jcenter()
//        google()
//        对 kts 脚本,使用: maven { url = uri("http://maven.aliyun.com/nexus/content/groups/public/") }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
    }
}

allprojects {
    repositories {
//        mavenCentral()
//        jcenter()
//        google()
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
    }
}

三、socks5代理设置

如果觉得镜像更新慢,也可以使用代理直接访问官方仓库。用 VPN 的话是一劳永逸。但如果你使用的是proxy代理方式,就需要些额外的配置。
anaconda pip 清华源同步很快,所以proxy就略去了。

1. gradle

修改 项目根目录/gradle.properties 文件,加入:(值请改成自己的,每个项目都要改。。)

org.gradle.jvmargs=-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080

2. maven

修改镜像篇说过的 setting.xml,文件的 proxies 节点,加入内容:(同样port请改成自己的)

<proxy>

      <id>ss</id>

      <active>true</active>

      <protocol>socks5</protocol>

      <username></username>

      <password></password>

      <host>127.0.0.1</host>

      <port>1080</port>

      <nonProxyHosts>127.0.0.1</nonProxyHosts>

 </proxy>

3. git

使用如下命令

git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'

四、包管理器镜像源(apt)

Ubuntu 镜像使用帮助 - 清华镜像源

参考


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM