Ubuntu基础

信息查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 查看当前正在运行的 Ubuntu 的版本号
$ cat /etc/issue

# 查看CPU核数
## 总核数 = 物理CPU个数 X 每颗物理CPU的核数
## 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
## 查看物理CPU个数
$ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

## 查看每个物理CPU中core的个数(即核数)
$ cat /proc/cpuinfo| grep "cpu cores"| uniq

## 查看逻辑CPU的个数
$ cat /proc/cpuinfo| grep "processor"| wc -l

# 查看CPU信息(型号)
$ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

# 查看内 存信息
$ cat /proc/meminfo

# 查看系统资源占用

## 显示内存使用情况
$ free
$ free -m

## 显示任务队列信息
$ uptime

## 实时地对系统处理器的状态进行监视
### 命令格式:top [-] [d] [p] [q] [c] [C] [S] [n]
$ top

## 观察磁盘活动情况、观察cpu活动情况
$ vmstat

软件管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 安装
$ apt-get install <programname>

# 浏览已安装的程序
$ dpkg --list

# 查看程序是否安装
dpkg -l | grep <programname>

# 只卸载程序但保留配置文件
$ apt-get remove <programname>

# 彻底卸载
$ apt remove --purge <programname>

# 删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件
$ apt-get autoremove

# 删除 /var/cache/apt/archives/ 已经过期的deb
$ apt-get autoclean

# 将 /var/cache/apt/archives/ 的 所有 deb 删掉
$ apt-get clean

系统配置

配置ssh

1
2
3
4
5
6
7
8
9
$ sudo apt-get install openssh-server
$ sudo vi /etc/ssh/sshd_config
##### 修改或增加如下内容 #####
#PermitRootLogin prohibit-password #将这行注释
PermitrootLogin yes #增加这行
##### 内容结束 #####

$ service sshd restart
$ sudo systemctl enable ssh

替换软件源为阿里源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# 备份原来的源文件
$ cd /etc/apt/
$ sudo cp sources.list sources.list.bak

# 修改源文件内容
sudo vim sources.list
##### Ubuntu 18.04 增加如下内容 #####
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
##### 内容结束 #####

##### Ubuntu 16.04 增加如下内容 #####
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
##### 内容结束 #####

# 更新源和软件
$ sudo apt-get update #可更新获取 阿里云软件源 提供的软件列表
$ sudo apt-get upgrade #更新软件

升级内核

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ uname -r
$ apt update && apt upgrade -y
$ mkdir /root/kernel
$ cd /root/kernel

# 下载地址 https://kernel.ubuntu.com/~kernel-ppa/mainline/
# 下载64位 4.19 版本内核
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19/linux-headers-4.19.0-041900_4.19.0-041900.201810221809_all.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19/linux-headers-4.19.0-041900-generic_4.19.0-041900.201810221809_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19/linux-image-unsigned-4.19.0-041900-generic_4.19.0-041900.201810221809_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19/linux-modules-4.19.0-041900-generic_4.19.0-041900.201810221809_amd64.deb

# 下载 4.19 版本内核
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19/linux-headers-4.19.0-041900_4.19.0-041900.201810221809_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19/linux-headers-4.19.0-041900-generic_4.19.0-041900.201810221809_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19/linux-image-4.19.0-041900-generic_4.19.0-041900.201810221809_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19/linux-modules-4.19.0-041900-generic_4.19.0-041900.201810221809_i386.deb

# 安装内核文件
$ dpkg -i *.deb

# 更新引导文件
$ update-grub
$ reboot
$ uname -r

卸载旧内核

1
2
3
# 查看当前已经存在的内核
$ dpkg --get-selections |grep linux-
$ apt remove linux-<版本号>

清理掉状态为 deinstall 的旧内核

1
2
$ dpkg -P linux-<版本号>
$ dpkg --get-selections |grep linux-

开启bbr

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 修改系统变量
$ echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
$ echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

# 保存生效
sysctl -p

# 查看内核是否已开启BBR
$ sysctl net.ipv4.tcp_available_congestion_control
## 显示如下即已经开启
## net.ipv4.tcp_available_congestion_control = bbr cubic reno

# 验证BBR是否已经启动
$ lsmod | grep bbr
## 显示以下即启动成功
## tcp_bbr 20480 14

关闭防火墙

1
2
3
4
5
6
7
8
9
10
# 查看防火墙状态
## Status: inactive 关闭
## Status: active 开启
$ sudo ufw status

# 关闭防火墙
$ sudo ufw disable

# 开启防火墙
$ sudo ufw enable

配置用户

配置密码长度

1
2
3
4
5
6
7
8
9
$ sudo nano /etc/pam.d/common-password
##### 找到如下内容 #####
password [success=1 default=ignore] pam_unix.so obscure sha512
##### 内容结束 #####

# 修改为如下内容
##### 修改为如下内容 #####
password [success=1 default=ignore] pam_unix.so sha512 minlen=1
##### 内容结束 #####

设置root密码

