ubutnu系统维护

文章目录

1 参考

官方手册-中文

知识点

  1. 特殊文件 /dev/null 和 /dev/zero 简介及对比

2 分区

说到分区方案,/boot根本不需要,只会带来更多麻烦。初学者建议空闲空间只分两/三个分区,/和home就足够了。swap如果内存大就不要。

  1. /efi:200M~500,采用Logical Partition,用于boot安装到此efi分区,(本人采用1G存储大小)
  2. /:128G大小,采用Primary Partition
  3. /home: 剩余存储

安装ubuntu系统时安装到efi分区

3 内核

系统版本号

cat /etc/issue

查看是uefi还是leagcy启动

ls /sys/firmware/efi/
#如果是uefi方式,则会找到此文件夹,
#否则,该文件夹不存在

升级

  • 小版本升级
sudo apt update
sudo apt list --upgradable
sudo apt upgrade
sudo apt autoremove
sudo apt --purge autoremove
sudo reboot
  • 大版本升级:如18.04升级到20.04
#先完成小版本升级后再进行后续步骤
sudo apt install update-manager-core  #升级一下系统升级管理工具
sudo do-release-upgrade
#显示如下
Checking for a new Ubuntu release
There is no development version of an LTS available.
To upgrade to the latest non-LTS develoment release
set Prompt=normal in /etc/update-manager/release-upgrades.
#再次执行以下命令:
sudo do-release-upgrade -d
#后续步骤按提示完成即可

设置时区

sudo vim /etc/profile
#文件加上一行:
export TZ=’CST-8’

reboot

自动清理

参考1
参考2
参考3:推荐

# 查看所有内核
sudo dpkg --get-selections | grep linux
# 查看当前使用的内核版本
uname -a  #或者 -r
# 移除冗余内核
sudo apt update
apt list --upgradable  #可以升级清单查看
sudo apt -V upgrade
sudo apt --purge autoremove

# 卸载后重新检查是否有冗余内核
sudo dpkg --get-selections | grep linux

The above commands only work on newer systems as all old Linux kernels and headers automatically flagged as no more needed, and thus can be purged.

或者使用synaptic工具进行清理,Synaptic不会尝试验证你试图删除什么, 如果你不小心删除了你的最新内核,甚至删除了你的所有内核,都是有可能的,注意检查你当前的内核

sudo apt install synaptic
su
synaptic

手动清理(推荐)

参考

# 查看当前使用的内核版本
uname -a
# 查看所有内核
sudo dpkg --get-selections | grep linux

# 使用 purge 连配置文件里一起彻底删除,清理内核列表
sudo apt purge  linux-headers-xxx     #xxx是版本号,数字比较小的一般是旧版本
#删除所有linux-*-xxxx 开头的内核文件
#linux-headers-4.15.0-39 
#linux-headers-4.15.0-39-generic 
#linux-image-4.15.0-39-generic 
#linux-modules-4.15.0-39-generic 
#linux-modules-extra-4.15.0-39-generic

# 卸载后重新检查是否有冗余内核
sudo dpkg --get-selections | grep linux

# 更新系统引导
sudo update-grub2   #ubuntu18使用的grub2启动
#或者 sudo update-grub   #ubuntu18使用的grub version 2.0 与update-grub2属于同一命令(不同名而已)
# 查看grub配置信息是否与 sudo dpkg --get-selections | grep linux结果一致
cat /boot/grub/grub.cfg

4 软件

修改主机名

就是修改终端显示的 @主机名

# 1. 修改hostname文件
sudo vim /etc/hostname   #这个容易,不会出现什么严重错误,改成自己喜欢的名字 aaa
# 2. 修改hosts文件
sudo vim /etc/hosts  #在127.0.0.1 后面的名字改成自己喜欢的名字 aaa
# 3. 重起系统
reboot

修改用户名

重点:ubuntu18.04用户名,主机名,密码修改,增加用户,删除用户
Ubuntu下更改用户名和主机名
Linux系统中如何修改用户名

