原文作者:我辈理想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。
文章目录
本博客以Ubuntu系统为例
鉴于我们在使用linux系统的过程中,经常需要更新系统、下载文件、安装工具和软件等。linux系统自带的工具有apt和wget。比如docker工具时就会涉及到使用命令的更新依赖。
一、apt工具
apt工具经常被用于下载和安装软件,以及更新系统,他解决了在linux平台下安装软件的一个缺陷,即软件之间的依存关系。apt的原理是采用C/S模式,即客户端/服务器模式。就是需要一个apt服务器保存最新的linux软件包,这个就是ubuntu的源。但是默认的源不是适用于全球所有用户,总是有用户因为多种原因无法使用默认源(墙、网速)。所以我们需要更新软件源。在国内linux软件源主要有企业和高校的源。
http://mirrors.aliyun.com/ # 阿里云
http://mirrors.sohu.com/ # 搜狐开源镜像站
http://mirrors.163.com/ # 网易开源镜像站
http://mirrors.tuna.tsinghua.edu.cn/ # 清华大学
http://mirrors.ustc.edu.cn/ # 中国科学技术大学
http://mirrors.zju.edu.cn/ # 浙江大学
更换软件源其实就是修改/etc/apt/sources.list文件,这个文件是软件更新命令apt的网络请求连接。文件中主要涉及到3类连接,分别是archive.ubuntu.com、security.ubuntu.com、cn.archive.ubuntu.com。在修改前,我们先备份/etc/apt/sources.list,并通过cat /etc/apt/sources.list查看文件内容。
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
(一)命令修改文件
这里要用到的命令就是sed -i ,sed -i的相关使用参考本文给出的链接。
参考链接:sed -i命令详解及入门攻略
sudo sed -i s/cn.mirrors.aliyun.com/mirrors.aliyun.com/g /etc/apt/sources.list
sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list
sudo sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list
建议优先替换cn.archive.ubuntu.com,这个是中文Ubuntu存在的链接,如果优先替换archive.ubuntu.com,将报错无法解析域名“cn.mirrors.aliyun.com”
,需要运行命令对cn.mirrors.aliyun.com进行替换
sudo sed -i s/cn.mirrors.aliyun.com/mirrors.aliyun.com/g /etc/apt/sources.list
(二)手动修改文件
这种方式在网上很多,很多人推荐都是这种的,我就不造轮子了,直接上参考链接。
参考链接:Ubuntu更改软件源
(三)安装JDK
1.命令安装
# linux命令行下,安装jdk
sudo apt-get install openjdk-8-jdk
# 查看安装结果
java -version
二、wget工具
wget工具相对apt工具命令跟多一些,也更复杂,推荐使用apt(软件依赖问题)。这里列举一些常用的命令,复杂命令请自行搜索文档。wget下载和手动上传的文件是不会自动安装的(apt是直接下载安装),需要我们处理,下边以个下载安装为例。
(一)下载安装谷歌浏览器
1.下载或上传.deb文件
# 下载谷歌浏览器
sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
2.安装.deb文件
# 安装.deb文件
sudo dpkg -i google-chrome-stable_current_amd64.deb
# 如果报依赖错误,可能还需要
sudo apt-get install -f
# 查看安装版本
google-chrome --version
(二)下载安装JDK
1.下载或上传.tar.gz文件(压缩文件)
-c 是wget 的参数,断点续传方式。
sudo wget -c https://download.oracle.com/otn/java/jdk/8u321-b07/df5ad55fdd604472a86a45a217032c7d/jdk-8u321-linux-x64.tar.gz
2.解压.tar.gz文件,添加至系统运行的文件夹
# 通过tar安装到当前目录(/home/ubuntu/)
sudo tar -zxvf jdk-8u171-linux-x64.tar.gz
# 将jdk文件移动至指定位置,一般为usr/lib或usr/local(相当于windows的c:\Program Files文件)
mkdir /usr/local/jdk
cp /home/ubuntu/jdk1.8.0_341 /usr/local/jdk/jdk1.8.0_341
3.配置环境变量
linux全局环境变量文件为/etc/profile,当前用户环境变量 .bashrc
# 需要学习使用vim,linux下的文本编辑工具
sudo vim /etc/profile
修改/etc/profile对全局全部用户生效,打开文件后将以下内容添加在末尾
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_341
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
使修改的内容生效
source /etc/profile
三、其他报错
(一)The repository ‘http://xx.com stretch Release’ does not have a Release file
如果报错信息中的http://xx.com不在/etc/apt/sources.list文件内,http://xx.com链接所在位置应该是/etc/apt/sources.list.d文件夹下的文件内,修改文件的内容或删除文件即可。
/etc/apt/sources.list.d
ls
# linux命令行显示内容:ubuntugis-ubuntu-ppa-focal.list qgis.sources,qgis安装没有国内镜像,安装是一定失败的
sudo rm ubuntugis-ubuntu-ppa-focal.list
sudo rm qgis.sources
一般来说/etc/apt/sources.list.d这个文件夹默认是没有文件,只有linux系统在安装一些特殊的软件包时,将在/etc/apt/sources.list.d下建立一个文件,包含软件包的更新链接。
总结
对于一些集成度比较高的软件包,可能无法通过上边两种工具安装成功,linux也是可以手动安装软件包,相信我们平时在安装软件包也看到过相关方法。软件包安装如wget,其中的12步将提前下载好的文件上传至服务器。