Linux 必要软件的安装与配置
主要是记录一下,免得下次重装系统后又到处搜索。。
Windows 建议使用 chocolatey 包管理工具
一、必要软件的安装
- JDK
- AdoptOpenJDK: 预编译好的,带有长期支持的 JDK 版本。(别再用 Oracle 了)
- 或者用 RedHat 预编译的版本:Red Hat OpenJDK
- 解压到
/opt(optional softwares, 可认为是 D盘)或/usr/local(相当于 C://Program Files)中。对桌面 Linux 用户而言,可以解压到/home/yourname/softwares/里也是可以的。 - 添加 PATH 和其他可能需要的环境变量:将下列命令添加到
/etc/profile中,如果只自己用的话,也可加入到~/.profile里。
- AdoptOpenJDK: 预编译好的,带有长期支持的 JDK 版本。(别再用 Oracle 了)
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
- 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里。 - Docker
- 在 Deepin 上的安装:https://wiki.deepin.org/index.php?title=Docker
- 其他:https://yeasy.gitbooks.io/docker_practice/content/install/
- 将用户加入 docker 组,这样就不需要 sudo 权限了:
usermod -aG docker <username>
其实我想我应该整个 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. 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镜像使用帮助
- 方法一:修改全局设置文件
${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>
- 方法二:用户配置:将上述全局文件 copy 到
${user.home}/.m2/settings.xml,再在此文件中做上述修改。(这个文件中的设置,会覆盖全局配置。)
setting.xml的详细解释见:https://maven.apache.org/settings.html
- 方法三:在项目的
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)
参考
Linux 必要软件的安装与配置的更多相关文章
- Linux下Qt的安装与配置
参考资料:http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html Linux 下编译.安装.配置 QT 下载qt 这里用的是4.7. ...
- 【VNC】Linux环境VNC服务安装、配置与使用
[VNC]Linux环境VNC服务安装.配置与使用 2009-06-25 15:55:31 分类: Linux 前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netc ...
- Linux 下编译、安装、配置 QT
转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+Ope ...
- CentOS6安装各种大数据软件 第三章:Linux基础软件的安装
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- Linux下软件常见安装方式
pasting 分类: Linux2007-12-08 16:31 1909人阅读 评论(0) 收藏 举报 linuxredhat脚本文档managerfile Linux下软件安装主 ...
- linux下vsftpd的安装及配置使用详细步骤(推荐)
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BS ...
- 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理
一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...
- .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用
一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...
- linux下svn的安装与配置
---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...
随机推荐
- jQuery_2_常规选择器-高级选择器2
属性选择器 <a title="num1">num1</a> <a title="num-ad">num2</a> ...
- openlayers 初步认识(转)
OpenLayers是一个开源的js框架,用于在您的浏览器中实现地图浏览的效果和基本的zoom,pan等功能.OpenLayers支持的地图来源 包括了WMS,GoogleMap,KaMap,MSVi ...
- 一、Web 如何工作的
平常我们在浏览器中输入一个网址,随即看到一个页面,这个过程是怎样实现的呢?下面用一幅图来说明: 整个流程如下: 1.域名解析 浏览器会解析域名对应的IP地址 PS:DNS服务器的知识 2.建立TCP ...
- 【洛谷3275】[SCOI2011] 糖果(差分约束系统入门题)
点此看题面 大致题意: 有\(N\)个小朋友,要求每个人都得到糖果,且每个人的糖果总数满足一定的关系式,请你求出至少共分给小朋友们多少糖果. 关系式的转换 首先,我们可以将题目中给定的式子进行转换: ...
- NOIP2018赛前停课集训记(10.24~11.08)
前言 为了不久之后的\(NOIP2018\),我们的停课从今天(\(Oct\ 24th\))起正式开始了. 本来说要下周开始的,没想到竟提早了几天,真是一个惊喜.毕竟明天有语文考试.后天有科学考试,逃 ...
- linux slab学习
https://blog.csdn.net/bullbat/article/details/7194794 https://blog.csdn.net/qq_26626709/article/deta ...
- maven手动导入jar包到本地仓库
一.cmd进入maven的bin目录下(我的目录是E:\cloud_cms\apache-maven-3.5.4\bin) cd E:\cloud_cms\apache-maven-3.5.4\bin ...
- JavaScript获取时间戳与时间戳转化
第一种方法(精确到秒): var timestamp1 = Date.parse( new Date()); 第二种方法(精确到毫秒): var timestamp2 = ( new Date()). ...
- Android驱动开发读书笔记七
第七章 (一)创建设备文件 1.使用cdev_init函数初始化cdec 描述设备文件需要一个cdev结构体,代码如下: struct cdev{ struct kobject kobj; struc ...
- mysql 查询出 n小时 以前的数据
select * FROM biaoming WHERE TIMESTAMPDIFF(SECOND ,CREATE_TIME,now() ) > 3*60*60