su root
vim /etc/sudoers  # 添加 aaa 用户名和权限
vim /etc/passwd  #进入/etc/passwd将 旧用户名 改为 新用户名
vim /etc/group  #进入/etc/group将 旧用户名 改为 新用户名
vim /etc/shadow #进入/etc/shadow将 旧用户名 改为 新用户名
vim  /etc/gshadow #进入/etc/gshadow将 旧用户名 改为 新用户名

#进入/home目录,将文件的旧用户名改为新用户名
cd  /home
mv 旧用户名 新用户名
reboot #重启

修改用户秘密

sudo passwd user_name 
# 连续输入新密码,确认新密码

root密码

# root密码初始化
sudo passwd 
#或者
sudo passwd root

添加新用户

参考

#推荐方法
sudo adduser limin  #同时会创建/home/limin目录 

#不推荐方法 
sudo useradd limin

用户组

groups      #查看所有的用户组
groupadd    #添加新的用户组
groupdel    #删除用户组

生成随机密码

pwgen:生成易于人类记忆并且尽可能安全的密码。

sudo apt install pwgen
pwgen   #Boom! 出一个密码列表!你还想要什么呢!
vaeQuo5f Ahdieb8u Reefoo3P beiD7dah queeJae0 Eez3XiaP iaSik5ch eeX9iech
miu7ge2B gaeka5Gu yeecooN6 ook1EeBa haerahD6 eing3jaH ahGhie7U SheeNg5m
eireeW3O Iec1aeZ6 aiCh0hah wahl1Quu caiK7bei aeNeis0p Doo1nieZ Arie3eth
Or2zoo2a dia7Xo9w Chi6ehah XaeLi8fe cohha3Za aeKaem0E eseiCu7i Pech6hoJ
shai5Vei taeC2zai Theith9s ieze7eeW Aih3Iech aeWaiSh0 coh3Iifu iomah5Di
Bee0gooP ieS2ooqu EP1shei4 quik8uYa Ohj5aike Eeceev4n uus5Buis OoZ1ogh8
pooGh5je Keep1reu Zev4iene woht3ioW eiNga9ow ichoh1Ve tai1iChe aiSo0nai
ouKi2eeb oa0Shiey pheiNg8Y ieP2quae Eequai7O Lai3Zier eech0biD Fe6Ahs9a
jeP7eiho Ishu8die Uosoh4ua Eeng8Qua Ie9Aenoo Ohgeang5 hiNae5sh zaj2Eiqu
magh4Ung Shahxei8 Cheuloh4 ihaiW0le Aib6chie Siemee7e iedohx3E eeyier5O
io6ahroH Zo1ohch8 budieT4f Fei0we7f ohf0aiNi agah1Ogh wae4eiGo Eif9aen9
aiG4Aiqu Bishah6i eeQu9iet Zupal6ja laic8Aiy xieCh1ei sohn0Pie ohtob2Ei
aeV4Quiu thiom5Aa za8ooRie Oegh2bee Hu4Foh6P the8Aht5 eec7Aizo Yeijah4j
daa2Eexo ae7Eithu Rahv9Chu Aghi0roo je9eiPoo on5Thohy ii9Thosu baiM7ieg
juHey1ua Ziex1uQu Ael2baqu Esho4aux Ohj6quio iN5oociH auReiT8a yuo6Canu
ohG4equu nohV5caw ieThu2ci AiRied1c Uw1uyah3 eit7tahY oon3yeaW io5Fo8th
hea0Amuj ohKe4ohg AhThoo2i Phei1Nee Fie9oovi yadieS3a ceeD9zah Kei0dieK
areo1aXo uaRoaG0k hauchiN2 atoox6Et sheeGh2r aijo8Koh Zae6evou ush0Giey
Or7thah5 ookooX9j siMu7shu woX4eeNg ahree6oF ooC1Ooph uYeiMae2 ohyaeJ6l
caiBie1a Oophah0I aTh5jupe phieph3U Phoo6iek aiGhaed3 xahgh4eK Iep8yiuF

管理命令