1
2
$ sudo passwd -u root
$ sudo passwd root

安装vim full版本

ubuntu预装的是vim tiny版本,会导致vi中方向键不能正常使用,需要安装vim full版本。

1
2
$ sudo apt-get remove vim-common
$ sudo apt-get install vim

安装 lrzsz

1
$ apt-get install lrzsz

创建用户

1
2
3
4
5
6
7
8
$ sudo useradd -r -m -s /bin/bash vagrant

# 设置密码
$ sudo passwd vagrant

# 修改用户权限
$ sudo chmod +w /etc/sudoers
$ sudo vim /etc/sudoers

删除用户

1
2
# 删除 wlb 用户
$ sudo userdel wlb

禁用虚拟内存

1
2
3
4
5
6
7
8
$ sudo swapoff -a
# 把根目录文件系统设为可读写

$ sudo mount -n -o remount,rw /
$ vim /etc/fstab
# 在swap分区这行前加 # 禁用掉,保存退出

$ sudo free -m

Ubuntu设置虚拟内存

查看Swap分区的大小

1
$ free -m

-m 表明单位是MB。

创建一个Swap文件

1
2
3
$ mkdir swap
$ cd swap
$ sudo dd if=/dev/zero of=swapfile bs=1024 count=16384000

count代表swap文件的大小

把生成的文件转换成Swap文件

1
$ sudo mkswap swapfile

保持swap文件

在 /etc/fstab 文件中写入

1
swapfilepath swap swap defaults 0 0

swapfilepath 代表swap文件的路径,例如:

1
/home/wanglibing/swap/swapfile swap swap defaults 0 0

重启

1
$ reboot

检查设置是否成功

1
$ free -m

配置 ntp

1
2
3
4
5
6
7
8
9
10
11
# 安装 ntpdate
$ apt-get install ntpdate

# 设置系统事件与网络时间同步
$ ntpdate cn.pool.ntp.org

# 将系统时间写入硬件时间
$ hwclock --systohc

# 确认时间
$ date

配置主机名

1
2
3
4
5
$ vim /etc/cloud/cloud.cfg
##### 修改如下内容 #####
# 该配置默认为 false ,修改为 true 即可,主要作用是防止重启后主机名还原
preserve_hostname: true
##### 内容结束 #####

配置开发环境

安装 Docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 更新apt包索引
$ sudo apt-get update

# 安装软件包以允许apt通过HTTPS使用存储库
$ sudo apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common

# 添加Docker的官方GPG密钥
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

安装Docker Compose

1
2
3
$ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose --version

Ubuntu-更改默认Java环境

1
2
3
4
5
# 查看已经安装的java环境
$ update-java-alternatives -l

# 设置默认环境为jdk1.8
$ sudo update-java-alternatives -s java-8-oracle

通过apt-get安装jdk1.8

安装python-software-properties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 安装python-software-properties
$ sudo apt-get install -y python-software-properties
$ sudo apt-get install -y software-properties-common

# 添加ppa
$ sudo add-apt-repository ppa:webupd8team/java

# 更新系统
$ sudo apt-get update

# 安装jdk1.8
$ sudo apt-get install oracle-java8-installer

# 检查
$ java -version

安装maven

方式一:解压安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 解压
$ tar -zxvf apache-maven-3.5.2-bin.tar.gz -C /usr/local

# 添加环境变量
$ sudo gedit /etc/profile
##### 内容开始 #####
export M2_HOME=/usr/local/apache-maven-3.5.2
export PATH=${M2_HOME}/bin:$PATH
##### 内容结束 #####

# 使配置生效
$ source /etc/profile

# 检测
$ mvn -v

方式二:apt-get方式安装

1
2
3
4
5
# 安装
$ sudo apt-get install maven

# 检查
$ mvn -v

settings.xml路径:$M2_HOME/conf/settings.xml。

安装Git

1
$ sudo apt-get install -y git

安装Ansible

1
2
3
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible

安装Gradle

1
2
3
4
5
# 安装
$ sudo apt-get install gradle

# 检查
$ gradle -v

安装IDEA

下载

https://www.jetbrains.com/idea/download/#section=linux

安装

1
2
3
$ sudo tar -zxvf ideaIU-2017.3.tar.gz -C /usr/local
$ cd /usr/local/idea-IU-173.3727.127/bin/
$ ./idea.sh

安装Virtualbox

1
2
3
4
5
6
7
8
9
10
11
# 安装VirtualBox
$ cd /usr/local
$ wget https://download.virtualbox.org/virtualbox/6.0.10/virtualbox-6.0_6.0.10-132072~Ubuntu~bionic_amd64.deb
$ sudo dpkg -i virtualbox-6.0_6.0.10-132072~Ubuntu~bionic_amd64.deb

# 修复依赖关系
$ sudo apt-get install -f

# 安装扩展包
$ wget https://download.virtualbox.org/virtualbox/6.0.10/Oracle_VM_VirtualBox_Extension_Pack-6.0.10.vbox-extpack
$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.0.10.vbox-extpack

