Ubuntu开发环境安装

了解包管理工具 apt and snap

apt所采用的包是deb包,deb包最初是Debian Linux推出的,由于ubuntu基于debian,ubuntu将其集成到了apt包管理器中,apt可以自动解决软件之间依赖问题,对于当时的Linux软件市场来说,是一个巨大的进步,ubuntu还造了一个类似apple store的软件商店出来,以提供UI支持。

在ubuntu上配置好apt的国内源后,就可以使用apt-get轻松的安装软件了。

但是,随着软件包管理技术的进步和更新,随着计算机存储的提升,又随着开发者和用户对安全的重视提升,虚拟化和沙盒的概念逐渐兴起,虽然几年前ubuntu用apt代替了apt-get,ubuntu的母公司Canonical又整出了一个snap,我认为其理念和技术在很多方面都优于apt。而apt和apt-get只是换了个名字,但是snap是使用了沙盒,或者说容器的技术,是很大的进步。

总觉得在抄袭docker的思想,docker又是从虚拟化技术来的。

APT 修改为国内镜像

1
2
3
sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list

把里面的内容修改为 清华大学

修改IP

1
sudo vim /etc/netplan/00-installer-config.yaml

修改文件

1
2
3
4
5
6
7
8
9
10
11
12
13
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
addresses:
- 192.168.222.100/24
nameservers:
addresses: [114.114.114.114]
routes:
- to: default
via: 192.168.222.254
dhcp4: false
version: 2

配置生效

1
2
3
4
5
sudo netplan apply
# 查看 ip
ip addr show ens33
# 查看路由
ip route show

deb

  • Apt中找不到的软件需要PPA安装
  • 对与.deb后缀的包,双击可安装,dpkg安装
  • deb 不是特别安全,安装授权后可以访问系统任何位置
  • 多个软件可共享一个类库
  • 仅支持deb系的Linux

常用命令

查看IP

1
ip addr

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 更新源
sudo apt update
# 查看可更新软件
sudo apt list --upgradable
# 更新已经安装的软件
sudo apt upgrade
# 安装软件
sudo apt install net-tools wget
# 移除软件
sudo apt remove firefox
# 删除并清除配置文件
sudo apt --purge remove firefox
# 清理安装包
sudo apt autoclean
# 清理所有安装包
sudo apt clean
# 搜索软件
apt search firefox
# 列出已安装的
apt list --installed
# 卸载多余依赖
sudo apt autoremove

服务端必备软件

1
sudo apt install -y net-tools unzip

snap

没有代理不建议尝试,下载太慢了。
什么是snap?引用下面这段话:

是Canonical公司发布的全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间。

说白了snap是个新的包管理工具,他使用了容器的概念,他源自ubuntu母公司,但不止支持ubuntu,支持更多的Linux发行版。

snap最大的特点就是使用了容器来管理软件,容器带来最大的好处就是,

  1. 软件运行更加安全
  2. 独立和更加易控的版本
  3. 软件互不干预

snap的特点是

  • 易于打包软件和发行
  • 自动升级,你安装的软件永远都是最新的
  • 支持大量的Linux发行版
  • 易于版本回滚和改变.
  • 容易构建软件项目
  • 同时支持开源和闭源软件发行.
  • Snaps更加安全

snap安装软件

1
sudo snap install firefox

列出安装的软件

1
2
snap list

搜索软件

1
2
snap find

更新软件

1
2
3
4
sudo snap refresh firefox
# 更新全部
sudo snap refresh all

卸载软件

1
2
snap remove firefox

snap 下载慢问题

snapcraft可以直接下载软件,下载对应的 amd or amd64
然后

1
sudo snap install xxx.snap --dangerous  --classic

安装开发环境

安装 Typort

写文档的Markdown

官方安装方式

1
2
3
4
5
6
7
8
# or run:
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
# install typora
sudo apt-get install typora

安装 Chrome

1
2
3
4
5
6
7
8
9
# 查询
sudo apt-cache search chrome |grep chrome
# 安装
sudo apt-get install chrome-gnome-shell
# or
sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
sudo apt-get install google-chrome-stable

直接使用 deb

1
2
3
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

sudo dpkg -i google-chrome-stable_current_amd64.deb

安装 JDK8/14

1
2
3
4
5
# 查询是否 `jdk` 版本
sudo apt-cache search jdk |grep 8
sudo apt-cache search jdk |grep 17
# 安装 `jdk`
sudo apt-get install openjdk-17-jdk openjdk-17-jre openjdk-17-doc openjdk-17-source

切换 jdk 版本

1
sudo update-alternatives --config java

添加本地jdk

1
2
3
sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_211/bin/java 700
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_211/bin/javac 700
sudo update-alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_211/bin/jar 700

安装 Maven

1
2
3
4
# 查询
sudo apt-cache search all |grep maven
# 官方推荐脚本
sudo apt-get install maven

安装 IDEA

1
2
3
4
# 查询,没有结果
sudo apt-cache search all |grep intellij-idea
# 官方推荐脚本,但是这个好像安装不了
sudo snap install intellij-idea-ultimate --classic
1
2
3
4
5
6
7
8
#问题
cannot install "intellij-idea-community": snap "intellij-idea-community"
has "install-snap" change in progress
# 解决方式
sudo snap changes
# 终止安装
sudo snap abort 5
# 这里需要去 snapcraft 下载

解压安装需要添加桌面快捷方式

1
vim ~/Desktop/idea.desktop

写入

1
2
3
4
5
6
7
8
9
[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA
Icon=/home/maxzhao/develop/ideaIC-2024.2.0.2/bin/idea.png
Exec=/home/maxzhao/develop/ideaIC-2024.2.0.2/bin/idea.sh
Comment=IntelliJ IDEA Integrated Development Environment
Categories=Development;IDE;
Terminal=false

右击图标 allow launching

安装 VSCode

官网下载安装包

1
sudo dpkg -i code_1.47.3-1595520028_amd64.deb

安装 Git

1
2
3
4
# 查询,没有结果
sudo apt-cache search git |grep git
# 安装,上面太多了,直接安装
sudo apt-get install git

安装 Docker

1
sudo apt-get install docker

安装 NodeJS

1
sudo apt-get install npm nodejs

修改源

1
npm config set registry https://registry.npmmirror.com

测试

1
npm config get registry

安装 Flutter

1
2
sudo snap find flutter
sudo snap install flutter --classic

其它工具

安装 Vim

1
sudo apt-get install vim

安装 Curl

1
sudo apt-get install curl

安装 wps-office

官方下载 x64版本的.deb包。

1
2
3
4
cd Download
sudo dpkg -i wps-office_******_amd64.deb
# 部分字体
sudo apt -y install fonts-wqy-microhei fonts-wqy-zenhei

安装 Dash-to-dock

1
2
sudo apt-cache search dock |grep dash
sudo apt-get install gnome-shell-extension-dash-to-panel

本文地址: https://github.com/maxzhao-it/blog/post/60430/