apt-cache search packagename #搜索包
apt-cache show packagename #获取包的相关信息,如说明、大小、版本等
sudo apt install packagename #安装包/指定升级
sudo apt install packagename --reinstall #重新安装包
sudo apt -f install #修复安装"-f = ——fix-missing"
sudo apt --fix-broken install #修复安装
sudo apt remove packagename #删除包
sudo apt remove packagename --purge #删除包,包括删除配置文件等
sudo apt autoremove --purge #自动清理无用的包
sudo apt update #更新源
sudo apt upgrade #更新已安装的包

sudo apt dist-upgrade #升级系统
sudo apt dselect-upgrade #使用 dselect 升级
apt-cache depends packagename #了解使用依赖
apt-cache rdepends packagename #是查看该包被哪些包依赖
sudo apt build-dep packagename #安装相关的编译环境
apt source packagename #下载该包的源代码
sudo apt clean && sudo apt autoclean #清理无用的包
sudo apt check #检查是否有损坏的依赖
sudo apt list --installed #列出所有已经安装的软件包

温控检测

sudo apt-get install lm-sensors hddtemp 
sudo sensors-detect 
sensors 
sudo apt-get install psensor 
psensor 
#done!

风扇风速控制

ubuntu下如何控制风扇速度?
How To Control Fan Speeds in Ubuntu

sudo apt-get install lm-sensors fancontrol
sudo sensors-detect   #所有的询问问题全部输入yes
#上条命令执行到最后  输入yes来把sensors-detect插入这些模型到到 /etc/modules 或者你也可以自己编辑它
sudo service kmod start
#配置风扇控制
sudo pwmconfig  #这条命令会把每个风扇停止5秒来判断哪个风扇可以控制
#开始风扇控制服务
sudo service fancontrol start. #这条命令也会自动使风扇控制服务开机自运行

gcc/g++升级和降级

sudo apt install gcc  #默认安装最高版本的
sudo apt install g++  #默认安装最高版本的
# 因此有些情况下可能不适合,所以将版本降低
# 先查看本地已经安装的gcc
ls /usr/bin/gcc*
# ubuntu20的gcc默认是gcc-9版本
# 比如降级gcc-8, 如果本地没有gcc-8,则先安装
sudo apt install gcc-8 g++-8
# 1. 添加gcc/g++版本仓库
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50
# 修改默认gcc
sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
  Selection    Path            Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-9   100       auto mode
  1            /usr/bin/gcc-8   50        manual mode
  2            /usr/bin/gcc-9   100       manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
# 确认gcc默认版本
gcc --version

限定软件升级

从 apt 升级中排除/保留/阻止特定软件包的三种方法

sudo apt-mark hold xxxx  #限制xxxx软件升级
sudo apt-mark showhold   #显示所有的软件升级限制
sudo apt-mark unhold xxxx  #解除限制xxxx软件升级

静态/动态IP配置

IP地址查看

sudo apt install net-tools
ip addr   #查看ip 地址

查看自己的网卡名称等信息

ifconfig  #查看相关信息
# 如果没有ifconfig,则需要安装:sudo apt install net-tools

在这里插入图片描述

查看Gateway

netstat -rn

在这里插入图片描述
以0.0.0.0开始的行的gateway是默认网关

查看DNS

cat /etc/resolv.conf
nameserver 202.101.172.47
nameserver 221.12.1.227

建议DNS配置成Gateway一直

配置

netplan目录下默认的网络配置文件,文件后缀为.yaml,本人命名为network-managerl.yaml,如果没有可以使用sudo -i gvim /etc/netplan/network-manager.yaml自己创建

设置静态IP

编辑网络配置文件,配置内容如下:

# Let NetworkManager manage all devices on this system
# Let static ip-address
network:
  version: 2
  renderer: NetworkManager
  ethernets:
     eno1: #配置的网卡名称,使用ifconfig -a查看得到
       dhcp4: no #dhcp4关闭
       addresses: [192.168.31.188/24] #设置本机的静态IP及掩码
       gateway4: 192.168.31.1 #设置网关   小米路由器默认网关
       nameservers:
         addresses: [192.168.31.1, 114.114.114.114, 8.8.8.8, 8.8.4.4] #设置DNS
设置动态IP

编辑网络配置文件,配置内容如下:

# Let NetworkManager manage all devices on this system
# Let dynamic ip-address 
network:
  version: 2
  renderer: NetworkManager
  ethernets:
     eno1: #配置的网卡名称,使用ifconfig -a查看得到
       dhcp4: true #open dhcp4
       addresses: [] #设置本机IP及掩码
       optional: true

配置生效

生效
sudo netplan apply
ifconfig #查看生效后的ip信息
测试

浏览器测试是否能正常上网

查看安装包版本信息

sudo apt show packagename  
#例如
sudo apt show wine-stable  # 查看源提供的安装包版本

添加/删除 apt-repository

# 添加源
sudo add-apt-repository 'ppa:app-name/ppa-name'
# 或者
sudo apt-add-repository 'ppa:app-name/ppa-name'
# 更新:
sudo apt update
# 删除指定源
sudo add-apt-repository -r 'ppa:app-name/ppa-name'
# 或者
sudo vi /etc/apt/sources.list
# 删除 ppa:app-name/ppa-name 然后保存退出
# 更新:
sudo apt update

apt-key add/del

Add wine key

wget https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key
sudo apt-key add Release.key

First you need to find the key id of the key you added. Do this by the command:

sudo apt-key list

It will list all the keys that you have, with each entry looking like this:

/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2020-03-02 [SC] [expires: 2022-03-02]
      F640 3F65 44A3 8863 DAA0  B6E0 3F01 618A 5131 2F3F
uid           [ unknown] GitLab B.V. (package repository signing key) <packages@gitlab.com>
sub   rsa4096 2020-03-02 [E] [expires: 2022-03-02]

pub   rsa4096 2016-04-12 [SC]
      EB4C 1BFD 4F04 2F6D DDCC  EC91 7721 F63B D38B 4796
uid           [ unknown] Google Inc. (Linux Packages Signing Authority) <linux-packages-keymaster@google.com>
sub   rsa4096 2019-07-22 [S] [expires: 2022-07-21]

pub   rsa3072 2018-12-10 [SC]
      D43F 6401 4536 9C51 D786  DDEA 76F1 A20F F987 672F
uid           [ unknown] WineHQ packages <wine-devel@winehq.org>
...

Once you have figured out which key to remove, use the command:

# sudo apt-key del <keyid>   <keyid>表示需要删除的keyid
sudo apt-key del D43F640145369C51D786DDEA76F1A20FF987672F
# 返回ok表示删除成功
sudo apt-key list 

apt方式卸载软件

#例如下载dia软件
#1. Uninstall dia
# To remove just dia package itself from Ubuntu execute on terminal:
sudo apt remove dia

#2. Uninstall dia and it's dependent packages
# To remove the dia package and any other dependant package which are no longer needed from Ubuntu Trusty.
sudo apt autoremove dia

#3. Purging dia
#If you also want to delete configuration and/or data files of dia from Ubuntu Trusty then this will work:
sudo apt purge dia

#4. To delete configuration and/or data files of dia and it's dependencies from Ubuntu Trusty then execute:
sudo apt autoremove --purge dia           #推荐方式

apt安装包存储位置

apt 下载后,软件所在路径是什么??

ls /var/cache/apt/archives

apt清理缓存

#查看到安装包所占用的空间
du  –h  /var/cache/apt/archives
# 清理旧版本的软件缓存
sudo apt autoclean
# 清理所有软件缓存
sudo apt clean
# 删除系统不再使用的孤立软件
sudo apt autoremove

桌面图标

参考:ubuntu18.04应用图标建立桌面快捷方式

dpkg清理

软件安装

#安装指定deb文件
sudo dpkg -i xxx.deb

软件卸载

#dpkg命令查看帮助信息
dpkg --help
#列出所有deb安装软件,过滤请加" |grep xxx"
dpkg -l
#删除deb软件,仍然残留配置文件.dpkg -l发现该软件仍然在列表中
dpkg -r xxx
#清除配置文件,注意P是大写,代表purge
dpkg -P xxx

snap清理