安装Vagrant

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装ruby及相关
$ sudo apt update
$ sudo apt-get -y install ruby rubygems
$ sudo apt build-dep vagrant ruby-libvirt
$ sudo apt install libxslt-dev libxml2-dev libvirt-dev zlib1g-dev ruby-dev
$ vagrant plugin install vagrant-libvirt

# 安装vagrant
# 下载安装
$ wget https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64.deb
$ sudo dpkg -i vagrant_2.2.5_x86_64.deb

# 检查
$ vagrant -v

卸载自带openjdk

1
$ sudo apt-get remove openjdk*

安装Z-shell(Oh My Zsh)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 更新包
$ sudo apt-get update
$ sudo apt upgrade

# 安装 ZSH, powerline & powerline fonts
$ sudo apt install zsh
$ sudo apt-get install powerline fonts-powerline

# 克隆 Oh My Zsh Respo
$ git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

# 创建一个新的 zsh 配置文件
$ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

# 更改 zsh
$ nano ~/.zshrc
##### 找到如下内容 #####
ZSH_THEME="robbyrussell"
##### 内容结束 #####

##### 替换为如下内容 #####
ZSH_THEME="agnoster"
##### 内容结束 #####

# 切换默认 shell 为 zsh
$ chsh -s /bin/zsh

# 升级 zsh
$ cd ~/.oh-my-zsh/tools
$ chmod +x ./*.sh
$ ./upgrade.sh

# 配置高亮
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$HOME/.zsh-syntax-highlighting" --depth 1
$ echo "source $HOME/.zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> "$HOME/.zshrc"

# 切换回默认的 bash
$ chsh -s /bin/bash

安装应用软件

开启工作区

配置显示桌面

【系统设置】-> 【外观】-> 【点击】行为标签-> 【勾选】开启工作区|添加“显示桌面”到启动器。

切换工作区

Control + Alt + 方向键。

安装gnome桌面环境和dock工具

安装 gnome-shell

1
$ sudo apt-get install gnome-shell

注销

右上角 -> 【log out】

安装Cairo-dock

【Ubuntu软件中心】-> Cairo-dock -> 安装。

安装下载工具

安装

1
2
3
$ sudo apt-get update
$ sudo apt-get install uget
$ sudo apt-get install aria2

配置uget

开启uget,依次打开界面的编辑——>设置,切换到“插件”界面,然后勾选“启用aria2插件”。

配置Firefox

  • 打开火狐浏览器,进入附加组件管理页面,然后搜索并安装flashgot
  • 点击重启浏览器
  • 再次进入附加组件管理页面,选我的附加组件,这时我们就可以看到刚刚安装的Flashgot了,单击“首选项”打开首选项设置窗口,在“下载管理”中选项uget,把uget设为下载。

安装搜狗输入法

下载

https://pinyin.sogou.com/

安装

1
2
3
4
5
# 安装  
$ sudo dpkg -i sogoupinyin_2.2.0.0102_amd64.deb

# 修复依赖关系
$ sudo apt-get install -f

配置

【系统设置】->【语言支持】,键盘输入方式系统选择 fcitx,注销。

设置Thunderbird开机启动

启动应用程序首选项

命令行输入

1
$ gnome-session-properties

添加启动程序

【点击】添加按钮,在命令栏中输入thunderbird。

安装Teamview

1
2
3
$ wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
$ sudo dpkg -i teamviewer_amd64.deb
$ sudo apt-get install -f

安装定时休息提醒软件

1
$ sudo apt-get install workrave

安装 Samba

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Installing Samba
$ sudo apt update
$ sudo apt install samba
$ whereis samba

# Setting up Samba
$ mkdir -p /home/<username>/sambashare/
$ vim /etc/samba/smb.conf
##### 增加如下内容 #####
[sambashare]
comment = Samba on Ubuntu
path = /home/username/sambashare
read only = no
browsable = yes
##### 内容结束 #####
$ sudo service smbd restart
$ sudo ufw allow samba

# Setting up User Accounts and Connecting to Share
$ sudo smbpasswd -a username
## Mac
smb://ip-address/sambashare
## Windows
\\ip-address\sambashare

安装监控类应用

安装 htop

1
2
$ sudo apt-get install htop
$ htop

常见错误

Unable to acquire the dpkg frontend lock

报错内容

1
2
Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend),   
is another process using it?

解决办法

1
2
3
4
5
6
$ sudo killall apt apt-get
$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/cache/apt/archives/lock
$ sudo rm /var/lib/dpkg/lock*
$ sudo dpkg --configure -a
$ sudo apt update

Ubuntu 18.04重启后TeamViewer无法连接

问题描述

在Ubuntu 18.04上安装TeamViewer后,如果系统重新启动,则TeamViewer无法连接!

解决办法

1
$ sudo vim /etc/gdm3/custom.conf

将如下行取消注释

1
WaylandEnable=false

重启。

参考

坚持原创技术分享,您的支持将鼓励我继续创作!
0%