主要是记录一下,免得下次重装系统后又到处搜索。。
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 ...
随机推荐
-
javascript export excel
<input type="button" onclick="tableToExcel('tablename', 'name')" value=" ...
-
一个基于Orchard的开源CRM --coevery简介
Coevery是开源的.NET Web平台项目,力争打造一个开放而鲁棒的CRM系统,采用Orchard架构,并使用AngularJS改善页面体验.作为一个后发优势的CRM 产品,Coevery 具有一 ...
-
Best Practices for Performance_1、2 memory、Tips 性能和小的优化点、 onTrimMemory
http://developer.android.com/training/articles/memory.htmlhttp://developer.android.com/tools/debuggi ...
-
Socket通信基本原理
Http通信: http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据. Socket通信: Socket通信则是在双方建立起连接后就 ...
-
error log
04-29 18:18:17.295 6903-6913/? I/art: Debugger is no longer active 04-29 18:18:17.473 157-157/? I/DE ...
-
windows下eclipse+hadoop2
windows下eclipse+hadoop2.4开发手册 1.解压下载的hadoop2.4,到任意盘符,例如D:\hadoop-2.4.0. 2.设置环境变量 ①新建系统变量,如下所示. ②将新建的 ...
-
Thread.Join 和 Task.Wait 方法
这两个方法 可以说是类似的功能,都是对当前任务进行等待阻塞,执行完毕后再进行后续处理 talk is cheap, show you code,下面一个是异步执行,一个是加了阻塞,可以对比不同执行结果 ...
-
pymysql.err.ProgrammingError: 1064 (Python字符串转义问题)
代码: sql = """INSERT INTO video_info(video_id, title) VALUES("%s","%s&q ...
-
CSS--block inline inline-block
display:block block元素会独占一行,多个block元素会各自新起一行.默认情况下,block元素宽度自动填满其父元素宽度. block元素可以设置width,height属性.块级元 ...
-
Android程序backtrace分析方法
如何分析Android程序的backtrace 最近碰到Android apk crash的问题,单从log很难定位.从tombstone里面得到下面的backtrace. *** *** *** * ...