#Find installed snaps: 
snap list
#Remove installed snaps: 
sudo snap remove <package>
#Remove snapd: 
sudo apt purge snapd
#Remove snap directory from home: 
rm -rf ~/snap
#If you receive an error removing snapd then do the following 
sudo rm -rf /var/cache/snapd 
#then run 
sudo apt purge snapd
sudo apt atuoremove

卸载图形桌面

参考

sudo apt-get remove gnome-shell
sudo apt-get remove gnome
sudo apt-get autoremove
sudo apt-get purge gnome
sudo apt-get autoclean 
sudo apt-get clean
shutdown -r now

5 备份

方法1:backups

在 Ubuntu 18.04 之前,可以从 Settings 中找到并启动备份工具。但是到了 18.04,备份工具不再出现在 Settings 中了,在 Activities 中搜索 “backups” 可以找到该工具

#google chrome收藏夹文件存储路径,只需备份此文件即可
/home/usr-name/.config/google-chrome/Default/Bookmarks

方法2:systembackup

Ubuntu18.04使用Systemback制作系统镜像并还原

sudo apt install systembackup
# 可以自由备份和快照,还能备份制作成iso文件

推荐方法3:Brasero

sudo apt install brasero
#可以制作成各种iso文件,还能将iso文件烧录到介质中(比如USB,制作成USB系统安装盘)

6 时钟同步

win10与Ubuntu双系统下,时间往往出现不同步问题,解决方法如下:

#设置BIOS为本地时间
$ sudo timedatectl set-local-rtc 1      
#更新世界时间
$ sudo apt install ntpdate         
$ sudo ntpdate time.windows.com
#将时间更新至BIOS硬件
$ sudo hwclock --localtime --systohc

7 禁止挂起休眠

对于服务器使用,需要系统去掉了默认的安全策略,不能直接设置自动休眠。
界面设置过程:
setting->Power->Suspend & Power Button -> Automatic Suspend -> Never
setting->Power->Suspend & Power Button -> When the power button is pressed -> Suspend
或在修改配置文件

vim /etc/systemd/logind.conf
#找到 #HandleLidSwitch=suspend
# 放开注释,suspend修改为ignore,如下:
HandleLidSwitch=ignore
#重启系统解决,之后不会再自动休眠了

戴尔品牌机作为服务器使用,新安装了ubuntu18.04LTS,待机一段时间后,发现无法连接到服务器,查看发现机器自动挂起了。修改了power设置中中blank screen 为never,保存之后过了半个小时又再一次自动挂起了。经分析原因,发现自动黑屏后,系统检测误认为是laptop lid(显示屏🈴上),然后自动进入suspend状态(休眠),导致服务器暂停工作。
推荐使用如下方法:

sudo apt install gnome-tweaks
#配置 tweaks -> Power -> Suspend when laptop lid is closed -> off

8 个人PC设置自动休眠时间和唤醒

界面设置过程:
setting->Power->Suspend & Power Button -> Automatic Suspend -> Delay -> 30 minuters
setting->Power->Suspend & Power Button -> When the power button is pressed -> Suspend

  • 30 分钟内系统无任何操作 -> 系统自动进入Suspend(休眠)状态 -> 按一下电源键 -> 唤醒
  • 系统工作状态 -> 按一下电源键 -> 系统进入Suspend(休眠)状态 -> 按一下电源键 -> 唤醒

9 系统备份与还原

tar方式备份还原

推荐参考,此博客足够使用

sudo apt install deja-dup   #安装deja backups软件
sudo apt install duplicity python-gi
#使用backups进行备份和还原系统管理

备份推荐方式

#备份前先切换到root用户,避免权限问题
#$ su
#再切换到/(根目录)
cd /
#备份系统
# 清理旧版本的软件缓存
apt-get autoclean
# 清理所有软件缓存
apt-get clean
# 删除系统不再使用的孤立软件
apt-get autoremove

#关闭一些服务
systemctl stop sshd
systemctl stop autofs
systemctl stop smbd
# systemctl disable smbd
# systemctl mask smbd
systemctl stop nfs-kernel-server

backfilename=/mnt/disk/sysbackup/ubuntu_backup@`date +%Y-%m+%d`.tar.gz
tar cpzf $backfilename --exclude=/proc --exclude=/tmp --exclude=/home/xxx/work --exclude=/home/xx/Downloads --exclude=/home/xxx/Documents --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/run --exclude=/var/cache/apt/archives --exclude=/home/xxx/.local/share/Kingsoft /  > /dev/null

还原系统

#备份前先切换到root用户,避免权限问题
#$ sudo su
#再切换到/(根目录)
cd /

# 直接操作: 如果你系统出问题了,但是还可以进入终端,那就可以直接解压备份文件进行还原。
# 操作前切换到root,并且换到/根目录。
tar xpzf /mnt/disk/sysbackup/ubuntu_backup@2021-10+09.tar.gz -C /
# tar xvpjf /mnt/disk/sysbackup/ubuntu_backup@2021-10+09.tar.bz2 -C /

# LiveCD: 但是如果你连系统都不能登录了,就要使用LiveCD(U盘启动盘)进行还原了。
# 操作之前请确保你已经有一个制作好的ubuntu U盘启动盘。进入系统后,打开终端还是先切换到root。
#注意先创建一个临时目录用于挂载你的/根目录分区,sdaX代表你的/根目录分区,如果不知道就用fdisk -l查看一下,另外如果你的移动硬盘没有被自动挂载,你也需要手动创建一个临时目录进行挂载。
# mkdir /mnt/sys
# mount /dev/sdaX /mnt/sys
# tar -xvpzf /media/myDisk/ubuntu_boot_backup@2016-6-6.tar.gz -C /mnt/sys
# 注意先创建一个临时目录用于挂载你的/根目录分区,sdaX代表你的/根目录分区,如果不知道就用fdisk -l查看一下,另外如果你的移动硬盘没有被自动挂载,你也需要手动创建一个临时目录进行挂载。

# Note:因为 tar还原是只会覆盖相同的文件,但是这种方法只是恢复备份时的文件,就是说如果某些文件丢失或损坏了,这样可以恢复修复这些文件,但不能删除自备份到恢复前这期间所生成的其它文件,
# 说白了就是假如你备份系统时有1234这四个文件,如果三天后,由于某些原因变成了1234’5(4改变了),你恢复后,就会变成12345,其中4’恢复成备份时的文件,5保留。
# 所以大家要是想彻底还原成备份时候的样子最好彻底删除根目录下的所有文件,然后再还原,这样就可以还原成备份时的样子了。
# 删除整个文件系统,比如运行命令rm -fr /*,
# 那么你还原系统后一定要把你之前没有备份的目录手动创建,不然重启系统是有问题的。
# mkdir proc tmp lost+found media mnt run

软件方式

Systemback软件方式
使用Systemback构造属于自己的Ubuntu镜像(详解)

10 禁止系统自动更新和下载更新包

修改配置文件

sudo vim /etc/apt/apt.conf.d/10periodic
#内容如下
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "0";
#APT::Periodic::Unattended-Upgrade "0";

#修改成如下内容
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
#APT::Periodic::Unattended-Upgrade "0";

11 中文输入法

ubuntu18.04安装中文输入法

sudo apt install ibus-libpinyin ibus-table-wubi gimp-help-en
#sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4
# tuijian 安装默认中文输入法
sudo apt install ibus-pinyin
# 然后在settings的 Region& Language 的 Input Sources设置栏中,点击 Manage Installed Language,初次进入会安装些字体等相关信息,选择 ibus模式。注销并重新登录后可使其生效
#点击+ 添加Chinese(Pinyin)。注销后使之生效。

# 安装sougo中文输入法
# sougo输入法下载地址:https://pinyin.sogou.com/linux/?r=pinyin
# 如果以前使用或安装过fcitx,需要先删除
sudo apt remove fcitx*

sudo apt install fcitx-bin
sudo apt install fcitx-table
# sougo输入法下载地址:https://pinyin.sogou.com/linux/?r=pinyin
# 安装
# 然后在settings的 Region& Language 的 Input Sources设置栏中,点击 Manage Installed Language,初次进入会安装些字体等相关信息,选择 fcitx模式。注销并重新登录后可使其生效

12 swap分区的使用

参考:https://www.cnblogs.com/Areas/p/13558939.html

13 解决/var/log/journal/ 文件过大问题

journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。
该日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经历过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速。
2、journalctl 命令自动维护文件大小

# 直接删除
rm -rf /var/log/journal/*
# 此方法只会清空一次,一段时间后还要再次手动清空很麻烦,这里可以用以下命令让journalctl 自动维护空间
# journalctl 命令自动维护文件大小
# 只保留近一周的日志
sudo journalctl --vacuum-time=1w   
# 只保留100MB的日志
sudo journalctl --vacuum-size=100M

14 修改默认中文字体

#首先检查是否安装了中文字体,在终端上输入下面指令查看已安装字体
fc-list :lang=zh
#安装 文泉驿字体
sudo apt-get install fonts-wqy-microhei  #文泉驿-微米黑
sudo apt-get install fonts-wqy-zenhei  #文泉驿-正黑
#检查安装的中文字体名称,比如wqy-zenhei的名称可以通过如下命令得到WenQuanYi Zen Hei
fc-list :lang=zh
#重新设定系统字体
sudo gvim /etc/fonts/conf.d/64-language-selector-prefer.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
	<alias>
		<family>sans-serif</family>
		<prefer>
			<family>WenQuanYi Zen Hei</family>
			<family>Noto Sans CJK JP</family>
			<family>Noto Sans CJK KR</family>
			<family>Noto Sans CJK SC</family>
			<family>Noto Sans CJK TC</family>
			<family>Noto Sans CJK HK</family>
			<family>Lohit Devanagari</family>
		</prefer>
	</alias>
	<alias>
		<family>serif</family>
		<prefer>
			<family>WenQuanYi Zen Hei</family>
			<family>Noto Serif CJK JP</family>
			<family>Noto Serif CJK KR</family>
			<family>Noto Serif CJK SC</family>
			<family>Noto Serif CJK TC</family>
			<family>Lohit Devanagari</family>
		</prefer>
	</alias>
	<alias>
		<family>monospace</family>
		<prefer>
			<family>WenQuanYi Zen Hei</family>
			<family>Noto Sans Mono CJK JP</family>
			<family>Noto Sans Mono CJK KR</family>
			<family>Noto Sans Mono CJK SC</family>
			<family>Noto Sans Mono CJK TC</family>
			<family>Noto Sans Mono CJK HK</family>
		</prefer>
	</alias>
</fontconfig>

sudo fc-cache -vf  #刷新系统字体缓存即可
# 或者
sudo shutdown 原来默认的繁体字体就变成了新的简体中文。

15 文件名批量重命名

# 安装rename
sudo apt install rename

rename 's/old/new/' old.file
# s的作用是指定我们使用第二个字符串替换第一个字符串,从而将 old.file 改为 new.file

# 1. 批量删除文件命中的指定字符
# 如: rain-001.png, rain-002.png, ...
# 改: 001.png, 002.png, ...
rename ‘s/rain-//' rain-*.png



常用命令记录

u盘挂载/卸载

fdisk -l
# 比如u盘位置 /dev/sdb4  挂载U盘
sudo mount /dev/sdb4 /mnt/work
# mount: /mnt: 未知的文件系统类型“exfat”. 解决办法:
sudo apt install exfat-fuse exfat-utils
#卸载U盘
umount /mnt/work

cpu核数

nproc   #number of cores

查看usb信息

lsusb
# 查看usb camera
ls /dev/video  #如果有信息,则有usb camera设备

查看Foldename目录大小

cd Foldename 
du -sh    #会给出总大小的一个数字,如果目录下文件很大,要等一会。

软链接

# 创建 test目录的软链接test_ln
ln -s test test_ln
# 正确的删除方式(删除软链接,但不删除实际数据)
rm -f test_ln
# 错误的删除方式
rm -rf test_ln/    # 这样就会把原来test_chk下的内容删除

问题记录

Could not get lock /var/lib/dpkg/lock-frontend解决

ps afx | grep apt
kill xxx    #xxx表示进程号
#如果仍然出现,需要手动删除 /var/lib/dpkg/lock即可。
rm -rf /var/lib/dpkg/lock
rm -rf /var/lib/dpkg/lock-frontend

可以操作别的浏览器或者IDE,唯独不能操作文件系统。

# 文件管理器假死的解决办法,有时候点击ubuntu的文件管理器图标半天没反应,可以找到相应的进程杀死即可
ps -ef|grep nautilus  # 查看文件管理进程
# 查看usb camera
killall nautilus #把那个文件管理进程杀死即可

如果连界面都不能使用了(系统直接崩溃了)

#解决方案:
#Ctrl + Alt + F1(或F2-F6)进入命令窗口,输入自己的系统名称和密码
top  #找到可能造成假死的进程, 用kill命令结束掉进程。
#然后Ctrl + Alt + F7(或F8-F12)回到图形界面

#或者 直接使用执行以下的任意一个命令注销桌面重新登录。
sudo pkill Xorg
#或者
sudo restart lightdm
#就重启了...

安装软件时,出现“E: Unable to correct problems, you have held broken packages”问题

问题原因:Ubuntu安装软件时经常会因为软件包之间的依赖关系无法完成安装。
解决方案:

sudo apt install aptitude     #:完成aptitude命令安装
sudo aptitude install 软件包   # :自动安装某个软件包
#输入n+回车 -> 输入y+回车

make时出现 dirname: missing operand 问题

make
dirname: missing operand
Try ‘dirname --help’ for more information.

gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.5.0-3ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) 

ubuntu 18.04 IBUS-WARNING **: /.config/ibus/bus is n问题

以下方法却是可以解决wanning问题,但是会出现丢失ibus输入法,原因暂时未知
这是ibus的一个bug: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1125944

sudo gvim filename
#或者
sudo gedit filename
# 提示下面语句
IBUS-WARNING **: /.config/ibus/bus is n
# 解决办法
rm ~/.config/ibus

建议使用vim方式编辑root权限的文件,默认方式是不允许gvim方式编辑root权限的文件(不建议桌面化方式编辑root权限的文件)

5 界面卡死

参考原文链接:https://blog.csdn.net/qq_38863413/article/details/104562876

程序卡死,鼠标可以动
键盘实效,鼠标可以动,但是点击没有效果

解决办法很简单,默认你知道 Linux 的 top,ps,kill 等指令的用法,只要打开终端(CTRL+ALT+T)找到CPU占用比较大的,kill掉,问题解决。

如果你打不开终端(按住键盘无反应) 那就是桌面卡死了,只需要进入 TTY终端,既然图形化桌面卡了,那不使用图形化桌面即可。方法: CTRL+ALT+F1 (不一定,你试一试,F1-F7都试试)如果能进入TTY终端,登录,和上面的操作一样,使用 top,ps,kill 等指令,也可轻松解决

如果你上面的方法都失败了,那我推测你和我遇到的情况一样了。

你电脑键盘上的 SYSRQ 键(我的电脑是 PRTSC 和 SYSRQ 共用一个键),按照下面的步骤:

左手按住 CTRL 和 ALT键不松手(一直到结束都不松手)
右手按一下 SYSRQ
右手按一下 R 键
右手按一下 E 键
右手按一下 I 键
右手按一下 S 键
右手按一下 U 键
右手按一下 B 键
不出意外,你的电脑应该就安全的重启了。我的就是这么解决的。

后记
我查了一下资料,原来这是一种系统请求,会直接交给内核处理,上面的步骤解释如下:

CTRL+ALT+ SYSRQ : 初始化,告诉内核要发送系统请求
R: 表示 unraw,将键盘控制权从 x server手中夺过来,用于直接向内核传递信息
E: tErminate,给所有的进程发送 SIGTERM 信号,让他们自行解决善后问题。
I: kill,给所有的进程发送 SIGKILL 信号,强制所有进程关闭(相当于自杀指令)
S: sync,将所有的数据从内存,交换区等地方同步至硬盘,保存
U:unmount,将所有分区的挂载模式变为只读
B: reboot,重新启动

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿尔发go

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值